RdpGuard Repack 6.7.5/5.4.9 x86 x64 [2020, ENG]

Ответить
 

evgen_b

Стаж: 17 лет 3 месяца

Сообщений: 625

evgen_b · 19-Фев-20 11:50 (5 лет 7 месяцев назад)

SYSA1982
У меня такая проблема не воспроизводится на Server 2019, но RdpGuard 6.6.7 работает всего лишь около суток. Буду наблюдать.
Написал на руборд автору крека.
А не может быть, что сама Windows откатывает изменения? Там же файл rdpguard-svc.exe заменяется на пропатченный, возможно какой-нибудь защитник видит подмену и удаляет сервис. Windows что-то шибко умная стала, лезет куда ее не просят. У меня defender удален со всех компьютеров.
Еще можно на ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RdpGuardService отобрать все права у системы, чтобы программа не смогла сама себя оттуда удалить. И вообще можно промониторить (Process Monitor Руссиновича) кто туда лезет. Это что я бы сделал при такой проблеме.
CRACKZEZzz
Честно говоря, тоже на дефендер думаю. Мне что-то подобное пользователи другой программы писали - у них настройки программы в реестре откатывались, думаю, тут какая-нибудь песочница от Microsoft срабатывает.
[Профиль]  [ЛС] 

CRACKZEZzz

Стаж: 16 лет 7 месяцев

Сообщений: 10

CRACKZEZzz · 19-Фев-20 12:03 (спустя 13 мин.)

evgen_b
Цитата:
Написал на руборд автору крека.
мне? видел, поэтому сюда и пришел ))
Только что проверил все файлы в 6.6.7 - самоудаления там нет, только ручное при запуске
rdpguard-svc.exe /uninstall
Поэтому скорее всего что то другое у SYSA1982 произошло.
P.S. В этой версии (и в нескольких предыдущих, не помню с какой начиная) баги в SIP блокировке.
Попробуйте кликнуть правой кнопкой в интерфейсе на одном из заблокированных IP по SIP протоколу, словите ексепшн.
В лог он не пишет символ @ - не разделяет номер телефона от IP адреса
не экранирует "<" и ">" при добавлении IP в блоклист и отсюда этот эксепшн - не может сам свои записи пропарсить ))
Кстати разрабы вроде как русские, в коде попадался текст "preved" - видимо послание ))
Возможно мониторят руборд и рутрекер. Так что западлянки можно ожидать в след версиях, типа как раньше "format C:" ))
[Профиль]  [ЛС] 

evgen_b

Стаж: 17 лет 3 месяца

Сообщений: 625

evgen_b · 19-Фев-20 12:34 (спустя 30 мин.)

CRACKZEZzz
Спасибо что пришли пока писал предыдущее сообщение
rdpguard-svc.exe имеет цифровую подпись и чексам. После патча и то и другое становится невалидным. Могу предположить, что Windows Defender это не нравится.
Выкинул из файла недействительную цифровую подпись и обновил чексам.
RdpGuard 6.6.7 pre-cracked V2 PWD=2020.7z Пароль на архив 2020.
Можно попробовать еще вариант для defender - в репаке подписать самоподписанным сертификатом и добавить в доверенные.
CRACKZEZzz писал(а):
78905410Попробуйте кликнуть правой кнопкой в интерфейсе на одном из заблокированных IP по SIP протоколу, словите ексепшн.
Ага, поймал. Ну собственно когда немного поковырялся в прелестях RdpGuard тоже обратил внимание на то ли баги, то ли фичи, и желание заниматься этой программой сильно поубавилось.
[Профиль]  [ЛС] 

SYSA1982

Стаж: 15 лет 2 месяца

Сообщений: 19

SYSA1982 · 19-Фев-20 21:26 (спустя 8 часов, ред. 19-Фев-20 21:26)

Да Вы правы дефендер шалит
скрытый текст
Восстановил и заблокировал ей любые исходящие подключения , пока вроде все тихо.
[Профиль]  [ЛС] 

evgen_b

Стаж: 17 лет 3 месяца

Сообщений: 625

evgen_b · 19-Фев-20 22:37 (спустя 1 час 10 мин.)

SYSA1982
А не поможете протестировать версию с самоподписанным сертификатом? Это теоретически может спасти от Windows Defender. У меня он везде прибит - сам воспроизвести не могу.
RdpGuard 6.6.7 pre-cracked V3 PWD=2020.7z
Пароль на архив - 2020.
Вот, без цифровой подписи любая программа - это вирус.
А любой вирус с цифровой подписью - бесплатный антивирус.
И это только начало DRM.
[Профиль]  [ЛС] 

SYSA1982

Стаж: 15 лет 2 месяца

Сообщений: 19

SYSA1982 · 20-Фев-20 09:05 (спустя 10 часов, ред. 20-Фев-20 09:05)

Цитата:
RdpGuard 6.6.7 pre-cracked V3 PWD=2020.7z
Ссылка не рабочая (The file you requested has been blocked for a violation of our Terms of Service. ). Googledrive,OneDrive,YandexDisk не?
[Профиль]  [ЛС] 

guga12345

Стаж: 17 лет 3 месяца

Сообщений: 177

guga12345 · 20-Фев-20 22:31 (спустя 13 часов)

Есть киберармс иддс секьюрити- программа бесплатная для 64битных систем прекрасно отрабатывает и следит за всем чем можно. Нет geoip блокировки разве что.
[Профиль]  [ЛС] 

evgen_b

Стаж: 17 лет 3 месяца

Сообщений: 625

evgen_b · 21-Фев-20 12:34 (спустя 14 часов)

