恶意代码分析实战 第十九章课后实验

问题1:

首先使用ida载入实验文件:

看到了一系列的Inc ecx指令,先忽略继续向下看:

在偏移量为200的地方看到了异或操作,可以看到这段代码就是一个循环操作。首先将栈顶值赋值给esi。通过分析可以知道esi中保存的就是224。然后再令esi的值入栈。接下来是lodsb指令。这条指令的功能是把esi的值赋给eax。其实就是要将49保存在eax中。然后al的值又赋给了dl,再将dl的值减去41,将所得的结果左移4位,然后esi会实现自增。再利用lodsb指令,此时esi的值就是4A。然后减去41,差值保存在al中,将al与dl相加。然后使用stosb指令,将eax中的内容赋值给edi所指向的地址位置,其实也就是224的位置。然后edi依据DF的值,实现自增或者自减的操作。之后再不断循环,重复上述操作。这就是在进行解码的操作。

问题2:

使用scdbg软件,将其和实验文件都放到C盘根目录下,打开cmd输入scdbg.exe Lab19-01.bin。

可以很清楚的看到导入了六个API函数。

问题3:

通过分析URLDownloadToFileA函数可以知道,程序会连接

“http://www.practicalmalwareanalysis.com/shellcode/annoy user.exe”进行下载。

问题4:

程序会将下载的文件保存在C:\WINDOWS\system32\1.exe中,并且会运行这个名为1.exe的程序。

问题5:

先是解密,然后连接到一个网站,下载一个文件并运行它。

问题1:

main函数,函数sub_401000如下:

这里打开了注册表“\\http\\shell\\open\\command”的位置,这里保存的就是系统默认的浏览器,调用函数RegOpenKeyExA是获取其内容,函数sub_401000的作用就是从注册表中获取系统默认的浏览器。

sub_401180函数:

可以看到,刚刚获取的浏览器会作为一个新的线程被创建,可以看到StartupInfo.wShowWindow的值为0,说明其对用户只隐藏的。

下面可以看到函数sub_401230:

函数sub_401230的作用就是将unk_407030的内容,也就是shellcode注入到浏览器进程中。

问题2:

其实unk_407030就是shellcode,点击去看一下:

 

这个就是shellcode的位置。

问题3:

将光标移动到shellcode开始的地方,按C键,将其转换为代码:

可以看到这就是一个解码的操作,先将栈顶值赋给edi,然后edi地址中所保存的内容与E7进行异或运算,这个运算要执行18F这么多次。

编写解码程序

 

问题4:

提取shellcode,用scdbg查看导入函数:

问题5:

通过第四问知道在端口13330连接IP地址192.168.200.2

在动静态分析过程中使用火绒剑也可以看到:

问题6:

程序其实是要创建一个cmd.exe进程,这段shellcode的功能就是建立一个远程shell

问题1:

使用PDFStreamDumper载入这次的实验文件Lab19-03.pdf,点击菜单栏中的“Exploits_Scan

存在的漏洞是CVE-2008-2992。

问题2:

点击PDFStreamDumper左侧的第9个选项

调用了函数unescape函数,这个函数的意思是后面的%跟着u,那么将后面的四个字符转化为十六进制。比如对于“%ue589%uec81”来说,转化后变为“0x89 0xe5 0x81 0xec”。

问题3:

使用scdbg.exe,打开cmd,输入如下命令:

 

问题4:

根据利用scdbg的分析结果,通过CreateFileA的函数调用可以知道,会创建名为foo.exe以及bar.pdf这两个文件。

问题5:

经过scdbg的分析之后,在使用ida静态分析一下这个shellcode。使用ida载入实验文件Lab19-03_sc.bin。

在开头可以看到调用了函数sub_17B,

这里有一个调用,经过分析知道这个就是查询动态链接库kernel32.dll的地址。

这个调用是用于hash值的计算,后面还压入栈了shell32。

接着就是创建两个文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值