Home
aborche
PE_SALITY. корпоративная угроза !!! 

Advertisement

Customize
18th-May-2008 01:10 am
Поведаю я Вам принеприятнейшую историю о новых троянах.


Ничто не предвещало беды и только почему-то файловый сервер стал очень медленно откликаться на запросы.
Попытка понять удалённо что-же всё таки произошло с беднягой почти ни к чему не привели, так как антивирусники ничего не находили, и только висящие в памяти процессы с именем win.exe заставили более детально посмотреть ему в душу.

Это был армагеддец(более мягкое слово с таким же окончанием).
На сервере каким-то образом оказался рассадник троянов, бекдоров и спам машин. Приставленный к стенке админ признался, что несколько недель назад он пускал на этот сервер прекрасную девушку которая обновляла правовые базы "Кодекс" со своего переносного харда.
Как оказалось потом, несколько вирусов сидело именно имея процесс "кодекса" в качестве родительского.

Скормили подозрительный файлик касперу, опознался как Sality.y, но не сказал как лечиться. AVZ обнаружил перехватчики функций и маскирующиеся процессы имеющие в таблице процессов PID=0, но ничего сделать не смог.
Попытки заинсталлить антивирус или проверить сервер внешними утилями приводил к падению этих антивирусов и утилит.

Итак что такое Sality ?
Возможно у меня была разновидность этой штуки нового поколения, я не знаю. Разбирался руками долго и в итоге могу коечто рассказать.
Sality это комплекс содержащий в себе набор троянских программ ворующих пароли к ftp сайтам из far, wincmd, tcmd и т.д., набор кейлоггеров которые воруют пароли к системе, спамботов которые рассылают спам и сам модуль который производит заражение компов. В ходе разборок оказалось, что почти вся сеть в количестве 40-50 машин оказалась затроянена по самое небалуйся, и это при наличии каспера и других антивирусников.
Теперь перейду к разбору комплекса.

Корневой блок Sality.M устанавливается в систему в виде драйвера IpFilterDriver и загружается при каждой перезагрузке. У каждого пользователя в реестре создаётся раздел в HKCU\Software\<логин>914
в котором вирус хранит своё тело в зашифрованном виде в виде шестнадцатиричных ключей. В файл system.ini вирус прописывает значения на указатели реестра где находится код тела примерно вот в таком виде.
[MCIDRV_VER]
DEVICEMB=127446824460
[MCI_DPI32]
DRV_VER=0A34224648
Вирус инфицирует запускаемые файлы путём перехвата запуска файла, внедрения в него своего кода, сохранения и повторного запуска этого же файла.
У меня попалась разновидность вируса которая интегрировалась в систему помимо IpFilterDriver как SCSI контроллер у которого вместо драйвера было указано \??\c:\windows\system32\drivers\.sys по моему с именем DPTI3910, уже не помню. Это был основной кусок ядра вируса, мы его чудом сдампали из процессов при помощи avz.

Теперь о внутренностях.
Вирус содержит процедуру самосборки, при запуске вирус лезет по указанным ниже адресам для докачки своих частей якобы в виде картинок.
Далее собирает свой код и устанавливает в систему. После запуска сервиса пытается зарегистрировать DNS имя в локальном домене SOSiTE_AVERI_SOSiTEEE.haha.domainname для дальнейшей раздачи кода внутри локальной сети.

http://___pzrk.ru/img/logo4.g0
http://___pacwebco.com/Photos/logost.g0
http://___89.149.227.194/tratata3/
http://___perevozka-gruzov.ru/ft.g0
http://___perevozka-gruzov.ru/as.g0
http://___SOSiTE_AVERI_SOSiTEEE.haha

