2016年4月19號***學習總結

kali linux端口和服務掃描



端口掃描


端口對應網絡服務及應用端程序

服務端程序的漏洞通過端口攻入

發現開放的端口

更具體的***面

udp端口掃描

如果目標系統不響應icmp就可能產生誤判

完整的udp掃描,準確性高,耗時巨大

端口關閉:端口不可達

端口開放:沒有回包

瞭解每一種基於udp應用層包結構很有幫助

與三層相同的技術

誤判

scapy

sr1(IP(dst="1.1.1.1")/UDP(dport=53),timeout=1,verbose=1)


./udp_scan.py 1.1.1.1 100

nmap

nmap -sU 192.168.1.104


其中有默認的1000個端口


nmap -sU 192.168.1.104 -p53(指定端口)


nmap -sU 192.168.1.104 -p-(1-65535)

nmap -iL iplist.txt -sU -p 1-200

tcp端口掃描

基於鏈接的協議

三次握手

隱蔽掃描

殭屍掃描(比隱蔽掃描更隱蔽,不和目標直接聯繫)


全鏈接掃描


所有的TCP掃描方式都是基於三次握手的變化,來判斷端口的狀態

隱蔽掃描----syn

不建立完整連接

應用日誌不記錄掃描行爲

殭屍掃描

極度隱蔽

實施條件苛刻

可僞造源地址

選擇殭屍機,閒置系統,系統使用遞增的IPID(0,隨機,這些都不行)


隱蔽端口掃描


Syn----syn/ack-----rst

scapy

1.a=sr1(IP(dst="192.168.1.110")/TCP(flags="S"),timeout=1,verbose=1)

or:a=sr1(IP(dst="192.168.1.110")/TCP(flags="S",dport=22),timeout=1,verbose=1)


2../syn_scan.py(腳本運行命令)

nmap(強大的掃描工具)


nmap -sS 1.1.1.1 -p1-100 --open

nmap -sS 1.1.1.1 -p 1-65535 --open


nmap -sS -iL iplist.txt -p 80,22,23,21


nmap -sS 1.1.1.1 -p- --open

hping3


hping3 1.1.1.1 --scan 80 -S (發syn包)


hping3 1.1.1.1 --scan 80,21,25,443 -S

hping3 1.1.1.1 --scan 0-65535 -S

hping3 -c 10 -S -spoof 1.1.1.2 -p ++1 1.1.1.3  (-c 10 -S 表示發10個syn包,地址欺騙將1.1.1.1的地址改爲1.1.1.2,目標爲1.1.1.3,-p ++1和前面的10表示每次端口+1從1-10掃描這十個端口,這樣必須要登陸1.1.1.2這臺電腦抓包才能看到掃描結果)

全連接端口掃描(不隱蔽,可在過濾嚴格的條件下掃描)


scapy

syn掃描不需要raw packets

內核認爲syn/ack是非法包,直接發rst中斷連接

全連接掃描對scapy比較困難

a=sr1(IP(dst="192.168.1.110")/TCP(dport=22,flags="S"))

namp

nmap -sT 1.1.1.1 -p 80


nmap -sT 1.1.1.1 -p 80,21,25


nmap -sT 1.1.1.1 -p 80-2000


nmap -sT -iL iplist.txt -p 80


默認1000個常用端口

dmitry

功能簡單但使用簡便

默認150個最常用的端口


dmitry -p 192.168.1.110

dmitry -p 192.168.1.110 -o output

nc

nc -nv -w 1 -z 192.168.1.110 1-100(定義超時時間爲1秒,-z表示掃描)


for x in $(seq 20 30);do nc -nv


for x in $(seq 20 30); do nc -nv -w 1 -z 1.1.1.$x 80;done


殭屍掃描:閒置機不用完全限制,只要沒有三層的IP通信就可以。


xp之前的電腦符合要求,現在的操作系統不行。


scapy----zonbie.py

只有scapy和nmap支持殭屍掃描

1.i=IP()


2.t=TCP()

3.rz=(i/t)  (向殭屍機發的數據包)


4.rt=(i/t)    (向目標機發的數據包)


5.rz[IP].dst="殭屍機地址"


6.rz[TCP].dport=445   (殭屍機開放的端口)


7.rz[TCP].flags="SA"  (syn+ack包)


8.rt[IP].src="殭屍機地址"


9.rt[IP].dst="目標機地址"

10.rt[TCP].dport=25  (目標機要掃描的端口)


11.rt[TCP].flags="S"

12.az1=sr1(rz)

13.ar=sr1(rt,timeout=1)

14.az2=sr1(rz)

15.az1  (顯示包)

16.az2  (比較ipid   如果加了2表示開啓如果加了1表示沒有開啓)

nmap

發現殭屍機


nmap -p445 1.1.1.1 --script=ipidseq.nse

掃描目標

nmap 本機ip -sI 殭屍ip -Pn -p 0-100


服務掃描


識別端口上運行的應用

識別目標操作系統

提高***效率

   banner捕獲

   服務識別  (識別軟件版本,找漏洞進行針對性***)

   操作系統識別   (操作系統自帶服務也有可能有漏洞)

    snmp分析


    防火牆識別

banner信息

   軟件開發商

   軟件名稱

    服務類型

   版本號

          直接發現已知的漏洞和弱點

鏈接建立後直接獲取banner

另類服務識別方法

        特徵行爲和響應字段


        不同的響應可用於識別底層操作系統

snmp

      簡單網絡管理協議

      community strings   (身份認證信息)

      信息查詢或重新配置


識別和繞過防火牆篩選

服務掃描----banner

nc


1.nc-nv 1.1.1.1 22 (22是端口號可以識別ssh的一些信息)


2.get /


python socket


     socket模塊用於網絡連接服務

1.python


2.import socket


3.banner=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

4.banner.connect(("192.168.1.110",21))


5.banner.recv(4096)   (接收數據,指定數據大小爲4096)

6.banner.close()

7.exit()

banner如果不允許抓取,recv函數無返回將掛起。需要通過腳本來運行

dmitry

dmitry -p 192.168.1.110


dmitry -pb 192.168.1.110



nmap


nmap -sT 1.1.1.1 -p 22 --script=banner

nmap -sT 1.1.1.1 -p1-100 --script=banner.nse

amap

amap -B 192.168.1.110 21

amap -B 192.168.1.110 1-65535

amap -B 192.168.1.110 1-65535 | grep on

服務掃描----服務識別

banner信息抓取能力有限

nmap相應特徵分析識別服務

    發送系列複雜的探測


    根據相應特徵signature

nc -nv 1.1.1.1 80

nmap 1.1.1.1 -p 80 -sV   (經常用到,準確度高)

amap

amap 192.168.1.110 80


amap 192.168.1.110 1-100 (-q)加上-q讓信息更整齊

amap 192.168.1.110 1-100 -qb  信息更詳細


今天本來還想學一個新漏洞呢,但是學了一半時間不夠了,只能等到明天了。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章