自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 恶意代码分析实战 Lab21

lab21-011lab09-02还记得话是需要改程序名才能正确运行,所以,程序不会发生什么额,我的IDApro识别出来main修改下面的jz位jmp其中r11是之前getmodulname得到的当前程序名,另一个由ocl.exe编码得到,windbg查看位jzm只有一个ecx图中只给出了9个参数的注释,还缺一个commandline参数...

2018-06-10 19:18:39 511

原创 恶意代码分析实战 Lab20

lab20-011sub_401040函数使用,参数this,用ecx来传递这个参数在sub_401040函数内部,也可以证实这点,而且URL就是上面的http://www.practicalmalwareanalysis.com/cpp.html可以看到程序非常简单,就在上面那个URL下载文件到c:\tempdownload.exeLab20-021注意字符串关键函数是sub_401000这个函...

2018-06-10 19:18:32 403

原创 恶意代码分析实战 Lab19

lab19-011IDApro打开看到解码代码如下od调试的时候显示说无法作为及时调试器调试,所以只能用windbg,虽然麻烦了点解码后程序先跳到003a0464接着在464处,马上调用003a03bf函数步入查看程序又调用003a039e函数步入查看函数,这段函数很短,可以很容易看出来是在得到kernel32的base地址,看30h是的搭配peb结构地址,1ch是得到InInitializati...

2018-06-10 19:18:22 762

原创 恶意代码分析实战 Lab18

lab18-01第一个是upx加密这里我们手动脱壳,upx壳挺简单的,只要找到oep就行注意到ollydbg进去的pushad,一般在popad后就会跳转到正确oep,所以在pushad后esp的地址设个硬件访问断点,按f9就能快速到达popad最后的跳转jmp后地址就是正确oep了直接用ollydbg脱壳直接就脱壳成功了至于判断是之前的那个恶意代码也不难IDA打开看看就能大概记起来他是lab14...

2018-06-07 17:48:52 784

原创 恶意代码分析实战 Lab17

lab17-01程序运行脚本之后,有三个地方红色高亮第一个是使用sidt获取IDTR寄存器值,然后和FF比较,是FF就跳转到loc_40132D处调用sub_401000函数删除自身第二个使用str来检测,注意三个跳转,其中loc_40124E是程序正常跳转,loc_401336最后还是会调用sub_401000删除程序最后一个在这里,返回值为0DDCC0000h时候正常运行,否则跳转结束程序看一...

2018-06-07 16:33:19 465

原创 恶意代码分析实战 Lab16

lab16-01程序开头就判断了PEB结构,的BeingDebugged是否为为0,如果为0则loc_403573正常执行,否则调用sub_401000接着正常路径走,发现程序又查看了processheap的forceflag标志,同样为0是无调试最后查看了NTGlobalFlag,是否为70h.70则是调试状态然后程序还要求参数不为1看被识别处程序处于调试时函数sub_401000做了什么程序会...

2018-06-06 14:07:57 416

原创 恶意代码分析实战 Lab15

lab15-01在每一个跳转地址前面都有一个E8,把他标识为数据,程序就出来了第一个比较,要求命令行参数是两个,其中一个是程序名接着是取出第二个参数的第一个字节作比较,可以知道参数是pdqlab15-02修正过程中就两个地方注意一下,其他的都跟第一题一个手法第一个是如下图,原来是个jmp语句跳到FF开始执行,也就是另一种翻译做inc和dec,所以这一段其实没有意义,选择翻译成第二个图就好,只要知道...

2018-06-05 16:56:47 488

原创 恶意代码分析实战 Lab14

1程序使用URLMON.dll库注意到存在base相关字符串2程序调用GetcurrentHwProfile得到计算机硬件配置信息,返回值如下图接着getusername得到当前用户名,看到返回结果位Administrator上面两个就是构建网络信令的信息源元素他们最终构造如下图的字符串然后这个字符被作为参数传递给sub_4010BB函数函数在内部调用sub_401000函数,由base字符串查看...

2018-06-04 21:31:09 2370

原创 恶意代码分析实战 Lab13

