захоплення чужих ботнетів
кріс касперски ака мищ’х

натхнені руйнівною силою вірусних епідемій, хакери почали оснащувати своїх черв’яків механізмами віддаленого управління, перетворивши їх у покірний інструмент з практично необмеженими можливостями застосування. армада черв’яків буде підкорятися будь-кому, хто зможе підпорядкувати її собі, а підпорядкувати її простіше простого

введення

Термін бот (bot) стався від IRC, де він означав спеціального робота, що висить на каналі і автоматично роздає варез всім бажаючим. У чому переваги такого підходу в порівнянні з тим же FTP наприклад? Підняти FTP-сервер не проблема, але як донести його адресу до народу? А для підключення до боту досить з’єднається з IRC-сервера і зайти на відповідний канал. Керувати ботами через IRC насправді дуже зручно. Замість того, щоб пихкати над системою віддаленого управління, можна використовувати вже готові компоненти і IRC-сервера. Не дивно, що творці черв’яків взяли цю техніку на озброєння.
Проникнувши на атакуемую машину, хробак встановлює на ній бота, і цей бот через певні проміжки часу (або при кожному виході в мережу) стукає на один або кілька IRC-серверів і терпляче чекає розпоряджень з боку атакуючого, часто званого Майстром або Магом. Машина з встановленим ботом називається зомбі (zombie) або дроном (drone). Армія дронов, керована Майстром, утворює ботнет (botnet мережа ботів). Деякі з таких мереж, що містять сотні тисяч вузлів і являють собою досить потужну зброю, здатне задавити когось одного. Нехай кожна дрон має 33 Кбитный канал (дрона зазвичай стають домашні комп’ютери, за «здоров’ям» яких ніхто не стежить), тоді ефективна пропускна здатність стотисячного поголів’я дронов досягає 3 Гбіт/с, що цілком досить, щоб перевантажити будь-корпоративний сервер, більшість з яких висять на T1, а T1 це всього лише 1.5 Мбіт/с.
Зазвичай ботнети організовуються для розсилки спаму, накрутки банерів, викрадення номерів кредитних карт і інших подібних цілей. Створити свою власну армію дронов може далеко не кожен, і виникає природне спокуса захопити вже розкручену мережу або якщо не захопити, то хоча б скористатися її послугами. Природно, це протизаконно і взагалі маст дай, тому ми будемо діяти строго дослідний цілей, у всьому дотримуючись КК.

що нам знадобиться

Для захоплення чужих ботнетів нам буде потрібно постійне з’єднання з Інтернетом (наприклад, DSL), але на худий кінець зійде і unlimited dial-up. Ще нам знадобитися непатченная W2K, що грає роль приманки. Більшість черв’яків атакують саме її. Щоб самому не стати жертвою атаки, приманку слід розташувати або на окремій машині, або на віртуальному хості, що працює під управлінням VM Ware.
Спостереження за діяльністю атакуючих і грабіж проходить повз трафіку візьме на себе будь-яка система виявлення вторгнень, ну або на худий кінець персональний брандмауер типу SyGate Personal Firewall 4.х. Для некомерційного застосування він безкоштовний. Більш пізні версії не дозволяють грабувати вміст пакетів без реєстрації, і для наших цілей вже не підходять. Ще потрібно антивірусний сканер, націлений на пошук AdWare. Я рекомендую Microsoft AntiSpyware, бету-версію якого поширюється на вільній основі. Не треба плюватися. Так, Microsoft! Так, гальмує як бегемот і веде себе як слон в посудній лавці, але інші працюють ще гірше!
Дослідження нутрощів хробака не обходиться без відладчика і дизассемблера, в ролі яких зазвичай виступають Soft-Ice і IDA PRO. Це комерційні продукти, але їх легко знайти в Ослі, Sharez’е, IRC або на будь-якому хакерському диску.
Управління ботнетом зазвичай здійснюється через IRC, а, значить, ми повинні обзавестися ISSR або іншим клієнтом, що розповсюджується у вихідних текстах і піддаються доопрацювання. Популярний mIRC до таких не належить і йде лісом, тобто на хрін. Ще нам потрібно багатий досвід роботи з IRC, без якого в ботнет краще не потикатися.

