一、路由器上進行抓包

這部分主要還是比較底層的抓包。這裏就不過多的介紹了,畢竟好多大神的文章都寫的很詳細,主要內容還是以第三爲主。

ssh 或者其他方式登陸openwrt的終端模式,

抓包命令大概這幾條,

1.1基礎 tcpdump -vv -i br-lan

 -vv 顯示狀態 顯示抓了幾條呀 都什麼數據之類的。
 -i 指定網卡,比如wlan0 wifi,eth0 有線網卡,br-lan 一般都是指lan的網橋 就是包括wifi和lan部分。

1.2在基礎上擴展:tcpdump -vv -s0 -i br-lan host 192.168.1.100 and tcp -w /tmp/1.cap

 -s 0 :不限制包的長度,也是抓取完整的包。
 host:抓取指定ip的數據包
 tcp:當然就是tcp包啦。
 -w 文件路徑: 保存抓到的數據包到指定文件 這裏方便後期導出來到wireshark裏分析哈哈。

1.3數據包導出,windows下可以用winscp,linux麻 我還是習慣scp

二、蘋果手機底層抓包

iot協議分析大多數都和app相關,所以有這部分小經驗分享。

ios系統是支持直接抓包,但是有個前提條件 :必須用macos,或許是我沒找到windows和linux下的對應工具吧。

2.1、天才寶貝第一步,usb數據線把手機和mac連接到一起 用訪達查看手機的udid,複製出來(老mac用 itunes)

2.2、第二步,用rvictl -s udid 

2.3、有請大白鯊登場 wireshark:

在界面裏就能看到手機變成的虛擬網卡啦,用它進行抓包就好了。

三、linux釋放熱點進行抓包代理

最近主要做iot設備的安全審計工作,iot設備好多都沒操作界面,不像手機還能導入證書什麼的。對於https這種加密協議不好進行抓取,該包什麼的也不方便。

3.1 環境搭建

硬件:筆記本最好有兩張網卡,不管無限還是有線吧!

操作系統:kali

需要安裝的程序:apt-get install bridge-utils hostapd dnsmasq

3.2 網絡環境:

筆記本電腦有線網卡接入網絡,無線網卡釋放信號做ap用,iot設備連接到wifi後通過筆記本電腦nat到路由器上,

這樣能進行很多操作,可能有大佬要說,這個方式和用路由器又啥區別,其實沒啥區別。只是burp suite用的比較方便,我能把更多精力放在其他工作上。

3.3 開啓wifi熱點

ifconfig wlan0 up

rfkill  list 看下wlan0 是否被blocked 如果被用rfkill list all

修改hostapd.conf(/etc/hostapd/hostapd.conf)

interface=wlan0 #無線設備名稱,基本都是wlan0,可用iwconfig命令查看

#使用的網橋名稱,如果是用DHCP+NAT方式可忽略此行

#bridge=br0

#hostapd 0.6.8或者更高版本唯一選擇

driver=nl80211

#終端看到的wifi名稱,請自行修改

ssid=iot

#指明要選用的無線傳輸協議,這裏表示使用802.11g

hw_mode=g

#802.11b/g都至多隻有三條互不干擾的信道,即1,6,11,一般填這三個其中一個

channel=1

#驗證身份的算法,1表示只支持wpa,2表示只支持wep,3表示兩者都支持,wep已經被淘汰了,請不要使用。

auth_algs=1

#wpa加密方式,1代表支持wpa,2代表支持wap2,3代表兩者都支持。

wpa=1

#wifi密碼,請自行修改

wpa_passphrase=12345678

#對所有用戶進行同樣的認證,不進行單獨的認證,如果需要,請設置爲WPA-EAP。

wpa_key_mgmt=WPA-PSK

#控制支持加密數據的祕鑰,CCMP比TKIP更強

wpa_pairwise=CCMP

啓動ap :

hostapd /etc/hostapd/hostapd.conf

這個時候能在手機看到iot這個ssid

能連上 但是獲取不到ip地址

3.4 開啓網橋

這裏爲啥要開啓網橋,我的想法是反正都要配置環境了,我就把usb有線網卡和wifi 都配置好,畢竟還是有的設備是通過網線上網哈哈。

 brctl addbr br-lan //創建一個網橋 名字叫br-lan
 brctl addif br-lan eth1 //這個是我的usb網卡,大家不需要可以不加
 brctl addif br-lan wlan0 //把無線網卡加入br-lan
  ip addr add 10.8.8.1/24 dev br-lan

3.5 開啓dhcp和dns服務

這裏需要配置dnsmasq

編輯/etc/dnsmasq.conf

listen-address=10.8.8.1      #網橋br-lan的IP

interface=br-lan

bind-interfaces

#這個是重要的東西,設置dhcp的ip發配range,就是你的dhcp服務器分配多少個ip出來,ip的範圍從哪裏到哪裏,默認是c類網段,

#所以簡略了掩碼,後面增加一個租約時間,dhcp分配的ip是有租約的,租約過了是需要回收的。

dhcp-range=10.8.8.100,10.8.8.200,12h

dhcp-option=6,144.144.144.144,8.8.4.4   #6–>設置DNS服務器地址選項

port=5353       #設置端口

使用service dnsmasq restart 重啓服務

這時手機連接熱點iot試試看是否能正常獲取ip地址,這時手機還不能上網哦。

3.6 配置nat轉發

sysctl -w net.ipv4.ip_forward=1

iptables -P FORWARD ACCEPT

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

到這一步用手機測試通過iot這個wifi是否能正常上網。

3.7:將80端口到流量和443端口到流量都轉發到burp suite上 。這裏提醒下不一定都是80和443哦,這裏只是用常用的端口舉例子,大家根據實際情況搞吧。

這裏的ip根據你自己的實際ip來寫

$ iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.107:80
$ iptables -t nat -A PREROUTING -i br0 -p tcp --dport 443 -j DNAT --to-destination 192.168.2.107:443

3.8:配置burp suite 透明代理。

首先設置下80端口的透明代理:

這裏設置好了之後用手機打開一個80端口的http網站,觀察下burp suite裏是否有反應

這裏說明下:這裏不用在手機的wifi設置裏設置代理了,因爲上面已經通過iptables的命令做了指定端口的代理,只要是在iot這個wifi網絡下都是走代理的

設置下443 的https 代理模式:

下面這一步比之前的多一個勾選 Force use of TLS 這個步驟。

一樣的方式測試下是否能抓到數據包。

出現這個頁面是因爲證書沒導入。

3.9:ios burp suite證書導入

這裏說下新版本的ios證書導入方式,打開burp suite的證書下載界面:我這裏是開192.168.2.107:8080 就出現了。

這樣就裝好證書了,但是打開證書信任,新版本的ios藏在比較深的地方:

設置->通用設置->關於本機->證書設置(下拉到底)

關於本機

證書設置(下拉到底)

點開信任的證書

相關文章