Если имя SOSiTE_AVERI_SOSiTEEE.haha успешно зарегистрировано, вирус приступает к раздаче кода.
От имени текущего пользователя вирус дергает NBSTAT читая имена компьютеров которые видны в локальной сети. Определяет имя компьютера и пытается подключиться к системным шарам для раздачи кода. Если запуск трояна произойдет на машине админа, то вся сеть через некоторое время превратится в один сплошной ботнет. В нашем случае так и произошло, т.к. обновления баз производятся под админским аккаунтом.
Вирус маскирует себя внедряясь в ring0 ядра и убирает любые упоминания о себе из списка процессов подменяя PID и имя на пустоту.
Далее вирус начинает собирать на эту машину троянов и руткиты из интернета хотя по разным адресам. Спамботы поднимают соединение с корневыми спам ботами(p2p сеть) и ожидают команд.
Ядро вируса попавшее в ring0 обеспечивает прикрытие спамботов, подтаскивая новые экземпляры по мере удаления процессов и файлов из системы. при попытке загрузить файлы имеющие в названии окна или имени файла части распространённых антивирусных систем вирус просто напросто пристреливает процессы. Спустя некоторое время вирус начинает заражать системные файлы и утилиты формируя список "доверенных" приложений. Со временем в этот список попадают касперский, cureit, trendmicro которые будучи запущены из-под "доверенного" процесса заражаются и получают обрезанный блок памяти, где успешно блокируются ядром вируса при попытках лечения зараженных файлов.
Первым делом вирус заражает dllcache и system32 файлы logon.scr для того, чтобы обеспечить себе стабильный запуск когда пользователя не будет на месте. Следующие объекты это hkcmd и ctfmon которые стартуют на системном уровне, а также у каждого пользователя при загрузке.
Далее вирус заражает всё что находится в реестре в "Run" разделе, обеспечивая себе распространение по машине и живучесть. После того как основные файлы заражены, вирус приступает к последующему заражению часто запускаемых пользователем приложений.
В общем штука реально страшная. Сравнить по опасности могу только с OneHalf и Win.CIH. Код вируса полиморфный и зашифрованный, коды троянов и спамботов запакованы FSG и UPX. Код спамботов содержит список всех популярных dnsbl списков для проверки ip адреса на блокируемость !!!!
Также содержит адреса релеев yandex.ru, aol.com и еще чьи-то для(предположительно) проведения DDOS атак или для отправки ворованных данных. Если адрес с которого бот проверяет себя в базах не блокируется, то спам бот по udp сообщает корневым спамботам свой входящий порт для трансляции команд. Код ядра самого вируса открывает для спамботов порт ipsec во встроенном firewall windows. Для каждого нового бота он делает исключение в списке разрешенных программ.

Удаление вируса дело довольно трудоёмкое из-за его широких лап во многих программах. Основную инструкцию вы можете найти нагуглив ссылку по Sality.M на сайт трендмикро. Там подробно говорится как удалять. Остановлюсь только на нескольких моментах дополнительно к тому что написано.

Вирус убивает возможность загрузки в safemode, поэтому выполните скрипты для восстановления реестра с сайта трендмикро.
При лечении машины нужно иметь под рукой дистр far(readonly), трендмикро консольный тулкит(readonly), cureit(readonly) и хорошую реакцию(лучше всего для readonly использовать http и ftp сервер локальный в сетке)

Итак. Самое главное !!!
НЕ ЗАХОДИТЬ НА МАШИНУ ПОД ПРАВАМИ ДОМЕННОГО АДМИНА !!! ТОЛЬКО ЛОКАЛЬНОГО !!!
Все операции с проверкой результатов делать только с чистой установки приложений(одноразовой) !!!

Запускаем FAR и идём в список процессов.
Если у процесса имя и расширение в нормальном виде (lower case) значит процесс поднимался ядром системы.
Если расширение написано большими буквами значит процесс поднимался из сервиса. Если имя и расширение написано большими буквами значит процесс поднимался из-под какого-то ранее запущенного процесса.
Это основная палочка выручалочка для нас.

Да ! забыл. Перед этим всем лучше выключить system restore и перегрузить машину, это избавит от двойных действий. Я лечил машины удалённо по RDP, без использования safemode, поэтому буду описывать данную методу.

Заходим под локальным админом.
жмём Win+E, http://server/farmanager170.exe
ставим оттудаже сразу без сохранения и запускаем. Explorer заражается в последнюю очередь поэтому лучше делать всё в его рамках.
F11 -> Process List
сразу убиваем explorer.exe из процессов и переименовываем logon.scr в system32 и dllcache во чтонить другое, вас спросят о изменении файлов, скажите "отмена" потом "да".