як ми будемо діяти
Встановлюємо на комп’ютер VM Ware, якщо тільки не зробили цього раніше, встановлюємо латку Кістки Кортчинского (див. врізку «дообробки VMWARE»), створюємо нову віртуальну машину (File->New Virtual Machine), і відкриваємо їй доступ в Інтернет. Це можна зробити або через Bridge (Міст), або через NAT (Network Address Translation, Трансляція Мережевих Адрес). У разі мосту віртуальна машина просто підключається до локальної мережі як звичайний Ethernet-вузол, що має свій IP і з точки зору атакуючого нічим не відрізняється від всіх інших вузлів мережі. Природно, віртуальний IP повинен бути попередньо викуплений у провайдера, інакше в нас нічого не вийде. Провайдери досить неохоче роздають IP-адреси, тому установка NAT набагато краще. У цьому випадку, зовні стирчить лише ваш власний IP-адреса (неважливо динамічний або ні), а всі вступники на нього перенаправляються запити на віртуальний вузол і атакуючий навіть не підозрює з ким він реально має справу.
Втім, всі порти транслювати зовсім необов’язково і можна обмежитися лише чотирма з них: 135/TCP (RPC), 139/TCP (NetBIOS Session Service), 445/TCP (Microsoft-DS) і 137/UDP (NetBIOS Name Service). Більшість черв’яків ломляться саме сюди. Щоб задіяти NAT в настоянках віртуальної машини вибираємо: VM->Настройка->NIC->NAT:Used to share the host’s IP address. Потім входимо в Edit ? Virtual Network Setting ? NAT ? Edit ? Port Forwarding, натискаємо «Add» і поле «Host port» вводимо порт, який ми ходимо транслювати, наприклад, «135». У графі «Forwarded IP Address» вказується IP-адреса віртуального адаптера і цільової порт, що збігається з транслюванням портом.
Ще необхідно протранслювати порти, використовувані ботнетами для віддаленого управління, інакше Майстер просто не зможе дотягнеться до дрона. Ці порти не стандартизовані і у кожного ботнету вони свої. Найчастіше використовуються: 6667 (IRC), 903 (NetDevil Virus), 2745 (Bagle Virus), 3127 (MyDoom Virus), 6129 (Dameware Remote Admin) і деякі інші.
Встановлюємо на віртуальну машину невинно-чисту W2K, водружаем поверх неї SyGate Personal Firewall, наказуючи йому грабувати весь трафік (Tools ? Options ? Log ? Capture Full Packet, Maximum log file size is 1.048.576 KB конкретний розмір лода вибирається на смак. Тут діє принцип краще перебрати, ніж недобрати, інакше критично важливі пакети будуть безповоротно загублені). Щоб брандмауер не набридав постійними запитами, в меню Security вибираємо «Allow All», що означає «дозволено все». Потім встановлюємо Microsoft AntiSpyware і дезактивуємо Захист Реального Часу (Options ? Setting ? Real-Time Protection). Нам він буде потрібен тільки як сканер. Протидія черв’якам не входить в наші плани.
От і все. Відкриваємо пиво, входимо в Інтернет і терпляче чекаємо, коли якийсь черв’як не заповзе на наш комп’ютер. Довго чекати не доведеться. Кожен день на мій комп’ютер залазить щонайменше пара-трійка черв’яків, багато з яких є ботами. Відомі черв’яки розпізнаються сканером, невідомі виявляються переглядом логів брандмауера (природно, потрібно знати основи TCP/IP щоб їх дешифрувати).

як побороти хробака
Переглядаючи трафік, награбований брандмауером (Logs ? Traffic/Packet Logs), шукаємо з’єднання, встановлені з IRC-сервера за замовчуванням розташованому на 6667 порту. Серед іншої мури в них повинні знаходиться рядка PASS, NICK, USER і JOIN, за допомогою яких хробак підключається до «свого» каналу. Приблизно це виглядає так:

PASS drone_pass
-> NICK [urX]-3011331
-> USER drone 0 0 :drone
PONG :ED322722
>> врізка: найпопулярніший ботнет
Перше місце за популярністю займає Agobot, що налічує понад п’ятисот (!) своїх модифікацій. Це досить просунутий черв’як, написаний на приплюснутом Сі з чітко вираженою модульною структурою, що значно спрощує нарощування функціональності хробака. Agobot використовує крос-платформену бібліотеку libpcap для перехоплення трафіку і PCRE (Perl Compatible Regular Expressions Perl-Сумісні Регулярні Вирази) для обробки перехопленого контенту (наприклад, пошуку паролів, номером кредиток і т. д.).
Всередині хробака виявляється цілий «букет» антіотладочних прийомів. Agobot розпізнає більшість налагоджувачів (SoftICE, OllyDbg) і віртуальних машин VMWare Virtual PC) відмовляючись працювати в їх присутності. Крім того, він може ховатися в NTFS-потоках, приховуючи факт своєї присутності від багатьох примітивних ревізорів.
Agobot був написаний конкретним німецьким хлопчиком по кличці Ago, так само відомого під ім’ям Wonk, заарештованим в травні 2004 року за «комп’ютерні злочини». Так хакерское спільнота втратила одного з найталановитіших своїх представників. Зараз він сидить в тюрмі, а його творіння гуляє на свободі, распространясь у вихідних текстах за ліцензією GPL (звідси і величезна кількість модифікацій).

