恶意代码分析实战 第九章 实验部分 02

Q

Lab09-02:使用OllyDbg分析恶意代码Lab09-02.exe,回答以下问题。

1.在二进制文件中,你看到的静态字符串是什么?
2.当你运行这个二进制文件时,会发生什么?
3.怎样让恶意代码的攻击负载(payload)获得运行?
4.在地址0x00401133处发生了什么?
5.传递给子例程(函数) 0x00401089的参数是什么?
6.恶意代码使用的域名是什么?
7.恶意代码使用什么编码函数来混淆域名?
8.恶意代码在0x0040106E处调用CreateProcessA函数的意义是什么?

Lab09-03:使用OllyDbg和IDAPro分析恶意代码文件Lab09-03.exe.这个恶意代码加载3个自带的DLL(DLL.dl、DLL2.dll、 DLL3.dll) ,它们在编译时请求相同的内存加载位置。因此,在OllyDbg中对照IDA Pro浏览这些DLL可以发现,相同代码可能会出现在不同的内存位置。这个实验的目的是让你在使用OllyDbg看代码时可以轻松地在IDA Pro里找到它对应的位置。

  1. Lab09-03.exe导入了哪些DLL?
  2. DLLI.dll、 DLL2.dll、 DLL3.dll 要求的基地址是多少?
  3. 当使用OllyDbg调试Lab09-03.exe时,为DLLI.dll、DLL2.dll、 DLL3.dll 分配的基地址是什么?
  4. 当Lab09-03.exe调用DLLI.dll中的一个导入函数时,这个导入函数都做了些什么?
  5. 当Lab09-03.exe调用WriteFile函数时,它写入的文件名是什么?
  6. 当Lab09-03.exe使用NetScheduleJobAdd创建-一个job时,从哪里获取第二个参数的数据?
  7. 在运行或调试Lab09-03.exe时,你会看到Lab09-03.exe打印出三块神秘数据。DLL 1的神秘数据, DLL 2的神秘数据,DLL 3的神秘数据分别是什么?
  8. 如何将DLL2.dll加载到IDA Pro中,使得它与OllyDbg使用的加载地址匹配?

A

Lab09-02

1、在IDA Pro中查看strings,看到的是一些报错字符串和导入函数名称,参考答案以后发现还有cmd字符串。这是因为IDA Pro的strings窗口显示的字符串默认最小长度是5,需要在setup里面设置。(Unicode选项也比较常见,记得选上),也可以使用strings.exe程序

cmd2.png
cmd.png

2、运行程序很快就退出,使用Process Monitor捕获到了一些文件操作和注册表操作,没有太多有价值的信息。

3、运行之前将文件命名为ocl.exe,看IDA伪代码很清晰。

idacmp.png

也可以动态运行,在00401240执行之前改ZF寄存器为1。改变程序执行逻辑,相当于把文件名给改成了ocl.exe

strcmp.png

4、在地址0x00401133处是在栈上创建了字符串,这个字符串在后面被用来混淆域名。

5、在此处传入的参数是1qaz2wsx3edc和一个缓冲区。

0x4012BD处打断点,查看栈上数据

0205stack.png
0205stack2.png

6、攻击者使用的域名是www.practicalmalwareanalysis.com,添加断点到0x4012CC处,观察栈上数据。

0206.png

7、解密域名的主要逻辑在sub_401089,通过字符串1qaz2wsx3edc异或加密过的域名信息来完成解密工作。

02062.png

8、这部分代码显然是一个反向shell,将cmd的输入,输出,错误绑定到socket,并且wShowWindow被赋值为0,不显示窗口。

0208.png

Lab09-03

1、有六个导入的DLL,导入表中有四个,LoadLibrary函数调用了两个。

0301imports.png

查看交叉引用

0301imports2.png

2、三个文件基址都是要求0x10000000,使用PEView查看即可。

3、基址如下图所示

DLL1和DLL2在导入表中,都是被立即加载的,DLL3是被动态调用的。在0x004010417下断点。在OD的内存映射界面查看基址重定位的结果,只有DLL1在预定的0x10000000位置。

loaddll3.png
re.png

4、

运行程序结果如下。

04.png

IDA Pro中查看DLL1,查找dword_10008030的交叉引用 ,看是什么时候被赋值的。发现是调用了GetCurrentProcessId以后的结果。

dll111.png
dll11.png

OD中动态运行,拿到的进程ID是0xBC8(十进制3016)

od1111.png

接下来用Process Monitor验证一下,重新调试程序

getpid.png

而且新建了文件temp.txt,文件内容是malwareanalysisbook.com

temptxt.png

同理分析DLL2的两个函数DLL2Print函数打印的是CreateFileA的执行结果,也就是文件句柄。

5、写入的文件名是temp.txt,WriteFilehFile参数是DLL2ReturnJ返回的文件句柄。

6、第二个参数是从DLL3GetStructure函数返回的一个指向全局变量stru_5EB0A0的指针,通过查询MSDNNetScheduleJobAdd的参数发现第二个参数是一个名为AF_INFOstruct??梢栽?code>Structures窗口添加一个结构体(使用快捷键Insert)

进入stru_5EB0A0的内存位置,选择Edit -> Struct Var。

struct2.png

7、可以看到DLL3打印出的是宽字符串的地址转换为十进制的结果。在调用00401041 FF15 20504000 call dword ptr ds:[<&KERNEL32.LoadLibrar>;之后 DLL3的_DllMain就执行完毕了,这时候就能根据内存映射界面DLL3的基址加上0xB0c0的偏移找到内存中的宽字节字符串了。

address_widechar.png

7、神秘数字上面已经分析完毕。

8、在加载到IDA Pro时候,选择手动加载(Manual Load),如下。

reload.png

可以看到此时IDA Pro中显示的地址就和OD中的地址一致了。

reload1.png
reload2.png
最后编辑于
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,100评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,308评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,718评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,275评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,376评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,454评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,464评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,248评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,686评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,974评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,150评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,817评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,484评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,140评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,374评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,012评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,041评论 2 351

推荐阅读更多精彩内容