Изучая шифровальщики заметил, что вектором внешних атак часто является взлом через RDP. Я решил сделать эксперимент и выяснить, что будет если пробросить RDP через роутер, т.е. открыть доступ к компьютеру открыв RDP в роутере.
Еще по теме: Анализ вирусов в домашней лаборатории
Проброс порта RDP на роутере
В сети можно найти большое количество инструкций, о том, как пробросить RDP через роутер, но не одна из них не предупреждает о потенциальных рисках.
Не повторяйте дома! Я делал это в тестовой сети, с одним подключенным и специально подготовленным для этой цели компьютером.
В начале я настроил RDP на компьютере, после чего настроил проброс 3389 порта на роутере. Пароль на RDP выбрал «gengirlrocks» из популярного словаря для брута паролей rockyou.txt.
Стоит отметить, что у меня динамической внешний IP-адрес, который меняется примерно каждые 72 часа — это важно при таких экспериментах.
Последствия проброса RDP на роутере
В начале нечего не происходило, я полез в Shodan проверить появился ли мой IP. Примерно через час, Shodan уже видел мой компьютер, а затем началось. Одновременно четыре подключения к порту 3389 и начались попытки перебора. Компьютер начал заметно тормозить из-за нагрузки.
После непрерывного потока попыток аутентификации злоумышленник проник в систему. Брут пароля занял примерно 14 часов. Я пошел спать оставив комп на 8 часов.
На следующий день, изучая логи и активность с помощью различных инструментов форензики, я обнаружил следующее. Через час, после успешного подбора пароля злоумышленник вручную, используя логин и пароль, вошел в систему.
После чего сразу же загрузил сканер и начал сканирование сети, в надежде найти другие компьютеры подключенные к локальной сети. Затем злоумышленник начал проверять конфигурацию системы, чтобы убедиться, что ноутбук присоединен к домену, но это оказалось не так.
Во время нахождения хакера в системе продолжались попытки брута RDP с других IP-адресов. Может быть для сокрытия успешного входа в систему, либо — брутили другие. После сканирования сети хакер начал копаться в файлах. Я намеренно разложил различные интересные файлы на рабочем столе и в папке «Документы».
Через 45 минут злоумышленник залил исполняемый файл программы-вымогателя. После чего все файлы на диске были зашифрованы, что изменило расширение файлов и добавило адрес электронной почты для связи с ним.
Безопасность RDP
Итак, что я узнал. По сути, открытый RDP примерно через час будет добавлен поисковыми ботами в базу данных хакерских поисковиков типа Shodan или Censys, а потом начнутся попытки взлома RDP. И если вы используете слабый пароль, компьютер будет взломан в течении суток.
Чему может научить нас данная история? Тому, что нельзя пробрасывать RDP (и другие чувствительные порты) через роутер, вдобавок используя слабые пароли. RDP — отличный инструмент, но он предназначен исключительно для использования в локальной защищенной сети!
Для анализа вредоносной активности использовался инструмент Logon Tracer.
Вот уже седьмой год порт RDP проброшен наружу. Шесть лет никто не трогал и тут как прорвало ) всё началось с проникновения на свеже установленную изолированную виртуалку с простой парой логина/пароля. Не совсем ясно, то ли злоумышленник не успел зайти после входа бота-брутфорсера, то ли когда он зашёл, оглянулся и вышел, ничего не тронув.
Но не суть, это разбудило мою бдительность ) и я написал простой скрипт сперва для анализа логов и выписки списка IP адресов из порядка сотни тысяч событий, а потом накидал ежеминутно проверяющий логи скрипт (да, лучше читать по чуть чуть каждую минуту незаметно для системы, чем раз в сутки ловить всплеск нагрузки), позже дописал несколько строк для опроса виртуальных машин на наличие событий. В итоге результат — каждый новый адрес брутфорсера успевает сделать 1-2 попытки подбора логина/пароля. (они почему-то медленно стартуют, первые пару минут раз в пол минуты пробуют и только потом переходят на ежесекундное бадание). Ну и на всякий случай включил тайм-аут учёток в случае нескольких неудачных аутентификаций.
Вот смотрю как пополняется чёрный список на маршрутизаторе :) попробовал открыть pptp порт из любопытства, так туда тоже начали долбить, но значительно в меньшей степени, но скрипт и эти события обрабатывает. Это всё в купе с не подбираемыми паролями. Цифровая гигиена соблюдена, трояны, сливающие пароли исключены. Поднять чтоли SSL сертификаты… лень, но ради интереса можно. В любом случае брутфорс пресечён на корню минимальными телодвижениями, с интересом потягивая чаёк. Да, у меня подняты ВПН сервера, но я предпочитаю использовать RDP без него, пропускная способность значительно выше, да и если параллельно нагружаешь VPN, то это никак не влияет на работу RDP сессии.
и есть ли ссылка на гит для Вашего скрипта ?