lab13-0112首先调用sub_401300函数程序是一系列的资源操作函数,目的是找到资源存到内存在调用401190解密,可以到,是在和3bh进行异或解密,最后把数据地址传回我们用resourcehaacker看一下把它保存二进制文件再用winhex打开,再把数据异或3bh,得到一个url接着看程序,调用WSAStartup,wsa启动命令然后两个sleep(分别睡了500ms和30000ms...

2018-06-01 23:32:18 1247

原创 恶意代码分析实战 Lab12

1学到现在都学了一半了,后面都不会分析的很细致,不会关注细节,只会大致把握恶意代码的主要流程,主要做了什么,把握这些就已经是成功分析恶意代码了,不需要每个一个函数都分析到点上,没必要,我们会加快速度看一下字符串,我觉得最主要的线索就是explorer.exe,想来是要对他进行dll注入,毕竟还有一个lab12-01.dll文件存在看一下.exe程序alloca_probe是堆栈保护检查的函数不要管...

2018-05-30 12:28:35 1522

原创 恶意代码分析实战 Lab11

lab11-011

2018-05-28 20:38:15 837

原创 总结

1使用CreateRemoteThread()API具体方法是让远程进程(也就是目标进程)运行LoadLibrary()API来加载我们的恶意DLL文件如何达到这一目标?有两个关键点,一是系统核心DLL会被加载到固定位置,也就是说,我们在恶意程序中得到的LoadLibrary()地址,可以在目标程序中直接使用,而不需要在目标程序中得到LoadLibrary地址二是线程函数原型和LoadLibrar...

2018-05-25 17:17:12 164

原创 深入理解计算机系统 第三版 第三章 家庭作业 答案

3.58

2018-05-24 18:32:32 9629 4

原创 恶意代码分析实战 Lab10

lab10-011简单的静态分析少不了,注意到恶意程序把自身伪装成GUI程序,可以用resource hacker看看资源,然后用depends看看函数导入两个库kernel32.dll和ADVAPI32.dll这是服务相关库,发现还有一个start的导出函数,然后还有一个需要关注字符串再看看.sys文件,这是很明显会操作注册表的相关操作,不管从函数还是字符串都能看出这一点,而且函数防火墙相关的注...

2018-05-22 18:08:19 2074

原创 恶意代码分析实战 Lab9

lab09-011这个程序就是第三章lab03-04那个会删除自身的程序,之前我们没有分析完,现在继续想要解决的是正确安装程序,因为他会自我删除,只有避免了他的自我删除我们才能继续分析他的功能IDApro打开程序,程序要求参数要大于1,这就说明我们需要输入lab09-01.exe "一些参数"这样的方式才能启动程序,为什么呢,因为如果不跳转,那么下面不管是在jz处是否跳转结果都会跳转到下面这个地方...

2018-05-20 15:33:35 1841 2

原创 恶意代码分析实战 Lab7

lab07-011惯例静态分析一波结论::无加密,输入表两个关键dll,显示程序会有网络和注册表相关操作(ADVAPI32.dll和WININET.dll),kernel.dll导入了互斥量和线程相关操作,认识的dll和函数也就这些了再看看字符串...

2018-05-18 16:46:48 1570

原创 恶意代码分析实战 Lab6

lab06-011先静态分析一波:没加壳,看看导入函数:有检查是否有可用网络连接的函数,可能有联网行为再看看字符串:一些程序提示信息字符串再回到main函数看看程序结构,查看main的程序流程图(view--Graphs--Flow chart(快捷键F12)),可以发现结构很简单基本就两个函数调用,然后对第一个函数(InternetGetConnectedState)返回值进行判断,然后看关键p...

2018-05-16 16:37:20 1585

原创 恶意代码分析 Lab5

这一节完全是IDA的使用介绍1直接用IDAPro打开.dll文件,就直接来到Dllmain处,可以知道地址为0x1000D02E2 3要知道gethostbyname在WS2_32.dll就比较容易找到,而且注意是区分大小写的.这是小写,找到后双击到达输出表处,然后右键gethostbyname函数名选择Xrefs graph to查看有多少函数调用它结果如图:五条线说明有五个函数调用他4在上题的...

2018-05-15 18:16:42 1703

原创 恶意代码分析实战 Lab3

lab3-11依照惯例,静态分析查看是否加密然后看输入表和字符串可以看出文件被PEncrypt加密dependency查看输入表可以看到很少的函数,kernel只有一个ExitProcessstrings查看字符串2动态分析:processexp查看handles和dll了解到关键信息,互斥量WinVMX32,和网络相关的dll联系上面字符串可以知道程序访问了www.practicalmalwar...

2018-05-15 15:12:19 3987 1

原创 恶意代码分析实战 Lab1

Lab 1-11将Lab01-01.exe文件传上www.virustotal.com可以看到文件匹配到已有的反病毒软件特征,部分截图如下:可以看到,大部分匹配到了w32/Ramnit系列病毒特征2使用petool分别查看lab01-01.dll和lab01-01.exe的编译时间,截图如下:第一个是.exe第二个是.dll,可以看到两个文件的编译时间仅仅相差19秒.3看是否加壳最快的当然是用PE...

2018-05-13 18:10:42 8469 4

原创 深入理解计算机系统第三版家庭作业答案-第二章

2.55-2.57答案:show_bytes 源代码:#include<stdio.h>typedef unsigned char* byte_pointer;void show_bytes(byte_pointer ch, int len){ printf("show bytes:"); for (int i = 0; i < len; i++) ...

2018-05-12 18:19:40 20412 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除