Хакер использовал Tailscale для сохранения доступа после отключения C2
⚠️ Хакер использовал Tailscale для сохранения доступа после отключения C2
Французский оператор с ником Poisson 33 дня хозяйничал в сети небольшого авторемонтного бизнеса: кейлоггер, кража банковских и почтовых паролей, 339 выполненных команд. Всё на бесплатном стеке — DuckDNS, Backblaze B2, дешёвый VPS в Берлине и Havoc C2. Но настоящий урок не в том, что он скомпрометировал четыре машины кривыми методами вроде UAC-промпта, который требует от пользователя кликнуть «Да». Урок в том, что́ он сделал накануне отключения своего C2.
7 апреля, за сутки до падения Havoc-инфраструктуры, Poisson установил на одной из машин OpenSSH Server и Tailscale, ввёл её в свою частную mesh-сеть, настроил ключевую SSH-аутентификацию и обратный туннель. Маршрут доступа перестал зависеть от C2. Когда сервер командования лёг, его агенты замолчали, но SSH-канал остался — он жил на отдельном сетевом уровне. 18 дней спустя C2 вернулся, агенты переподключились автоматически, и Poisson продолжил работу без малейших признаков повторной компрометации.
Финал пятидневной сессии 26–1 мая: ещё 145 команд, разведка смарт-карт и сертификатов (вероятно, целился на логины без пароля), запуск двух неизвестных бинарников из Thales.zip общей длительностью 32 минуты — и тишина. Данные не вывез централизованно: Python-кейлоггер просто писал нажатия в локальный файл, а оператор забирал их вручную. Ни Mimikatz, ни боковое движение, ни шифровальщик — только то, что владелец малого бизнеса вводит с клавиатуры.
По данным The Hacker News, Poisson — не APT, а джуниор, который подключался после 15:00 CET с длинным дневным перерывом, слил свою домашнюю директорию пять раз и называл бакеты в честь собственного ника. Но именно такие операторы переигрывают типовые IR-процессы: отключить C2, вычистить по списку IoC и закрыть инцидент. Доступ через легитимные подписанные бинарники (Tailscale, OpenSSH, RustDesk) в отчёт не попадает.
→ Мониторьте установку OpenSSH Server на Windows-станциях — в нормальной среде это почти никогда не легитимно
→ Ищите tailscale.exe на хостах, которым VPN-клиент не нужен
→ Отслеживайте обратные SSH-туннели: ssh -R на внешние адреса
→ Контролируйте изменения standby-timeout через powercfg — машина, которой запретили засыпать, вероятно, работает на кого-то ещё
Главный пробел IR-процессов — не в поиске C2, а в том, что второй канал доступа редко ищут до того, как C2 погаснет. Poisson оставил ключ, который пережил отключение просто потому, что Tailscale — легитимный инструмент, и SOC не обучен считать его индикатором компрометации. Вы проверяли, не висит ли кто-то в вашей сети через mesh-VPN прямо сейчас?
#Tailscale #OpenSSH #IncidentResponse #ThreatHunting #HavocC2