guga12345 писал(а):
78914795следит за всем чем можно
Давно в курсе про Cyberarms Security Software - Intrusion Detection for Windows.
Из полезного в ней есть только "TLS/SSL Security Agent" для RDP и "SMTP Security Agent" на 25-й порт. Еще есть "FTP Security Agent" на 21-й порт. В исходниках есть что-то про POP3 на 110-й порт, но в самой программе что-то этого агента не видно в настройках. Всяким SQL вообще нефиг во внешку смотреть, для этого VPN есть. И кто же щаз POP3/IMAP4/SMTP использует без шифрования?
Итого:
Вообще нет IMPA4 (порт 143) и IMAP4 SSL (порт 993)
Не понятно где POP3 (порт 110) и отсутствует POP3 SSL (порт 995)
Нет SMTP TLS (587?)
Нет SIP.
Зато есть исходники под MIT License, и, в принципе, можно свой парсер логов дописать для Microsoft Exchange Server. Как-нибудь надо лучше посмотреть, что это за лицензия такая, стоит ли с этим связываться.
На том сервере, где у меня постоянно зависал RdpGuard любой версии, я переехал на хардкорный IPBan. Он родом из Линукса, и собрал в себя самое худшее, что есть в программах под эту ОС. Документации нет вообще, примеров конфига нет, конфигурация описывается модулями, которые взаимодействуют между собой, но как это происходит нигде не написано. Есть реакция на события, но как из них брать информацию тоже нигде не описано. Лютый трешак. В файле конфигурации есть пример для Microsoft Exchange Server, но когда я стал прописывать свою конфигурацию, то оказалось, что эта сигнатура "из коробки" подходят только для логов IMAP4, я и не сомневался, что из коробки парсер логов Exchange сделан через жопу. Файл конфигурации в нечеловеческом формате XML (потому что в сишарпах он парсится из коробки). Вообще, про неудобные конфиги XML в линуксах часто упоминается, т.к. изначально они в нем делались под задачу и для удобства в человеческих форматах, а XML - это формат для удобного машинного парсинга. Парсинг в событих и логах сигнатуры атаки реализован с помощью регулярных выражений regexp, которые задаются в XML-файле конфигурации. Все это вместе выглядит не сильно удобно, очень мягко говоря. Кроме того, ограничение бесплатной версии - отсутствие GUI, а также нет сброса счетчика неудачных попыток входа, если после них произошел удачный вход. Соответственно, т.к. нет GUI, то чтобы разбанить IP-адрес, нужно в каталог программы закинуть текстовый файл unban.txt с нужными адресами в строчках, программа его через несколько секунд увидит, прочитает, разбанит адреса и удалит этот файл. Отдельно добавил в конфигурацию свой парсер логов SMTP/POP3/IMAP4 для Microsoft Exchange Server, RDP по событиям в этой программе работает из коробки, вот сейчас пока наблюдаю, что получилось. IPBan предательски не виснет в отличие от RdpGuard.
[Профиль]  [ЛС] 

SYSA1982

Стаж: 15 лет 2 месяца

Сообщений: 19

SYSA1982 · 21-Фев-20 18:42 (спустя 6 часов)

Цитата:
протестировать версию
вроде работает и дефендер молчит...проверял на виртуалке.
[Профиль]  [ЛС] 

evgen_b

Стаж: 17 лет 3 месяца

Сообщений: 625

evgen_b · 21-Фев-20 20:42 (спустя 1 час 59 мин.)

SYSA1982
Вот и хорошо, что работает, спасибо за тест. Даже разработчики протестировали, что все нормально, и поэтому удалили ссылку.
У меня другая проблема была - служба совсем не стартовала на тестовой виртуалке. Выличилось установкой отложенного запуска.
Вот с этими двумя изменениями перезаливаю репак. Кстати, да, в этой версии все еще интерфейс пользователя иногда падает, разработчики так и не починили, другие вылеты морды были описаны выше. Поэтому, как обычно, оставляю в раздаче старую стабильную версию.
[Профиль]  [ЛС] 

Dieman_666

Стаж: 13 лет 7 месяцев

Сообщений: 82


Dieman_666 · 23-Фев-20 21:42 (спустя 2 дня)

evgen_b писал(а):
Для проблемного сервера Exchange я подыскал бесплатную альтернативу:
DigitalRuby/IPBan - Jeff Johnson
xttps://github.com/DigitalRuby/IPBan
Да, без морды, но очень гибкая и опенсорсная. Сейчас у меня совершенно нет статистики, чтобы что-то про нее сказать.
также пользуюсь им кое-где по причине неработоспособности rdpguard на интегрированном raid1 windows server 2016 в efi
в последних версиях даже постоянный блек лист завезли.
блочит в принципе неплохо, конечно не очень удобно через командную строку наблюдать без морды, но главное работает
единственное, что пока так и не понял, как ipv6 в белый список добавлять...ибо тока ipv4 понимает..
от кстати обсуждение небольшое:
http://nikovit.ru/blog/zashchishchaem-rdp-server-ot-perebora-paroley-s-blokirovkoy-po-ip/
[Профиль]  [ЛС] 

evgen_b

Стаж: 17 лет 3 месяца

Сообщений: 625

evgen_b · 26-Фев-20 22:03 (спустя 3 дня)

Я приведу пример настройки IPBan как альтернативы RdpGuard для тех, у кого она работает нестабильно и/или вообще не работает или перестала работать. Надеюсь, это сэкономит какое-то количество времени и нервов.
В nikovit.ru обсуждать нечего, там кроме воды никакой полезной информации нет и быть не может. По крайней мере, любой сисадмин обязан знать, как с помощью утилиты sc.exe или с помощью записей в реестр создавать службы. А глубже этого автор копать не способен. Полезной информацией были бы примеры создания новых сигнатур хакерских атак для IPBan. А чтобы блокировать только лишь RDP действительно достаточно более удобной чем IPBan и бесплатной с исходным кодом утилиты Cyberarms Security Software.
Я не в восторге от IPBan, глубоко копать не собираюсь и показываю настройку программы по принципу работает - не трогай, настроил и забыл. Поэтому я показываю, что можно сделать с помощью этой программы не более чем за один вечер, обычно больше времени на это отвести нельзя и нужно заниматься новыми задачами. Настраивать будем блокировку протоколов POP3/IMAP4/SMTP Exchange Server 2016 по IP-адресу от подбора паролей. Блокировка RDP в IPBan работает из коробки.
Для использования IPBan нам понадобятся удобное дерево каталогов и несколько удобных батников.
Лучше всего IPBan распаковать в Program Files, где и положено находиться всем добропорядочным программам. Но в моем случае это будет c:\TO-CE\IPBan\bin. А в c:\TO-CE\IPBan (без bin) будут несколько батников.
Понадобится три батника: для установки и запуска службы (install.cmd), для остановки у удаления службы (delete.cmd). А также для остановки-и-запуска службы (stop-start.cmd), чтобы применять обновления конфигурации с помощью перезапуска службы, временно отключать ее и снова запускать при отладке. Это намного удобнее, чем каждый раз вызывать оснастку управления службами, искать ее там и тыкать в нее мышью - ни один уважающий себя админ так не делает. Дерево каталогов и файлов будет выглядеть следующим образом:

Для работы я буду использовать Total Commander Classic Repack 9.22a из своей же раздачи со встроенным редактором текста с подсветкой синтаксиса. Чтобы подсветка также работала и для файла конфигурации IPBan (c:\TO-CE\IPBan\bin\DigitalRuby.IPBan.dll.config), который представляет собой обычный XML-файл, необходимо добавить расширение имени файла .config в конфигурацию соответствующего плагина текстового редактора.
Создаем файл install.cmd:
Код:

SET srv=IPBAN
sc.exe create %srv% type= own start= delayed-auto binPath= "%~dp0bin\DigitalRuby.IPBan.exe" DisplayName= %srv%
sc.exe description %srv% "Automatically builds firewall rules for abusive login attempts: https://github.com/DigitalRuby/IPBan"
sc.exe start %srv%
REM принудительный запуск, в нагруженной системе почему-то не запускается!!!
SET tsk=IPBAN-ForceStart
REM ждем pause=900 секунд от начала включения компьютера и запускаем службу, если она сама не стартовала
SET pause=900
schtasks.exe /create /tn "%tsk%" /tr "\"%windir%\system32\cmd.exe\" /c CHOICE /T %pause% /D N & net.exe start %srv%" /SC ONSTART /ru System /f
PAUSE
Службы, использующие c# в некоторых случаях могут вообще не стартовать даже с отложенным запуском, поэтому также создаем задание, которое будет через 15 минут после включения компьютера (обычно виртуальной машины) запускать службу, когда система уже полностью загрузится. В данном случае нам нужна высокая надежность защиты, и лучше перебздеть, чем недобздеть.
Создаем файл delete.cmd:
Код:

