天天看點

滲透學習 - 工具篇之目辨別别

狀态識别

在滲透測試的過程中,必須確定目标主機線上,否則我們無法通路到它。

ping

常用檢測主機是否線上的程式。ICMP協定,​

​echo request​

​​ -> ​

​echo reply​

​-c count​

​​ 指定發送 ​

​echo request​

​ 資料包總量。

root@kali:~# ping -c 5 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=128 time=1.95 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=128 time=2.30 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=128 time=3.55 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=128 time=2.02 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=128 time=2.60 ms

--- 192.168.1.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4017ms
rtt min/avg/max/mdev = 1.959/2.488/3.552/0.581      

​-s packet size​

​ 每個資料包的大小。預設值56,加 ICMP 標頭8位元組共64位元組。

root@kali:~# ping -s 8 192.168.1.1 -c 1
PING 192.168.1.1 (192.168.1.1) 8(36) bytes of data.
16 bytes from 192.168.1.1: icmp_seq=1 ttl=128

--- 192.168.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms      

arping

區域網路中使用ARP請求判斷主機是否線上。

root@kali:~# arping 192.168.43.130 -c 2
ARPING 192.168.43.130
60 bytes from 00:0c:29:fa:dd:2a (192.168.43.130): index=0 time=193.037 usec
60 bytes from 00:0c:29:fa:dd:2a (192.168.43.130): index=1 time=389.499 usec

--- 192.168.43.130 statistics ---
2 packets transmitted, 2 packets received,   0% unanswered (0 extra)
rtt min/avg/max/std-dev = 0.193/0.291/0.389/0.098      

因為是在區域網路中的判斷,是以我們也可以用它來檢測某一個IP是否已經被被人所占用,如果沒有被占用的話……[斜眼笑]

fping

可同時向多個主機發送 ​

​ping​

​ 請求。

root@kali:~# fping 192.168.1.1 192.168.1.2
192.168.1.1 is alive
192.168.1.2 is      

或者對某一個網段進行檢測

root@kali:~# fping -g 192.168.1.0/24
192.168.1.1 is alive
192.168.1.103 is alive
ICMP Host Unreachable from 192.168.1.109 for ICMP Echo sent to 192.168.1.92
192.168.1.2 is unreachable
192.168.1.3 is unreachable
...      

如果我們不添加任何條件的時候,在進行網段檢測時, ​

​0-255​

​ 會被重試三次,然後便會輸出好長好長的一段資訊。

通過 ​

​-r count​

​​ 參數可以指定 ​

​fping​

​ 探測的重試次數。

nping

允許使用者發送多種協定的資料包。(TCP、UDP、ICMP、ARP)

EXAMPLES:
  nping scanme.nmap.org
  nping --tcp -p 80 --flags rst --ttl 2 192.168.1.1
  nping --icmp --icmp-type time --delay 500ms 192.168.254.254
  nping --echo-server "public" -e wlan0 -vvv 
  nping --echo-client "public" echo.nmap.org --tcp -p1-1024 --flags ack      

例如使用TCP協定對 ​

​192.168.1.1​

​ 的22端口進行測試

root@kali:~# nping --tcp -p 22 192.168.1.1 

Starting Nping 0.7.25BETA1 ( https://nmap.org/nping ) at 2017-02-10 16:24 CST
SENT (0.0284s) TCP 192.168.43.128:23660 > 192.168.1.1:22 S ttl=64 id=20665 iplen=40  seq=1842129984 win=1480 
SENT (1.0294s) TCP 192.168.43.128:23660 > 192.168.1.1:22 S ttl=64 id=20665 iplen=40  seq=1842129984 win=1480 
^C 
Max rtt: N/A | Min rtt: N/A | Avg rtt: N/A
Raw packets sent: 2 (80B) | Rcvd: 0 (0B) | Lost: 2 (100.00%)
Nping done: 1 IP address pinged in 1.64      

作業系統識别

确定目标主機線上以後,我們需要判斷它使用哪種作業系統。

識别作業系統的方式有兩種:主動式與被動式。

主動式:向目标主機發送資料包,并根據其響應判斷其作業系統。優點:速度快。缺點:容易被發現。

被動式:通過網絡嗅探的方式收集流經網絡的資料封包,然後從這些封包中分析并得出作業系統資訊。優點:不容易被發現。缺點:速度慢。

p0f

采用被動的方式探測目标主機的作業系統類型,可識别以下幾種主機:

  • 連接配接到你的主機的機器(SYN)
  • 你可以通路的機器(SYN+ACK)
  • 不能通路的機器(RST)
  • 其他網絡通信的機器

啟動 ​

​p0f​

​ 然後與目标主機建立TCP連接配接,若成功識别目标主機的作業系統,則會在螢幕輸出相應的資訊。

Nmap

Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.9 - 2.6.33      

繼續閱讀