Смотрим процессы написанные БОЛЬШИМИ БУКВАМИ и убиваем не задумываясь.
Смотрим процессы начинающиеся с win(трояны) и убиваем всё кроме winlogon.
Если процесс системный, сначала переименовываем файл процесса в dllcache, потом system32 и по сети или с CD в dllcache и system32 заливаем с чистой машины нужный файлик. Если процесс невыгружаемый(аля каспрский) тупо переименовываем его exe файл в любое имя и оставляем его в покое(KAV,EXE,KAVSVC.EXE,KLSWD.EXE)
Берем regedit или reg plugin для far и идём в HKLM\system\currentcontrolset\services\
грохаем оттуда всю ветку IpFilterDriver. Теперь идём HKCU\Software\Administrator914(работаем под локальным админом, не забыли ?) выбираем понравившиеся номерочки(штуки 3-4) и забиваем вместо Dword значений в них мусор типа 1111,1234 и т.д.
Если поменять значения в ключах без убиения IpFilterdriver это ни к чему не приведет.
Идем в нижестоящий блок ключей и в последовательности длинных ключей меняем чтонить в конце(длина должна остаться прежней!!!)
Идем в c:\windows\system.ini и выносим строки которые были описаны выше.

Перегружаем машину. На этапе применения юзерских настроек машина задумается на 30-60 секунд.
Как залогонимся опять http://server/farmanager170.exe и новую установку поверх имеющегося far.
из FAR смотрим опять в процессы и пристреливаем все какие с большими буквами. по ftp сливаем или запускаем M2 от трендмикро на scan и смотрим за списком процессов. при подгрузке вирусных баз трендмикро может вывести сообщение об ошибке "диск недоступен" - это защита вируса от проверок. пропускаем все эти ошибки(до 15 штук) и переключаемся в far.
трендмикро все найденные процессы будет переносить к себе в бекапную папку автоматически, поэтому нам нужно следить чтобы вирус не пристрелил нашего лекаря. Как только вы увидите появление процесса большими буквами, сразу смотрите кто parent и стреляйте обоих немедленно. Если парентом выступает сам FAR откройте из него же самого вторую копию, а лучше открывайте сразу две копии при старте системы. Если пропустить момент инициализации троянца, то он пристрелит трендмикро быстрее чем вы успеете моргнуть, помимо этого он лекаря заразит и сделает разносчиком.

Да! забыл еще. оставьте в firewall только порты 53, 80 и 443 наружу в интернет. остальное должно быть закрыто на замок и tcp и udp.
Дождитесь когда трендмикро закончит свою работу(3 этапа) и надёргает Вам файликов(не отходите от компа, иначе придется начинать сначала)
Когда трендмикро закончит, проверьте отсутствие ipfilterdriver и наличие сделанных вами изменений в administrator914 и перегружайтесь.
если изменения пропали - повторите действия.

после перезагруза опять ставите чистый far, потом M2 запускаете на проверку. В тех местах где M2 ругался теперь ругани быть не должно.
Дождитесь окончания проверки и запустите с сети cureit на проверку всего диска.

Если все пройдёт успешно, то поздравляю, Вы победили. Осталось взять sfc и залить из дистрибутива чистые файлы в system32(ибо некоторые из них были удалены)

Ну вот вроде и всё. по моему ничего не забыл.
будут вопросы пишите.
Comments 
18th-May-2008 02:12 am (UTC)
новая инкарнация? кстати, к сведению - чистить реестр и всякое такое можно из erd commander, подцепив систему. при этом винда запущена с cd в сильнопорезанном виде, но есть доступ к реестру, файлам и сервисам. сильно упрощает задачу вырезания вирусов которые умеют стрелять антивирусы.
18th-May-2008 07:01 am (UTC)
почти все livecd(испробовали 8 штук) не смогли зацепить sas контроллер, удалось только с nervos нормально грузануться.
а насчет зачистки с livecd всё шикарно, но не всегда антивирусники видят троянов. после двух бессонных ночей могу сказать это честно.
18th-May-2008 08:19 am (UTC)
оставьте в firewall только порты 53, 80 и 443 наружу в интернет.
По-хорошему файловый сервер надо прятать за файерволл и юзать ДНС-сервер из локалки. Нечего ему делать в инете.
При такой конфигурации сети если даже и подцепите трояна - троян ничего никуда не сможет передать.
18th-May-2008 05:50 pm (UTC)
не факт. всегда есть настройки прокси, а базы обновлять нужно иногда ежедневно.
18th-May-2008 08:40 am (UTC)
также вирус не даст запустить ни один firewall и антивирус...
и еще он вродь раздает себя через торрент...
18th-May-2008 05:51 pm (UTC)
он их просто заражает и всё.
19th-May-2008 10:56 am (UTC)
ЖЖесть! А AVZ чтонибудь смог показать?
19th-May-2008 12:37 pm (UTC)
А что мешает запустить Tcpview.exe от компании microsoft.com и посмотреть, что у тебя слушает система и посмотреть на "нестандартные" порты, а после этого уже ковырять исполнительный файл.