SET srv=IPBAN
sc.exe stop %srv%
sc.exe delete %srv%
REM удаляем принудительный запуск
SET tsk=IPBAN-ForceStart
schtasks.exe /delete /tn "%tsk%" /f
PAUSE
И файл stop-start.cmd:
Код:

net.exe stop IPBAN
PAUSE
net.exe start IPBAN
PAUSE
По умолчанию, насколько я помню, в Exchange Server отключено логирование SMTP, его необходимо включить. Информация есть в интернете/MSDN.
На самом деле в нашем дереве понадобится еще один каталог и несколько файлов. Exchange Server никогда не удаляет свои логи. За год может скапливаться от нескольких десятков до нескольких сотен гигабайтов файлов логов. Некоторые программы резервного копирования могут их удалять, например, встроенная "Система архивации данных Windows Server". Но в большинстве случаев, чтобы упростить жизнь IPBan анализировать эти файлы логов, необходимо будет удалять слишком старые файлы явным образом. Сделаем еще одну структуру каталогов и несколько батников.

Файл для создания задания удаления старых логов 01_install.cmd:
Код:

SET tsk=ExchangeCleanLogs
SET daily=1
REM чистить логи Exchange каждый daily=1 день (1...365)
"%windir%\system32\schtasks.exe" /create /tn "%tsk%" /tr "cmd.exe /c \"%~dp0clean_logs.cmd\" ***" /SC DAILY /MO %daily% /ru System /f
powershell.exe -command "schtasks.exe /query /xml /tn \"%tsk%\" | Out-File '%tsk%.XML'"
rem If True, the property indicates that the Task Scheduler can start the task at any time after its scheduled time has passed. The default is False.
rem This property applies only to time-based tasks with an end boundary or time-based tasks that are set to repeat infinitely.
rem ECHO.    * StartWhenAvailable
rem powershell.exe -command "(gc '%tsk%.XML')          -replace '<StartWhenAvailable>false</StartWhenAvailable>', '<StartWhenAvailable>true</StartWhenAvailable>' | Out-File '%tsk%-correct1.XML'"
ECHO.    * HighestAvailable
powershell.exe -command "(gc '%tsk%.XML') -replace '</UserId>', '</UserId><RunLevel>LeastPrivilege</RunLevel>' | Out-File '%tsk%-correct1.1.XML'"
powershell.exe -command "(gc '%tsk%-correct1.1.XML') -replace '<RunLevel>LeastPrivilege</RunLevel>', '<RunLevel>HighestAvailable</RunLevel>' | Out-File '%tsk%-correct2.XML'"
rem может быть, может не быть, но если не задано, то по умолчанию в Windows задача прибивается через 3 дня (72 часа в XML)
rem задаём явно и снимаем галку - задаём 0 секунд (PT0S)
ECHO.    * ExecutionTimeLimit
powershell.exe -command "(gc '%tsk%-correct2.XML') -replace '<Settings>', '<Settings><ExecutionTimeLimit>PT72H</ExecutionTimeLimit>' | Out-File '%tsk%-correct3.XML'"
powershell.exe -command "(gc '%tsk%-correct3.XML') -replace '<ExecutionTimeLimit>(.*)</ExecutionTimeLimit>', '<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>' | Out-File '%tsk%-correct4.XML'"
"%windir%\system32\schtasks.exe" /create /xml "%tsk%-correct4.XML" /tn "%tsk%" /f
rem PAUSE
DEL /f /q "%tsk%-correct4.XML"
DEL /f /q "%tsk%-correct3.XML"
DEL /f /q "%tsk%-correct2.XML"
DEL /f /q "%tsk%-correct1.1.XML"
DEL /f /q "%tsk%-correct1.XML"
DEL /f /q "%tsk%.XML"
PAUSE
Это мой типовой шаблон создания задания, он лечит некоторые ограничения, которые получаются в результате обычной работы утилиты schtasks.exe - ограничение на время выполнения (для данного задания это не актуально) и запуск с наивысшими правами (это нюансы UAC).
Ломать - не делать, файл 02_delete.cmd:
Код:

SET tsk=ExchangeCleanLogs
"%windir%\system32\schtasks.exe" /delete /tn "%tsk%" /f
PAUSE
И само задание - удаление старых логов clean_logs.cmd:
Код:

CD /d "%~dp0"
REM удалять все файлы, старше deldays=30 дней
SET deldays=30
SET logfile=clean_logs.log
ECHO. >> %logfile%
ECHO. >> %logfile%
ECHO. >> %logfile%
ECHO %date% %time% >> %logfile%
REM кавычки для @path не нужны, они вставляются автоматически, но можно использовать экранирование - /"
SET cleanpath="C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive"
ECHO.[%cleanpath%] >> %logfile%
forfiles /p %cleanpath% /m *.log /d -%deldays% /c "cmd.exe /c ECHO.@path & DEL /f /q @path" >> %logfile% 2>&1
SET cleanpath="C:\Program Files\Microsoft\Exchange Server\V15\Logging\Imap4"
ECHO.[%cleanpath%] >> %logfile%
forfiles /p %cleanpath% /m *.log /d -%deldays% /c "cmd.exe /c ECHO.@path & DEL /f /q @path" >> %logfile% 2>&1
SET cleanpath="C:\Program Files\Microsoft\Exchange Server\V15\Logging\Pop3"
ECHO.[%cleanpath%] >> %logfile%
forfiles /p %cleanpath% /m *.log /d -%deldays% /c "cmd.exe /c ECHO.@path & DEL /f /q @path" >> %logfile% 2>&1
REM все логи трем какие есть.
SET cleanpath="C:\Program Files\Microsoft\Exchange Server\V15\Logging"
ECHO.[%cleanpath%] >> %logfile%
forfiles /s /p %cleanpath% /m *.log /d -%deldays% /c "cmd.exe /c ECHO.@path & DEL /f /q @path" >> %logfile% 2>&1
REM перезапуск службы, чтобы не пыталась читать удаленные файлы.
net.exe stop IPBAN
net.exe start IPBAN
IF "%1*"=="*" PAUSE
Не могу сказать насколько тереть логи таким способом правильно, но на данный момент ничего не сломалось.
Теперь про некоторые соображения насчет конфига IPBan. Возможно вы захотите сделать для него контроль версий с помощью GIT, и, возможно, это было бы красиво и правильно. Но мы же договорились отвести под его настройку один вечер и больше никогда в него не лезть. Так что ограничимся каталогом c:\TO-CE\IPBan\CFG-backup для его нескольких резервных копий.
IPBan обрабатывает файлы логов с помощью регулярных выражений, а нам понадобится какой-нибудь сервис, чтобы их проверять, например, онлайн в https://regex101.com .
Если с настройками простых параметров, таких как время блокировки, все легко и понятно, то с созданием новых обработчиков сразу возникают проблемы.
Мы договорились сделать работу за один вечер, поэтому сильно вникать в исходники не будем, сделаем лишь предположение (возможно, неверное), что для создания одного нового обработчика лог-файлов нам понадобится описать сразу две большие XML-структуры в двух разных местах файла конфигурации.
Пример для POP3 раз:
Код:

      <!-- Exchange POP3 failed logins, Windows -->
      <LogFile>
        <Source>MSExchangePOP3</Source>
        <PathAndMask>
        c:\Program Files\Microsoft\Exchange Server\V15\Logging\Pop3\*.log
        </PathAndMask>
        <Recursive>false</Recursive>
        <!--
        Exchange Server 2016 (V15) POP3
