A forum for reverse engineering, OS internals and malware analysis 

Forum for analysis and discussion about malware.
 #26094  by Xylitol
 Wed Jun 17, 2015 11:39 am
Attachments
infected
(261.85 KiB) Downloaded 78 times
infected
(4.82 MiB) Downloaded 89 times
 #26258  by sysopfb
 Thu Jul 09, 2015 3:24 pm
Here's the loader, it has some very frequently updated anti-analysis lists of running processes and file access times. The shellcode layers it runs at the end after injection harvest quite a lot of data.

Domains from the loader
Code: Select all
http://www.cnn.com
http://hostthenpost.org/uploads/1d5a7815c356eef6c0cfa945d32df29c.png
http://vmx13321.hosting24.com.au/report_N_0030_
http://vmx13321.hosting24.com.au/report_N_0030_
www.google.com
First check it does is to see if MpStartProcess exists in kernel32

Image

After that it checks the output from a call to SystemFunction036

Checks the access time from a FindFirstFileA call in C:\Windows\

Checks the access time from a FindFirstFileA call for C:\pagefile.sys

Checks for the following running processes
Code: Select all
SWIS.exe
tPEiD.exe
ipfs.exe
Lamer.exe
Aegis.exe
prince.exe
WinSAT.exe
rpcapd.exe
METSVC.EXE
windbg.exe
RMMSvc.exe
AFMain.exe
tmfehcs.exe
dumpcap.exe
HRSword.exe
Georgie.exe
Regshot.exe
Fibbler.exe
pr0c3xp.exe
Georgie.exe
InCtrl5.exe
ghmon32.exe
dumpcap.exe
HttpLog.exe
HttpLog.exe
Tcpview.exe
Procmon.exe
Teprocexp.exe
Fiddler.exe
sysutilw.exe
win_dump.exe
HipsTray.exe
savedump.exe
wireshark.exe
winexesvc.exe
Winalysis.exe
MaxMerger.exe
wireshark.exe
sniff_hit.exe
BDKVBHSvc.exe
GoatCasper.exe
anti-virus.EXE
MiniUAhost.exe
syscntr.exe.exe
sysAnalyzer.exe
BKMSEmulator.exe
sunshineApp.exe
FortiTracer.exe
InstallRite.exe
XzRaptorClient.exe
PProcessHacker.exe
METSVC-SERVER.EXE
aswVBoxClient.exe
ProcessHacker.exe
StartupMonitor.exe
IAgentSimulator.exe
E91AssistV3Proxy.exe
TorGuardService.exe
GPython-Portable.exe
MinervaListener.exe
ImmunityDebugger.exe
MimicButtonClick.exe
hiClicker-release.exe
ByteCodeGenerator.exe
FileWatcherService.exe
ReplicationControl.exe
SandboxieDcomLaunch.exe
Also checks for any process with Olly in the name

Looks for Software\Wine key in registry

Then gathers some data up and writes it to a temp file, the md5 hash of itself on disk, the name of itself on disk, the converted return from PSAPI.GetProcessImageFileNameW on it's process parental hierarchy.

Checks if Shell_TrayWnd exists with FindWindowA and GetWindowThreadProcessId
Then it injects into explorer using createremotethread


The injected code then begins going through it's checklist and sending a lot of status updates to the domains from earlier.

Status updates:
Code: Select all
ForceRemove
watch2_err_1
image_size_not_ok
image_type_not_ok
image_not_ok
gdiplus_ok
gdiplus_not_ok
image_type_ok
image_size_ok
payload_not_ok
payload_mem_not_ok
payload_executed
payload_mem_ok
payload_type_shell
payload_type_exe
payload_file_delete_ok
payload_file_wait_ok
payload_file_run_ok
payload_file_write_ok
payload_file_name_ok
payload_type_exe_wait_del
payload_type_bad
payload_size_ok
payload_ok
mark_not_setted
mark_setted
executed_ok
except_detail_
already_active
mark_already
started_ext_
already_ok

Eventually it downloads the png file which contains data that when RC4 decrypted (with a 16 byte key from near the top of the domains in memory) it CRC checks the decrypted data. The first four bytes in the decrypted data is the offset to find the checksum, but I've also seen the checksum passed as the first 4 bytes. This decrypted data has the gatak payload along with it's C2 list near the top.
Attachments
pw: infected
(460.21 KiB) Downloaded 59 times