Vorab:
Stub in C++, "Crypter" in NET, dazu auch ganze 1.5 MB.
sehr ungewöhnlich.
Vor allem weil der laufende Crypter laut ProcessExplorer aus dem Tempordner entpackt wurde und einen gaanz komischen Namen hat:
2dc14k9can1zl889rajlq05nijpwyta93fvbe1pdscf0akqnfi 2.exe
Das sind "debuggerlose" Erkenntnisse - d.h dass hier schon die Alarmglocken schrillen sollten
Sonst:
Also, die Exe selbst ist eine Art "Binder" - und entpackt den "echten" Crypter in den TEMP Ordner:
Code:
0012E868 7CA037FC /CALL to CreateProcessW from shell32.7CA037F6
0012E86C 0019E2FC |ModuleFileName = "C:\Documents and Settings\IETest\Local Settings\Temp\2dc14k9can1zl889rajlq05nijpwyta93fvbe1pdscf0akqnfi2.exe"
0012E870 0019C064 |CommandLine = """C:\Documents and Settings\IETest\Local Settings\Temp\2dc14k9can1zl889rajlq05nijpwyta93fvbe1pdscf0akqnfi2.exe"" "
(788KB groß)
Code:
0012E868 7CA037FC /CALL to CreateProcessW from shell32.7CA037F6
0012E86C 0019E2FC |ModuleFileName = "C:\Documents and Settings\IETest\Local Settings\Temp\2dc14k9can1zl889rajlq05nijpwyta93fvbe1pdscf0akqnfi1.exe"
0012E870 0019C064 |CommandLine = """C:\Documents and Settings\IETest\Local Settings\Temp\2dc14k9can1zl889rajlq05nijpwyta93fvbe1pdscf0akqnfi1.exe"" "
0012E874 00000000 |pProcessSecurity = NULL
0012E878 00000000 |pThreadSecurity = NULL
0012E87C 00000000 |InheritHandles = FALSE
0012E880 04000410 |CreationFlags = CREATE_NEW_CONSOLE|CREATE_UNICODE_ENVIRONMENT|CREATE_DEFAULT_ERROR_MODE
(489KB groß)
Analyse der kleineren:
ist ein typischer Runtime Crypter - startet sich selbst:
Code:
0012F890 7351D30A /CALL to CreateProcessA from MSVBVM60.7351D308
0012F894 001E0664 |ModuleFileName = "C:\Documents and Settings\IETest\Local Settings\Temp\2dc14k9can1zl889rajlq05nijpwyta93fvbe1pdscf0akqnfi2.exe"
0012F898 001E04EC |CommandLine = " "
0012F89C 00000000 |pProcessSecurity = NULL
0012F8A0 00000000 |pThreadSecurity = NULL
0012F8A4 00000000 |InheritHandles = FALSE
0012F8A8 00000004 |CreationFlags = CREATE_SUSPENDED
schreibt neuen Inhalt rein:
Code:
0012F66C 0014F134 /CALL to WriteProcessMemory from 0014F12F
0012F670 000000A8 |hProcess = 000000A8 (window)
0012F674 00400000 |Address = 400000
0012F678 01340048 |Buffer = 01340048
0012F67C 00001000 |BytesToWrite = 1000 (4096.)
0012F680 00000000 \pBytesWritten = NULL
und setzt die neue Exe fort:
Code:
0012F66C 7C832921 RETURN to kernel32.7C832921 from ntdll.ZwResumeThread
0012F670 000000B0
Analyse der größeren:
scheint der "richtige" Crypter zu sein
Analyse der mit dem Runtime "Crypter" verschlüsselten Datei:
Achtung, der Dump muss gefixt werden (Details schreibt ich jetzt nicht, da ich das in den letzen 3 Analysen schon gemacht habe und
es eher niemanden interessiert hat
)
Ist ein IStealer.
Anti-VM:
Code:
00401BBA |> /0F31 /RDTSC
00401BBC |. |8BD8 |MOV EBX,EAX
00401BBE |. |0F31 |RDTSC
00401BC0 |. |2BC3 |SUB EAX,EBX
00401BC2 |. |50 |PUSH EAX
00401BC3 |. |83F8 01 |CMP EAX,1
00401BC6 |.^\74 F2 \JE SHORT DUMP_004.00401BBA
00401BC8 |. 58 POP EAX
00401BC9 |. 3D 00020000 CMP EAX,200
00401BCE |. 72 09 JB SHORT DUMP_004.00401BD9
JB zu JMP patchen.
Macht halt iStealertypische Aktionen:
Code:
0012F3B8 7C801A53 /CALL to CreateFileW from kernel32.7C801A4E
0012F3BC 7FFDFC00 |FileName = "C:\Program Files\Trillian\users\default\msn.ini"
0012F3B8 7C801A53 /CALL to CreateFileW from kernel32.7C801A4E
0012F3BC 7FFDFC00 |FileName = "C:\Program Files\Trillian\users\default\aim.ini"
0012F3B8 7C801A53 /CALL to CreateFileW from kernel32.7C801A4E
0012F3BC 7FFDFC00 |FileName = "C:\Program Files\Trillian\users\default\yahoo.ini"
0012F5D8 7C801A53 /CALL to CreateFileW from kernel32.7C801A4E
0012F5DC 7FFDFC00 |FileName = "C:\Documents and
Settings\IETest\Application Data\.purple\accounts.xml"
(usw. alles, was halt der iStealer an Daten "mitnimmt")
Webpanel:
Code:
004059C5 |> \8D85 A8F5FFFF LEA EAX,[LOCAL.662]
004059CB |. 68 B6564500 PUSH DUMP_004.004556B6 ; ASCII "http://agrypinie.ag.funpic.de/"
004059D0 |. 50 PUSH EAX
004059D1 |. E8 DAA40300 CALL DUMP_004.0043FEB0
Login