https://regex101.com/
2020-02-20T20:02:13.117Z,0000000000016F52,3,192.168.0.10:995,87.250.250.242:64073,dom/user,726,10,56,pass,*****,"R=""-ERR Logon failure: unknown user name or bad password."";Msg=LogonFailed:LogonDenied;ErrMsg=LogonFailed:LogonDenied",
        -->
        <FailedLoginRegex>
          <![CDATA[
            .*?,.*?,.*?,.*?,(?<ipaddress>.+?),(?<username>.+?),.*?LogonDenied
          ]]>
        </FailedLoginRegex>
        <PlatformRegex>Windows</PlatformRegex>
        <PingInterval>10000</PingInterval>
        <MaxFileSize>16777216</MaxFileSize>
      </LogFile>
и два:
Код:

      <!-- This group will block audit failures from MS Exchange -->
      <Group>
        <Source>MSExchangePOP3</Source>
        <Keywords>0x80000000000000</Keywords>
        <Path>System</Path>
        <Expressions>
          <Expression>
            <XPath>//Provider[@Name='MSExchangeTransport']</XPath>
            <Regex></Regex>
          </Expression>
          <Expression>
            <XPath>//Data</XPath>
            <Regex>LogonDenied</Regex>
          </Expression>
          <Expression>
            <XPath>//Data</XPath>
            <Regex>
              <![CDATA[
                (?<ipaddress_exact>.+)
              ]]>
            </Regex>
          </Expression>
        </Expressions>
      </Group>
Не вдаваясь в подробности, во второй структуре мы описываем совпадение с теми строками лог-файла, в которых потенциально содержится информация об хакерской атаке (т.е. <Regex>LogonDenied</Regex>), а в первой структуре мы также с помощью regexp описываем каким образом распарсить эту строку, чтобы извлечь из нее IP-адрес атакующего и, например, логин, который он подбирает. Посмотреть подробный парсинг можно на сайте https://regex101.com . В PathAndMask мы, очевидно, задаем каталог с лог-файлами, очевидно, не используя regexp-выражения.
С помощью тэга "!--" мы описываем комментарии в XML-файле, а с помощью "![CDATA[" - экранируем от XML-парсера специальные символы, использующиеся в regexp-выражениях. Из этого выражения IPBan возьмет группу символов <ipaddress>, очевидно, описывающий адрес атакующего в данной позиции строки лог-файла и, если есть, группу символов <username>. PingInterval 10000 описывает период в миллисекундах, т.е. 10 секунд, через который IPBan периодически сканирует файлы логов на новые события.
Лучше всего посмотреть наглядно, как выглядит получившийся парсинг:

Описание парсинга IMAP4 выглядит немного по-другому:
раз:
Код:

      <!-- Exchange IMAP4 failed logins, Windows -->
      <LogFile>
        <Source>MSExchangeIMAP4</Source>
        <PathAndMask>
        c:\Program Files\Microsoft\Exchange Server\V15\Logging\Imap4\*.log
        </PathAndMask>
        <Recursive>false</Recursive>
        <!--
        Exchange Server 2016 (V15) IMAP4
https://regex101.com/
2020-02-20T23:07:09.816Z,000000000001177C,2,192.168.0.10:993,87.250.250.242:56609,,4,44,342,authenticate,NTLM,"R=""a3xz NO AUTHENTICATE failed."";Msg=""AuthFailed:LogonDenied,User: not found"";ErrMsg=AuthFailed:LogonDenied",
2020-02-20T23:07:12.088Z,000000000001177C,3,192.168.0.10:993,87.250.250.242:56609,user@dom,2264,33,23,login,user@dom *****,"R=""zjv0 NO LOGIN failed."";Msg=LogonFailed:LogonDenied;ErrMsg=LogonFailed:LogonDenied",
событие повторяется в двух строчках подряд, в первой - без имени пользователя
строчка с AuthFailed менее информативна, т.к. в ней нет брутфорсового имени пользователя
        -->
        <FailedLoginRegex>
          <![CDATA[
            .*?,.*?,.*?,.*?,(?<ipaddress>.+?),(?<username>.+?),.*?Msg=LogonFailed:LogonDenied
          ]]>
        </FailedLoginRegex>
        <PlatformRegex>Windows</PlatformRegex>
        <PingInterval>10000</PingInterval>
        <MaxFileSize>16777216</MaxFileSize>
      </LogFile>
два:
Код:

      <!-- This group will block audit failures from MS Exchange -->
      <Group>
        <Source>MSExchangeIMAP4</Source>
        <Keywords>0x80000000000000</Keywords>
        <Path>System</Path>
        <Expressions>
          <Expression>
            <XPath>//Provider[@Name='MSExchangeTransport']</XPath>
            <Regex></Regex>
          </Expression>
          <Expression>
            <XPath>//Data</XPath>
            <Regex>LogonDenied</Regex>
          </Expression>
          <Expression>
            <XPath>//Data</XPath>
            <Regex>
              <![CDATA[
                (?<ipaddress_exact>.+)
              ]]>
            </Regex>
          </Expression>
        </Expressions>
      </Group>
Если сравнить описание для POP3 и IMAP (особенно в тестовом редакторе с подсветкой синтаксиса), то становится уже более понятно.
А вот парсинг логов SMTP будет сильно отличаться. Обычно SMTP используют для рассылки спама, и в логах это однозначно видно, поэтому я создал такой парсинг, который генерирует наибольшее количество ошибок доступа, чтобы побыстрее забанить атакующего, фактически с самой первой его попытки.
раз:
Код:

      <!-- Exchange SMTP failed logins, Windows -->
      <LogFile>
        <Source>MSExchangeSMTP</Source>
        <PathAndMask>
        c:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive\*.log
        </PathAndMask>
        <Recursive>false</Recursive>
        <!--
        Exchange Server 2016 (V15) SMTP
