1.行为分析
资源节里面有一个可执行文件。
对注册表的Winlogon进行了操作,创建了GinaDLL表项。
创建了msgina32.dll文件,并向此文件中写入了长度为2560字节的数据。
2.恶意代码分析
2.1 对Lab11-01.exe进行分析
根据main函数的伪代码,总结出程序的大致流程为,从资源节中导入文件,打开文件,对文件进行写操作-->获取当前文件的完整路径-->使用strrchr函数(自己编写的)对文件路径进行操作-->拼接文件路径字符串和\msgina32.dll-->设置注册表项,与winlogon有关。
401080函数中将资源节中的文件写入msgina32.dll中。
strcat是个内联函数。
401000处的函数设置注册表项。
打开了注册表:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon,新建了一个GinaDLL,值为
C:\Documents and Settings\wangying\桌面\PracticalMalwareAnalysis-Labs\Practical Malware Analysis Labs\BinaryCollection\Chapter_11L\msgina32.dll
当系统重启时,WinLogon会加载这个DLL。
2.2 对msgina32.dll进行分析
查看字符串发现了msutil32.sys文件。
获取了系统目录,并和MSGina拼接在一起。C:/WINDOWS/system32/MSGina
获得MSGina.dll的句柄
MSGina.dll导出函数中有很多以Wlx开头的函数。重点在WlxLoggedOutSAS上面。此函数调用了10001570函数,10001570是记录窃取登录凭证的函数。它记录了时间、日期、以及登录凭证信息。把这些写到了msutil32.sys文件中。
3.总结
利用Lab11-01.exe,将资源节中的文件写入msgina32.dll,并设置注册表,让系统每次启动都加载msgina32.dll,msgina32.dll的功能就是导入MSGina.dll,然后利用其导出函数WlxLoggedOutSAS,
窃取用户名、密码等信息,并存储到指定文件msutil32.sys中。
4.附录
WlxLoggedOnSAS(和其他Wlx*系函数):作为身份认证模块DLL程序必须导出的函数。导出许多Wlx函数的恶意代码可能在进行图形化标识与认证模块(GINA)劫持。
WlxLoggedOutSAS:记录窃取信息的函数,将信息记录到xxx.sys文件中,信息包括用户名、Windows域名称、密码以及旧密码。