吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 13684|回复: 14
收起左侧

[分享] 《恶意代码分析实战》Chapter 1课后静态分析实验

[复制链接]
giantbranch 发表于 2016-11-15 10:36
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 giantbranch 于 2018-8-14 21:19 编辑

这个学习的时候是边做边写博客的,这样学习效果挺好的,推荐给大家
博客原文:[url=http://oldblog.giantbranch.cn/?p=495]http://oldblog.giantbranch.cn//url]
4个小实验做下来,发现自己确实一点点在进步

实验文件(包含脱壳后的文件)
Lab1.zip (16.88 KB, 下载次数: 70)

文章备份(还是传个doc备份一下吧):
《恶意代码分析实战》Chapter 1课后静态分析实验.doc (2.66 MB, 下载次数: 37)

Lab1-1
这个有个exe,还有个dll
先去查杀一下
由于那个网站上不了(翻墙的话应该可以)

除了上面这个多引擎查杀,还有下面的
https://virusscan.jotti.org/
http://www.virscan.org/
https://fireeye.ijinshan.com/

不过还有PhrozenVirusTotalUploader工具,是客户端版
不过还是不行.....
算了用其他吧
dll的
2.什么时候编译的呢
pe文件里面有这个一个字段
直接拖PE tools,点击文件头
当然用其他工具,或者手动也可以
发现结果跟上面的不一样
那么可以确定那个工具有点问题啊

再看看dll的
时间相差无几,应该是同属一个恶意代码包
有没有被加壳呢
直接看到了vc++6.0,区段也
dll的

查看输入表
有两个查找当前目录文件的api,还有复制文件的(应该是复制自身到一个隐蔽的目录)

dll的
有创建进程,和睡眠
这个就有个网络通信的了
还有没有其他特征可发现呢
看看里面有什么字符串是一个办法
strings的下载地址

https://technet.microsoft.com/en-us/sysinternals/bb897439.aspx

直接strings + 文件名

我们可以看到 有个迷惑的字符串,那个l变成了1,根据前面可以猜测是将自身复制到system32那里迷惑人了

也可看到导入函数

看下dll
有个ip地址,如果真实的病毒就不知保留地址了

总结
应该是复制自身,查找文件那个api有可能是查找杀软,或者要感染的文件等

dll可能是一个后门,由exe来启动,exe有个CreateProcess的api可以dll注入什么的

Lab1-2
接下来直接跟上面的步骤来重复了
而且从上面可以大概知道加了upx壳,应该是一个含有下载功能的恶意代码

查壳看看
确实如此
upx壳,直接esp定律即可脱壳

先看没脱壳的

一个创建服务的
The CreateService function creates a service object and adds it to the specified service control manager database.
那个InternetOpen是初始化对象的(Initializes an application's use of the WinINet functions.)

再看脱壳了的,就看得更多了
这里就多了一个打开url的了,猜想是get参数传递?
再看看字符串
直接看脱壳了的,脱壳对静态分析的影响还是挺重要的,下面就看到了那个url了,一看这个程序就是本书原作者自己写的
当然od也可以

怎么检测这个主机被这个恶意代码感染呢
一个就是网络迹象:访问上面那个url的
另一个就是创建了一个服务,通过上面的分析可知道,但是创建的服务名是什么还不知道...
稍微od跟一下差多多确定是这个了名称的服务
当然IDA就更加清晰了(脱壳的哦)
之后调用了401040,我们去看看
最后再创建一个线程,调用的是StartAddress函数

Lab1-3
一上去全部报毒,这个看来很牛逼啊

查下壳,果然
见识短,这个我第一次见

这个壳,作者说暂时没法脱壳,我就是要挑战,失败了再说,基本上脱壳八法都尝试过了

查了一下,可以用模拟跟踪来脱壳
http://oldblog.giantbranch.cn/?p=341#nbsp
再ctrl + a就看到熟悉的结构了
向下稍微拖一下,发现了main函数
直接用od的插件脱壳吧
看看,果然脱壳了

当然用SFX也是可以的

既然脱了壳,那尝试继续分析咯

看看导入表,有点诡异,不认识。。。,等之后的章节再看吧,作者说18章后回来



看看字符串,有个url
也跟程序运行的效果吻合
跟着就跳到404的页面了

用ida看看吧,其实也不太懂,大概就是通过浏览器打开那个url吧

这里的话,可以通过这个网络特征来查,当然还可以有其他方法

Lab1-4
先查杀一波
又有下载字眼

查一下,没有壳
看看编译时间
看着就有点不对劲
这是伪造的。。
我也可以去修改它

看看导入表
这里可以知道这个可能会执行命令,复制文件,操作一些资源文件,创建线程什么的
这里还涉及权限的东西,那个提升程序的特权(AdjustTokenPrivileges),那个lookup是查询权限,之前的打开句柄吧

网上查了查提升权限的代码段
if ( !OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken ) ){
       TOKEN_PRIVILEGES tkp;
       LookupPrivilegeValue( NULL,SE_DEBUG_NAME,&tkp.Privileges[0].Luid );//修改进程权限
       tkp.PrivilegeCount=1;
       tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
       AdjustTokenPrivileges( hToken,FALSE,&tkp,sizeof tkp,NULL,NULL );//通知系统修改进程权限
       return( (GetLastError()==ERROR_SUCCESS) );
}
就是用这几个函数的

接下来看看字符串

有些个下载到文件的api,下载那个完之后的文件后,很可能伪装成系统的一些文件的名称了

没运行lab4前,我们打开那个system32的exe看看

其实运行lab4也会打开这个页面

先来个小总结:有网络连接为啥没有网络连接的api,但字符串中又搜索得到呢,为什么要操作资源节中的数据呢,难道资源节中有什么秘密吗


我们用resource hacker看看资源有什么
我去,里面竟然藏了一个二进制文件
我们直接将他导出来

我们上传查下毒

查下壳,就是一个vc++写的程序,没加壳
看下导入表
应该
这才看到下载了
字符串跟刚才的重复了的,string也搜到资源节中的字符串了

那整个程序我们就可以猜想出来了:
首先是从资源节提取出二进制文件,放到一个目录(可能需要提权),跟着执行提取出来的下载程序,并运行,下载程序下载一个程序后,运行下载后的程序,恩大概应该这样

我们接借助ida看看吧
一开始会枚举进程
枚举每个进程pid
下面调用此函数,看看那个程序(winlogon.exe)有没有运行,
winlogon.exe:Windows Logon Process,Windows NT 用户登陆程序,管理用户登录和退出

跟着进入下面这里
这个是将系统目录下的\system32\wupdmgr.exe移动到临时目录的winup.exe
搜一下,确实如此

再来看,最后的4011fc
首先获取到路径\system32\wupdmgr.exe
跟着从资源节读取数据,最终写入上面的目录
跟着执行从资源节提取出来的一个二进制文件

我们用ida看看那个提取出来的文件

那个程序图标都变了


最后发现怎么没有权限提升呢,发现漏了
跟进,提升不成功就加载一个dll,sfc_os.dll,进行dll注入
继续跟进就可以看到经常看到的权限提升的代码了

我们最后看看那个下载来的程序时怎么样的吧

结果发现跟从资源节解压出来的哪个二进制文件一样,访问一下那个下载的url结果已经404了
所以那个wupdmgr.exe跟资源节解压出来的一样也不奇怪了(没下载前是用那个覆盖的嘛)

好了,基本上分析完了,虽然程序简单,但是学到的东西还是很多的

免费评分

参与人数 4吾爱币 +1 热心值 +4 收起 理由
夜雨润无声 + 1 + 1 我很赞同!
Hmily + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
ktpd + 1 用心讨论,共获提升!
lies2014 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| giantbranch 发表于 2016-11-16 09:36
chinesewolf 发表于 2016-11-15 16:49
感兴趣,不过汇编语言是不是要很深厚点基础

不需要很深厚吧,边搞边学咯
aptsuny 发表于 2017-6-25 11:28
拜谢,阅读并实践了你的分析过程,读那本书的时候也没现在这样受益。另外阅读了你的博客,脱壳八法。感谢你。
chinesewolf 发表于 2016-11-15 16:49
感兴趣,不过汇编语言是不是要很深厚点基础
lies2014 发表于 2016-11-15 17:05
还没仔细看,不过冲着这么详细的过程记录必须加分,认真的态度总是最美的
头像被屏蔽
huitailang 发表于 2016-11-16 02:10
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| giantbranch 发表于 2016-11-16 09:38
huitailang 发表于 2016-11-16 02:10
这个属于行为分析吗

静态的分析。。。。,也涉及一些行为吧
still1414 发表于 2016-11-16 10:21
f5还是好啊
wskill60 发表于 2016-11-16 11:35
好帖必须支持
shuixiang110 发表于 2016-11-24 14:05
楼主说的很详细。感觉相当有用。。。
GreyChroma 发表于 2016-11-24 18:37
学习下,收藏了,整理的很好,4个实验,动手操作下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 12:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表