06.05.2007

»спользование Nepenthes Honeypots дл€ обнаружени€ злонамеренного ѕќ

image

¬ этой статье описываетс€ как Nepenthes [6], пассивный honeypot, может использоватьс€ дл€ быстрого уведомлени€ администратора о злонамеренном проникновении в сеть. ƒанна€ утилита коллекционирует злонамеренное ѕќ и может помочь в обнаружении и удалении инфекции.

Jamie Riden
перевод: ¬ладимир  уксенок

¬ведение

«а последние несколько лет в Windows было обнаружено множество серьезных у€звимостей, включа€ MS03-026 [1] - у€звимость, с помощью которой в 2003 году распростран€лс€ Blaster [2], а также недавн€€ у€звимость MS06-040 [3], обнаруженна€ в августе 2006 года, котора€ использовалась в черве Mocbot/Wargbot [4]. ¬ то же врем€ быстро возросло количество злонамеренных программ, использующих эти у€звимости.   их числу следует отнести различные варианты известных червей, а также программы дл€ организации ботнетов, такие как Agobot, Phatbot, Sdbot и т. д.  ак известно, боты это множество компрометированных компьютеров “зомби”, объеденных в сеть - ботнет, и используемых в незаконных цел€х.

¬ статье "The Nepenthes Platform: An Efficient Approach to Collect Malware" [5] Baecher и другие соавторы отмечают следующее:

“¬ течение четырех мес€цев мы собрали более 15500 уникальных бинарных файлов, суммарный размер которых равен приблизительно 1400 ћЅ. ”никальность в данном контексте подразумевает различные MD5 хэши собранных файлов.”

¬ упом€нутой статье приводитс€ процент идентифицированных перехваченных злонамеренных программ четырьм€ антивирусами, который принимает значение между 73% и 84%. ясно, что в таких услови€х не каждый может полностью положитьс€ на антивирусное ѕќ.

¬ этой статье описываетс€ как Nepenthes [6], пассивный honeypot, может использоватьс€ дл€ быстрого уведомлени€ администратора о злонамеренном проникновении в сеть. ƒанна€ утилита коллекционирует злонамеренное ѕќ и может помочь в обнаружении и удалении инфекции.

ѕредупреждени€ IDS, полезные дл€ обнаружени€ червей, основанных на сканировании

Ќекоторые из наиболее разрушительных червей последних лет были основаны на у€звимост€х в службах Windows. ¬ качестве примера можно привести Blaster, Sasser, Welchia и Slammer, результатом действий которых было простаивание и потер€ производительности компаний по всему миру.

’очетс€ наде€тьс€, что —истема обнаружени€ вторжений (Intrusion Detection System - IDS) читател€ этой статьи имеет сигнатуры известных червей, таких как вышеупом€нутые, а также позвол€ет опознавать факт сканировани€ портов дл€ обнаружени€ новых червей. ¬ случае с червем Blaster, каждый зараженный хост должен был бы каждую секунду отправл€ть на 135 TCP порт около 10 пакетов, что не ускользнуло бы от внимани€ Snort [7] и позволило бы обнаружить проблему еще до по€влени€ официальной сигнатуры черв€.

—ложности в обнаружении ботов

√лавное различие между ботом и червем в том, что бот имеет некоторый централизованный канал управлени€ зараженным компьютером, часто реализуемый через IRC. Ѕоты могут в чем-то повтор€ть поведение черв€, однако обычно они контролируютс€ через IRC и все действи€, такие как сканирование и осуществление атаки, начинают по команде. ¬ данном случае IDS проанализировала бы C&C трафик (аббревиатура C&C расшифровываетс€ как Command and Control -- примечание) и сгенерировала сообщение об успешной атаке: :[SCAN]: Exploited yyy.yyy.123.45.

¬ообще бот часто ведет себ€ довольно тихо, до тех пор пока не получит команду просканировать заданную сеть:

#(4 - 1329104) [2005-03-25 03:39:49.297] [snort/2001372]  
BLEEDING-EDGE IRC Trojan Reporting (Scan)
IPv4: yyy.yyy.231.32 -> zzz.zzz.163.59
hlen=5 TOS=0 dlen=168 ID=18140 flags=0 offset=0 TTL=127 chksum=56572
TCP: port=3023 -> dport: 8000 flags=***AP*** seq=1483308911
ack=501861482 off=5 res=0 win=64331 urp=0 chksum=51363

Payload: length = 128
000 : 50 52 49 56 4D 53 47 20 23 61 73 74 72 6F 20 3A PRIVMSG #astro :
010 : 5B 53 43 41 4E 5D 3A 20 52 61 6E 64 6F 6D 20 50 [SCAN]: Random P
020 : 6F 72 74 20 53 63 61 6E 20 73 74 61 72 74 65 64 ort Scan started
030 : 20 6F 6E 20 yy yy yy 2E yy yy yy 2E 78 2E 78 3A on yyy.yyy.x.x:
040 : 34 34 35 20 77 69 74 68 20 61 20 64 65 6C 61 79 445 with a delay
050 : 20 6F 66 20 35 20 73 65 63 6F 6E 64 73 20 66 6F of 5 seconds fo
060 : 72 20 30 20 6D 69 6E 75 74 65 73 20 75 73 69 6E r 0 minutes usin
070 : 67 20 32 30 30 20 74 68 72 65 61 64 73 2E 0D 0A g 200 threads...

ƒругой бот, обнаруженный человеком по имени Daniel Cid [8], использует Google дл€ поиска потенциально у€звимых инсталл€ций Mambo, что означает, что дл€ поиска новых целей нет необходимости производить сканирование портов. ѕоэтому администратор не может полагатьс€ исключительно на наличие фактов сканировани€ портов при обнаружении ботов. ќтчеты, сделанные оп€ть же через IRC, будут выгл€деть примерно следующим образом:

"PRIVMSG #ch :[GOOGLE] Trying to exploit http://www.example.com/index.php"

Ѕотов обнаруживать сложнее, чем червей, по том причине, что они могут длительное врем€ бездействовать и начать вызывать подозрени€ у IDS только при получении команды на начало атаки других компьютеров.

»спользование honeypots дл€ обнаружени€ ботов

¬ случае большинства червей и ботов, основна€ часть их трафика будет направлена во внешнюю сеть. ¬ этих случа€х вы можете выделить некоторые закономерности крупномасштабного сканировани€ в логах IDS. ќднако не исключено что придет врем€, когда бот начнет сканирование внутренней сети с целью поиска у€звимых систем, пригодных дл€ заражени€.

ƒл€ решени€ поставленных задач мы будем использовать Nepenthes honeypot [6], названный так в честь вида плото€дных растений [9]. Ѕолее подробна€ информаци€ может быть найдена в статье RAID ’06 [5]. Nepenthes запускаетс€ на UNIX сервере и эмулирует основные службы Windows с целью обнаружени€ автоматизированных атак. Nepenthes пытаетс€ загрузить злонамеренный код и имеет опциональную возможность автоматический отправки его в Norman sandbox [10]. ќтчет о характеристиках злонамеренного кода вы получите на ваш e-mail адрес. ≈сли вы запустите Nepenthes на публично доступной машине, вы быстро поймете какое большое число злонамеренного ѕќ функционирует в сети. Ѕольшинство из этих программ это различные варианты нескольких основных семейств ботов: SpyBot, Agobot и других.  акое-то число из них может не обнаруживатьс€ антивирусом. ƒл€ большинства людей это не представл€ет интереса, однако имеет смысл запустить Nepenthes внутри вашей организации дл€ обнаружени€ червей, живущих внутри корпоративной сети.

”становка и настройка Nepenthes

