victim: server trojana Poison Ivy 2.2.0 _www.poisonivy-rat.com peid показывает http://getpic.info/?p=21052_peid.png visual basic =) File запакован и/или зашифрован. Import table нарушен если я правильно угадываю. Но я ето еше не умею востанавливать... поетому я так пытался разобратса да ише и без интернета. Сломался инет... outpost на server.ехе не реагирует. Но я только на моeм компе тестил. loopback... http://getpic.info/?p=21057_screen.createprocess.mod.png 1. Изначально ето место, как и почти все другоe на "dump"е, зашифрованно. StubPath.SOFTWARE\Classes\http\shell\open\command там в "regedit" HKEY_LOCAL_MASHINE\SOFTWARE итд. прописан "default browser". стартуетса "browser" без окна и намного менше памяти используя, не все dll загружаютса. Я не проверял все ли ети dll настояшиe, то есть и с нормальной оперой грузятса. http://getpic.info/?p=21054_proc.expl.fake.opera.dll.png Скодил мальенкую програмку на асм-е, msgbox выдает. Так если сервер.ехе в нее inject'ить должен, тогда половину win папки он грузит. Я на етот момент еше не все dll проверял. Q: почему и как ето работаeт? 2. CreateProcess... ничего особенного. сервер.ехе умираeт после етого вызова. Странно что ModuleFileName на ebx оказываетса сам сервер.ехе... как будто с CreateProcess он стартуeт сам себя, с "browser"ом как commandline... Q: как ето работаeт? 3. GetCommandLine: The return value is a pointer to the command-line string for the current process. lstren наверно опечатка в olly. lstrlen: The return value specifies the length of the string in bytes. считаeт количество знаков в "path" к commandline от сервер.ехе? lstrlen у меня возврашает 42h... потом минус 3 и cmp с следуишим call'ом -> 0040305E |. FFD0 CALL EAX После етого call'а появяeтса в stack'е те 40h с которыми и сравниваeтса ресултат (GetCommandLine -> lstrlen - 3) в конце. call идет в kernel32.dll. там вызываетса: ntdll.RtlAllocateHeap GetModuleFileNameW ntdll.RtlUnicodeStringToAnsiString memmove ntdll.RtlFreeUnicodeString после call'a в еах стоит у меня 40h. push на stack итд. если ресултаты не совпадают, прыгаeт через CreateProcess. Делаeт ето только в olly. Если стартовать сервер.ехе просто так без olly, то тогда работаeт всегда. Похоже на antidebug. Q: так или нет? http://getpic.info/?p=21055_proc.expl.fake.opera.png 1. real opera. 25 mb. 2. fake opera. 1 mb. http://getpic.info/?p=21056_proc.expl.threads.png Он и threads останавливает, наверно чтоб окно не грузилось и программы свои нормальные функции не выполняла.. http://getpic.info/?p=21051_ida.decrypt.dump.mod.png Разшифровка "dump"а проишодит здесь , насколько я понял... я не вникал, но похоже что так. 1F1Ch знаков? "xor"'ит ecx+edx с 5Ah. Q: так или нет? и вобше как с запаковкой разобратса чтоб api функции видно было. чтоб анализ olly и ida работал... import table востанавлевать? -------------текст этот с паузами писался---------------- то что имена api's олли не показывает может быть потому что они прямо из соответсвуюших dll вызываютса с помошю их адресса в етих dll... по моему такая же техника при exploit'aх используетса.. но ето так дагадка... в memory искал пароль. нашел. breakpoint on memory access почемуто не работает... http://getpic.info/?p=21061_search.memory.password.png в уже инфицированой опере пароль искал. нашел. break не идет... manual их читал уже потом... http://en.wikipedia.org/wiki/Camellia_(cipher) но тут я вобше никуда... -----------02.07.07---------------- нашел ише что эта весчь Alternate Data Streams исползует. Пойду про ads читать, iczelion pe format туты читать, а потом http://wasm.ru/article.php?article=packlast01 "Об упаковщиках в последний раз"... инжектитса ета штука также похоже всегда в explorer.exe добавлю готовый server.exe если кому лень скачивать... ID: testsrv pass: sexy connect: 127.0.0.1:80 mutex: )!VoqA.I4 заново не стартуетса, в ринг0 не уходит =) скажите хоть почему api не показывает, чтоб я хоть знал что мне читать...
pe формат страшная весчь. странно.. вроде аж 76 человек скачало и никто не сказал, что используется обыкновенная dll inject.. createprocess стандартный.. только стартуется browser с флагом suspended, а потом virtualallocex writeprocessmemory createremotethread.. и так далее.. импорт оказывается не раздолбан а "заменён".. нашёл я там странную функцию которая api перебирала, из них что то делала и потом с каким то числами сравнивала.. googled я пару опкодов из неё .. оказалось вот что: _http://hyatus.newffr.com/TAZ/_VX_/papers/winsys/apicrc32.txt писатель скопировал их engine и дабовил чуть error чекинг..
ну не совсем обычный =) инжект с ZwUnmapViewOfSection там юзается... интересно в этом серваке тока соотношение размера и функционала =)
ну это тебе.. а я только учусь. а как ты disasm'ил? я вот от руки коментировал какой call что за api вызывает.. а тык как?