对使用系统调用进行收发包的frida hook抓包
2021-09-13 08:45:46 Author: mp.weixin.qq.com(查看原文) 阅读量:75 收藏


看雪论坛作者ID:Avacci

(题外话:先恭喜高研班学员咸鱼炒白菜拿到远超3W的offer!)

恭喜“鱼鱼”月薪远超3w!【看雪高研班】优秀毕业生 前来报到~

目标:请编写frida脚本,完成对该app通信的抓包

先部署环境,将局域网段改为192.168.5.x,再将一台主机的ip固定为192.168.5.150。

在该主机上运行服务器端程序server.exe。

在手机上装上目标apk,打开后,就会在服务器端差不多每隔5秒收到一个请求。

 
现在就是要用frida脚本抓取这个包。

目标app有360的壳:

 
脱完壳后发现类的内容还是不完全,其中的方法都显示为native,可能是用到了vmp。
 
那就去native层看看,这里加载的库为libnative-lib.so。用ida打开apk中直接解压出来的so会报各种解析错误。

打开后发现大段的代码段都没有解析成代码,识别出来的函数也特别少。特别是没有Java层中看到的stringFromJNI函数。可能文件内容被加密处理过。

 
用frida dump 出运行时内存中的libnative-lib.so。
 
再次用ida打开dump得到的so,发现内容正常很多,且识别出了stringFromJNI。
尝试用frida hook libc的sendto和recvfrom方法,没有得到任何信息。于是猜测可能直接用了系统调用进行消息的发送和接收。
 
用课上的脚本,在内存中搜索000000ef
并hook所有系统调用指令”SVC #0”
对于sendto和recvfrom系统调用,打印出消息的内容:
发现这样就可以hook到由sendto发送的请求:
 
以及recvfrom接收的响应:

 

看雪ID:Avacci

https://bbs.pediy.com/user-home-879855.htm

*本文由看雪论坛 Avacci 原创,转载请注明来自看雪社区

# 往期推荐

1. 超级长的IE调试总结:CVE-2013-1347 IE CGenericElement UAF漏洞分析

2. MS17-010 “永恒之蓝”漏洞分析与复现

3.11个小挑战,Qiling Framework 入门上手跟练

4. VMP导入表修复

5. 祥云杯2021 Windows R0题 Rev_APC

6. Android APK的加固方法

公众号ID:ikanxue
官方微博:看雪安全
商务合作:[email protected]

球分享

球点赞

球在看

点击“阅读原文”,了解更多!


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458392502&idx=1&sn=d3c7746f85f44c6fa3731ad54757ccc7&chksm=b18f273c86f8ae2ab110c65fb3287c3a8414c56073e517be2c95028dc843ee4ba514cb0db411#rd
如有侵权请联系:admin#unsafe.sh