„итатели, использующие Debian Linux, могут найти собранный пакет в репозитории unstable и просто выполнить команду apt-get install nepenthes. ѕользователи других систем должны прочитать документацию [11], в которой детально описан процесс сборки пакета. ≈сли у вас нет желани€ собирать пакет самосто€тельно, вы можете скачать образы Debian дл€ запуска в VMware [12], которые потребуют выполнить минимальную работу дл€ установки Nepenthes. (ѕожалуйста, если вы решите загрузить образ с этого сайта, постараетс€ использовать ссылки BitTorrent, если это возможно).

ѕосле установки Nepenthes следует отредактировать файл /etc/nepenthes/nepenthes.conf и раскомментировать строку "submitnorman.so", "submit-norman.conf", "" дл€ использовани€ Norman sandbox. ‘айл submit-norman.conf должен выгл€деть примерно следующим образом:

submit-norman
{
// адрес, на который будет отправлен отчет norman sandbox
email "my.email@example.com";
};

Ёто включит автоматическую отправку перехваченного кода на онлайновый Norman sandbox, который выполнит анализ полученного кода и отправит копию отчета о результатах на ваш e-mail. Ёто даст вам информацию о злонамеренном коде без необходимости его запуска и трассировки или осуществлени€ его дизассемблировани€ и анализа.

 огда вы настроите и запустите Nepenthes, это приложение должно начать прослушивать большое количество часто используемых TCP/IP портов, как показано ниже:

#lsof -i
nepenthes 25917 nepenthes 6u IPv4 162588 TCP *:smtp (LISTEN)
nepenthes 25917 nepenthes 7u IPv4 162589 TCP *:pop3 (LISTEN)
nepenthes 25917 nepenthes 8u IPv4 162590 TCP *:imap2 (LISTEN)
nepenthes 25917 nepenthes 9u IPv4 162591 TCP *:imap3 (LISTEN)
nepenthes 25917 nepenthes 10u IPv4 162592 TCP *:ssmtp (LISTEN)
...

»спользование Nepenthes

ѕри попытке заражени€ сенсора Nepenthes, утилита пытаетс€ получить копию злонамеренного кода и отправить ее на Norman sandbox. Ќиже приведена часть отчета о IRC боте:

[ Network services ]
* Looks for an Internet connection.
* Connects to xxx.example.net on port 7654 (TCP).
* Sends data stream (24 bytes) to remote address xxx.example.net, port 7654.
* Connects to IRC Server.
* IRC: Uses nickname xxx.
* IRC: Uses username xxx.
* IRC: Joins channel #xxx with password xxx.
* IRC: Sets the usermode for user xxx to ...

 ак видите, это гораздо проще, чем самосто€тельное дизассемблирование и анализ кода. Ќекоторые злонамеренные программы, такие как Agobot, имеют встроенные анти-отладочные средства, которые преп€тствует анализу их кода sandbox-ом. ¬ таких случа€х вы можете попробовать воспользоватьс€ антивирусом или, если он ничего не обнаружит, попробовать отослать бинарный файл на Virus Total [13], который предоставит вам отчеты о проверке этого файла более двадцати различными антивирусами.

ѕолученные бинарные файлы имеют им€, состо€щее из их MD5 хэша, и в дистрибутиве Debian наход€тс€ в директории /var/lib/nepenthes/binaries:

# ls /var/lib/nepenthes/binaries/
01a7b93e750ac9bb04c24c739b09c0b0 547765f9f26e62f5dfd785038bb4ec0b
99b5a3628fa33b8b4011785d0385766b 055690bcb9135a2086290130ae8627dc
54b27c050763667c2b476a1312bb49ea ...

Ћог файлы также содержат информацию, откуда был получен данный бинарный файл:

# tail -1 /var/log/nepenthes/logged_submissions
[2006-07-05 20:37:52]
ftp://ftp:password@xxx.info:21/host.exe eb6f41b9b17158fa1b765aa9cb3f36a0

