捕捉 android 网络流量及中间人攻击
0x01 前言:
作为开发者或者安全研究员,开发或分析一些与网络相关的程序时,必然要涉及到 HTTP 协议,而了解信息的传输,是非常必要的。所以我们需要抓取并控制到网路流量,并且需要对中间人攻击有一定的认识。
TOC:
- 前言
- 捕捉网络流量
- Charles抓包工具
- 利用ettercap进行中间人
- MITM工具
- 中间人的利用
- 参考链接
0x02 捕捉网络流量
需要一些nc、wireshark、tcpdump for Android软件。
wireshark可通过以下代码进行安装:
1 | brew cask install wireshark |
netcat可通过以下代码进行安装;
1 | brew install netcat |
然后下载好TCPdump for android,注意是可执行文件,不是文件扩展名为bin的。
然后usb线连接好设备,或者启动虚拟机。
进入platform-tools文件夹,输入以下的命令:
1 | 查看连接的设备: |
通过数据线或者其他adb push的方式,将tcpdump复制到设备的**/data/tcpdump/**文件夹。
在android设备里执行以下命令:
1 | ./adb shell |
然后确认一下android设备中是否安装有netcat,可以通过nc命令来判断是否安装。
以下是:在android端转发流量的命令
1 | ./data/tcpdump/tcpdump -w - | nc -l -p 31337 |
需要配置adb的端口转发:
1 | ./adb forward tcp:12345 tcp:31337 |
然后pc端需要nc转发流量,然后wireshark进行分析。
1 | netcat 127.0.0.1 12345 | wireshark -k -S -i - |
安装配置好捕捉流量,wireshark分析:
0x03 Charles抓包工具的使用
安装并配置Charles。
1 | brew cask install charles |
捕捉HTTP流量:
手机上设置代理,如下所示:
捕捉HTTPS流量:
安装证书:
下载Charles证书http://www.charlesproxy.com/getssl/,输入文件名进行安装。
在Charles的工具栏上点击设置按钮,选择SSL Proxy Settings;选项卡的Locations表单可以填写要抓包的域名和端口,点击Add按钮,在弹出的表单中Host填写域名,比如填*,Port填443。默认的空值表示应用于所有地址。
0x04 利用ettercap进行中间人
ettercap是linux上常用的一种中间人工具,作为网上的一种sniffer,曾经利用其接收到机房的广播出来的数据包。
MAC系统上如何利用其进行中间人攻击呢?
ettercap安装与配置:
1 | sudo brew install ettercap --with-gtk+ |
而driftnet是一款简单而使用的图片捕获工具,可以很方便的在网络数据包中抓取图片。可以利用其和ettercap进行抓取局域网中的图片。
ARP欺骗:
1 | ettercap -i eth0 -T -M arp:remote /10.0.0.1/ // 欺骗局域网内所有主机 |
0x05 MITM工具
常见的有dSploit,zANTI。
android设备使用dSploit进行中间人攻击:
0x06 中间人的利用
当成为中间人了以后,就可以进行各种利用了,比如查看流量,网页劫持,提取密码,会话劫持等。
以弹对话框为例:
0x07 参考链接
热爱互联网,对操作系统和网络安全有狂热的追求,专业不限;熟悉漏洞挖掘、网络安全攻防技术,了解常见黑客攻击手法;掌握基本开发能力,熟练使用C/C++语言;对数据库、操作系统、网络原理有较好掌握;具有软件逆向,网络安全攻防或安全系统开发经验者优先。
捕捉 android 网络流量及中间人攻击