https://regex101.com/
2020-01-14T17:25:33.535Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,3,192.168.0.10:25,113.64.92.152:62779,>,250  mail.sberbank.ru Hello [113.64.92.152] SIZE 73400320 PIPELINING DSN ENHANCEDSTATUSCODES STARTTLS AUTH NTLM 8BITMIME BINARYMIME CHUNKING,
2020-01-14T17:25:33.780Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,4,192.168.0.10:25,113.64.92.152:62779,<,AUTH ntlm,
2020-01-14T17:25:33.781Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,5,192.168.0.10:25,113.64.92.152:62779,>,334 <authentication response>,
2020-01-14T17:25:34.540Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,6,192.168.0.10:25,113.64.92.152:62779,*,,Inbound Negotiate failed because of LogonDenied
2020-01-14T17:25:34.540Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,7,192.168.0.10:25,113.64.92.152:62779,*,,User Name: NULL
2020-01-14T17:25:34.541Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,8,192.168.0.10:25,113.64.92.152:62779,*,Tarpit for '0.00:00:05' due to '535 5.7.3 Authentication unsuccessful',
2020-01-14T17:25:39.554Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,9,192.168.0.10:25,113.64.92.152:62779,>,535 5.7.3 Authentication unsuccessful,
2020-01-14T17:25:39.790Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,10,192.168.0.10:25,113.64.92.152:62779,<,MAIL FROM:<test@194.54.14.159>,
2020-01-14T17:25:39.791Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,11,192.168.0.10:25,113.64.92.152:62779,*,081313E2D7B988E9;2020-01-14T17:25:33.299Z;1,receiving message
2020-01-14T17:25:39.791Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,12,192.168.0.10:25,113.64.92.152:62779,>,250 2.1.0 Sender OK,
2020-01-14T17:25:40.030Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,13,192.168.0.10:25,113.64.92.152:62779,<,RCPT TO:<mtyndallo@yahoo.com.tw>,
2020-01-14T17:25:40.030Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,14,192.168.0.10:25,113.64.92.152:62779,*,Tarpit for '0.00:00:05' due to '550 5.7.54 SMTP; Unable to relay recipient in non-accepted domain',
2020-01-14T17:25:45.041Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,15,192.168.0.10:25,113.64.92.152:62779,>,550 5.7.54 SMTP; Unable to relay recipient in non-accepted domain,
спамеров будем блочить более жестко, генертруя за один раз до четырех событий,
два из которых (535 и 550) - реальные атаки, а третье (Inbound Negotiate failed because of LogonDenied) до кучи, чтобы побыстрее заебанить
на ошибку 550 будем генерировать 2 события, т.к. сразу понятно, что это спам и зададим ".*550..." вместо более точного "550...", чтобы совпадали сразу 2 строчки лога, включая "Tarpit for..."
в лог-файле IPBan Login failure будет сразу с двойки генерироваться: "MSExchangeSMTP, 2"
        -->
        <FailedLoginRegex>
          <![CDATA[
            .*?,.*?,.*?,.*?,.*?,(?<ipaddress>.+?),.*,((.*550.*SMTP;.Unable.to.relay.recipient.in.non-accepted.domain)|(535.*Authentication.unsuccessful)|(Inbound.Negotiate.failed.because.of.LogonDenied))
          ]]>
        </FailedLoginRegex>
        <PlatformRegex>Windows</PlatformRegex>
        <PingInterval>10000</PingInterval>
        <MaxFileSize>16777216</MaxFileSize>
      </LogFile>
два:
Код:

      <!-- This group will block audit failures from MS Exchange -->
      <Group>
        <Source>MSExchangeSMTP</Source>
        <Keywords>0x80000000000000</Keywords>
        <Path>System</Path>
        <Expressions>
          <Expression>
            <XPath>//Provider[@Name='MSExchangeTransport']</XPath>
            <Regex></Regex>
          </Expression>
          <Expression>
            <XPath>//Data</XPath>
            <Regex>.*,((.*550.*non-accepted)|(535.*Authentication.unsuccessful)|(.*LogonDenied))</Regex>
          </Expression>
          <Expression>
            <XPath>//Data</XPath>
            <Regex>
              <![CDATA[
                (?<ipaddress_exact>.+)
              ]]>
            </Regex>
          </Expression>
        </Expressions>
      </Group>
С помощью трех рабочих примеров нетрудно будет добавить другие обработчики логов.
Полный текст файла настроек IPBan в это сообщение уже не влезет, выложу его в каком-нибудь из следующих.
Кроме того, я не собираюсь заниматься поддержкой IPBan, мы его настроили за один вечер и больше в него лазить не будем.
Если выявятся какие-нибудь ошибки, постараюсь об этом написать.
Давайте теперь подключимся к нашему SMTP-серверу и попробуем отправить из него спам.
Я буду использовать утилиту PuTTY, подключаюсь по внешнему IP-адресу к серверу на 25-й порт по telnet.
Будем использовать типовую последовательность тупого спам-бота, он не использует авторизацию, т.к. надеется на вероятность того, что на SMTP-сервере разрешена неавторизованная отправка писем на атакуемый (с помощью нашего почтового сервера) другой почтовый сервер. На правильно настроенном сервере такая возможность закрыта и вызывает ошибку 550, которую мы передаем в IPBan для определения адреса злоумышленника. Таким образом, названия почтовых ящиков в примере совершенно не важны, важно лишь, чтобы они вам НЕ принадлежали (напомню, наш сервер используется хакером только для атаки на другой почтовый сервер).
Код:

HELO host
MAIL From: <you@sender.com>
RCPT To: <your_friend@destination.com>
В терминале вместе с ответом от сервера выглядит так:
Код:

HELO host
250 mail.sberbank.ru Hello [87.250.250.242]
MAIL From: <you@sender.com>
250 2.1.0 Sender OK
RCPT To: <your_friend@destination.com>
550 5.7.54 SMTP; Unable to relay recipient in non-accepted domain
Уже на шаге "RCPT To" Exchange Server должен выдать ошибку об атаке, давайте поищем новую запись в журнале лога (каталог c:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive):
Код:

2020-02-24T17:21:03.758Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,10,192.168.0.10:25,87.250.250.24:65131,<,RCPT To: <your_friend@destination.com>,
2020-02-24T17:21:03.758Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,11,192.168.0.10:25,87.250.250.24:65131,*,Tarpit for '0.00:00:05' due to '550 5.7.54 SMTP; Unable to relay recipient in non-accepted domain',
2020-02-24T17:21:08.759Z,MAILSRV\Default Frontend MAILSRV,081313E2D7B988E9,12,192.168.0.10:25,87.250.250.24:65131,>,550 5.7.54 SMTP; Unable to relay recipient in non-accepted domain,
И через некоторое время (период опроса - PingInterval) в журнале IPBan появится запись о том, что адрес спамера 2 раза (напомню, что это сделано специально) добавлен в кандидаты на бан:
Код:

