菏澤網(wǎng)站建設效果網(wǎng)址大全2345
文章目錄
- 信息收集
- DNS記錄分析
- host
- dig
- dnsenum
- 路由信息
- tcptraceroute
- tctrace
- 搜索引擎
- 目標識別
- arping
- fping
- 識別操作系統(tǒng)
- p0f
- 服務枚舉
- 端口掃描
- nmap
- 識別VPN服務器
- 漏洞映射
- exploitdb
- msfconsole
- 提權(quán)
- arpspoof
- Dsniff
信息收集
DNS記錄分析
host
host www.example.com
host -a example.com
host指令查詢域名信息的DNS服務器,就是文件/etc/resolv.conf指定的DNS服務器。如果想查詢其他的DNS服務器,可在指令的尾部直接添加DNS服務器地址。
dig
dig example.com any
dig指令僅會返回該域的A記錄。如需查詢?nèi)款愋偷腄NS數(shù)據(jù),我們可把type選項設定為any。
這條指令返回了該域名的SOA記錄、NS記錄、A記錄和AAAA記錄。
在使用dig指令進行域傳輸時,我們必須設置DNS服務器為權(quán)威DNS,并且設置傳輸類型為axfr。
dnsenum
另外,我們可利用dnsenum程序收集DNS數(shù)據(jù)。這個程序能夠收集的DNS信息分為下述幾類:
● 主機IP 地址;
● 該域的DNS 服務器;
● 該域的MX 記錄。
在這一章里,您會發(fā)現(xiàn)不同程序的返回結(jié)果十分相似。這是因為我們就是在通過不同的程序驗證相同的數(shù)據(jù)。返回同一信息的程序越多,我們對這一信息就越有信心。
除了獲取DNS信息的功能之外,dnsenum還有下述幾個特性。
● 它能夠通過谷歌捜索其他的域名和子域名。
● 可使用字典文件對子域名進行暴力破解。Kali Linux 收錄的dnsenum 自帶有字典文件(dns.txt),該字典可測試1480個子域名。此外另有可測試266930個子域名的字典文件dns-big.txt。
● 可對C 類網(wǎng)段進行whois 査詢并計算其網(wǎng)絡范圍。
● 可對網(wǎng)段進行反向査詢。
● 采用多線程技術(shù),可進行并發(fā)査詢。
在不能進行域傳輸?shù)那闆r下,我們可以使用字典文件對子域名進行暴力破解。例如,如果使用字典文件dns.txt暴力破解example.com的子域名,可使用下述指令。
dnsenum -f dns.txt example.com
該指令的返回結(jié)果如下。
dnsdict6
路由信息
tcptraceroute
tcptraceroute是traceroute程序的補充工具。傳統(tǒng)的traceroute程序在其發(fā)送的UDP 或ICMP echo 數(shù)據(jù)包里,設置有特定的TTL(Time To Live)標志位。它把TTL的值從1開始遞增,直到數(shù)據(jù)包到達目標主機為止。而tcptraceroute則是使用TCP數(shù)據(jù)包進行測試,它利用TCP SYN(握手請求)數(shù)據(jù)包進行路由信息探測。
相比其他程序,tcptraceroute 的優(yōu)點在于其較高的通過率。如果在滲透測試人員和目標主機之間的防火墻禁止traceroute數(shù)據(jù)通過,那么traceroute指令就完全發(fā)揮不了作用。但是只要防火墻允許訪問目標主機的特定TCP端口,就可以使用tcptraceroute程序穿過防火墻到測試目標主機。
在使用 tcptraceroute 時,如果相應的目標端口是開放的(open),程序?qū)盏絊YN/ACK數(shù)據(jù)包;而如果目標端口是關(guān)閉的,那么它會收到一個RST數(shù)據(jù)包。
下面我們來使用tcptraceroute。假如我們事先知道目標主機為Web服務器開放了TCP協(xié)議的80端口,那么就可以使用下述指令。
tcptraceroute www.example.com
tctrace
我們同樣可以選用 tctrace 程序分析路由信息。這個程序通過向目標主機發(fā)送 TCP SYN數(shù)據(jù)包來獲取相應信息。
tctrace -i<device> -d<targethost>
參數(shù)中的指的是網(wǎng)卡接口,則是被測試的目標主機。
例如,我們可以使用下述指令獲取本機和www.example.com之間的路由信息。
tctrace -i eth0 -d www.example.com
搜索引擎
目標識別
arping
我們使用arping程序判斷某MAC地址的主機是否在線。
arping 192.168.56.102 -c 1
此時可以使用下述arping指令檢測192.168.56.102是否被他人占用。
arping -d -i eth0 192.168.56.102 -c 2
fping
存活主機檢測
fping -g 192.168.56.0/24
識別操作系統(tǒng)
p0f
p0f采用被動方式的方法探測目標主機的操作系統(tǒng)類型。這個工具可以識
別以下幾種主機:
● 連接到您主機的機器(SYN 模式,即默認模式);
● 您主機可以訪問的機器(SYN+ACK 模式);
● 您主機不能訪問的機器(RST+模式);
● 您可以監(jiān)控到其網(wǎng)絡通信的機器。
nmap –O 192.168.56.102
服務枚舉
端口掃描
nmap
TCP 連接掃描(-sT):指定這個選項后,程序?qū)⒑湍繕酥鳈C的每個端
口都進行完整的三次握手。如果成功建立連接,則判定該端口是開放端口。
由于在檢測每個端口時都需要進行三次握手,所以這種掃描方式比較慢,而
且掃描行為很可能被目標主機記錄下來。如果啟動Nmap的用戶的權(quán)限不
足,那么默認情況下Nmap程序?qū)⒁赃@種模式進行掃描。
● SYN 掃描(-sS):該選項也稱為半開連接或者SYN stealth。采用該
選項后,Nmap將使用含有SYN標志位的數(shù)據(jù)包進行端口探測。如果目標主
機回復了SYN/ACK包,則說明該端口處于開放狀態(tài):如果回復的是RST/
ACK包,則說明這個端口處于關(guān)閉狀態(tài);如果沒有任何響應或者發(fā)送了ICMP
unreachable信息,則可認為這個端口被屏蔽了。SYN模式的掃描速度非常
好。而且由于這種模式不會進行三次握手,所以是一種十分隱蔽的掃描方
式。如果啟動Nmap的用戶有高級別權(quán)限,那么在默認情況下Nmap程序?qū)⒁?br /> 這種模式進行掃描。
● TCP NULL(-sN)、FIN(-sF)及XMAS(-sX)掃描:NULL 掃描不
設置任何控制位;FIN掃描僅設置FIN標志位:XMAS掃描設置FIN、PSH和
URG的標識位。如果目標主機返回了含有 RST 標識位的響應數(shù)據(jù),則說明該
端口處于關(guān)閉狀態(tài);如果目標主機沒有任何回應,則該端口處于打開|過濾
狀態(tài)。
● TCP Maimon掃描(-sM):Uriel Maimon 首先發(fā)現(xiàn)了TCP Maimom
掃描方式。這種模式的探測數(shù)據(jù)包含有FIN/ACK標識。對于BSD衍生出來的
各種操作系統(tǒng)來說,如果被測端口處于開放狀態(tài),主機將會丟棄這種探測數(shù)
據(jù)包;如果被測端口處于關(guān)閉狀態(tài),那么主機將會回復RST。
● TCPACK 掃描(-sA):這種掃描模式可以檢測目標系統(tǒng)是否采用了數(shù)
據(jù)包狀態(tài)監(jiān)測技術(shù)(stateful)防火墻,并能確定哪些端口被防火墻屏蔽。這
種類型的數(shù)據(jù)包只有一個ACK標識位。如果目標主機的回復中含有RST標
識,則說明目標主機沒有被過濾。
● TCP 窗口掃描(-sW):這種掃描方式檢測目標返回的RST數(shù)據(jù)包的
TCP窗口字段。如果目標端口處于開放狀態(tài),這個字段的值將是正值;否則
它的值應當是0。
● TCP Idle 掃描(-sI):采用這種技術(shù)后,您將通過指定的僵尸主機發(fā)
送掃描數(shù)據(jù)包。本機并不與目標主機直接通信。如果對方網(wǎng)絡里有IDS,IDS
將認為發(fā)起掃描的主機是僵尸主機。
Nmap的scanflags選項可設定自定義的TCP掃描方式。這個選項的參數(shù)可
以用數(shù)字表示(例如,9代表PSH和FIN標識)。這個選項也支持標識位的符
號縮寫。在使用符號縮寫時,僅需要將URG、ACK、PSH、RST、SYN、
FIN、ECE、CWR、ALL和NONE以任意順序進行組合。例如:–scanflags
URGACKPSH 將設置URG、ACK 和PSH 標識位。
UDP掃描僅有一種掃描方式(-sU)
默認情況下,Nmap將從每個協(xié)議的常用端口中隨機選擇1000個端口進
行掃描。其nmap-services文件對端口的命中率進行了排名。
如需更改端口配置,可使用Nmap的以下幾個選項。
● -p端口范圍:只掃描指定的端口。掃描1~1024號端口,可設定該選
項為–p 1-1024。掃描1~65535端口時,可使用-p-選項。
● -F(快速掃描):將僅掃描100 個常用端口。
● -r(順序掃描):指定這個選項后,程序?qū)陌凑諒男〉酱蟮捻樞驋?br /> 描端口。
● --top-ports <1 or greater>:掃描nmap-services 里排名前N 的端
口。
Nmap支持以下幾種輸出形式。
●
交互(屏幕)輸出:Nmap把掃描結(jié)果發(fā)送到標準輸出設備上(通常
為終端/控制臺),這是默認的輸出方式。
● 正常輸出(-oN):與交互輸出類似,但是不顯示runtime 信息和警告
信息。
● XML 文件(-oX):生成的 XML 格式文件可以轉(zhuǎn)換成 HTML 格式文
件,還可被Nmap 的圖形用戶界面解析,也便于導入數(shù)據(jù)庫。本文建議您盡
量將掃描結(jié)果輸出為XML文件。
規(guī)避檢測的選項
在滲透測試的工作中,目標主機通常處于防火墻或 IDS 系統(tǒng)的保護之
中。在這種環(huán)境中使用 Nmap 的默認選項進行掃描,不僅會被發(fā)現(xiàn),而且往
往一無所獲。此時,我們就要使用Nmap規(guī)避檢測的有關(guān)選項。
●
-f(使用小數(shù)據(jù)包):這個選項可避免對方識別出我們探測的數(shù)據(jù)
包。指定這個選項之后,Nmap將使用8字節(jié)甚至更小數(shù)據(jù)體的數(shù)據(jù)包。
●
–mtu:這個選項用來調(diào)整數(shù)據(jù)包的包大小。MTU(Maximum
Transmission Unit,最大傳輸單元)必須是8的整數(shù)倍,否則Nmap將報錯。
● -D(誘餌):這個選項應指定假 IP,即誘餌的 IP。啟用這個選項之
后,Nmap 在發(fā)送偵測數(shù)據(jù)包的時候會摻雜一些源地址是假IP(誘餌)的數(shù)
據(jù)包。這種功能意在以藏木于林的方法掩蓋本機的真實 IP。也就是說,對方
的log還會記錄下本機的真實IP。您可使用RND生成隨機的假IP地址,或者用
RND:number的參數(shù)生成個假IP地址。您所指定的誘餌主機應
當在線,否則很容易擊潰目標主機。另外,使用了過多的誘餌可能造成網(wǎng)絡
擁堵。尤其是在掃描客戶的網(wǎng)絡的時候,您應當極力避免上述情況。
● --source-port 或-g(模擬源端口):如果防火墻只允
許某些源端口的入站流量,這個選項就非常有用。
●
–data-length:這個選項用于改變Nmap
發(fā)送數(shù)據(jù)包的默認數(shù)據(jù)長
度,以避免被識別出來是Nmap的掃描數(shù)據(jù)。
● --max-parallelism:這個選項可限制Nmap 并發(fā)掃描的最大連接數(shù)。
●
–scan-delay
識別VPN服務器
ike-scan -M -A –Pike-hashkey 192.168.0.10
之后,我們使用psk-crack程序破解VPN連接的哈希值。有關(guān)指令如下。
psk-crack –d rockyou.txt ike-hashkey
此處,-d選項用于指定字典文件。
漏洞映射
exploitdb
cd /usr/share/exploitdb/
msfconsole
msfconsole
show auxiliary:列出全部的輔助工具模板。
● show exploits:列出框架下所有的漏洞利用程序。
● show payloads:列出所有平臺下的有效載荷。如果已經(jīng)選定了一個
漏洞利用程序,再使用該命令就只會顯示相關(guān)的載荷。例如,Windows的載
荷將顯示與 Windows相關(guān)的漏洞利用模板。
● show encoders:顯示可用的編碼工具模板。
● show nops:顯示所有可用的NOP 生成程序。
● show options:顯示指定模板的全部設置和選項信息。
● show targets:顯示exploit 支持的操作系統(tǒng)類型。
● show advanced:列出所有高級配置選項,以便進行微調(diào)。
我們將最具價值的幾個常用命令總結(jié)為下述表格。您可以在
提權(quán)
arpspoof
通過以下命令,對被測主機實施ARP欺騙。
arpspoof -t 192.168.65.129 192.168.65.1
Dsniff
Dsniff
能夠在網(wǎng)絡中捕獲密碼。目前,它可從以下協(xié)議中捕獲密碼:
FTP、Telnet、SMTP、HTTP、POP、poppass、NNTP、IMAP、SNMP、
LDAP、Rlogin、RIP、OSPF、PPTP
MS-CHAP、NFS、VRRP、YP/NIS、
SOCKS、X11、CVS、IRC、AIM、ICQ、
Napster、PostgreSQL、Meeting
Maker、Citrix
ICA、Symantec
pcAnywhere、NAI
Sniffer、Microsoft
SMB、Oracle SQL*Net、Sybase 以及Microsoft SQL。
如需啟動dsniff程序,可在終端中使用下述指令。
dsniff -h
上述指令將會在屏幕上顯示程序的使用說明。我們將使用它捕獲FTP 密
碼。在本例的演示中,FTP客戶端的IP是192.168.2.20,服務器IP則是
192.168.2.22,這兩臺主機通過集線器連接。攻擊人員的主機IP為
192.168.2.21。
在攻擊人員的測試主機上執(zhí)行下述指令。
dsniff -i eth0 -m
其中,選項-i eth0 將使Dsniff 程序監(jiān)聽eth0 網(wǎng)卡。而選項-m 則用于啟
用程序的自動協(xié)議檢測功能。
然后,在裝有FTP客戶端程序的主機上,使用客戶端程序登錄FTP服務
器。
dsniff的運行結(jié)果如下。
dsniff: listening on eth0
----------------
20/08/13 18:54:53 tcp 192.168.2.20.36761 -> 192.168.2.22.21 (ftp)
USER user
PASS user01
從中可以看到,dsniff捕獲了客戶端登錄FTP服務器時所用的用戶名和密
碼。