≈сли ваш антивирус на данный момент не видит угрозы в полученном файле, вам следует отправить этот файл разработчикам антивируса, которые могут достаточно быстро обновить базу сигнатур. Ёто позволит вам упростить работу по очистке системы и предотвратить эпидемию.

–езультаты использовани€ Nepenthes

Ќовозеландский проект Honeynet установил Nepenthes версии 0.17 на Debian unstable. ƒанна€ машина прослушивала 255 IP адресов (префикс сети - /24). ¬ течение п€ти дней было собрано 78 различных образцов кода. Ќа момент окончани€ этих п€ти дней только 48 из них были идентифицированы антивирусными продуктами как злонамеренный код. »з идентифицированных образцов некоторые были черв€ми Korgo, Doomjuice, Sasser и Mytob. ќстальные были IRC ботами того или иного типа, подобного SDBot, Spybot, Mybot и Gobot. Ѕольшинство бинарных файлов были классифицированы как черви или боты, имеющие возможности обратной св€зи и управлени€. ƒальнейший анализ этих образцов может быть выполнен читателем самосто€тельно.

«аключение

ƒл€ Windows были выпущено большое количество патчей, устран€ющих отдельные у€звимости. ƒаже с хорошей системой управлени€ патчами некоторые из ваших хостов могут остатьс€ непропатченными из-за неверного конфигурировани€ или человеческого фактора. Ѕольшое количество различного злонамеренного ѕќ может быть использовано дл€ атаки на систему с незакрытыми у€звимост€ми. “ак как исходные коды некоторых злонамеренных программ часто доступны опытным атакующим, может существовать большое количество разновидностей одного злонамеренного кода, не обнаруживаемых антивирусами.

ѕассивные honeypot-ы подобные Nepenthes легки в установке и требуют минимальной поддержки. ќни могут предоставить полезную информацию при инфицировании компьютеров вашей организации. ѕри использовании таких средств совместно с —истемой обнаружени€ вторжений, может быть получена ценна€ информаци€ о поведении злонамеренной программы, перехваченные пакеты и сам бинарный код программы.

—сылки

[1] Microsoft Security Bulletin MS03-026, "Buffer Overrun in RPC Interface Could Allow Code Execution."
[2] ќписание черв€ Blaster, www.symantec.com/security_response/writeup.jsp?docid=2003-081113-0229-99.
[3] Microsoft Security Bulletin MS06-040, "Vulnerability in Server Service Could Allow Remote Code Execution."
[4] ќписание черв€ Mocbot/Wargbot, www.symantec.com/security_response/writeup.jsp?docid=2006-081312-3302-99.
[5] RAID '06 paper, "The Nepenthes Platform: An Efficient Approach to Collect Malware" by Baecher et al, honeyblog.org/junkyard/paper/collecting-malware-final.pdf.
[6] ƒомашн€€ страница Nepenthes, nepenthes.mwcollect.org.
[7] ƒомашн€€ страница IDS с открытым исходным кодом - Snort, www.snort.org.
[8] —ообщение Daniel Cid о сканировании Mambo в рассылку инцидентов Securityfocus, securityfocus.com/archive/75/433959/30/0/threaded.
[9] en.wikipedia.org/wiki/Nepenthes.
[10] Norman sandbox, получающий и анализирующий злонамеренный код, sandbox.norman.no.
[11] ƒокументаци€ Nepenthes, nepenthes.mwcollect.org/documentation.
[12] ќбразы Debian дл€ запуска в VMWare, www.thoughtpolice.co.uk/vmware.
[13] Virus Total, бесплатный сервис дл€ сканировани€ бинарных файлов различными антивирусами, www.virustotal.com.
или введите им€

CAPTCHA
1
07-05-2007 10:22:41
Ёто всЄ интересно, но в корпоративной сети пользователи хватают тро€нов ход€ по ссылкам из спам писем. ј така€ система, ловушка, подобна ловушкам от тараканов, поймает только тех, кто в неЄ залезет, т.е. единицы.
0 |