2020-02-24 20:21:44.7019|WARN|DigitalRuby.IPBanCore.Logger|Login failure: 87.250.250.24, , MSExchangeSMTP, 1
2020-02-24 20:22:08.3777|WARN|DigitalRuby.IPBanCore.Logger|Login failure: 87.250.250.24, , MSExchangeSMTP, 2
Последнее число в строках означает общее количество неудачных попыток входа на сервер для данного IP-адреса за время, указанное в конфигурации IPBan.
Со стороны хакера могут быть попытки подбора специального имени, которое сломало бы правильный парсинг лога, но в данном описании это не рассматривается.
PS все IP-адреса и доменные имена являются выдуманными, любое совпадение считается случайным.
PPS ограничение бесплатной версии - 1) отсутствие GUI и 2) нет сброса счетчика неудачных попыток входа, если после них произошел удачный вход.
PPPS это хорошая, годная статья по миграции на IPBan, если вдруг RdpGuard перестал работать, на примере Microsoft Exchange Server, не надо ее трогать и спойлерить.
P^4S вообще не рассмотрены примеры создания обработчиков атак по событиям, т.к. для понимания надо лезть в исходный код IPBan.
[Профиль]  [ЛС] 

parel77

Стаж: 14 лет 10 месяцев

Сообщений: 7


parel77 · 17-Мар-20 09:00 (спустя 19 дней)

Гоняю крайнюю версию на сервере в логах какие то ошибки
Код:

[I] [2020-03-17 00:06:00] RDP: failed login attempt from 45.119.85.4 for user [Unknown]
[I] [2020-03-17 00:08:39] RDP: failed login attempt from 45.119.85.4 for user АДМИНИСТРАТОР
[W] [2020-03-17 00:10:12] System.Exception: RDPGServer:: unable to process your request, your trial period expired
   в fp.Do()
   в hy.b()
[W] [2020-03-17 00:10:16] System.Exception: RDPGServer:: unable to process your request, your trial period expired
   в fp.Do()
   в hy.b()
[W] [2020-03-17 00:10:19] System.Exception: RDPGServer:: unable to process your request, your trial period expired
   в fp.Do()
   в hy.b()
[W] [2020-03-17 00:10:22] System.Exception: RDPGServer:: unable to process your request, your trial period expired
   в fp.Do()
   в hy.b()
[E] [2020-03-17 00:10:22] RdpGuard 6.6.7 (x64)
Exception: System.Exception
Message: RDPGServer:: unable to process your request, your trial period expired
Stack Trace:
   в fp.Do()
   в hy.b()
В программе вижу что блокируются ip адреса на в файрволе не вижу , такое может быть?
[Профиль]  [ЛС] 

evgen_b

Стаж: 17 лет 3 месяца

Сообщений: 625

evgen_b · 18-Мар-20 13:06 (спустя 1 день 4 часа)

parel77 писал(а):
79067165your trial period expired
Это значит, что крэк не работает.

Выложил версию 6.7.5.
[Профиль]  [ЛС] 

parel77

Стаж: 14 лет 10 месяцев

Сообщений: 7


parel77 · 18-Мар-20 16:14 (спустя 3 часа)

evgen_b писал(а):
79073126
parel77 писал(а):
79067165your trial period expired
Это значит, что крэк не работает.

Выложил версию 6.7.5.
Спасибо тебе ! Добрый человек !
Глянул в фаервол они изменили принцип бана теперь одной записью делают кто не вкурсе
[Профиль]  [ЛС] 

evgen_b

Стаж: 17 лет 3 месяца

Сообщений: 625

evgen_b · 04-Апр-20 19:57 (спустя 17 дней)

Подводя итоги по SIP и всякому.
RdpGuard 6.7.5 с SIP не работает. Установлена Asterisk 16.7.0 и на ней RdpGuard блочит подряд все подключения. Причем реальный подбор паролей блочит два раза на событие (см на рисунке 217.182.166.197). Оставил подключенным к тестовому серверу (локально 172.16.0.29) один единственный 100% настроенный и проверенный софт-телефон (когда их было много они отлично звонили друг на друга) и RdpGuard его блочит, хотя в логах самого Астериска все отлично без ошибок. Типа телефон говорит "привет, астериск, я еще онлайн!", а RdpGuard его в это время блочит. Наверное. Выяснять что там происходит мне уже пофигу. После того, как RdpGuard виснет на Exchange 2016, падает на интерфейсе, а запуск службы установлен в "отложенный" для стабильности этого запуска.

Сыт этой дрянью по горло. Там, где нужно только RDP (4 машины) работает версия 4.8.9, новее и не нужно, либо есть бесплатные аналоги. Два Exchange переехали на IPBAN, он просто пашет, и я забыл о проблемах. В общем, теперь нужно еще и к Asterisk IPBAN прикрутить под WSL.
PS. SIP-клиенты разные пробовал если что. Может руки дойдут проверить RdpGuard при подключении с нескольких аппаратных телефонов. Вывод: в RdpGuard стабильно RDP как работало несколько лет, так и осталось, а все остальное не для продакшен - что-нибудь да отвалится.
[Профиль]  [ЛС] 

Dieman_666

Стаж: 13 лет 7 месяцев

Сообщений: 82


Dieman_666 · 15-Апр-20 02:36 (спустя 10 дней)

https://softoroom.net/topic87344s20.html
[Профиль]  [ЛС] 

hitaman

Стаж: 15 лет 6 месяцев

Сообщений: 10


hitaman · 27-Апр-20 15:28 (спустя 12 дней)

evgen_b
Добрый день. Подскажите пжл. Почитал ваши комментарии, но так и не смог определится, какая более лучшая и стабильная будет программа
Задача - Чисто для блокировки RDP-подключений софтина.
Какую лучше выбрать
1) RdpGuard 5.4.9 - это лучшая стабильная
2) Cyberarms Security Software
3) IPBan
4) rdp defender
И хотел бы вашего мнения вообще про RDP defender услышать, так как вы про него ничего и нигде не упоминали.
Заранее спасибо
[Профиль]  [ЛС] 

evgen_b

Стаж: 17 лет 3 месяца

Сообщений: 625

evgen_b · 28-Апр-20 22:57 (спустя 1 день 7 часов)

