首页 > 编程知识 正文

破解脱壳(逆向教程)

时间:2023-05-05 19:33:28 阅读:67456 作者:1477

2020/05/18 -

引言本身只知道装壳,只知道用软件可以自动脱壳,对原理一无所知。 而且,最近引进的蜜罐经常下载UPX盒子的样品。 这次分析一下吧。

学习到的是利用vim修改十六进制内容的upx脱壳样本,首先经常下载到蜜罐的文件名称为I。

I样品

文件已经stripped,并使用string命令显示。 大多数字符串没有什么意义,但会显示UPX标记。

弦乐队

在virustotal中检测时,您会发现它被标记为恶意软件。

虚拟脱壳过程

我在网上搜索了关于elf的外壳,但是没有找到很多。 然后安装upx命令、yum install upx,进行脱壳、upx -d i,结果如下所示。

upx失败了

表示p_info部分已被破坏。

然后按照提示信息检索了这个内容。 找到了以下两个内容[1][2]。 第一次看[2]的文章后,感觉不清楚,不知道他具体是什么意思。 (后述:成功脱壳后,[2]在原理上我觉得是更具体的描述。 )

那么主要看文章[1]学习,这篇文章有点跳跃性,有些地方不太理解。 虽然成功了。

首先,自己在linux上分析,使用vim进行二进制显示,vim i,进入后命令%! XD显示文件开头的十六进制数字,如下所示:

二进制显示

确实,正如文中所示,可以看到这个地方被定为0。

那么,按照文中的思路,找到p_info的真正存储位置,然后拖到最后。

p_info位置

然后修正上述位置。

修改后请注意。 此时,直接保存并退出vim,并将文件保存为这样的十六进制文本文件。 重新转换为原始文件,在vim中%! xxd -r。

然后保存并退出虚拟机。

运行upx -d i命令时,可以看到文件已成功丢失。

成功脱壳

再次使用strings进行确认。

莫子

其他文字

可以看到很多莫奇的文字,联想到文章[2]分析的这个僵尸网络的样本,搜索相关内容后发现确实存在这个莫奇病毒。 将此病毒再次上传到virustotal,

确实会显示mozi.m的标记,但下面的引擎标记中不会显示mozi。

这次只是偶然找到了合适的解决方案,简单地理解了外壳的过程,但也不知道具体的原理。

存在以下问题。

为什么修改这些地方的内容不影响软件的运行? 软壳的原理是什么? 参考[1]某IOT蠕虫分析的UPX脱壳实战

[2] upx-packed-elf-binaries-of-the-peer-to-peer-botnet-family-Mozi /

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。