Lab 12-1
分析在Lab12-01.exe和Lab12-01.dll文件中找到的恶意代码,并确保在分析时这些文件在同一目录中。
问题
1.在你运行恶意代码可执行文件时,会发生什么?
1.每2分45秒会跳一个提示框,提示框上面写着"Practical Malware Analysis %d”,%d是线程的次数,提示框标题叫"Press OK to reboot”.
2.哪个进程会被注入?
1.explorer.exe进程
3.你如何能够让恶意代码停止弹出窗口?
除了重启电脑或者结束被注入的进程不然没有办法.
4.这个恶意代码样本是如何工作的?
1.通过LoadLibraryA加载psapi.dll到进程中然后调用GetProcAddress获取EnumProcessModules和GetModuleBaseNameA和EnumProcesses.
2.通过GetCurrentDirectoryA获取当前路径然后通过字符串拼接”\Lab12-01.dll”,获取dll路径.
3.调用EnumProcesses获取电脑上所以运行的进程,再循环通过OpenProcess获取进程操作句柄,在调用EnumProcessModules获取第一个模块如果成功,再调用 GetModuleBaseNameA获取模块名字,第一个模块名字也就是进程名,之后比较是不是explorer.exe进程,如果是就循环结束,否决继续循环直到全部进程都查看完.
4.如果成功找到利用VirtualAllocEx分配目标进程内存,在通过WriteProcessMemory把Lab12-01.dll路径写入目标进程.
5.
hModule = GetModuleHandleA("kernel32.dll");//获取模块句柄
lpStartAddress = (LPTHREAD_START_ROUTINE)GetProcAddress(hModule, "LoadlibraryA");//获取导出函数
6,调用CreateRemoteThread第三个参数填写"LoadlibraryA"函数地址,第四个参数填写Lab12-01.dll路径地址,这样就实现了远程加载dll.(系统dll的线性地址是每个进程都是相同的).
7.执行Lab12-01.dl的DLLMian函数,函数做了循环创建了消息弹窗.