>>> доопрацювання VMWARE
Відомо щонайменше три шляхи виявлення VMWARE. По-перше, по устаткуванню. Віртуальні машини несуть на своєму борту досить специфічний набір заліза, практично не зустрічається в «живій природі»: а) відеокарта VMware Inc [VMware SVGA II] PCI Display Adapter; б) мережева карта: Advanced Micro Devices [AMD] 79c970 [PCnet 32 LANCE] (rev 10); в) жорсткі диски: VMware Virtual IDE Hard Drive і VMware SCSI Controller. Опитавши конфігурацію устаткування, черв’як відразу зрозуміє де він.
По-друге, віртуальні мережеві карти мають доволі передбачуваний діапазон MAC-адрес, а саме: 00-05-69-xx-xx-xx, 00-0C-29-xx-xx-xx і 00-50-56-xx-xx-xx. Черв’як достатньо виконати команду «arp -a», щоб розпізнати наш план.
По-третє, VMWARE має підступний backdoor, залишений розробниками для службових цілей і керований через порт 5658h, при цьому в регістрі EAX повинно містяться «магічне» число 564D5868h. Нижче наведено фрагмент коду хробака Agobot, визначає версію VMWARE:

mov eax, 564D5868h; VMWARE_MAGIC
mov ecx, 0Ah; Get VMware version
mov edx, 5658h; VMWARE_PORT
in eax, dx
Лістинг 2 визначення версії VM Ware
Для маскування віртуальної машини, Кісток Кортчинским (Kostya Kortchinsky) був написаний спеціальний падч, змінює ідентифікаційні рядка обладнання, MAC-адреси і магічний номер backdoor’а.
>>> врізка: де брати IP-адреси в P2P мережах
Сліпе сканування IP-адрес яким займалося перше покоління черв’яків зараз вже непопулярно. Це дуже помітно і катастрофічно непродуктивно. Ось тому деякі черв’яки вважають за краще черпати IP-адреси з файлообмінних мереж (наприклад, eDonkey). Досить встановити P2P клієнта, викласти декілька файлів з привабливими назвами («гола анжеліка монс», наприклад) і юзери потягнуться за ними з усіх куточків мережі. Скільки з них буде дірявими можна навіть не говорити! Тому, перш ніж качати порно з Осла обов’язково сходіть на Windows Update і встановіть всі заплатки, які тільки там є.
>>> врізка: корисні посилання
? www.honeynet.org:
o офіційний сайт некомерційної дослідної групи The Honeynet Project, спеціалізуючись на черв’яках. Це найкращий джерело інформації ботнетам на сьогоднішній день!
? Know your Enemy:
o офф-лайновий архів статей по внутрішньому устрою черв’яків і ботнетів з купою технічних подробицях, цікавих будь хакеру (англійською мовою): www.honeynet.org/misc/files/papers.tar.gz;
? vmpatch:
o латка для VMWARE, приховує її присутність від очей хробака, без цього Agobot і багато інших ботнети просто не будуть працювати! honeynet.rstack.org/tools/vmpatch.c;
? IRSSI:
o безкоштовний консольний IRC-клієнт, поширюваний у вихідних текстах: irssi.org/;
>>> врізка: де знайти вихідні тексти Agobot’a?

висновок
Що можна зробити із захопленим ботнетом? Найблагородніше віддати дронам команду на самознищення, якщо, звичайно, нам не шкода розлучатися з владою і багатством. Ботнет це витривала конячка, готова поширювати варез, видеоклимы, mp3 і т. д. Ботнети, що налічують десятки і сотні тисяч машин, здорово допомагають при розтині паролів методом тупого перебору. Дрони, забезпечені мікрофоном, стільниковим телефоном або на худий кінець звичайним модемом, можна перетворити в підслуховуючі пристрій (про web-камери ми взагалі промовчимо).
Маса ідей з управління дрона міститься в новелі Джона Варлі «Press Enter», якраз і описує такий ботнет. Правда, кінець, оповідання трачен, так що перш ніж класти лапи на клавіатуру, давайте задумається про те, до чого все це призведе.