apktool
apktool是一个用于第三方封闭的二进制Android应用程序逆向工程工具
它可以将资源解码为几乎原始的形式,并在进行一些修改后重建它们;
它可以逐步调试小代码, 由于类似项目的文件结构和一些重复性任务的自动化,比如构建apk等,它还使得逆向工作变得更容易
下面是apktool的项目地址
Source: https://code.google.com/p/android-apktool/
apktool参数
详细的apktool参数在这里,也可以在kali中用apktool命令来显示
https://tools.kali.org/reverse-engineering/apktool
apktool的参数很多,所以这里就不一一列出来了,因为这样列出了排版出来不好看,我们就说几个常用的
Usage: apktool [-q OR -v] COMMAND [...]
COMMAND可以使用的是:
d[ecode] [OPTS] []
首先是d参数,意思是decode,这个也是最重要的参数,用于解压.apk文件的
root@kali:~# apktool d /root/test.apk
这样就可以把这个apk解压相同目录下相同名字的一个目录中了
[OPTS]的参数可以在apktool的参数说明查到,这里就不详细说了
file.apk就是我们要逆向的文件
[]代表了我们想把解压的结果保存到那个目录中,如果没有提供,默认保存在相同目录下
下面我们通过一个例子来讲解apktool这个命令对我们分析apk木马有什么帮助
PS:这篇文章是初音两年前写的,图片找不到原图了,所以会有个我以前的公众号的水印
一、起因
事情的起因是这样的
一个同事收到了一条群发的短信,短信如下
然后作为搞安全的听说于是就要查一查这个东西是什么
网络诈骗的都搞到我们头上了
然后就开动了
二、前期分析
一开始拿到这个网址的时候,我的思路第一想到的肯定是先上御剑扫一扫
御剑扫了半分钟,一点输出都没有,感觉有点不对,然后切换到虚拟机中,用zenmap扫端口看看
果不其然,这个网站除了给你提供下载的端口之外,什么端口都没有开放
然后查whois,查域名,发现了他域名的注册邮箱
是个叫王小成的家伙,服务器中间件是iis/6.0的
还找到了他的注册邮箱
但是这都没有用
三、逆向工程
既然从网址这一块没什么突破,那我们就下载他的apk做逆向分析看看
我们下载下来的东西,就是下图显示的这个
然后直接拖到Kali,用Kali工具中的apktool解压这个apk
直接在terminal中执行
apktool d lx.apk
然后就在本地目录下生产了一个叫lx的目录
然后,里面都是apktool分析的结果
解压完毕之后然后开始了分析阶段
简单的说就是:
一个一个文件的分析,一个目录一个目录的找(不服你咬我啊~)
在其中的文件中,我们发现了SMSReceiver,说明这个apk可以发送和接收短信
然后我们继续找,在另一个目录下,发现这个,还是比较重要的东西
我们看见了smtp,说明在木马中,可以用mail函数中的smtp协议进行邮件的发送(不懂smtp的好好看看TCP/IP)
那既然可以发送邮件,说明在木马中肯定会存在邮箱地址的密码
我们继续找
最后在/lx/smail/com/phone/stop/db目录下的a.smail的文件里面,发现他的上传数据的邮箱和密码
最后结论就是他是一个通过smtp(简单邮件传输协议),获取本机的通讯录和短信后,上传邮箱的木马
三、收割邮箱
我们顺藤摸瓜,登陆这个邮箱
里面全是中了木马的手机发送的手机通讯录
我们随便打开一个
有通讯录电话的
有短信的消息的
通过这个木马,黑客还可以读取你的短信,轻松的看到你的敏感信息
而且这个木马的感染了一个手机之后,可以通过这个手机,发送短信给通讯录的好友
通过的形式传播和感染,下图中的信息就是同学录发给本机的短信
五、清理痕迹
登陆上黑客用于接受信息邮箱后,由于改邮箱密码需要黑客的手机号来接收验证码,没办法
为了终止这个病毒的扩张,我们通过设置邮箱白名单的策略
将白名单中添加一个不存在的邮箱(回头是岸@好好做人)过滤掉所有的发自感染了木马的手机的邮件
六、事后提醒
重要数据如密码,账号等不要以短信的形式保存在手机里
不要点开短信中提到的网址和安装不明网站下载的软件
通讯录中最好以全名的形式保存联系方式,不要加上爸爸,妈妈等称谓
定期手机杀毒
本文完
领取专属 10元无门槛券
私享最新 技术干货