Что творится в «фоновом шуме» интернета, если оставить SSH-дверь приоткрытой и просто смотреть, кто полезет? Мне стало любопытно и за один вечер я поднял на арендованном VPS ловушку: сервер, который притворяется беззащитным и ждёт, пока его взломают. Через несколько минут в дверь постучались. Через четыре часа в логах было почти семь тысяч атак со всего мира: попытки залить малварь, прокинуть спам через мой сервер и семь машин из разных стран, оставивших один и тот же характерный след: по нему я и вышел на целый ботнет. Рассказываю по порядку: что это за ловушка, кого она поймала и как ты можешь повторить то же самое.
И да — сразу, чтобы снять вопросы: это легально. Я ничего не взламывал. Я поставил у себя дома мышеловку и записал, кто в неё полез. Об этом ниже.
Что такое honeypot и зачем я его поднял
Honeypot (англ. «горшочек с мёдом») это приманка. Сервер, который снаружи выглядит как обычная уязвимая машина с открытым входом, но на самом деле внутри всё ненастоящее: фальшивая файловая система, фальшивые команды, и единственное, что он делает по-настоящему, подробно записывает каждое действие гостя. Логин, пароль, какие команды выполнил, что пытался скачать. Сам «гость» думает, что взломал реальный сервер, и ведёт себя как обычно — а ты смотришь на его руки.
Зачем мне это вообще понадобилось? Сериалы надоели, и я подумал: а логи реальных атак — это же бесплатный реалити-сериал про сетевую шпану, эдакое «слово пацана», только кровь не на асфальте, а в логах. Хотелось посмотреть его вживую, на своём железе, а не в чужих отчётах. Кто ломится, чем ломится, насколько всё на автопилоте — куда занятнее любого учебника. А honeypot к тому же абсолютно безопасен: что бы гость ни «сломал», он крушит декорацию, а не настоящую систему. Сиди да смотри, можно с попкорном. Я выбрал Cowrie — самый известный бесплатный honeypot, который эмулирует SSH и Telnet (это два способа удалённо зайти в командную строку сервера; именно их чаще всего ломают). Поставил его на дешёвый VPS, перенаправил настоящие порты 22 (SSH) и 23 (Telnet) внутрь ловушки и стал ждать.
В цифрах
За ~4 часа работы (с 01:19 до 05:32 UTC) ловушка собрала:
Что мы поймали
1. Один очень шумный сосед
Первое, что бросается в глаза, когда копаешь данные: статистика врёт, если смотреть на неё в лоб. Из 6 982 событий 6 387 (это 91%!) прилетели с одного-единственного IP — адреса на немецком хостинге Pfcloud UG. Один бот молотил мою ловушку без остановки и в одиночку нагнал почти весь «трафик».
Ни один живой хакер не сидел за клавиатурой. Как я это понял? По «представлению» клиента: когда программа подключается по SSH, она называет себя — например,
SSH client versions
Подтверждает это и длительность сессий: боты заходят, делают своё дело за пару минут и отваливаются. Никаких раздумий, опечаток, пауз «а что бы тут набрать» — чистый конвейер.
Как только бот «входит», он почти всегда выполняет одну и ту же команду —
Любопытная деталь: часть ботов запускает не просто
Top commands
4. Охота за криптой
Среди логинов, которые перебирали боты, мелькает характерная компания:
5. Мой сервер пытались превратить в спам-шлюз
А вот это уже интереснее. Почти два десятка раз боты пытались сделать так называемый туннель (на техническом языке —
Куда именно пытались пробросить туннель? На почтовые порты (25 и 2525) чужих почтовых серверов:
А теперь — то, ради чего стоит читать про honeypot'ы. Среди десятков ботов я заметил семь разных IP-адресов из разных стран, которые вели себя подозрительно одинаково. Все семеро, едва войдя, выполняли вот такую команду (привожу с сокращением ключа):
Разберу, что тут происходит, по-человечески:
Так вот, ключ во всех семи случаях был ОДИН И ТОТ ЖЕ. Семь разных адресов — из Бразилии, Вьетнама, США, Индонезии, Аргентины, Кореи (на скриншоте с городами они все идут ровно по 23 события — характерный «единый почерк») — ставили идентичный бэкдор-ключ с одной и той же подписью в конце:
Семь IP:
Top cities — видно россыпь городов по 23 события
Как доказать, что за семью адресами стоит один и тот же зловред?
Совпадение ключа уже намекало: это не семь разных угроз, а одна и та же. Но я полез глубже — за доказательством покрепче. Cowrie не только логирует команды — он ещё и перехватывает файлы, которые на него заливают. И тут случилось главное. Все семь ботов «скачивали» на мой сервер один и тот же файл (содержимое того самого бэкдора), и Cowrie посчитал его SHA256 — это как уникальный цифровой отпечаток файла: если у двух файлов совпал SHA256, это байт-в-байт один и тот же файл.
Отпечаток у всех семи закачек оказался идентичным:
И тут — самый интересный поворот. Ключ с подписью
И тут начинается самое интересное
Один SHA256, известная подпись
Совпало. И не с чем-нибудь, а с известным ботнетом — Outlaw (в разных отчётах его зовут ещё Shellbot или Dota):
Отдельный разговор: пароли, которыми ломятся боты
Помнишь, я говорил, что какие именно пароли перебирали боты — это честные данные? Вот топ того, что они вводили чаще всего:
Картина — днище. Это не попытки взлома хитрым перебором, это проверка, не оставил ли кто-то совсем уж детский пароль. И ведь оставляют — иначе боты бы это не перебирали. Отдельно мелькает
Насколько это слабо? Считаем на пальцах
Чтобы понять, насколько плохи такие пароли, надо знать, как их вообще взламывают. Есть два пути.
Путь 1 — по словарю. У атакующих есть готовые списки из реальных паролей, утёкших за годы из взломанных сайтов. Самый знаменитый —
Путь 2 — полный перебор (брутфорс). Это когда пароля нет ни в одном словаре и его перебирают тупо по всем комбинациям. Время = (число всех комбинаций) ÷ (скорость перебора). Число комбинаций — это (размер алфавита) в степени (длина пароля). И вот тут длина и случайность решают всё.
Чтобы цифры были предметными, возьмём реалистичный сценарий: база паролей утекла, хранилась она не лучшим образом (так, увы, часто бывает), и злоумышленник гонит перебор на одной мощной игровой видеокарте — это порядка сотни миллиардов вариантов в секунду. Смотрим:
(Все оценки — для случайного пароля из полного набора (~95 символов на знак) и при ~100 млрд попыток в секунду. Это иллюстрация порядка величины, а не секундомер: реальная скорость сильно зависит от того, как именно хранились хеши. Но соотношение — длина решает всё — незыблемо.)
Мораль, ради которой всё затевалось: важна не «хитрость» пароля, а его длина и случайность.
Что из этого следует — практические выводы
Даже мой четырёхчасовой эксперимент даёт пару очень конкретных уроков для любого, у кого есть хоть какой-то сервер:
Хочешь повторить? Это проще, чем кажется
Самое приятное: чтобы поймать свой ботнет, не нужно быть гуру. Вот общий маршрут (без полотна команд — детали есть в официальной документации, ссылка ниже):
Только помни про оговорку из начала статьи: ловушка должна стоять на твоём собственном сервере и только наблюдать. Это и есть граница между «исследую безопасность» и «сам нарушаю».
Вместо эпилога
Затевал я это скорее из любопытства — а вышел с собственным маленьким расследованием, которое привело к ботнету, живущему дольше, чем некоторые мои подписки. Ловушка, кстати, всё ещё работает и продолжает собирать — так что, возможно, у этой истории будет продолжение.
А вот что ловушка показала нагляднее любого учебника: за «взломами» в массе своей стоят не люди в худи, а бесконечный конвейер автоматики — скрипты, которые круглосуточно долбят все подряд адреса паролем
А ловушку поднять стоит хотя бы раз. Чтобы увидеть всё это самому.
Источники
Принадлежность к ботнету Outlaw установлена сопоставлением индикаторов компрометации (SHA256, ключ с подписью mdrfckr, цепочка команд) с публичными отчётами:
И да — сразу, чтобы снять вопросы: это легально. Я ничего не взламывал. Я поставил у себя дома мышеловку и записал, кто в неё полез. Об этом ниже.
Что такое honeypot и зачем я его поднял
Honeypot (англ. «горшочек с мёдом») это приманка. Сервер, который снаружи выглядит как обычная уязвимая машина с открытым входом, но на самом деле внутри всё ненастоящее: фальшивая файловая система, фальшивые команды, и единственное, что он делает по-настоящему, подробно записывает каждое действие гостя. Логин, пароль, какие команды выполнил, что пытался скачать. Сам «гость» думает, что взломал реальный сервер, и ведёт себя как обычно — а ты смотришь на его руки.
Зачем мне это вообще понадобилось? Сериалы надоели, и я подумал: а логи реальных атак — это же бесплатный реалити-сериал про сетевую шпану, эдакое «слово пацана», только кровь не на асфальте, а в логах. Хотелось посмотреть его вживую, на своём железе, а не в чужих отчётах. Кто ломится, чем ломится, насколько всё на автопилоте — куда занятнее любого учебника. А honeypot к тому же абсолютно безопасен: что бы гость ни «сломал», он крушит декорацию, а не настоящую систему. Сиди да смотри, можно с попкорном. Я выбрал Cowrie — самый известный бесплатный honeypot, который эмулирует SSH и Telnet (это два способа удалённо зайти в командную строку сервера; именно их чаще всего ломают). Поставил его на дешёвый VPS, перенаправил настоящие порты 22 (SSH) и 23 (Telnet) внутрь ловушки и стал ждать.
Про легальность и важную оговорку.
Ловушка пассивная: она не атакует в ответ, не сканирует чужие сети, не «ломает хакеров». Она просто принимает входящие подключения на мой собственный сервер и записывает их — ровно как камера видеонаблюдения у меня во дворе. Наблюдать за тем, кто ломится к тебе, — это законно. А вот всё, что атакующие делают со мной, — попытки подбора паролей, установки бэкдоров, прокачки спама — это уже их действия, и в реальном мире они нелегальны. Я лишь зритель.
В цифрах
За ~4 часа работы (с 01:19 до 05:32 UTC) ловушка собрала:
| Метрика | Значение |
| Всего событий | 6 982 |
| Уникальных атакующих IP | 75 |
| Стран-источников | 30 |
| Сессий (подключений) | 935 |
| «Успешных» входов | 850 |
| Команд выполнено | 828 |
| Уникальных перебранных паролей | 407 |
| Уникальных перебранных логинов | 255 |
Общий дашборд с картой атак
И всё это за один вечер, на сервере, про который не знает ни один живой человек, кроме меня. Никто не «давал ссылку» — боты находят новые серверы сами, просто перебирая адреса интернета подряд. Поэтому первые подключения пришли через считаные минуты после старта.
Сразу честно про «850 успешных входов».
Это не значит, что боты угадали 850 паролей от моего сервера. Cowrie по умолчанию впускает почти любого — это сделано специально: интересно же посмотреть, что злоумышленник будет делать после входа, а не захлопнуть дверь у него перед носом. Забавная деталь: из всех попыток ловушка отклонила лишь несколько, и это были... root / root и root / 123456 — единственные пары, которые в стандартной конфигурации Cowrie зашиты как «слишком очевидные, не пускать». То есть единственные пароли, которые ловушка забраковала, — два самых банальных в мире. Так что «850 входов» читай как «дверь открылась 850 раз». А вот что именно боты пытались вводить — это уже настоящие, честные данные о том, чем ломятся в интернете прямо сейчас.
Что мы поймали
1. Один очень шумный сосед
Первое, что бросается в глаза, когда копаешь данные: статистика врёт, если смотреть на неё в лоб. Из 6 982 событий 6 387 (это 91%!) прилетели с одного-единственного IP — адреса на немецком хостинге Pfcloud UG. Один бот молотил мою ловушку без остановки и в одиночку нагнал почти весь «трафик».
Top attacker IPs и Top countries
Именно из-за него в топе стран с огромным отрывом лидирует Германия — хотя это не «немецкие хакеры», а просто один арендованный сервер в немецком дата-центре. Вот вам наглядный урок аналитики: один крикливый источник способен перекосить всю картину. Если убрать этого героя, остаётся ~595 событий от остальных 74 адресов и вот это уже настоящая, разнообразная картина атак со всего мира: Румыния, США, Бразилия, Южная Корея, Вьетнам, Аргентина, Индонезия, Пакистан и так далее.
Top ASN / hosting
2. Это боты, а не люди
Ни один живой хакер не сидел за клавиатурой. Как я это понял? По «представлению» клиента: когда программа подключается по SSH, она называет себя — например,
SSH-2.0-OpenSSH_7.4 (обычный клиент) или SSH-2.0-PuTTY (популярная программа под Windows). А у меня в абсолютных лидерах — SSH-2.0-Go: это значит, что подключался не человек из терминала, а самописная программа на языке Go, заточенная под массовый автоматический перебор.SSH client versions
SSH fingerprints, порты, протоколы
3. Первое движение каждого бота —
unameКак только бот «входит», он почти всегда выполняет одну и ту же команду —
uname -s -v -n -r -m. В моих логах она встречается 796 раз. uname— это команда, которая показывает «паспорт» системы: какое ядро, какая версия, как зовут машину, какая архитектура процессора. Зачем это боту? Чтобы снять отпечаток и понять, куда он попал: это сервер на Intel или роутер на ARM? Стоит ли тащить сюда конкретную малварь, и какую именно? Это разведка — автоматическая, мгновенная, у всех ботов одинаковая.Любопытная деталь: часть ботов запускает не просто
uname, а /bin/./uname — с таким вот странным /./ в середине. Это маленький трюк обхода: так команда исполняется в обход возможных «ловушек» и подмен, расставленных на стандартном пути. Почерк, по которому потом можно узнавать конкретное семейство зловредов.Top commands
Среди логинов, которые перебирали боты, мелькает характерная компания:
sol, solv, solana, ethereum. Это не случайные слова — это охота за криптовалютными серверами. Боты ищут машины, на которых крутятся ноды Solana или Ethereum, кошельки, майнеры — всё, к чему привязаны деньги. Несколько реальных пар «логин / пароль» из моего лога:solv/solvethereum/ethereumsol/123456solana/12345678oracle/Passw0rd
5. Мой сервер пытались превратить в спам-шлюз
А вот это уже интереснее. Почти два десятка раз боты пытались сделать так называемый туннель (на техническом языке —
direct-tcpip). Простыми словами: бот просит мой сервер от своего имени открыть соединение к другому серверу в интернете. Если бы мой сервер был настоящим и разрешал такое — он стал бы анонимным посредником, через которого можно делать грязные дела, не паля свой настоящий адрес.Куда именно пытались пробросить туннель? На почтовые порты (25 и 2525) чужих почтовых серверов:
- на
62.210.131.144:2525— несколько раз, с разных IP; - на
77.88.21.158:25— с целой россыпи адресов.
Таблица Tunnels
6. Кульминация: семь адресов, один ботнет
А теперь — то, ради чего стоит читать про honeypot'ы. Среди десятков ботов я заметил семь разных IP-адресов из разных стран, которые вели себя подозрительно одинаково. Все семеро, едва войдя, выполняли вот такую команду (привожу с сокращением ключа):
Bash:
cd ~ && rm -rf .ssh && mkdir .ssh && echo "ssh-rsa AAAAB3NzaC1yc2EA...QTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw== mdrfckr" >> .ssh/authorized_keys && chmod -R go= ~/.ssh && cd ~
Разберу, что тут происходит, по-человечески:
rm -rf .ssh && mkdir .ssh— сносит старую папку с SSH-ключами и создаёт чистую.echo "ssh-rsa AAAA...== mdrfckr" >> .ssh/authorized_keys— дописывает в список доверенных чужой публичный ключ (ключ ботнета). Это и есть бэкдор (тайный чёрный ход): у кого есть парный закрытый ключ — тот заходит на сервер вообще без пароля, в любой момент. Файлauthorized_keys— это «список тех, кому можно без стука».chmod -R go= ~/.ssh— закрывает права, чтобы никто, кроме хозяина ключа, не подсмотрел.
chattr -ia .ssh; lockr -ia .ssh — это снятие защитных атрибутов «только для чтения», чтобы гарантированно перезаписать чужой authorized_keys, даже если он был защищён.Так вот, ключ во всех семи случаях был ОДИН И ТОТ ЖЕ. Семь разных адресов — из Бразилии, Вьетнама, США, Индонезии, Аргентины, Кореи (на скриншоте с городами они все идут ровно по 23 события — характерный «единый почерк») — ставили идентичный бэкдор-ключ с одной и той же подписью в конце:
mdrfckr.Семь IP:
Код:
67.52.95.38 128.201.9.152 152.32.162.42 175.118.127.138
179.40.112.10 185.226.89.235 202.145.0.61
Top cities — видно россыпь городов по 23 события
Совпадение ключа уже намекало: это не семь разных угроз, а одна и та же. Но я полез глубже — за доказательством покрепче. Cowrie не только логирует команды — он ещё и перехватывает файлы, которые на него заливают. И тут случилось главное. Все семь ботов «скачивали» на мой сервер один и тот же файл (содержимое того самого бэкдора), и Cowrie посчитал его SHA256 — это как уникальный цифровой отпечаток файла: если у двух файлов совпал SHA256, это байт-в-байт один и тот же файл.
Отпечаток у всех семи закачек оказался идентичным:
Код:
a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2
File operations: один и тот же хеш на разных IP и путях
Причём ставили они его в
authorized_keys под тем пользователем, под которым удалось войти, — /root/.ssh/, /home/kali/.ssh/, /home/ftpuser/.ssh/, /home/user1/.ssh/ и так далее. Разные двери — один и тот же ключ, один и тот же файл. Вывод напрашивается сам: это не семь независимых угроз, а семь машин, на которых крутится один и тот же зловред.И тут — самый интересный поворот. Ключ с подписью
mdrfckr — это не «личный автограф» одного хакера: он зашит прямо в малварь и одинаков на всём ботнете (ниже дам ссылки — он публично известен не первый год). А раз так, эти семь адресов почти наверняка сами жертвы: их когда-то взломали ровно тем же трюком с authorized_keys, который они теперь крутят против меня. Теперь это заражённые узлы, которые ботнет автоматически гоняет сканировать интернет в поисках новых машин — потому они и постучались в мою ловушку. Замкнутый круг: на меня охотятся те, кто сам когда-то стал добычей.И тут начинается самое интересное
Один SHA256, известная подпись
mdrfckr, узнаваемая цепочка команд — это всё индикаторы компрометации (по-английски IoC, Indicators of Compromise: характерные «приметы» конкретной угрозы, по которым её опознают, как преступника по отпечаткам пальцев). Я взял эти приметы и сопоставил их с публичными отчётами исследователей безопасности.Совпало. И не с чем-нибудь, а с известным ботнетом — Outlaw (в разных отчётах его зовут ещё Shellbot или Dota):
- подпись
mdrfckrи сама схема бэкдора (rm -rf .ssh && … >> .ssh/authorized_keys && chmod -R go= ~/.ssh) разобраны в статье об Outlaw от Kaspersky Securelist; - тот же самый публичный ключ с подписью
mdrfckr— буквально совпадающий с тем, что прилетел ко мне, — уже привязан к Outlaw в дневнике honeypot-активности SANS ISC за 2023 год; - а главное — точно этот же SHA256 недавно засветился в заметке SANS ISC: тот же файл ловили на 24 адресах в апреле 2026 года. То есть моя находка — не музейный экспонат, а кусок живой, прямо сейчас работающей кампании;
- а корни у Outlaw уходят аж в 2018 год — впервые группу описала Trend Micro.
Отдельный разговор: пароли, которыми ломятся боты
Помнишь, я говорил, что какие именно пароли перебирали боты — это честные данные? Вот топ того, что они вводили чаще всего:
| Место | Пароль | Сколько раз |
| 1 | 123456 | 65 |
| 2 | 123 | 42 |
| 3 | 1234 | 34 |
| 4 | 1 | 32 |
| 5 | root | 26 |
| 6 | 12345678 | 22 |
| 7 | password | 20 |
| 8 | 12345 | 19 |
| 9 | 123456789 | 15 |
| 10 | abc123 | 12 |
Top usernames, passwords, combos
Картина — днище. Это не попытки взлома хитрым перебором, это проверка, не оставил ли кто-то совсем уж детский пароль. И ведь оставляют — иначе боты бы это не перебирали. Отдельно мелькает
ubnt / ubnt (дефолтный логин-пароль оборудования Ubiquiti), Passw0rd (классика «вроде сложного, а на деле нет») и даже загадочное 345gs5662d34, которое кто-то методично вбивал семь раз подряд, — видимо, дефолтный пароль какого-то устройства (что это за железка — я, честно, не докопался).Насколько это слабо? Считаем на пальцах
Чтобы понять, насколько плохи такие пароли, надо знать, как их вообще взламывают. Есть два пути.
Путь 1 — по словарю. У атакующих есть готовые списки из реальных паролей, утёкших за годы из взломанных сайтов. Самый знаменитый —
rockyou.txt, в нём 14 миллионов паролей. И 123456 в нём — буквально первая строка. password, ubnt, abc123, Passw0rd — тоже там, в начале. Перебрать 14 миллионов вариантов современный компьютер успевает за доли секунды. Поэтому для всех паролей из таблицы выше ответ один: взлом — мгновенный, ещё до того, как дело дойдёт до какого-либо «перебора». Их даже не угадывают — их просто зачитывают по списку.Путь 2 — полный перебор (брутфорс). Это когда пароля нет ни в одном словаре и его перебирают тупо по всем комбинациям. Время = (число всех комбинаций) ÷ (скорость перебора). Число комбинаций — это (размер алфавита) в степени (длина пароля). И вот тут длина и случайность решают всё.
Чтобы цифры были предметными, возьмём реалистичный сценарий: база паролей утекла, хранилась она не лучшим образом (так, увы, часто бывает), и злоумышленник гонит перебор на одной мощной игровой видеокарте — это порядка сотни миллиардов вариантов в секунду. Смотрим:
| Пароль | Из чего состоит | Время полного перебора |
123456 | 6 цифр | мгновенно (к тому же он первый в словаре) |
password | 8 строчных букв | ~секунды (и тоже в словаре) |
Passw0rd | «сложный на вид», но из словаря с типовыми заменами | секунды |
Xk7r | 4 случайных символа | мгновенно |
Xk7r9$Q2 | 8 символов (буквы/цифры/регистр/знаки) | ~часы–сутки |
Xk7r9$Q2mZ | те же + ещё 2 символа (10) | ~десятки лет |
Xk7r9$Q2mZ#4 | + ещё 2 (12) | ~сотни тысяч лет |
Xk7r9$Q2mZ#4vB!8 | + ещё 4 (16) | дольше, чем существует Вселенная |
(Все оценки — для случайного пароля из полного набора (~95 символов на знак) и при ~100 млрд попыток в секунду. Это иллюстрация порядка величины, а не секундомер: реальная скорость сильно зависит от того, как именно хранились хеши. Но соотношение — длина решает всё — незыблемо.)
Мораль, ради которой всё затевалось: важна не «хитрость» пароля, а его длина и случайность.
Passw0rd с гордой большой буквой и нулём вместо «o» ломается за секунды, потому что эта «хитрость» давно учтена в словарях. А скучный случайный набор из 16 символов не возьмёт ни один словарь и не переберёт ни одна ферма видеокарт за время жизни Солнца. Поэтому правильный пароль — это не «придуманный посложнее», а длинный и сгенерированный случайно (лучше всего — в менеджере паролей, чтобы не держать в голове).Что из этого следует — практические выводы
Даже мой четырёхчасовой эксперимент даёт пару очень конкретных уроков для любого, у кого есть хоть какой-то сервер:
- Откажись от входа по паролю — перейди на SSH-ключи. Бот может вечно перебирать пароли, но против криптографического ключа перебор бесполезен. Это самый важный пункт.
- Запрети вход под
rootнапрямую. Логинrootботы долбили чаще всего (165 раз) — потому что это сразу полный доступ. Заходи под обычным пользователем, повышай права уже внутри. - Поставь
fail2ban— это сторож, который сам банит адрес после нескольких неудачных попыток входа. Отсекает основную массу тупого перебора. - Не держи дефолтные и короткие пароли там, где без них никак.
ubnt/ubnt,admin/admin,123456— это первое, что пробуют. Длинный случайный пароль обязателен. - Смена стандартного порта (22 → что-то другое) — помогает, но это не защита, а тишина в логах. Шум станет меньше, но целенаправленного сканирования это не остановит. Полагаться только на это нельзя.
123456.Хочешь повторить? Это проще, чем кажется
Самое приятное: чтобы поймать свой ботнет, не нужно быть гуру. Вот общий маршрут (без полотна команд — детали есть в официальной документации, ссылка ниже):
- Возьми самый дешёвый VPS. Подойдёт любой за пару долларов в месяц. Это будет «жертвенный» сервер — на нём не должно быть ничего ценного.
- Поставь Cowrie (удобнее всего — через Docker, чтобы ловушка жила в изолированном контейнере и не пересекалась с самим сервером).
- Перенаправь настоящие порты 22 и 23 в ловушку. Свой реальный вход по SSH при этом перевесь на другой порт — чтобы самому заходить на сервер мимо приманки и случайно не запереть себя снаружи.
- Дай ей постоять несколько часов. Боты придут сами, ждать почти не придётся.
- (По желанию) подключи визуализацию. Я сливал логи в связку для графиков и карт — все красивые скриншоты в этой статье именно оттуда. Можно обойтись и без неё, читая логи напрямую, но с картинками нагляднее.
Только помни про оговорку из начала статьи: ловушка должна стоять на твоём собственном сервере и только наблюдать. Это и есть граница между «исследую безопасность» и «сам нарушаю».
Вместо эпилога
Затевал я это скорее из любопытства — а вышел с собственным маленьким расследованием, которое привело к ботнету, живущему дольше, чем некоторые мои подписки. Ловушка, кстати, всё ещё работает и продолжает собирать — так что, возможно, у этой истории будет продолжение.
А вот что ловушка показала нагляднее любого учебника: за «взломами» в массе своей стоят не люди в худи, а бесконечный конвейер автоматики — скрипты, которые круглосуточно долбят все подряд адреса паролем
123456, даже не глядя, кто на той стороне. И раз противник настолько механический, защита от него до обидного простая: ключи вместо пароля, запрет на вход под root, никаких password — и ты уже не по зубам 99% этого потока.А ловушку поднять стоит хотя бы раз. Чтобы увидеть всё это самому.
Источники
Принадлежность к ботнету Outlaw установлена сопоставлением индикаторов компрометации (SHA256, ключ с подписью mdrfckr, цепочка команд) с публичными отчётами:
- Kaspersky Securelist — «Outlaw cybergang attacking targets worldwide» (29 апреля 2025) — Outlaw botnet detected in an incident contained by Kaspersky. Разбор ботнета Outlaw (в отчёте — «Dota»):
mdrfckr-ключ и схема установки бэкдора черезauthorized_keys. - SANS ISC — «DShield Honeypot Activity for May 2023» (11 июня 2023) — https://isc.sans.edu/diary/29932. Тот же самый
mdrfckr-ключ в honeypot-логах и привязка к Outlaw (группу впервые описала Trend Micro в 2018). - SANS ISC — «New Malware Libraries means New Signatures» (15 мая 2026) — https://isc.sans.edu/diary/32986. Тот самый SHA256
a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2, зафиксированный на 24 IP-адресах с 14 по 21 апреля 2026; в заметке он прямо назван «одним из самых частых артефактов Outlaw / Shellbot».