此可疑APK用于配置无线设备。
我需要确定两件事:
首先,APK与设备建立的WPA密钥
,然后是HTTPS API调用的顺序用来配置APK的设备。
配置过程是:
从公司网站下载混淆的APK
创建帐户在其服务器上,
然后APK用一个私有WPA密钥连接到设备SSID
有一个本地.so可以对密钥进行一些计算
HTTPS会话Internet服务器使用固定证书,尝试代理导致证书错误。
理想情况下,我想使用仿真环境,并挂接库调用(类似于“ Droidbox”的作用) ),但找不到最新版本。
#1 楼
iSEC合作伙伴的Android SSL TrustKiller利用Cydia基板可以提供的钩子来击败证书固定。#2 楼
(我在Stack Overflow上给出的答案的副本)您可以尝试将代码注入Android应用程序以嗅探和转储SSL流量。看一看https://github.com/5alt/ssl_logger(5alt的fork与Android一起使用)。请注意,您需要使用root。
这通过在OpenSSL中挂钩函数来起作用,以便可以在加密之前/解密之后转储原始流量。
您必须安装Frida Android服务器:https://www.frida.re/docs/android/
通过USB调试连接手机
从https:/下载
frida-server
以获得正确的CPU架构/github.com/frida/frida/releases 要知道您的设备正在使用哪种CPU架构(以获取正确的下载地址),可以在电话上运行
getprop ro.product.cpu.abi
。以根用户身份推送到Android的
/data/local/tmp
,使其成为可执行文件(chmod 755
)。在电话上运行
/data/local/tmp/frida-server
。在计算机上,使用
frida-tools
安装pip install --user frida-tools
。 (必须是Python2,而不是Python3!)通过在连接电话的计算机上运行
frida-ps -U
,列出进程以查看一切是否正常转发Frida的端口:
adb forward tcp:27042 tcp:27042; adb forward tcp:27043 tcp:27043
获取
ssl_logger
在计算机上在计算机上运行
python ssl_logger.py -pcap log.pcap -remote com.android.package.name
。 (请注意,自述文件中没有说明-remote
,但这是必需的!。)您可以添加
-verbose
来查看实时流量输出。让它运行直到完成。 ,然后按Ctrl + C退出。然后,您将拥有一个文件
log.pcap
,可以在Wireshark中对其进行分析。注意:如果遇到JavaScript错误,则必须编辑
ssl_logger.py
并在与var addresses, SSL_get_fd, SSL_get_session, SSL_SESSION_get_id, getpeername, getsockname;
相同的行之前插入与function initializeGlobals
相同的行。在Android上使用Frida的教程:https://11x256.github.io/
#3 楼
对于嗅探https呼叫,我使用Charles代理,当您在设备上安装Charles证书时,您将能够嗅探整个apk <->服务器流量。评论
这个问题专门提到证书是固定的,因此这是行不通的。
– Cybergibbons
16年1月28日在21:54
评论
如果您分享有关如何使它工作的详细信息,我将永远感激不已?我已经尝试在Genymotion虚拟机和默认的Android虚拟机上使用带有Cydia衬底的Android SSL TrustKiller,并且还尝试了不同版本的android,甚至是我的实体电话,但我仍然只能使用来自不使用证书固定的应用的流量。请分享您正在使用什么设置?
– 43.52.4D。
16年2月9日在1:46