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获取EnumProcessModulesGetModuleBaseNameAEnumProcesses.

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函数,函数做了循环创建了消息弹窗.