К тому, что я уже писал, мне сейчас особо добавить нечего. Дело вкуса каждого. Но поскольку дело уже дошло до личных сообщений от hitaman, чтобы не было обид, попробую еще раз резюмировать.
RdpGuard 5.4.9 имеет преимущества только в своей же линейке. В новых версиях разработчики стали прикручивать к программе свой облачный сервис. С точки зрения маркетинга - это правильно, с точки зрения стабильности - в новые версии добавлялся новый код, существующий отлаженный код тоже заменялся, старые ошибки не исправлялись, добавлялись новые ошибки в новом коде. Версия 5.4.9 внезапно оказалось неплохой на фоне менее стабильных новых версий с сомнительным функционалом именно для пользователя. А производитель получил статистику по внешним IP-адресам зараженных устройств, из которой также можно извлечь прибыль.
Ни один из экзотических случаев, то есть кроме RDP, у меня не заработал в продакшене. Экзотические случаи у меня были в виде SIP и Exchange Server.
Cyberarms - вероятно дедушка всех RdpGuard, код открыт, написан на c# как и RdpGuard, что какбэ намекает. Пруф оф консепт, который вполне работает, к таким программам не придираются. Нет обнуления счетчика неудачных попыток входа после удачного входа.
IPBan - пришел в Windows из мира Linux, прихватив с собой все мыслимые антипаттерны. Но, сука, работает. Стабильный, еще бы, за 6 лет-то. GUI и некоторые плюшки - в платной версии. Его нужно один раз настроить и забыть как страшный сон, но он будет работать, пока не остынет Вселенная. Его настройкам я посвятил длинный комментарий, это на порядок больше и подробнее, чем все остальные комментарии и примеры по нему за все его существование. Постараюсь еще что-нибудь написать про его использование, когда появится немного времени. Нет обнуления счетчика неудачных попыток входа после удачного входа. Зато можно настроить любую экзотику.
RDP defender - не слышал про него раньше. Написан, что бы вы думали, на c#. А вам сложно было самому протестировать? С радостью прочитал бы ваш отзыв за спасибо. Нет обнуления счетчика неудачных попыток входа после удачного входа. Блокировка IP максимум на 100 часов. Функционал ограничен только RDP, но есть GUI, проблемы с обновлением информации в GUI, куча прочих детских болезней и глюков GUI. В продакшен не подходит хотя бы из-за ограничения блокоровок до 100 часов максимум.
Выводы. Если нет совсем экзотики и защищать нужно только RDP и ничего более, то удобнее всего использовать RdpGuard. Для экзотических случаев он нестабилен - как новые версии, так и старые, надеяться на него в таких случаях нельзя, тут кому как повезет (скорее - не повезет).
Если нужно защищать экзотику (все, кроме RDP), то лучшее решение - IPBan. Гибкая конфигурация, стабильность, но без GUI и некоторых плюшек. Единственный вариант.
Если защищать исключительно RDP принципиально бесплатной программой - то Cyberarms будет стоять на втором месте после RdpGuard. В ней нет тех же самых плюшек, что и в IPBan, зато есть GUI.
Немного конспирологии. Как видите, разработчик IPBan занес мне несколько вагонов нефти.
Почетное упоминание. Тем не менее RDP defender уверенно занял первое место среди аутсайдеров. Так как других аутсайдеров не было.
[Профиль]  [ЛС] 

Paravoz_SPb

Стаж: 17 лет 6 месяцев

Сообщений: 16


Paravoz_SPb · 26-Май-20 20:44 (спустя 27 дней)

Коллега, спасибо за проделанную работу.
Успешно соскочил с глючного CyberArms.
[Профиль]  [ЛС] 

Dieman_666

Стаж: 13 лет 7 месяцев

Сообщений: 82


Dieman_666 · 17-Июл-20 23:48 (спустя 1 месяц 22 дня, ред. 17-Июл-20 23:48)

evgen_b
Можно спросить, был ли опыт настройки подобных программ для блокировки брута rdp в связке керио+роутер?
поясню ситуацию:
нэт поднимается на роутере и приходит в сервак с керио. керио уже своим dhcp вещает рабочую сеть
через роутер и через керио порт для удалёнки для rdp проброшен
скажем у роутера шлюз 192.168.1.1 а у керио 192.168.0.1
смысл в том, что если извне пробовать подключаться и вводить неверные данные для входа, то после n количества раз, прописанных в правилах и rdpguard и cyberrams они блочат именно шлюз 0.1 а не конечный айпишник.
и естественно если вся LAN сеть 192.168.0.* в исключениях ,то и извне будут продолжать ломиться.
а если исключить lan 0.1 из вайтлиста, то и все другие айпи извне не смогут дозвониться на сервак
попробую ещё ipban настроить, но у меня сильные сомнения ,что он будет действовать иначе
[Профиль]  [ЛС] 

evgen_b

Стаж: 17 лет 3 месяца

Сообщений: 625

evgen_b · 18-Июл-20 02:05 (спустя 2 часа 17 мин.)

Dieman_666
А, двойной нат, и более подробной информации не предоставлено. Не было опыта с керио вообще никакого.
Но, как понимаю, проблема с настройкой проброса порта в керио - он там IP-адрес подменяет. Т.к. с ним не работал, могу тока предположить, что вероятно нужно не NAT, а MAP, а в интерфейсах тока не Firewall, короче, чтобы он трафик без изменений гонял куда надо, и повыше это. А на роутере можно вообще DMZ для керио сделать, хотя роутер в этой схеме вообще как пятое колесо. Вообще по логике ipban должен устанавливаться в самом керио и читать его логи, раньше так можно было, когда он устанавливался в ОС, и iptables использовать, а теперь уже нет, и это вещь в себе, не считая интеграции ldap (вряд ли кто будет под api керио новый ipban писать).
А если совсем правильно, то роутер тут ни к чему, а в керио прописать DMZ для сервака согласно стр.119 руководства Kerio Control Administrator's Guide (English).
[Профиль]  [ЛС] 

McFly10

Стаж: 19 лет 3 месяца

Сообщений: 29


McFly10 · 08-Окт-20 14:47 (спустя 2 месяца 21 день)

Какая версия оптимальна для Server 2016, режим RDP ?
[Профиль]  [ЛС] 

bolodya123

Стаж: 14 лет 11 месяцев

Сообщений: 16


bolodya123 · 11-Фев-21 00:29 (спустя 4 месяца 2 дня, ред. 11-Фев-21 00:29)

Народ подскажите, есть до сих пор работающий MS 2003 Server (32-х), пытаюсь установить на него rdpguard
Специально нарыл в торрентах старую версию - RdpGuard 4.8.9 pre-cracked.exe
В ней также, самораспаковывающийся архив и хитро мудро сочиненный bat-файл - auto-setup-NOCONSOLE.cmd
Пробовал выполнять построчно в командной строке, отключив ECHO
Ругается на следующую строчку:
Код:
c:\Temp\4-8-9>FOR /f "tokens=2,*" %%a IN ('reg.exe query "%svcreg%" /v ImagePath /t REG_EXPAND_SZ ^| findstr.exe /ri "REG_EXPAND_SZ"') DO SET "svcname=%%~nb" & SET "svcext=%%~xb" & SET "svcpath=%%~db%%~pb"
Непредвиденное появление: %%a.
Следующее использование оператора пути при подстановке параметров
в пакетных файлах является недопустимым: %~xb" & SET "svcpath=%~db%~pb"
Для просмотра списка допустимых форматов введите CALL /? или FOR /?
И целом, так сказать, хотелось бы в общих чертах понять, что хотел сделать многоуважаемый автор этой строчкой кода:
Код:
FOR /f "tokens=2,*" %%a IN ('reg.exe query "%svcreg%" /v ImagePath /t REG_EXPAND_SZ ^| findstr.exe /ri "REG_EXPAND_SZ"') DO SET "svcname=%%~nb" & SET "svcext=%%~xb" & SET "svcpath=%%~db%%~pb"
Кста, если кому надо старую версию - могу здесь выложить torr. файл
[Профиль]  [ЛС] 

