黑客24小时在线接单网站

黑客在线接单,网站入侵,渗透测试,渗透网站,入侵网站

利用 Burp Suite 劫持 Android App 的流量(一)

在Android应用程序进行安全评估时,通常会进行两方面的评估:移动前端和后端API。为了检查API你需要大量的文档来安全,比如Swagger或Postman文件或移动应用程序可以为您生成所有流量,并简单地通过 *** (MitM拦截和修改流量。

有时候设置 *** 真的很容易。我将在本文中使用它PortSwigger的Burp 套件 *** ,但同样的步骤当然可以用于任何一个HTTP *** 。在所有示例中, *** 将托管8080端口192.168.1.100。从最基本的开始,检查越复杂。

设置设备

首先,我们需要确保设备上的所有设置都是正确的。无论你试图使用它MitM这些步骤适用于应用程序。

(1) 设备上有 *** 吗?

很明显,之一步是在设备上配置 *** 。使用者介面会因你的Android版本不同,但不难找到。

(2) 完整性检查

进入“设置”>“连接”>“Wi-Fi”,选择你使用的Wi-Fi *** ,点击“高级”>“ *** ”>“手动”,然后输入您的 *** 详细信息:

                   
  • *** 主机名:192.168.1.100;
  •                
  • *** 端口:8080;

利用 Burp Suite 劫持 Android App 的流量(一)

Burp是否监控所有接口?

默认情况下,Burp只监控本地接口(127.0.0.1),但由于我们想从不同的设备连接,Burp监控已经加入Wi-Fi *** 的特定接口。您可以监控所有接口或特定接口(如果您知道需要哪个接口)。作为完整性检查,我通常使用它“监控所有接口”。请注意,Burp有一个API,它允许其他使用相同Wi-Fi *** 人员查询您的 *** 并从中搜索信息。

(1) 完整性检查

导航到你的主机http://192.168.1.100:8080,欢迎界面应该出现。

(2) 解决方案

在Burp中,进入“ *** ”>“选项”>在“ *** 监听器”单击窗口中的 *** ,然后在窗口中“绑定到地址”配置上选中“所有接口”。

利用 Burp Suite 劫持 Android App 的流量(一)

您的设备能连接到 *** 吗?

有些 *** 被主机/客户端隔离,客户端不允许相互通信。在这种情况下,由于路由器不允许,您的设备将无法连接到 *** 。

(1) 完整性检查

打开浏览器,导航到设备http://192.168.1.100:8080。你应该看到Burp欢迎屏幕。如果您在之前的检查中配备了 *** ,您也应该能够导航到http://burp。

(2) 解决方案

这里有一些选择:

a.自定义无线 *** 设置禁用主机/客户端隔离;

b. *** 托管在可访问设备上,如AWS ec2实例;

c.执行一个ARP欺骗攻击,欺骗移动设备,让它相信你是路由器;

d.使用adb反向 *** 通过USB的流量:

                   
  • 将设备上的 *** 配置转移到端口8080127.0.0.1;
  •                
  • 通过USB并保证连接设备adb设备显示您的设备;
  •                
  • 执行adb reverse tcp:8080 tcp:8080,它将
  •                
  • 现在,你应该能够浏览它http://127.0.0.1:8080并看到Burp欢迎屏;

你可以 *** HTTP流量吗?

HTTP通常比较流量步骤HTTPS流量要容易得多,所以这里的快速状态检查可以保证您的 *** 正确设置,并且可以被设备访问。

(1) 完整性检查

导航到http://neverssl.com并确保你在Burp看到了这个请求Neverssl.com一个不用HSTS网站,永远不会发送你HTTPS版本使其成为测试纯文本流量的理想选择。

(2) 解决方案

                   
  • 再次检查以前的检查,可能有些地方不对;
  •                
  • Burp拦截已启用,请求正在等待您的批准;

是否已安装在设备上Burp证书?

为了拦截HTTPS *** 证书需要安装在设备上。

(1) 完整性检查

进入设置>安全性>信任的证据>用户,并确保列出您的证书。此外,您还可以尝试拦截设备浏览器HTTPS流量。

(2) 解决方案

许多地方都有记录,但这里有一个简短的摘要:

                   
  • 导航到浏览器http://burp;
  •                
  • 点击右上角“CA证书”,将开始下载;
  •                
  • 使用adb或者文件管理器将扩展名从der更改为crt:adb shell mv /sdcard/Download/cacert.der /sdcard/Download/cacert.crt;
  •                
  • 将文件管理器导航到文件并打开文件开始安装;

你的Burp证书已安装为证书吗?

Android默认情况下,最新版本的应用程序不相信用户证书。请指出具体原因https://blog.nviso.eu/2017/12/22/intercepting-https-traffic-from-apps-on-android-7-using-magisk-burp/。或者,您可以重新打包应用程序并添加相关控件network_security_policy.xml但是把根放在文件里CA保存在系统CA其他步骤(如第三方框架)的麻烦可以在存储中避免,所以这是我的首选。

(1) 完整性检查

进入设置>安全性>信任的证据>系统,并确保列出您的证书。

(2) 解决方案

为了将您的证书列为根证书,需要使用您的设备Magisk根目录:

                   
  • 正常安装客户端证书(请参考以前的检查);
  •                
  • 安装MagiskTrustUser模块;
  •                
  • 启用模块重新启动设备;
  •                
  • 再次重启以触发文件复制;

或者,你可以:

                   
  • 确保证书格式正确,然后复制/粘贴到/ system / etc / security / cacerts但是,让它正常工作,你的/ system分区需要写。有些根法允许这样做,但是很复杂,而且Magisk获得正确格式的证书有点复杂。
  •                
  • 修改networkSecurityConfig,将用户证书包括为信任锚(请参见下文)。但是,更好把你的证书作为系统证书,所以我很少使用这种 *** 。

你的Burp证书有适当的有效期吗?

Google以及Android正在积极缩短leaf如果你的证书的最长接受期leaf证书有效期过长,Android / Chrome不接受。

(1) 完整性检查

将浏览器连接到您的 *** ,并调查根CA和leaf证书有效期。如果不到一年,那就好了。如果证书有效期长,我喜欢更安全,创造新的CA,也可以用Android最新版本Chrome浏览器验证证书的有效性。如有错误,Chrome以下错误将显示:ERR_CERT_VALIDITY_TOO_LONG

(2) 解决方案

有两种可能的解决方案:

                   
  • 确保你安装了最新版本的Burp,这将减少生成leaf证书有效期;
  •                
  • 创造自己的根CA,它的有效期只有365天。CA生成的证书也将少于365天。这是我的首选,因为证书可以与团队成员共享,并可以安装在约定期限内使用的所有设备上。

设置应用程序

现在设备可以使用了,现在该看应用程序的详细信息了。

能识别应用程序 *** 吗?

许多应用程序只是忽略了系统的 *** 设置。使用标准库的应用程序通常使用系统 *** 设置,但依赖于语言解释(例如Xamarin和Unity)或本地编译的应用程序(例如Flutter)开发人员通常需要在应用程序中明确编程 *** 支持。

(1) 完整性检查

在操作应用程序时,你应该Burp的Proxy在选项卡中看到你的HTTPS数据或应在仪表板面板上Burp在事件日志中看到HTTPS连接错误。因为整个设备都是 *** 商,你会看到很多来自使用SSL阻止锁定应用程序的请求(例如谷歌Play),所以看看你是否能找到一个与应用程序相关的域。如果你没有看到任何相关的失败连接, 表明你的应用程序可能没有 *** 。

作为额外的完整性检查,您可以检查应用程序是否使用第三方框架。如果使用应用程序Flutter如果是用来写的,肯定没有 *** 意识,Xamarin或Unity它很可能会忽略系统的 *** 设置。

用apktool反编译:apktool d myapp.apk;

通过已知的位置:

                   
  • Flutter: myapp/lib/arm64-v8a/libflutter.so
  •                
  • Xamarin: myapp/unknown/assemblies/Mono.Android.dll
  •                
  • Unity: myapp/lib/arm64-v8a/libunity.so

(2) 解决方案

有几件事可以尝试:

                   
  • 使用ProxyDroid(仅限root用户),虽然是旧应用,但仍能很好地运行。ProxyDroid使用iptables强制将流量重定向您的 *** ;
  •                
  • 自定义热点是通过第二个无线接口设置的iptables重定向流量。mitmproxy在文档中找到设置是另一个有用的HTTP同样的设置也适用于 *** Burp。

在这两种情况下,你已经从“ *** 意识”设置转换为“透明 *** ”设置。你必须做两件事:

                   
  • 禁止 *** 设备。如果你不这样做,那么Burp同时收到 *** 请求和透明请求,两者不兼容;
  •                
  • 配置Burp通过 *** 支持透明 *** >选项>活动 *** >编辑>请求处理>支持无形 *** ;

利用 Burp Suite 劫持 Android App 的流量(一)

现在希望再次进行完整性检查Burp在事件日志中看到SSL错误。

下一篇文章我会详细介绍“自定义端口是否用于应用程序?”,“是否使用应用程序SSL锁定?”等问题。

本文翻译自:https://blog.nviso.eu/2020/11/19/proxying-android-app-traffic-common-issues-checklist/

   
  • 评论列表:
  •  忿咬喵叽
     发布于 2022-05-31 15:17:36  回复该评论
  •  再次重启以触发文件复制;或者,你可以:                确保证书格式正确,然后复制/粘贴到/ system / etc / security / cacerts但是,让它正常工作,你的/ system分区需要写。有些根法允许这样做,但是很
  •  痴妓囍神
     发布于 2022-05-31 22:14:31  回复该评论
  • urp的Proxy在选项卡中看到你的HTTPS数据或应在仪表板面板上Burp在事件日志中看到HTTPS连接错误。因为整个设备都是代理商,你会看到很多来自使用SSL阻止锁定应用程序的请求(例如谷歌P
  •  萌懂怀桔
     发布于 2022-05-31 18:21:45  回复该评论
  • 设置的iptables重定向流量。mitmproxy在文档中找到设置是另一个有用的HTTP同样的设置也适用于代理Burp。在这两种情况下,你已经从“代理意识”设置转换为“透明代理
  •  拥嬉忆囚
     发布于 2022-05-31 13:40:43  回复该评论
  • l.com并确保你在Burp看到了这个请求Neverssl.com一个不用HSTS网站,永远不会发送你HTTPS版本使其成为测试纯文本流量的理想选择。(2) 解
  •  鹿岛葵袖
     发布于 2022-05-31 20:28:26  回复该评论
  • 置:                Flutter: myapp/lib/arm64-v8a/libflutter.so                Xamarin: myapp/unknown/assemblies/Mono.And

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.