吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4982|回复: 95
上一主题 下一主题
收起左侧

[Android 分享] Android各种抓包情景

    [复制链接]
跳转到指定楼层
楼主
North886 发表于 2024-8-28 11:17 回帖奖励

@TOC

Android抓包

Android抓包无非就是三种情况:
1.未校验:直接放证书就能抓
2.单向认证:通过hook技术,绕过sslping
3.双相认证:逆向分析,找证书及密钥
对于前期工作,导入证书信任,可参考下面文章,未作认证校验情况下均可以解决

常规抓包,Android14可用

1.常规使用将证书导入到/system/etc/securtiy/cacerts


Android14已经将证书位置更改为/apex下面,正常使用chmod 644将证书push到system下面已经
不再好用,可以尝试将权限更改为777,一般情况下都是可以抓到数据包的。

该操作一般可能需要具备root和remount权限,能够将整数永久存储在system下面,临时存储的
话,可以参考我这篇文章
https://blog.csdn.net/qq_45748106/article/details/136716949?spm=1001.2014.3001.5502

临时创建映射apex下

上述抓包机制,终归是取巧,并非能够真实导入到系统袭人目录下。下面方法,临时创建目录将证书映射到apex下面,不过该方法不是永久的导入到该目录,每次重启设备需要重新导入,可以做成脚本,方便使用。该方法能够将整数添加到设备的系统信任证书根目录下,真正实现系统信任机制

1.创建cmd命令方便将整数以及脚本导入到设备中

adb root

adb push set_ca_android14.sh脚本位置 /data/local/tmp/
adb shell chmod 777 /data/local/tmp/set_ca_android14.sh

adb push 工具证书位置 /data/local/tmp/

adb shell /data/local/tmp/set_ca_android14.sh

pause

eg:

adb root

adb push E:\set_ca_android14.sh /data/local/tmp/
adb shell chmod 777 /data/local/tmp/set_ca_android14.sh

adb push E:\9a5ba575.0 /data/local/tmp/

adb shell /data/local/tmp/set_ca_android14.sh

pause

set_ca_android14.sh脚本


mkdir -p -m 700 /data/local/tmp/tmp-ca-copy