Спасибо за статью. Она интересна, но у каждого свои методы борьбы с вирусами в системе, а так же их удаление и восстановление системы после заражения.

P.S. Загрузочный диск - панацея от вируса?!
19th-May-2008 12:57 pm (UTC)
процессы не прячутся. они висят в памяти.
Все кроме корневого. Корневой прячется под PID=0, убирает упоминания о имени файла, идентификаторе программы и закрывает любой доступ к себе в память.
21st-May-2008 09:38 am (UTC)
Где ссылка-то на архив?
6th-Jun-2008 08:25 am (UTC)
Замечательно!
19th-Jun-2008 09:34 am (UTC)
Мегареспект за такой ресёрч!
21st-Jul-2008 12:49 pm (UTC)
А просвятите пожалуйста ламера, что такое M2 от Trend Micro ?
9th-Oct-2008 09:51 am (UTC)
Аффтар, кури мануалы :-) Sector/Sality - ни разу не троян, а полноценный файловый вирус. У него в клмплекте нет ни кейлоггеров ничего подобного. Да, дропает 1 драйвер и, возможно, 1 DLL. Раз у вас там была целая свора заразы - так это не сектор виноват наверняка. Вот описалово http://vms.drweb.com/virus/?i=172448
9th-Oct-2008 10:43 am (UTC)
В мае это была модификация Sector.5.
Месяц назад нашли интересного последователя Sector - проект Siberia2. Вот его стоит бояться, а Sality и Sector это уже пройденный этап.
9th-Oct-2008 01:30 pm (UTC)
Гм... Каг фсихда самый опасный вирус - эта бландинко!!!

з.ы. Я бы с большим удовольствием посотрел на фотку "прекрасной девушки", которую одмин пустил за сервак :))))))))), чем на описанную камасутру.
9th-Oct-2008 02:33 pm (UTC) - кхе-кхе
я знаю некоторое количество админов женского полу, и среди них даже одна блондинка есть )
16th-Oct-2008 08:50 pm (UTC)
нашел у себя вот это:
http://b0rg.livejournal.com/319087.html?nc=1

Но с некоторыми отличиями: проц не загружается, в списке процессов от Process Explorer ничего не видно, и TCPView не показывает соединения. Так же ничего не видно в Task Manager -> Networking. Единственный индикатор - иконка состояния сети показывает траффик и считает пакеты.

2nd-Dec-2008 08:39 am (UTC)
8th-Dec-2008 12:30 pm (UTC)
Думаю для начала можно было бы сравнить даты написания постов.

Этот пост "Posted on May. 18th, 2008 at 01:10 am"

Борьба с вирусом VIRUS.WIN32.Sality.z (win32.sector.5, win32.sector.7) создан "Июль 8, 2008"

отсутствие в drweb идентификаторов вируса в мае и присутствие идентификатора в июле месяце естественно решает большинство проблем связанных с этим вирусом.
26th-Jan-2009 06:42 pm (UTC)
Ого - зверская штука!
26th-Jan-2009 06:44 pm (UTC)
:))
26th-Jan-2009 10:02 pm (UTC)
а RKU его не "увидел" кстати?
24th-May-2009 07:50 pm (UTC)
Ты знал что сделали сайт 4prazd.ru там возможно написать виртуальное поздравления с днём рождения ! А потом послать ссылку имениннику или имениннице ;)

Advertisement

Customize
This page was loaded Jul 11th 2009, 4:08 am GMT.