evgen_b

Стаж: 17 лет 3 месяца

Сообщений: 625

evgen_b · 22-Фев-21 15:22 (спустя 11 дней, ред. 09-Мар-21 10:43)

bolodya123
Чтобы выполнить скрипт интерактивно, нужно немного заморочиться с иероглифом "%", т.к. еще с конца 1980-х годов в операционной системе DOS в некоторых случаях они удваиваются и наоборот, в зависимости от места выполнения команды. В Windows 10, хвала богам, всё осталось также, как и 40 лет назад. И Гугл об этом знает, если что.
Я бы на вашем месте вообще не парился, а закомментировал первую строчку батника @ECHO OFF, а также расставил перед/после интересующих меня команд в батнике команды PAUSE, чтобы лучше понять ход выполнения. Кстати, эти команды там есть и закоментированы, обращаю внимание, вам остается сделать тока копипаст.
Теперь касаемо заклинания 80-го уровня.
Давай сначала представим, что батник должен сделать. Он должен запустить инсталлятор, а когда тот отработает, заменить определенные файлы на пропатченные, чтобы программа не вымогала честно заработанное непосильным трудом. Собственно вопрос в том, а где эти файлы после установки будут находиться, т.к. пользователь, с дуру, конечно, может установить программу куда угодно.
Вопрос кажется довольно сложным (для некоторых). Какие инструменты доступны нам для его решения?
1. Обращение с заявлением в полицию и объявление этих файлов в уголовный розыск.
2. Прибегнуть к помощи экстрасенсов, чтобы найти файлы.
3. Составить мощное заклинание самому.
Давайте рассмотрим каждый пункт подробнее. С заявлением в полицию вам, скорее всего, откажут из-за отсутствия состава преступления. Помощь экстрасенсов вам обойдется на порядок дороже, чем официальное приобретение самой программы. Для нас остается третий вариант.
Мы знаем имя службы -
Код:
SET service=RdpGuardService.
Значит мы знаем (правда ведь?), где в реестре находятся более подробные данные, достаточные для её запуска -
Код:
SET "svcreg=HKLM\SYSTEM\CurrentControlSet\Services\%service%"
Чтобы Windows могла запустить эту службу, ей надо знать полный путь к файлу на диске.
Это значение содержится в реестре в параметре ImagePath.
Чтобы его прочитать, в батнике применяется следующее магическое заклинание -
Код:
reg.exe query "%svcreg%" /v ImagePath /t REG_EXPAND_SZ
Чтобы отделить информацию, которая нам действительно необходима, от остальной, выводимой утилитой reg.exe, мы воспользуемся конвеером (также доступным ещё с конца 1980-х годов в DOS) и передадим вывод на вход следующего заклинания-фильтра
Код:
findstr.exe /ri "REG_EXPAND_SZ"
Теперь из этого предварительно отфильтрованного вывода нам нужно забрать только полный путь к запускаемому файлу.
Это можно сделать с помощью такого магического заклинания -
Код:
FOR /f "tokens=2,*" %%a IN (...) DO
Далее, необходимо сохранить результат в переменную. Будет удобнее, если мы воспользуемся небольшой эльфийской хитростью, т.к. в этом заклинании можно сделать трехуровневое комбо, и разбить результат на отдельные составляющие - полный путь, имя файла и расширение этого имени. Поэтому в предыдущем заклинании мы произносим слова Древней Крови tokens=2,* совместно со следующими тремя мини-заклинаниями:
Код:
SET "svcname=%%~nb" & SET "svcext=%%~xb" & SET "svcpath=%%~db%%~pb"
Таким образом, в конце нашего длинного заклинания 80-го уровня мы получим в переменной svcname - имя файла, svcext - расширение имени файла и svcpath - полный путь к этому файлу.
Именно этот файл и необходимо заменить на его пропатченную версию (остановив на время саму службу, конечно). Чтобы было проще сделать эту подмену, сохранив при этом оригинал, мы используем отдельно переменные, содержащие данные только о полном пути к файлу этой службы, только имя этого файла и только о его расширении имени. Тогда, например, можно задать новое имя для оригинала с помощью такого заклинания на лунном языке - "%svcname%-OLD%svcext%.
Не учись, и вся твоя жизнь будет наполнена чудесами и волшебством.
[Профиль]  [ЛС] 

Maza777

Старожил

Стаж: 17 лет 5 месяцев

Сообщений: 190

Maza777 · 06-Май-22 11:14 (спустя 1 год 2 месяца, ред. 06-Май-22 11:14)

Поделитесь программой Cyberarms Intrusion Detection and Defense Software (IDDS)
сайт https://cyberarms.net/ не открывается, прямая ссылка https://cyberarms.net/media/1022/cyberarmsintrusiondetectionsetupx64_220.zip тоже не работает
есть еще аналог RDP Defender, вроде тоже самое что RDPGuard только бесплатное, может пробовали ее ?
В каком то из программ есть очистка старых правил? Встречал комментарий что через год брендмаер переполняется созданными правилами блокировки и начинает тупить сервер
[Профиль]  [ЛС] 

maxwood

Стаж: 15 лет 8 месяцев

Сообщений: 3


maxwood · 07-Май-22 14:34 (спустя 1 день 3 часа)

Maza777
https://github.com/EFTEC/Cyberarms
https://github.com/EFTEC/Cyberarms/blob/master/Compiled/cyberarms.intrusiondetect...up.x64_2.2.0.zip
[Профиль]  [ЛС] 

Maza777

Старожил

Стаж: 17 лет 5 месяцев

Сообщений: 190

Maza777 · 07-Май-22 19:12 (спустя 4 часа, ред. 07-Май-22 19:12)

на windows xp не пойму почему не работает, поставил winPcap, службу перезапускал, поменять настройки неактивно

Еще каждый раз при запуске надо нажимать здесь

в политиках отказ стоит

в доменных вот так

по их рекомендации в командной строке команда
auditpol /set /subcategory:Logon /success:enable /failure:enable
не выполняется
вот с win7

если нажать на "click here to unable" на win7 то будет работать, но каждый раз при запуске это делать неправильно
[Профиль]  [ЛС] 

Maza777

Старожил

Стаж: 17 лет 5 месяцев

Сообщений: 190

Maza777 · 16-Май-22 20:25 (спустя 9 дней, ред. 16-Май-22 20:25)

на другом компе с Win XP тоже самое, framework 4 стоит если что, для FTP я могу включить wincpap, а для RDP не могу
[Профиль]  [ЛС] 

Dieman_666

Стаж: 13 лет 7 месяцев

Сообщений: 82


Dieman_666 · 17-Май-22 05:40 (спустя 9 часов)

Maza777
в чем заключается принцип использования xp? а даже не вин сервера 2003, хотя я и про него молчу, ибо что-то ниже 2008 r2 ставить смысла нет по сути, если только не прям до невозможности специфичный софт стоит, к которому нужен удалённый доступ
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error