The Onion Router (или TOR) бот мрежите са сред новите тенденции в областта на информационната сигурност. И както гласи поговорката – новото е добре забравено старо – и този случай не е изключение. TOR мрежите се споменават за пръв преди няколко години по време на конференцията Defcon 18. През последните месеци обаче станахме свидетели на няколко интересни факта, касаещи използването на тази идея в реалния свят, по-специално при бот мрежите. Следим ръста на TOR-базираните бот мрежи от началото на лятото. През юли засекохме, че две различни фамилии вируси използват TOR протокол за скрита комуникация с командните сървъри. Скритият TOR протокол пасва много добре при създаването на канал за скрита комуникация с команден сървър, но за наша (а може би и ваша) радост е бавен що се касае до кражбата на големи масиви информация от заразен компютър. Най-приложимият вариант за използване на TOR протокола за киберпрестъпниците е скриването на комуникационен протокол, чрез който да се осъществява комуникация с команден сървър, получаване на различни ъпдейти или конфигурационна информация или сваляне на допълнителни модули на определена заплаха. Какво всъщност е TOR? The Onion Router е технология, чиято цел е създаването на инфраструктура за гарантиране на (псевдо)анонимност в интернет. Де факто, всеки участник в подобна мрежа е отделно звено, а комуникацията между звената на TOR мрежата се осъществява чрез насочване на през произволни участници в мрежата. Комуникацията между самите звена е криптирана. Да се върнем обаче към разследването ни. През юли засякохме два различни вида TOR-базирани бот мрежи, които залагат на семействата вируси Win32/Atrax и Win32/Agent.PTA. И двете бот мрежи са оборудвани с функционалност за прихващане на форми за идентификация, което е знак за вероятно изпълнявани измамни дейности. Atrax мрежата изгелжда по-интересна, и затова, решихме да ви запознаем по-подробно с нея.
Win32/Atrax.A
Win32/Atrax.A е интересно TOR-базирана семейство, което се инсталира на атакуваната машина посредством семпла програма за сваляне, която продуктите на ESET засичат под името Win32/TrojanDownloader.Tiny.NIR. Декомпилирания код на тази програма за сваляне изглежда така: По-интересната информация обаче е хардкоднатия ддомейн - “kundenservice-paypal.com”, регистриран на 12 юли 2013 г., който видимо се представя за част от клиентското обслужване на лидера в електронните разплащания PayPal. Всички „троянски“ компоненти на файла за сваляне на вируса са компилирани през юли, както показва информацията на самия файл: След свалянето и стартирането на основния файл, следва алгоритъм за декомпресиране, стартиран от три PE модула: TOR клиент, DLL модул за x86 платформа и DLL за x64платформа. За декомпресирането на WinAPI се използва функцията RtlDecompressBuffer(). Кодът за декомпресирането изглежда така: Преди инсталацията, програмата извършва няколко прости проверки, сред които дали машината, на която предстои инсталация, не е виртуална или на нея не тече процес на дебъгване. Идентификацията на бота е MD5 номер, базиран на уникални стойности от системни регистър. Алгоритъмът за инсталация опитва да намери допълнителни AES-криптирани плъгини в директорията %APPDATA% в последния етап на инсталацията. Всички плъгини се преименуват на база следния шаблон: %APPDATA%\CC250462B0857727*. Плъгините се декриптират по времена стартирането на бота, но ключът за декриптиране зависи от инфектираната машина. Този подход превръща извличането на информация за атаката в по-трудно. TOR клиентът е вграден в инсталиращата програма и се съхранява в директорията %APPDATA% като AES-криптиран файл. Инициализацията на TOR връзката започва след проверка за активен браузър и инжектирането на клиентския код в системния процес на активния браузър TOR кода чрез функцията NtSetContextThread(). Win32/Atrax.A поддържа инжектиране на код както за 86, така и за 64-битови процеси. Цялата комуникация между командния сървър и бота се осъществява чрез специална HTTP функция. Прототипът ѝ изглежда така: Ако вторият параметър request_via_tor е факт, цялата комуникация ще бъде инициализирана от TOR клиента. След изпълнението на цялата процедура по свързването, TOR клиентът ще бъде настроен със следните параметри:- AUTHENTICATE – парола за автентификация
- SIGNAL NEWNYM – списък с проксита
Когато бъде псъществена връзка за комадния сървър за първи път, Atrax.A изпраща събраната информация за инфектираната система на адрес в TOR мрежата: А след като се заиграхме с кода, успяхме да намерим и следния панел за администрация на командния сървър:Името Atrax дойде от екрана за въвеждане на парола. Заради това, вирусът е засичан с такова име от продуктите на ESET. Win32/Atrax.A поддържа изпълнението на дистанционни команди за настройка на „поведението“ на бота в заразената машина. Основният начин за разпознаване и изпълнение на бот команди изглежда така: Ето и списък с поддържаните дистанционни команди:
- dlexec – сваляне и стартиране на файл
- dlrunmem – сваляне на файл и инжектирането му в браузъра
- dltorexec – сваляне на TOR exe и изпълнението му
- dltorrunmem – сваляне на TOR exe и инжектирането му в бразуъра
- update – самоъпдейт
- install – сваляне на файл, криптиране с AES и запазване в %APPDATA%
- installexec – сваляне на файл, криптиране с AES, запазване в %APPDATA% изпълнение
- kill – терминиране на собствените следи
След реконструкция на структурата на отдалечените команди и изпълнението на алгоритъма, се опитахме да се заиграем и с командния протокол. Опитахме се да изпратим статус, потвърждаващ успешен инсталационен процес на плъгин и имахме късмет: получихме пътека за сваляне на следващия: Свалиха се два различни плъгина. Първият е инструмент за кражба на информация от форми, а вторият – крадец на пароли. Всички свалени модули са компилирани през юли. Win32/Atrax.A е интересен пример за TOR-базирана ботмрежа с AES криптиране за допълнителни плъгини в зависимост от хардуерните параметри на засегнатата машина и поколението ѝ. Очаквайте още новини от нас около този вирус.