刀锋上前行!绕过Ramint蠕虫病毒直接脱壳
系统 : Windows xp
程序 : 某游戏客户端
程序下载地址 :不提供
要求 : 脱去压缩壳
使用工具 : OD & PEID & LordPE & Import REC
被感染客户端中的是Ramint蠕虫病毒,感染速度非常快,危害相当大。建议在虚拟机环境下进行逆向分析。
相关资料:
Ramnit(W32.Ramnit)的初始形态是蠕虫病毒,首次出现于2010年,激进的自繁殖策略使其得到迅速传播。一旦入侵计算机,该病毒就会找出本地硬盘和移动硬盘上所有的EXE、DLL、HTM和HTML文件,通过自身副本感染这些文件。
本文参考了这篇帖子的12L回复:
会有一个新段位 rmnet的sfx段
取现在EP地址-(【EP+】得到的偏移数)= 原始OEP 动态劫持脱壳
EP处直接粘贴该二进制
E8 5D ED 2B AD 6C 1C FF E0 静态脱壳
先提取rmnet区段数据。然后取得 EP+328数据用ep减即可。。。然后删除rmnet区段。
客户端入口点在病毒区段,其内容为:
> pushad
E8 call
5D pop ebp
8BC5 mov eax, ebp
81ED 326F0120 sub ebp, 20016F32
0062200F 2B85 sub eax, dword ptr [ebp+]
4C720120 mov dword ptr [ebp+2001724C], eax
0062201B B0 mov al,
0062201D 9E740120 xchg byte ptr [ebp+2001749E], al
3C cmp al,
0F85 DE020000 jnz
按照帖子回复所说静态修改代码,其内容变为:
> pushad
E8 call
5D pop ebp
83ED sub ebp,
0062200A 2BAD sub ebp, dword ptr [ebp+]
896C24 1C mov dword ptr [esp+1C], ebp
popad
FFE0 jmp eax
以上指令找出了oep的位置,并直接跳转进入oep。也就是说,根本不用分析病毒行为,我们直接绕过它就可以。
脱壳时,运行到客户端真正的oep再完整转存内存映像,并在重建输入表的时候选择正确的oep,那么病毒代码就并不会执行。
紧接上部,jmp eax之后来到了程序的upx壳部分:
0060D080 pushad
0060D081 BE mov esi,
0060D086 8DBE 00C0E8FF lea edi, dword ptr [esi+FFE8C000]
0060D08C push edi
0060D08D 83CD FF or ebp, FFFFFFFF
0060D090 EB jmp short 0060D0A2
0060D092 nop
0060D093 nop
0060D094 nop
0060D095 nop
0060D096 nop
0060D097 nop
0060D098 8A06 mov al, byte ptr [esi]
0060D09A inc esi
0060D09B mov byte ptr [edi], al
0060D09D inc edi
0060D09E 01DB add ebx, ebx
0060D0A0 jnz short 0060D0A9
0060D0A2 8B1E mov ebx, dword ptr [esi]
单步执行pushad之后,esp指向0012FFA4 ,键入命令hr 12FFA4下硬件断点,F9运行程序断在此处:
0060D207 8D4424 lea eax, dword ptr [esp-]
0060D20B 6A push
0060D20D 39C4 cmp esp, eax
0060D20F ^ FA jnz short 0060D20B
0060D211 83EC sub esp, -
0060D214 - E9 93D9EFFF jmp 0050ABAC
直接在60D214出下断,跟入真正的oep:
0050ABAC push ebp
0050ABAD 8BEC mov ebp, esp
0050ABAF 6A FF push -
0050ABB1 90C35100 push 0051C390
0050ABB6 60D65000 push 0050D660
0050ABBB :A1 mov eax, dword ptr fs:[]
0050ABC1 push eax
0050ABC2 : >mov dword ptr fs:[], esp
0050ABC9 83EC sub esp,
0050ABCC push ebx
0050ABCD push esi
0050ABCE push edi
0050ABCF E8 mov dword ptr [ebp-], esp
0050ABD2 FF15 A8B15100 call dword ptr [51B1A8] ; kernel32.GetVersion
此时单击菜单Debug->hardware breakpoints删除之前设置的硬件断点。
打开LordPE选择客户端程序并单击右键选择“完整转存”。
保存dump文件之后,再打开输入表重建工具Import REC附加到客户端程序。
填写OEP为“10ABAC”,依次单击“自动查找IAT”、“获取输入表”,最后,单击“修复转存文件”,选中之前的dump文件,则脱壳成功。
刀锋上前行!绕过Ramint蠕虫病毒直接脱壳的更多相关文章
- [转帖]Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染
Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染 https://www.kubernetes.org.cn/5951.html 本来想说可以用 official版本的镜像 但是一 ...
- Trick蠕虫病毒来袭!幕后主使竟是一名高中生“黑客”!
黑客一直是美国电影中的重要元素,很多经典大片中都有黑客的身影,如战争游戏.黑客帝国等.电影中黑客总是神通广大.行侠仗义,<战争游戏>中的年轻黑客大卫•莱特曼利用黑客技术避免引爆核武器,&l ...
- srv.exe蠕虫病毒~
你是否在电脑使用过程中遇到过这样的问题: 1.文件运行后,同目录下会出现一个原名 srv.exe的文件 2.文件运行后会把浏览器打开 3.电脑上的html文件末尾会增加一大堆东西 完了,电脑中了srv ...
- Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过
Kali Linux Web 渗透测试视频教程—第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...
- CTF---Web入门第二题 上传绕过
上传绕过分值:10 来源: Justatest 难度:易 参与人数:5847人 Get Flag:2272人 答题人数:2345人 解题通过率:97% bypass the upload 格式:fla ...
- 实验吧_程序逻辑问题(代码审计)&上传绕过
一开始我先随便输入了几个账号名字进行测试,发现当输入的账号名为admin时会发生报错 经过测试果然是一个注入点 当拿到admin密码后发现根本没用,没办法另寻他路 审查元素时发现提示index.txt ...
- WannaCry勒索比特币蠕虫病毒解决方案
WannaCry ransomware used in widespread attacks all over the world Customer Guidance for WannaCrypt a ...
- Window应急响应(二):蠕虫病毒
0x00 前言 蠕虫病毒是一种十分古老的计算机病毒,它是一种自包含的程序(或是一套程序),通常通过网络途径传播,每入侵到一台新的计算机,它就在这台计算机上复制自己,并自动执行它自身的程序. 常见的 ...
- 服务器中了蠕虫病毒Wannamine2.0小记
近期用户反馈某台服务器总感觉性能不是很好存在卡顿,于是今天远程上去分析. 打开任务管理器发现CPU使用率非常低,内存使用也在接受范围内(10/64G).不过我有一个偏好就是不喜欢用系统自带的任务管理器 ...
随机推荐
- 学习RxJS: 导入
原文地址:http://www.moye.me/2016/05/31/learning_rxjs_part_one_preliminary/ 引子 新手们在异步编程里跌倒时,永远会有这么一个经典问题: ...
- MyBaits一对一的查询方法
MyBaits一对一的查询方法 一:表数据与表结构 CREATE TABLE teacher( t_id INT PRIMARY KEY AUTO_INCREMENT, t_name ) ); CRE ...
- 在jfinal中使用druid,并配置查看权限
首先导入druid包,然后配置configPlugin @Override public void configPlugin(Plugins me) { /**配置druid数据连接池插件**/ Dr ...
- 年度榜单:2013年最佳免费 PSD 设计素材揭晓
<年度榜单>系列继续给大家带来2013年度发布的好东西,这篇文章要给大家分享的是本年度最佳的12套精美的 PSD 设计素材,你可以免费下载使用.这些免费素材不仅能帮助他们节省大量的时间,而 ...
- JAVA 设计模式 享元模式
用途 享元模式 (Flyweight) 运用共享技术有效地支持大量细粒度的对象. 享元模式是一种结构型模式. 结构
- 在Elasticsearch中查询Term Vectors词条向量信息
这篇文章有点深度,可能需要一些Lucene或者全文检索的背景.由于我也很久没有看过Lucene了,有些地方理解的不对还请多多指正. 更多内容还请参考整理的ELK教程 关于Term Vectors 额, ...
- 主成分分析(PCA)的一种直观理解
源自知乎的一个答案,网上很多关于PCA的文章,不过很多都只讲到了如何理解方差的投影,却很少有讲到为什么特征向量就是投影方向.本文从形象角度谈一谈,因为没有证明,所以不会严谨,但是应该能够帮助形象理解P ...
- 输入URL之后都发生了什么
输入URL之后都发生了什么 这个标题印象中已经有很多讨论了.也来说说这个话题. 从头开始,当你的电脑使用网线连接到网络的时候,我们都知道,这个时候你的电脑会获取一个IP,这个IP就是你的唯一标识了.好 ...
- VS2015 新Web项目(C#6)出现CS1617错误的解决
VS2015新增了对C#6的支持. 在新的Web项目模板中通过引入nuget包Microsoft.CodeDom.Providers.DotNetCompilerPlatform:1.0.0并在web ...
- 通过原生JS实现为元素添加事件
自己写了一个为元素添加事件的方法,并封装到对象中. 说明: id : 目标元素的ID type: 事件的类型,注意的是不能加on fn:事件处理程序 isBubble :规定事件流 代码: var b ...