cp /apex/com.android.conscrypt/cacerts/* /data/local/tmp/tmp-ca-copy/

mount -t tmpfs tmpfs /system/etc/security/cacerts

mv /data/local/tmp/tmp-ca-copy/* /system/etc/security/cacerts/

cp /data/local/tmp/269953fb.0 /system/etc/security/cacerts/
cp /data/local/tmp/9a5ba575.0 /system/etc/security/cacerts/
cp /data/local/tmp/6e39a726.0 /system/etc/security/cacerts/

chown root:root /system/etc/security/cacerts/*
chmod 644 /system/etc/security/cacerts/*
chcon u:object_r:system_file:s0 /system/etc/security/cacerts/*

ZYGOTE_PID=$(pidof zygote || true)
ZYGOTE64_PID=$(pidof zygote64 || true)

for Z_PID in "$ZYGOTE_PID" "$ZYGOTE64_PID"; do
    if [ -n "$Z_PID" ]; then
        nsenter --mount=/proc/$Z_PID/ns/mnt -- \
            /bin/mount --bind /system/etc/security/cacerts /apex/com.android.conscrypt/cacerts
    fi
done

APP_PIDS=$(
    echo "$ZYGOTE_PID $ZYGOTE64_PID" | \
    xargs -n1 ps -o 'PID' -P | \
    grep -v PID
)

for PID in $APP_PIDS; do
    nsenter --mount=/proc/$PID/ns/mnt -- \
        /bin/mount --bind /system/etc/security/cacerts /apex/com.android.conscrypt/cacerts &
done
wait # Launched in parallel - wait for completion here

echo "System certificate injected"

其核心原理就是将整数注入到apex下面,具体代码理解大家可以自行搜索,该文章原文来自:

准备好两个文件之后运行第一个cmd文件就行,结果:


证书注射成功,查看设备系统信任证书目录

这个是fiddler的证书,别的不在列举

万能的wireshark

3.1tcpdump+wireshark
可根据应用包名,链接adb之后,使用ps命令获取该应用的进程id

ps -ef | grep packagename

跟据应用进程id,使用netstat得该应用使用的tcp端口号

netstat -anp | grep pid
                根据得到的端口号,使用tcpdump进行监听指定网卡,并指定端口,抓取数据包
                ifconfig:跟据ifconfig命令排查当前使用的网卡是哪个
                tcpdump -i 网卡名 port '(端口号 or 端口号2 or 端口号 3)' -w xxx.pacp[适用于进程多个端口进行网络数据传输]

将pacp文件拖入wireshark进行分析,具体加解密机制,可参考此文章

https://www.wsh-study.com/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9F%BA%E7%A1%80/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/HTTP/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8tcpdump%E6%8A%93%E6%8B%8Dhttps%E5%8C%85/

小黄鸟

虽然显示目前仅支持13及一下,但是可以通过2中脚本将小黄鸟证书导入到设备中,绕过设备对于根目录证书新人的机制,进行抓包,并且可以进行筛选指定监听的进程
好用,还可以多端互动,设备和pc端进行联动,蛮好用的·,github链接:

https://github.com/MegatronKing/HttpCanary

总结

以上抓包足以满足大部分抓包需求,对于做了证书校验的,如果是单向认证或者伪双相认证,均可以通过hook技术,绕过sslping机制进行抓包,操作并没有什么难度;针对双向认证,一般就需要逆向基础,去反编译app找证书及其通讯的密钥,目前本人水平仅限于java层逆向,正在尝试native层学习so加固相关知识,后续有能力再补充双相认证机制绕过。hook绕过sslping回头整理一下发出来。

其实测试如果对于android版本并没有要求的话,完全可以采用低版本或者模拟器进行抓包,本人是工作所需,所测试任务均指定需要android14和android15,紧跟android版本,所以进行各种尝试,对于版本没有要求的完全可以采用低版本进行,方便还好用

image.png (71.56 KB, 下载次数: 2)

image.png

免费评分

参与人数 26吾爱币 +31 热心值 +19 收起 理由
junjia215 + 1 + 1 用心讨论,共获提升!
decor + 1 小黄鸟还行
LGHLGH + 1 + 1 热心回复!
Golive180 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
正己 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
shenRain + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
抱歉、 + 1 用心讨论,共获提升!
Cleopatra + 1 + 1 我很赞同!
nf7800 + 1 用心讨论,共获提升!
gqdsc + 1 谢谢@Thanks!
crizquan + 1 + 1 谢谢@Thanks!
arctan1 + 1 + 1 热心回复!
z1987 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
梦想遥不可及 + 1 + 1 厉害了我的大佬,正需要这样的步骤,大佬有交流群吗?
tomanpj + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
liuxuming3303 + 1 + 1 谢谢@Thanks!
Night1918 + 1 + 1 谢谢@Thanks!
jaffa + 1 谢谢@Thanks!
salili + 1 + 1 用心讨论,共获提升!
algy5 + 1 + 1 谢谢@Thanks!
han163426 + 1 我很赞同!
qq8989 + 1 + 1 csdn差评
creazycar + 1 + 1 谢谢@Thanks!
lengyan5i + 1 + 1 我很赞同!
helian147 + 1 + 1 热心回复!
lunoah + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
sondycnc 发表于 2024-8-28 11:33
写的很精彩,可惜看不懂啊
推荐
moringstar 发表于 2024-9-18 16:05
询问大佬一个问题:有没有在开发过程中遇到之前用fiddler和小黄鸟抓到的包的响应内容json数据中data数据是明文(就是页面显示的数据),现在就是data变为null增加了一个data_encode后面就是一串乱码,(可能是加密了?是miniapp来的)
3#
kiiiu 发表于 2024-8-28 12:03
4#
zhiyuan123 发表于 2024-8-28 12:10
一般用Charles
5#
世界仔 发表于 2024-8-28 12:32
写得非常精采,为什么不用录屏教学呢。
头像被屏蔽
6#
humor20999 发表于 2024-8-28 13:00
提示: 作者被禁止或删除 内容自动屏蔽
7#
张馆长 发表于 2024-8-28 13:04
写得很详细,市面上好多文章互相抄袭,认为加个ca就行了,后面两种少之又少
8#
yunteng9527 发表于 2024-8-28 13:20
感谢分享学习学习
9#
Do_zh 发表于 2024-8-28 13:30
刚好需要学习这方面的知识。
10#
serial2010 发表于 2024-8-28 13:36

刚好需要学习这方面的知识。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 07:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表