Використання Nepenthes Honeypots для виявлення зловмисного ПЗ, Безпека ПЗ, Security & Hack, статті







За останні кілька років в Windows було виявлено безліч серйозних вразливостей, включаючи MS03-026 [1] – вразливість, з допомогою якої у 2003 році поширювався Blaster [2], а також недавня уразливість MS06-040 [3], виявлена ​​в серпні 2006 року, яка використовувалася в черв’яка Mocbot / Wargbot [4]. У той же час швидко зросла кількість зловмисних програм, що використовують ці уразливості. До їх числа слід віднести різні варіанти відомих черв’яків, а також програми для організації ботнетів, такі як Agobot, Phatbot, Sdbot і т. д. Як відомо, боти це безліч компрометированной комп’ютерів “Зомбі”, Об’єднаних в мережу – ботнет, і використовуються в незаконних цілях.

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 та інші співавтори відзначають наступне:

“Протягом чотирьох місяців ми зібрали більше 15 500 унікальних бінарних файлів, сумарний розмір яких дорівнює приблизно 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.
Сервери IBM eServer pSeries

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*