Короткая версия истории звучит просто: компания купила партию компактных мини-ПК, а вместе с ними — канал утечки данных, вшитый производителем на заводе. Но за этой простотой стоит конкретный технический механизм, который стоит разобрать по шагам — потому что похожая история может повториться с любым брендом, чья репутация ещё не проверена временем.
Сюжет: аудит после перехода на удалённый 1С
Собственник производственной компании обратился не по тревоге, а по регламенту: незадолго до этого в компании развернули новую версию 1С с доступом из дома для части сотрудников, и он хотел убедиться, что периметр не расширился в опасную сторону вместе с новыми точками входа. Параллельно офис обновил парк техники — пятнадцать компактных мини-компьютеров китайского бренда, купленных через посредника. По документам всё выглядело штатно: гарантия, коробки, комплектные диски и драйверы.
Что показал ночной трафик
Аудит начался с классики — анализа исходящего трафика в часы, когда офис точно не работает. Пять машин из пятнадцати новых мини-ПК каждую ночь около трёх часов пытались установить соединение с одним и тем же внешним IP-адресом. Характер обращений — не разовый пинг, а регулярный «heartbeat», типичный для командных серверов ботнетов и RAT-инструментов: заражённая машина периодически «отмечается» перед C2 (command & control), чтобы оператор знал, какие узлы на связи и готовы принимать команды.
tcpdump -i eth0 -nn -tttt 'tcp port 443' -w night_traffic.pcap
# после захвата — анализ по времени и хостам:
tshark -r night_traffic.pcap -Y "ip.dst==203.0.113.44" -T fields -e frame.time -e ip.src -e tcp.dstport
Именно регулярность и синхронность (одни и те же пять машин, одно и то же окно времени, один и тот же адрес) сразу отличают заводскую закладку от случайного шума в сети — обычная рабочая станция ночью просто молчит.
Технический портрет находки: бэкдор в инсталляторе драйвера
Дальнейшее расследование увело от «программного мусора» к конкретному файлу — инсталлятору драйвера сетевой карты, который шёл в комплекте с мини-ПК. По данным открытых источников о похожем инциденте (Geekom, модели A7/A8/AE7/AE8/AX7 Pro/AX8 Pro), в setup-пакет LAN-драйвера был вшит бэкдор семейства Asruex — известный с середины 2010-х инструмент удалённого доступа, ранее засветившийся в атаках через вредоносные LNK-файлы и эксплойты для документов Office (CVE-2012-0158, CVE-2017-11882). Более поздние модификации Asruex умеют работать как инфектор — дописывать свой код в уже существующие PE-файлы и APK, из-за чего простое «удаление одного вредоносного exe» не гарантирует очистку системы.
Функционально такой бэкдор закрывает три задачи для атакующего:
- обеспечивает устойчивое присутствие на машине (persistence) через задачи планировщика или ключи автозапуска;
- периодически связывается с C2-сервером по HTTP/HTTPS, получая команды и выгружая файлы;
- умеет делать снимки экрана, красть документы из указанных директорий и разворачивать дополнительные модули по команде оператора.
Проверка бинарника инсталлятора через статический анализ подтверждает подозрения быстро:
sigcheck64.exe -a -h C:\Drivers\LAN\setup.exe
strings -a setup.exe | grep -iE "http://|https://|\.php|User-Agent"
Типичный результат — отсутствие валидной цифровой подписи производителя чипа, наличие захардкоженного URL или IP в теле инсталлятора и характерный User-Agent, не соответствующий легитимному загрузчику драйвера. Проверка хеша файла через VirusTotal при наличии интернета на изолированном стенде также моментально подсвечивает детект по нескольким движкам:
curl --request GET \
--url 'https://www.virustotal.com/api/v3/files/<SHA256>' \
--header 'x-apikey: <API_KEY>'
Как это эксплуатируется — по шагам
С точки зрения атакующего вся цепочка выстроена так, чтобы не требовать никакого взаимодействия с жертвой — заражение происходит на этапе производства или сборки партии техники, а не в момент открытия письма или клика по ссылке.
- Закладка на заводе. В официальный инсталлятор драйвера сетевой карты добавляется дроппер, который распаковывает и запускает основной модуль бэкдора при установке.
- Persistence. Модуль прописывается в автозагрузку — через ключ реестра
Runили задачу планировщика, маскируясь под системный сервис сетевой карты:schtasks /query /tn "RealtekLanSvcUpdate" /v /fo LIST reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" - Проверка связи с C2. Устройство начинает регулярно опрашивать управляющий сервер — именно этот трафик и был замечен в ночном окне. Для оператора это стандартный способ убедиться, что «точка входа» ещё жива, прежде чем отдавать команды.
- Разведка на хосте. При активации модуля бэкдор способен собирать список процессов, установленных программ, сетевых дисков — то есть готовит почву для целевой атаки:
nmap -sV -p 445,3389,1541,80,443 192.168.10.0/24 smbclient -L //192.168.10.15 -N - Эксфильтрация и удалённый доступ. Через тот же канал возможна выгрузка файлов (базы 1С, выгрузки из банк-клиента, вложения почты) и включение функции снимков экрана — то есть оператор фактически подглядывает за рабочим столом сотрудника в реальном времени.
Что и почему сработало бы дальше
Если бы находку не сделали на этапе аудита, у атакующего было бы несколько логичных следующих шагов, каждый из которых на этих же пяти машинах уже был технически доступен:
- Кража учётных данных. Бэкдор с функцией кейлоггера или дампа паролей браузера легко достаёт логины к 1С, почте и банк-клиенту — дальше это уже прямой финансовый ущерб, а не гипотетический риск.
- Латеральное перемещение. Имея доступ к одной машине в сети, оператор через RDP или SMB прощупывает соседние узлы:
hydra -l admin -P rockyou.txt rdp://192.168.10.20 crackmapexec smb 192.168.10.0/24 -u admin -p 'Passw0rd!' - Развёртывание шифровальщика. Заражённая машина с рабочим доступом к базе 1С и сетевым дискам — идеальная точка старта для шифровальщика: он шифрует не только локальные файлы, но и расшаренные ресурсы, куда достаёт учётка сотрудника.
- Продажа доступа. Даже если сам оператор бэкдора не занимается шифрованием, устойчивый доступ к корпоративной сети — ходовой товар на теневых форумах, где initial access брокеры перепродают его профильным группировкам.
Именно поэтому оценка «полтора-два миллиона рублей» в подобных случаях не преувеличение: она складывается из утечки клиентской базы конкурентам, простоя производства на время восстановления и стоимости форензики уже постфактум — что всегда дороже профилактики.
Как закрыли
Решение было не про «полечить», а про «заменить и изолировать» — потому что заражённый инсталлятор мог модифицировать не только сам себя, но и другие исполняемые файлы на диске, и гарантировать полную очистку без переустановки было бы самонадеянно.
# проверка автозагрузки перед чисткой (Sysinternals)
autorunsc.exe -a * -c > autoruns_before