From aad900c47ea4fc2299dcddeee786b4b753d210e9 Mon Sep 17 00:00:00 2001
From: Alex Kup <116945542+Lifailon@users.noreply.github.com>
Date: Sat, 13 Jan 2024 14:19:58 +0300
Subject: [PATCH] Add ipban and gpt
Add GigaChat, YandecGPT and update Selenium
---
README.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 46 insertions(+), 8 deletions(-)
diff --git a/README.md b/README.md
index fb15799..df662c7 100644
--- a/README.md
+++ b/README.md
@@ -21,6 +21,7 @@
- [DISM](#dism)
- [Scheduled](#scheduled)
- [Network](#network)
+- [RDP](#rdp)
- [Shutdown](#shutdown)
- [LocalAccounts](#localaccounts)
- [SMB](#smb)
@@ -1200,15 +1201,48 @@ $mac_coll
`Get-ARP -search 192.168.3.100` \
`Get-ARP -search 192.168.3.100 -proxy dc-01`
-### rdp
-`Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber"` \
+# RDP
+
+`Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber"` отобразить номер текущего RDP порта \
`Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber" -Value "3390"` изменить RDP-порт \
-`New-NetFirewallRule -Profile Any -DisplayName "RDP 3390" -Direction Inbound -Protocol TCP -LocalPort 3390` \
+`New-NetFirewallRule -Profile Any -DisplayName "RDP 3390" -Direction Inbound -Protocol TCP -LocalPort 3390` открыть RDP-порт \
`Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\" -Name "fDenyTSConnections"` \
`Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\" -Name "fDenyTSConnections" -Value 0` включить rdp \
`reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f` \
-`(gcim -Class Win32_TerminalServiceSetting -Namespace root\CIMV2\TerminalServices).SetAllowTSConnections(0)` \
-`Get-Service TermService | Restart-Service -Force` перезапустить rdp-службу
+`(gcim -Class Win32_TerminalServiceSetting -Namespace root\CIMV2\TerminalServices).SetAllowTSConnections(0)` включить RDP
+`Get-Service TermService | Restart-Service -Force # перезапустить rdp-службу
+
+### IPBan
+
+`auditpol /get /category:*` отобразить все политики аудита \
+`auditpol /get /category:Вход/выход` отобразить локальные политики аудита для Входа и Выхода из системы \
+`auditpol /set /subcategory:"Вход в систему" /success:enable /failure:enable` включить локальные политики - Аудит входа в систему \
+`auditpol /set /subcategory:"Выход из системы" /success:enable /failure:enable`
+
+`$url = $($(Invoke-RestMethod https://api.github.com/repos/DigitalRuby/IPBan/releases/latest).assets | Where-Object name -match ".+win.+x64.+").browser_download_url` получить ссылку для загрузки последней версии \
+`$version = $(Invoke-RestMethod https://api.github.com/repos/DigitalRuby/IPBan/releases/latest).tag_name` получить номер последней версии \
+`$path = "$home\Documents\ipban-$version"` путь для установки \
+`Invoke-RestMethod $url -OutFile "$home\Downloads\IPBan-$version.zip"` скачать дистрибутив \
+`Expand-Archive "$home\Downloads\ipban-$version.zip" -DestinationPath $path` разархивировать в путь для установки \
+`Remove-Item "$home\Downloads\ipban-$version.zip"` удалить дистрибутив \
+`sc create IPBan type=own start=delayed-auto binPath="$path\DigitalRuby.IPBan.exe" DisplayName=IPBan` создать службу \
+`Get-Service IPBan` статус службы \
+`$conf = $(Get-Content "$path\ipban.config")` читаем конфигурацию \
+`$conf = $conf -replace '',''` добавить в белый лист домашнюю сеть для исключения \
+`$conf = $conf -replace '',''` включить обработку локальных (внутренних) ip-адресов \
+`$conf = $conf -replace '',''` указать количество попыток подключения до блокировки \
+`$conf = $conf -replace '',''` задать время блокировки 1 час \
+`$conf > "$path\ipban.config"` обновить конфигурацию \
+`Get-Service IPBan | Start-Service` запустить службу
+```
+Get-NetFirewallRule | Where-Object DisplayName -Match "IPBan" | ForEach-Object {
+ $Name = $_.DisplayName
+ Get-NetFirewallAddressFilter -AssociatedNetFirewallRule $_ | Select-Object @{Name="Name"; Expression={$Name}},LocalIP,RemoteIP
+} # отобразить область применения правил Брандмауэра для IPBan
+```
+`Get-Content -Wait "$path\logfile.txt"` читать лог \
+`Get-Service IPBan | Stop-Service` остановить службу \
+`sc delete IPBan` удалить службу
# shutdown
@@ -2799,6 +2833,8 @@ try {
$ChromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions # создаем объект с настройками запуска браузера
$ChromeOptions.BinaryLocation = $Chromium # передаем путь до исполняемого файла, который отвечает за запуск браузера
$ChromeOptions.AddArgument("start-maximized") # добавляем аргумент, который позволяет запустить браузер на весь экран
+ #$ChromeOptions.AddArgument("start-minimized") # запускаем браузер в окне
+ #$ChromeOptions.AddArgument("window-size=400,800") # запускаем браузер с заданными размерам окна в пикселях
$ChromeOptions.AcceptInsecureCertificates = $True # игнорировать предупреждение на сайтах с не валидным сертификатом
#$ChromeOptions.AddArgument("headless") # скрывать окно браузера при запуске
$ChromeDriverService = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($ChromeDriver) # создаем объект настроек службы драйвера
@@ -2808,7 +2844,9 @@ try {
#$ChromeDriverService.EnableVerboseLogging = $True # кроме INFO и ошибок, записывать DEBUG сообщения
$Selenium = New-Object OpenQA.Selenium.Chrome.ChromeDriver($ChromeDriverService, $ChromeOptions) # инициализируем запуск с указанными настройками
- $Selenium.Navigate().GoToUrl("https://google.com")
+ $Selenium.Navigate().GoToUrl("https://google.com") # переходим по указанной ссылке в браузере
+ #$Selenium.Manage().Window.Minimize() # свернуть окно браузера после запуска и перехода по нужному url (что бы считать страницу корректно)
+ # Ищем поле для ввода текста:
$Search = $Selenium.FindElements([OpenQA.Selenium.By]::Id('APjFqb'))
$Search = $Selenium.FindElements([OpenQA.Selenium.By]::XPath('//*[@id="APjFqb"]'))
$Search = $Selenium.FindElements([OpenQA.Selenium.By]::Name('q'))
@@ -2816,8 +2854,8 @@ try {
$Search = $Selenium.FindElements([OpenQA.Selenium.By]::ClassName('gLFyf'))
$Search = $Selenium.FindElements([OpenQA.Selenium.By]::CssSelector('[jsname="yZiJbe"]'))
$Search = $Selenium.FindElements([OpenQA.Selenium.By]::TagName('textarea')) | Where-Object ComputedAccessibleRole -eq combobox
- $Search.SendKeys("calculator online")
- $Search.SendKeys([OpenQA.Selenium.Keys]::Enter)
+ $Search.SendKeys("calculator online") # передаем текст выбранному элементу
+ $Search.SendKeys([OpenQA.Selenium.Keys]::Enter) # нажимаем Enter для вызова функции поиска
Start-Sleep 1
$div = $Selenium.FindElements([OpenQA.Selenium.By]::TagName("div"))