1. 漏洞掃描工具有哪些
5款實用的漏洞掃描工具:
1、SQLmap
Sqlmap屬於滲透測試工具,但具有自動檢測和評估漏洞的功能。該工具不只是簡單地發現安全漏洞及利用漏洞的情況,它還針對發現結果創建了詳細的報告。Sqlmap利用python進行開發,支持任何安裝了Python解釋器的操作系統。它能自動識別密碼哈希,並使用六種不同方式來利用SQL注入漏洞。此外,Sqlmap的資料庫非常全面,支持oracle、PostgreSQL、MySQL、SqlServer和Access。
2、Nmap
Nmap是一款開源網路掃描工具,應用場景包括埠掃描、服務指紋識別以及操作系統版本識別。Nmap通常被視為網路映射及埠掃描工具,但因為其帶有Nmap腳本引擎,也有助於對錯誤配置問題和安全漏洞進行檢測。另外,Nmap具備命令行界面以及圖形用戶界面。
3、Nexpose
Nexpose社區是一個通用的開源漏洞評估工具,其漏洞引擎由Rapid7開發,掃描漏洞近68000個,進行了超過16.3萬次網路檢查。針對Windows及linux系統的社區版免費,但僅限32個IP地址,以及一個用戶。雖然沒有Web應用程序掃描,但Nexpose覆蓋自動漏洞更新以及微軟補丁星期二漏洞更新。
4、Retina CS
Retina CS也是一個通用的開源漏洞評估工具。它是基於Web的控制台,可以免費簡化並集中管理漏洞,可打補丁資產達到256項。Retina
CS能對伺服器、工作站、移動設備、資料庫、應用程序和Web應用程序自動進行漏洞評估。這款開源應用程序為VMware環境提供了全方位支持,包括在線與離線虛擬鏡像掃描、虛擬應用程序掃描,以及與Vcenter集成。
5、Burp Suite
Burp
Suite免費版是開源的Web應用程序漏洞掃描器,該版本屬於軟體工具包,涵蓋了對Web應用程序手動安全測試所需的所有東西。它可以使用攔截代理,針對瀏覽器和目標應用程序之間的流量進行檢查與修改;還能利用可感知應用程序的Spider抓取應用程序的內容及功能;此外,使用中繼器工具能夠處理並重新發送單個請求,也可訪問針對分析及解碼應用程序數據的一系列實用程序。
2. 滲透測試之埠掃描
埠掃描:埠對應網路服務及應用端程序
服務端程序的漏洞通過埠攻入
發現開放的埠
更具體的攻擊面
UDP埠掃描:
如果收到ICMP埠不可達,表示埠關閉
如果沒有收到回包,則證明埠是開放的
和三層掃描IP剛好相反
Scapy埠開發掃描
命令:sr1(IP(dst="192.168.45.129")/UDP(dport=53),timeout=1,verbose=1)
nmap -sU 192.168.45.129
TCP掃描:基於連接的協議
三次握手:基於正常的三次握手發現目標是否在線
隱蔽掃描:發送不完整的數據包,不建立完整的連接,如ACK包,SYN包,不會在應用層訪問,
僵屍掃描:不和目標系統產生交互,極為隱蔽
全連接掃描:建立完整的三次握手
所有的TCP掃描方式都是基於三次握手的變化來判斷目標系統埠狀態
隱蔽掃描:發送SYN數據包,如果收到對方發來的ACK數據包,證明其在線,不與其建立完整的三次握手連接,在應用層日誌內不記錄掃描行為,十分隱蔽,網路層審計會被發現跡象
僵屍掃描:是一種極其隱蔽的掃描方式,實施條件苛刻,對於掃描發起方和被掃描方之間,必須是需要實現地址偽造,必須是僵屍機(指的是閑置系統,並且系統使用遞增的IPID)早期的win xp,win 2000都是遞增的IPID,如今的LINUX,WINDOWS都是隨機產生的IPID
1,掃描者向僵屍機發送SYN+ACY,僵屍機判斷未進行三次握手,所以返回RST包,在RST數據包內有一個IPID,值記為X,那麼掃描者就會知道被掃描者的IPID
2,掃描者向目標伺服器發送SYN數據包,並且偽裝源地址為僵屍機,如果目標伺服器埠開放,那麼就會向僵屍機發送SYN+ACK數據包,那麼僵屍機也會發送RST數據包,那麼其IPID就是X+1(因為僵屍機足夠空閑,這個就為其收到的第二個數據包)
3,掃描者再向僵屍機發送SYN+ACK,那麼僵屍機再次發送RST數據包,IPID為X+2,如果掃描者收到僵屍機的IPID為X+2,那麼就可以判斷目標伺服器埠開放
使用scapy發送數據包:首先開啟三台虛擬機,
kali虛擬機:192.168.45.128
Linux虛擬機:192.168.45.129
windows虛擬機:192.168.45.132
發送SYN數據包:
通過抓包可以查看kali給linux發送syn數據包
linux虛擬機返回Kali虛擬機SYN+ACK數據包
kali系統並不知道使用者發送了SYN包,而其莫名其妙收到了SYN+ACK數據包,便會發RST包斷開連接
也可以使用下列該命令查看收到的數據包的信息,收到對方相應的SYN+ACK數據包,scapy默認從本機的80埠往目標系統的20號埠發送,當然也可以修改
如果向目標系統發送一個 隨機埠:
通過抓包的獲得:1,kali向linux發送SYN數據包,目標埠23456,
2,Linux系統由自己的23456埠向kali系統的20號埠返回RST+ACK數據包,表示系統埠未開放會話結束
使用python腳本去進行scapy掃描
nmap做隱蔽埠掃描:
nmap -sS 192.168.45.129 -p 80,21,110,443 #掃描固定的埠
nmap -sS 192.168.45.129 -p 1-65535 --open #掃描該IP地址下1-65535埠掃描,並只顯示開放的埠
nmap -sS 192.168.45.129 -p --open #參數--open表示只顯示開放的埠
nmap -sS -iL iplist.txt -p 80
由抓包可知,nmap默認使用-sS掃描,發送SYN數據包,即nmap=nmap -sS
hping3做隱蔽埠掃描:
hping3 192.168.45.129 --scan 80 -S #參數--scan後面接單個埠或者多個埠.-S表示進行SYN掃描
hping3 192.168.45.129 --scan 80,21,25,443 -S
hping3 192.168.45.129 --scan 1-65535 -S
由抓包可得:
hping3 -c 100 -S --spoof 192.168.45.200 -p ++1 192.168.45.129
參數-c表示發送數據包的數量
參數-S表示發送SYN數據包
--spoof:偽造源地址,後面接偽造的地址,
參數-p表示掃描的埠,++1表示每次埠號加1,那麼就是發送SYN從埠1到埠100
最後面跟的是目標IP
通過抓包可以得知地址已偽造,但對於linux系統(192.168.45.129)來說,它收到了192.168.45.200的SYN數據包,那麼就會給192.168.45.200回復SYN+ACK數據包,但該地址卻是kali偽造的地址,那麼要查看目標系統哪些埠開放,必須登陸地址為kali偽造的地址即(192.168.45.200)進行抓包
hping3和nmap掃描埠的區別:1,hping3結果清晰明了
2,nmap首先對IP進行DNS反向解析,如果沒成功,那麼便會對其埠發送數據包,默認發送SYN數據包
hping3直接向目標系統的埠發送SYN數據包,並不進行DNS反向解析
全連接埠掃描:如果單獨發送SYN數據包被被過濾,那麼就使用全連接埠掃描,與目標建立三次握手連接,結果是最准確的,但容易被入侵檢測系統發現
response=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="S"))
reply=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="A",ack=(response[TCP].seq+1)))
抓包情況:首先kali向Linux發送SYN,Linux回復SYN+ACK給kali,但kali的系統內核不清楚kali曾給linux發送給SYN數據包,那麼kali內核莫名其妙收到SYN+ACK包,那麼便會返回RST請求斷開數據包給Linux,三次握手中斷,如今kali再給Linux發ACK確認數據包,Linux莫名其妙收到了ACK數據包,當然也會返回RST請求斷開數據包,具體抓包如下:
那麼只要kali內核在收到SYN+ACK數據包之後,不發RST數據包,那麼就可以建立完整的TCP三次握手,判斷目標主機埠是否開放
因為iptables存在於Linux內核中,通過iptables禁用內核發送RST數據包,那麼就可以實現
使用nmap進行全連接埠掃描:(如果不指定埠,那麼nmap默認會掃描1000個常用的埠,並不是1-1000號埠)
使用dmitry進行全連接埠掃描:
dmitry:功能簡單,但功能簡便
默認掃描150個最常用的埠
dmitry -p 192.168.45.129 #參數-p表示執行TCP埠掃描
dmitry -p 192.168.45.129 -o output #參數-o表示把結果保存到一個文本文檔中去
使用nc進行全連接埠掃描:
nc -nv -w 1 -z 192.168.45.129 1-100: 1-100表示掃描1-100號埠
參數-n表示不對Ip地址進行域名解析,只把其當IP來處理
參數-v表示顯示詳細信息
參數-w表示超時時間
-z表示打開用於掃描的模式
3. Nmap 掃描原理及使用方法
Nmap 掃描原理及使用方法
Namp包含四項基本功能
Nmap基本掃描方法
2.1 用法引入
2.1.1確定埠狀況
確定目標主機在線情況及埠基本狀況。
命令形式:
namp targethost
2.1.2 完整全面的掃描
對主機進行完整全面的掃描,那麼可以使用nmap內置的-A選項。使用該選項,nmap 對主機進行主機發現、埠掃描、應用程序與版本偵測、操作系統偵測及調用默認NSE腳本掃描。
1)命令形式:
nmap -T4 -A -v targethost
2)參數詳解:
2.2 主機發現
2.2.1 主機發現原理
主機發現發現的原理與Ping命令類似,發送探測包到目標主機,如果收到回復,說明目標主機是開啟的。
1)常見主機探測方式:
2)案例:
Nmap的用戶位於源端,IP地址192.168.0.5,向目標主機192.168.0.3發送ICMP Echo Request。如果該請求報文沒有被防火牆攔截掉,那麼目標機會回復ICMP Echo Reply包回來。以此來確定目標主機是否在線。
3)默認情況下:Nmap會發送四種不同類型的數據包來探測目標主機是否在線。
依次發送四個報文探測目標機是否開啟。只要收到其中一個包的回復,那就證明目標機開啟。使用四種不同類型的數據包可以避免因防火牆或丟包造成的判斷錯誤。
2.2.2 主機發現的用法
2.3 埠掃描
Namp通過探測將埠劃分為6個狀態:
2.3.1 埠掃描原理
2.3.1.1 TCP SYN scanning
TCP SYN scanning 是Nmap默認的掃描方式,稱作半開放掃描。
原理:該方式發送SYN到目標埠。
2.3.1.2 TCP connect scanning
原理:TCP connect 方式使用系統網路API connect 向目標主機的埠發起連接。
優缺點:該方式掃描速度比較慢,而且由於建立完整的TCP連接會在目標機上留下記錄信息,不夠隱蔽。所以,TCP connect是TCP SYN無法使用才考慮選擇的方式。
2.3.1.3 TCP ACK scanning
原理:向目標主機的埠發送ACK包。
優缺點:該方式只能用於確定防火牆是否屏蔽某個埠,可以輔助TCP SYN的方式來判斷目標主機防火牆的狀況。
2.3.1.4 TCP FIN/Xmas/NULL scanning
這三種掃描方式被稱為秘密掃描(Stealthy Scan)
原理:FIN掃描向目標主機的埠發送的TCP FIN包或Xmas tree包/Null包
其中Xmas tree包是指flags中FIN URG PUSH被置為1的TCP包;NULL包是指所有flags都為0的TCP包。
2.3.1.5 UDP scanning
UDP掃描方式用於判斷UDP埠的情況。
原理:向目標主機的UDP埠發送探測包。
2.3.2 埠掃描用法
2.3.2.1 掃描方式選項
2.3.2.2 埠參數與掃描順序
2.4 版本偵測
2.4.1 優缺點
2.4.2 版本偵測原理
2.4.3 版本偵測用法
2.5 OS偵測
2.5.1 OS偵測原理
2.5.2 OS偵測用法
參考: https://www.cnblogs.com/tdcqma/p/5692546.html
4. 如何在linux上安裝nmap
從軟體的官網獲取最新的源碼包。從nmap的官網獲取最新的nmap源碼包。
將源碼包上傳到linux伺服器。小編已有6.45版本,就不用6.47版本做演示,編譯安裝步驟是一樣的。
解壓nmap的源碼包。使用「tar -xvf nmap-6.45.tar.bz2」解壓到當前目錄。
進入nmap目錄,使用命令「cd nmap-6.45」。
執行configure命令配置安裝前的環境,以及安裝路徑。使用「./configure --prefix=/usr」將nmap安裝到指定的目錄「/usr」下。如果報「configure: error: no acceptable C compiler found in $PATH」錯誤,請安裝gcc軟體,命令為「apt-get install gcc」。
執行make命令編譯nmap,編譯nmap的命令為「make」,如果提示「-bash: make: command not found」錯誤,請執行「apt-get install make」安裝即可。如果報「/bin/sh: g++: not found」請執行「apt-get install g++」安裝。
執行make install安裝nmap,命令為「make install」。
執行「nmap -v」命令查看自己安裝的軟體是否成功。
5. 【工具使用】常見的NMAP命令總結
總結了一下常見的NMAP的使用命令,用來快速查看的,覺得有用的小夥伴可以收藏一下。
nmap -v 詳細信息輸出
nmap -p 指定埠
nmap -iL 掃描文件中的ip
nmap -exclude 不掃描某些ip
nmap -Pn 使用ping掃描,顯式地關閉埠掃描,用於主機發現
nmap -sn 使用ping掃描,進行埠掃描,假設主機都是up的
nmap -sS 使用SYN掃描,不需要完成三次握手
nmap -sT TCP connect掃描,需要完成三次握手,只適用於找出TCP和UDP埠
nmap -sU 掃描UDP埠
nmap -sF FIN掃描,用於探測防火牆狀態,識別埠是否關閉,容易漏掃
nmap -sV 掃描目標主機的埠和軟體版本
nmap -O 遠程檢測操作系統和軟體
nmap -O --osscan-guess 猜測目標操作系統版本
nmap -traceroute 路由跟蹤
nmap -A 綜合掃描,包含1-10000的埠ping掃描,操作系統掃描,腳本掃描,路由跟蹤,服務探測
nmap -oN result.txt 將標准輸出寫入到指定文件中
nmap -oX result.xml 將輸入寫成xml的形式
nmap -oS result.txt 將輸出寫成特殊符號的形式,內容跟-oN是一樣的,只是字體變了而已
nmap -oG result.txt 將輸出寫成特殊格式
nmap -oA 將輸出所有格式,有三種 .xml/ .gnmap/ .nmap
nmap -T[0-5] 時間參數模板
-T0 用於躲避IDS,時間很長
-T1 用於躲避IDS,時間很長
-T2 降低了掃描速度,使用更小的帶寬和目標主機資源對目標靶機進行掃描
-T3 默認模式,未做優化
-T4 假設用戶具有合適及可靠的網路而加速對目標靶機的掃描
-T5 假設用戶具有更好的網路或者願意犧牲准確性而加速掃描
nmap -sC 根據埠識別服務自動調用默認腳本
nmap --script
6. nmap使用求助
Nmap是一款網路掃描和主機檢測的非常有用的工具。Nmap是不局限於僅僅收集信息和枚舉,同時可以用來作為一個漏洞探測器或安全掃描器。它可以適用於winodws,linux,mac等操作系統
Nmap是一款非常強大的實用工具,可用於:檢測活在網路上的主機(主機發現)檢測主機上開放的埠(埠發現或枚舉)檢測到相應的埠(服務發現)的軟體和版本檢測操作系統,硬體地址,以及軟體版本檢測脆弱性的漏洞(Nmap的腳本)Nmap是一個非常普遍的工具,它有命令行界面和圖形用戶界面。本人包括以下方面的內容:介紹Nmap掃描中的重要參數操作系統檢測Nmap使用教程Nmap使用不同的技術來執行掃描,包括:TCP的connect()掃描,TCP反向的ident掃描,FTP反彈掃描等。所有這些掃描的類型有自己的優點和缺點,我們接下來將討論這些問題。 Nmap的使用取決於目標主機,因為有一個簡單的(基本)掃描和預先掃描之間的差異。我們需要使用一些先進的技術來繞過防火牆和入侵檢測/防禦系統,以獲得正確的結果。下面是一些基本的命令和它們的用法的例子:掃描單一的一個主機,命令如下:
代碼如下:
#nmap nxadmin.com#nmap 192.168.1.2
掃描整個子網,命令如下:
代碼如下:
#nmap 192.168.1.1/24
掃描多個目標,命令如下:
代碼如下:
#nmap 192.168.1.2 192.168.1.5
掃描一個范圍內的目標,如下:
代碼如下:
#nmap 192.168.1.1-100 (掃描IP地址為192.168.1.1-192.168.1.100內的所有主機)
如果你有一個ip地址列表,將這個保存為一個txt文件,和namp在同一目錄下,掃描這個txt內的所有主機,命令如下:
代碼如下:
#nmap -iL target.txt
如果你想看到你掃描的所有主機的列表,用以下命令:
代碼如下:
#nmap -sL 192.168.1.1/24
掃描除過某一個ip外的所有子網主機,命令:
代碼如下:
#nmap192.168.1.1/24-exclude192.168.1.1
掃描除過某一個文件中的ip外的子網主機命令
代碼如下:
#nmap192.168.1.1/24-excludefilexxx.txt(xxx.txt中的文件將會從掃描的主機中排除)
掃描特定主機上的80,21,23埠,命令如下
代碼如下:
#nmap-p80,21,23192.168.1.1
從上面我們已經了解了Nmap的基礎知識,下面我們深入的探討一下Nmap的掃描技術
Tcp SYN Scan (sS) 這是一個基本的掃描方式,它被稱為半開放掃描,因為這種技術使得Nmap不需要通過完整的握手,就能獲得遠程主機的信息。Nmap發送SYN包到遠程主機,但是它不會產生任何會話.因此不會在目標主機上產生任何日誌記錄,因為沒有形成會話。這個就是SYN掃描的優勢.如果Nmap命令中沒有指出掃描類型,默認的就是Tcp SYN.但是它需要root/administrator許可權.
代碼如下:
#nmap -sS 192.168.1.1
Tcp connect() scan(sT)如果不選擇SYN掃描,TCP connect()掃描就是默認的掃描模式.不同於Tcp SYN掃描,Tcp connect()掃描需要完成三次握手,並且要求調用系統的connect().Tcp connect()掃描技術只適用於找出TCP和UDP埠.
代碼如下:
#nmap -sT 192.168.1.1
Udp scan(sU)顧名思義,這種掃描技術用來尋找目標主機打開的UDP埠.它不需要發送任何的SYN包,因為這種技術是針對UDP埠的。UDP掃描發送UDP數據包到目標主機,並等待響應,如果返回ICMP不可達的錯誤消息,說明埠是關閉的,如果得到正確的適當的回應,說明埠是開放的.
代碼如下:
#nmap -sU 192.168.1.1
FINscan(sF)
有時候TcpSYN掃描不是最佳的掃描模式,因為有防火牆的存在.目標主機有時候可能有IDS和IPS系統的存在,防火牆會阻止掉SYN數據包。發送一個設置了FIN標志的數據包並不需要完成TCP的握手.
代碼如下:
<a href="mailto:root@bt:~#nmap-sF192.168.1.8">root@bt:~#nmap-sF192.168.1.8</a></p> <p>StartingNmap5.51at2012-07-0819:21PKTNmapscanreportfor192.168.1.8Hostisup(0.000026slatency).Notshown:/tcpopen|filteredrpcbind
FIN掃描也不會在目標主機上創建日誌(FIN掃描的優勢之一).個類型的掃描都是具有差異性的,FIN掃描發送的包只包含FIN標識,NULL掃描不發送數據包上的任何位元組,XMAS掃描發送FIN、PSH和URG標識的數據包.
PINGScan(sP)
PING掃描不同於其它的掃描方式,因為它只用於找出主機是否是存在在網路中的.它不是用來發現是否開放埠的.PING掃描需要ROOT許可權,如果用戶沒有ROOT許可權,PING掃描將會使用connect()調用.
代碼如下:
#nmap-sP192.168.1.1
版本檢測(sV)
版本檢測是用來掃描目標主機和埠上運行的軟體的版本.它不同於其它的掃描技術,它不是用來掃描目標主機上開放的埠,不過它需要從開放的埠獲取信息來判斷軟體的版本.使用版本檢測掃描之前需要先用TCPSYN掃描開放了哪些埠.
代碼如下:
#nmap-sV192.168.1.1
Idlescan(sL)
Idlescan是一種先進的掃描技術,它不是用你真實的主機Ip發送數據包,而是使用另外一個目標網路的主機發送數據包.
代碼如下:
#nmap-sL192.168.1.6192.168.1.1
Idlescan是一種理想的匿名掃描技術,通過目標網路中的192.168.1.6向主機192.168.1.1發送數據,來獲取192.168.1.1開放的埠
有需要其它的掃描技術,如FTPbounce(FTP反彈),fragmentationscan(碎片掃描),IPprotocolscan(IP協議掃描),以上討論的是幾種最主要的掃描方式.
Nmap的OS檢測(O)
Nmap最重要的特點之一是能夠遠程檢測操作系統和軟體,Nmap的OS檢測技術在滲透測試中用來了解遠程主機的操作系統和軟體是非常有用的,通過獲取的信息你可以知道已知的漏洞。Nmap有一個名為的nmap-OS-DB資料庫,該資料庫包含超過2600操作系統的信息。Nmap把TCP和UDP數據包發送到目標機器上,然後檢查結果和資料庫對照。
代碼如下:
InitiatingSYNStealthScanat10:21Scanninglocalhost(127.0.0.1)[1000ports]Discoveredopenport111/tcpon127.0.0.1CompletedSYNStealthScanat10:21,0.08selapsed(1000totalports)InitiatingOSdetection(try#1)againstlocalhost(127.0.0.1)RetryingOSdetection(try#2)againstlocalhost(127.0.0.1)
上面的例子清楚地表明,Nmap的首次發現開放的埠,然後發送數據包發現遠程操作系統。操作系統檢測參數是O(大寫O)
Nmap的操作系統指紋識別技術:
設備類型(路由器,工作組等)運行(運行的操作系統)操作系統的詳細信息(操作系統的名稱和版本)網路距離(目標和攻擊者之間的距離跳)
如果遠程主機有防火牆,IDS和IPS系統,你可以使用-PN命令來確保不ping遠程主機,因為有時候防火牆會組織掉ping請求.-PN命令告訴Nmap不用ping遠程主機。
代碼如下:
#nmap-O-PN192.168.1.1/24
以上命令告訴發信主機遠程主機是存活在網路上的,所以沒有必要發送ping請求,使用-PN參數可以繞過PING命令,但是不影響主機的系統的發現.
Nmap的操作系統檢測的基礎是有開放和關閉的埠,如果OSscan無法檢測到至少一個開放或者關閉的埠,會返回以下錯誤:
代碼如下:
Warning:dport
OSScan的結果是不可靠的,因為沒有發現至少一個開放或者關閉的埠
這種情況是非常不理想的,應該是遠程主機做了針對操作系統檢測的防範。如果Nmap不能檢測到遠程操作系統類型,那麼就沒有必要使用-osscan_limit檢測。
想好通過Nmap准確的檢測到遠程操作系統是比較困難的,需要使用到Nmap的猜測功能選項,–osscan-guess猜測認為最接近目標的匹配操作系統類型。
代碼如下:
#nmap-O--osscan-guess192.168.1.1
下面是掃描類型說明
-sTTCPconnect()掃描:這是最基本的TCP掃描方式。connect()是一種系統調用,由操作系統提供,用來打開一個連接。如果目標埠有程序監聽,connect()就會成功返回,否則這個埠是不可達的。這項技術最大的優點是,你勿需root許可權。任何UNIX用戶都可以自由使用這個系統調用。這種掃描很容易被檢測到,在目標主機的日誌中會記錄大批的連接請求以及錯誤信息。
-sSTCP同步掃描(TCPSYN):因為不必全部打開一個TCP連接,所以這項技術通常稱為半開掃描(half-open)。你可以發出一個TCP同步包(SYN),然後等待回應。如果對方返回SYN|ACK(響應)包就表示目標埠正在監聽;如果返回RST數據包,就表示目標埠沒有監聽程序;如果收到一個SYN|ACK包,源主機就會馬上發出一個RST(復位)數據包斷開和目標主機的連接,這實際上有我們的操作系統內核自動完成的。這項技術最大的好處是,很少有系統能夠把這記入系統日誌。不過,你需要root許可權來定製SYN數據包。
-sF-sX-sN秘密FIN數據包掃描、聖誕樹(XmasTree)、空(Null)掃描模式:即使SYN掃描都無法確定的情況下使用。一些防火牆和包過濾軟體能夠對發送到被限制埠的SYN數據包進行監視,而且有些程序比如synlogger和courtney能夠檢測那些掃描。這些高級的掃描方式可以逃過這些干擾。些掃描方式的理論依據是:關閉的埠需要對你的探測包回應RST包,而打開的埠必需忽略有問題的包(參考RFC793第64頁)。FIN掃描使用暴露的FIN數據包來探測,而聖誕樹掃描打開數據包的FIN、URG和PUSH標志。不幸的是,微軟決定完全忽略這個標准,另起爐灶。所以這種掃描方式對Windows95/NT無效。不過,從另外的角度講,可以使用這種方式來分別兩種不同的平台。如果使用這種掃描方式可以發現打開的埠,你就可以確定目標注意運行的不是Windows系統。如果使用-sF、-sX或者-sN掃描顯示所有的埠都是關閉的,而使用SYN掃描顯示有打開的埠,你可以確定目標主機可能運行的是Windwos系統。現在這種方式沒有什麼太大的用處,因為nmap有內嵌的操作系統檢測功能。還有其它幾個系統使用和windows同樣的處理方式,包括Cisco、BSDI、HP/UX、MYS、IRIX。在應該拋棄數據包時,以上這些系統都會從打開的埠發出復位數據包。
-sPping掃描:有時你只是想知道此時網路上哪些主機正在運行。通過向你指定的網路內的每個IP地址發送ICMPecho請求數據包,nmap就可以完成這項任務。如果主機正在運行就會作出響應。不幸的是,一些站點例如:microsoft.com阻塞ICMPecho請求數據包。然而,在默認的情況下nmap也能夠向80埠發送TCPack包,如果你收到一個RST包,就表示主機正在運行。nmap使用的第三種技術是:發送一個SYN包,然後等待一個RST或者SYN/ACK包。對於非root用戶,nmap使用connect()方法。在默認的情況下(root用戶),nmap並行使用ICMP和ACK技術。注意,nmap在任何情況下都會進行ping掃描,只有目標主機處於運行狀態,才會進行後續的掃描。如果你只是想知道目標主機是否運行,而不想進行其它掃描,才會用到這個選項。
-sUUDP掃描:如果你想知道在某台主機上提供哪些UDP(用戶數據報協議,RFC768)服務,可以使用這種掃描方法。nmap首先向目標主機的每個埠發出一個0位元組的UDP包,如果我們收到埠不可達的ICMP消息,埠就是關閉的,否則我們就假設它是打開的。有些人可能會想UDP掃描是沒有什麼意思的。但是,我經常會想到最近出現的solarisrpcbind缺陷。rpcbind隱藏在一個未公開的UDP埠上,這個埠號大於32770。所以即使埠111(portmap的眾所周知埠號)被防火牆阻塞有關系。但是你能發現大於30000的哪個埠上有程序正在監聽嗎?使用UDP掃描就能!cDcBackOrifice的後門程序就隱藏在Windows主機的一個可配置的UDP埠中。不考慮一些通常的安全缺陷,一些服務例如:snmp、tftp、NFS使用UDP協議。不幸的是,UDP掃描有時非常緩慢,因為大多數主機限制ICMP錯誤信息的比例(在RFC1812中的建議)。例如,在Linux內核中(在net/ipv4/icmp.h文件中)限制每4秒鍾只能出現80條目標豢紗鐧腎CMP消息,如果超過這個比例,就會給1/4秒鍾的處罰。solaris的限制更加嚴格,每秒鍾只允許出現大約2條ICMP不可達消息,這樣,使掃描更加緩慢。nmap會檢測這個限制的比例,減緩發送速度,而不是發送大量的將被目標主機丟棄的無用數據包。不過Micro$oft忽略了RFC1812的這個建議,不對這個比例做任何的限制。所以我們可以能夠快速掃描運行Win95/NT的主機上的所有65K個埠。
-sAACK掃描:這項高級的掃描方法通常用來穿過防火牆的規則集。通常情況下,這有助於確定一個防火牆是功能比較完善的或者是一個簡單的包過濾程序,只是阻塞進入的SYN包。這種掃描是向特定的埠發送ACK包(使用隨機的應答/序列號)。如果返回一個RST包,這個埠就標記為unfiltered狀態。如果什麼都沒有返回,或者返回一個不可達ICMP消息,這個埠就歸入filtered類。注意,nmap通常不輸出unfiltered的埠,所以在輸出中通常不顯示所有被探測的埠。顯然,這種掃描方式不能找出處於打開狀態的埠。
-sW對滑動窗口的掃描:這項高級掃描技術非常類似於ACK掃描,除了它有時可以檢測到處於打開狀態的埠,因為滑動窗口的大小是不規則的,有些操作系統可以報告其大小。這些系統至少包括:某些版本的AIX、Amiga、BeOS、BSDI、Cray、Tru64UNIX、DG/UX、OpenVMS、DigitalUNIX、OpenBSD、OpenStep、QNX、Rhapsody、SunOS4.x、Ultrix、VAX、VXWORKS。從nmap-hackers郵件3列表的文檔中可以得到完整的列表。
-sRRPC掃描。這種方法和nmap的其它不同的埠掃描方法結合使用。選擇所有處於打開狀態的埠向它們發出SunRPC程序的NULL命令,以確定它們是否是RPC埠,如果是,就確定是哪種軟體及其版本號。因此你能夠獲得防火牆的一些信息。誘餌掃描現在還不能和RPC掃描結合使用。
-bFTP反彈攻擊(bounceattack):FTP協議(RFC959)有一個很有意思的特徵,它支持代理FTP連接。也就是說,我能夠從evil.com連接到FTP伺服器target.com,並且可以要求這台FTP伺服器為自己發送Internet上任何地方的文件!1985年,RFC959完成時,這個特徵就能很好地工作了。然而,在今天的Internet中,我們不能讓人們劫持FTP伺服器,讓它向Internet上的任意節點發送數據。如同Hobbit在1995年寫的文章中所說的,這個協議"能夠用來做投遞虛擬的不可達郵件和新聞,進入各種站點的伺服器,填滿硬碟,跳過防火牆,以及其它的騷擾活動,而且很難進行追蹤"。我們可以使用這個特徵,在一台代理FTP伺服器掃描TCP埠。因此,你需要連接到防火牆後面的一台FTP伺服器,接著進行埠掃描。如果在這台FTP伺服器中有可讀寫的目錄,你還可以向目標埠任意發送數據(不過nmap不能為你做這些)。傳遞給-b功能選項的參數是你要作為代理的FTP伺服器。語法格式為:-busername:password@server:port。除了server以外,其餘都是可選的。如果你想知道什麼伺服器有這種缺陷,可以參考我在Phrack51發表的文章。還可以在nmap的站點得到這篇文章的最新版本。
通用選項這些內容不是必需的,但是很有用。
-P0在掃描之前,不必ping主機。有些網路的防火牆不允許ICMPecho請求穿過,使用這個選項可以對這些網路進行掃描。microsoft.com就是一個例子,因此在掃描這個站點時,你應該一直使用-P0或者-PT80選項。
-PT掃描之前,使用TCPping確定哪些主機正在運行。nmap不是通過發送ICMPecho請求包然後等待響應來實現這種功能,而是向目標網路(或者單一主機)發出TCPACK包然後等待回應。如果主機正在運行就會返回RST包。只有在目標網路/主機阻塞了ping包,而仍舊允許你對其進行掃描時,這個選項才有效。對於非root用戶,我們使用connect()系統調用來實現這項功能。使用-PT來設定目標埠。默認的埠號是80,因為這個埠通常不會被過濾。
-PS對於root用戶,這個選項讓nmap使用SYN包而不是ACK包來對目標主機進行掃描。如果主機正在運行就返回一個RST包(或者一個SYN/ACK包)。
-PI設置這個選項,讓nmap使用真正的ping(ICMPecho請求)來掃描目標主機是否正在運行。使用這個選項讓nmap發現正在運行的主機的同時,nmap也會對你的直接子網廣播地址進行觀察。直接子網廣播地址一些外部可達的IP地址,把外部的包轉換為一個內向的IP廣播包,向一個計算機子網發送。這些IP廣播包應該刪除,因為會造成拒絕服務攻擊(例如smurf)。
7. Web滲透是怎麼弄的
1.滲透目標
滲透網站(這里指定為www.xxx.com)
切記,在滲透之前要簽訂協議。
2.信息收集
建議手動檢查和掃描器選擇同時進行。
2.1 網站常規檢測(手動)
1:瀏覽www.xxx.com
1. 初步確定網站的類型:例如銀行,醫院,政府等。
2. 查看網站功能模,比如是否有論壇,郵箱等。
3. 重點記錄網站所有的輸入點(與資料庫交互的頁面),比如用戶登錄,用戶注冊,留言板等。4. 重點查看網站是否用到了一些通用的模板,比如論壇選擇了動網(dvbss),就有可能存在動網的漏洞;郵箱有可能選擇通用的郵箱系統,也有漏洞。
2: 分析網站的url1. 利用搜索引擎,搜索網站的url,快速找到網站的動態頁面。
2. 對網站的域名進行反查,查看IP,確定伺服器上的域名數,如果主頁面url檢測沒有漏洞,可以對其他的域名進行檢測。
3:審查代碼
重點對輸入代碼(比如表單)進行分析,看如何來提交輸入,客戶端做了哪些輸入的限制方法。
1. 隱藏表單欄位 hidden
2. Username,Password等
4:控制項分析
Active x 通常都是用c/c++編寫
在頁面上(通常是首頁)的源碼中搜索
1. 需要ComRaider+OD 對dll文件進行反編譯,看是否有漏洞。
2. 改變程序執行的路徑,破壞Active X 實施的輸入確認,看web的回應。
5:對常規的輸入進行手動注入測試,測試是否有sql注入和跨站漏洞,試用常規的用戶名和密碼登錄。
6:查看web伺服器的版本,確定搜索是否有低版本伺服器組件和框架的漏洞,比如通用的java框架Struct2的漏洞。
2.2 工具選擇和使用
1:web應用程序漏洞掃描工具
Appscan: (版本7.8)
掃描漏洞比較全,中文,漏洞利用率高,檢測速度慢,需要大量內存,重點推薦。
AWVS:
英文,漏洞庫完善,檢測速度慢。
JSky
中文,檢測速度快,但深度一般。
Nessus
英文,檢測速度較快,漏洞也比較完善,免費,可及時更新,B/S界面。
2:埠掃描
Nmap
流光
3: 口令破解工具
溯雪
4:sql 注入工具
Asp+SqlServe, ACCESS:啊D注入工具
php+MySQL : php+mysql注入工具(暗組的hacker欄中)
Jsp+ORACAL: CnsaferSI
支持以上資料庫 Pangolin
5: http代理請求
Paros
6:木馬
灰鴿子
7:提權木馬
一句話木馬大馬(具體所用的木馬參考文檔和工具包(綠盟,暗組))
5: 工具推薦使用方案
Appscan掃描出的重大漏洞,進行手工檢測(注意看漏洞是如何發現的,修改漏洞的代碼,對滲透幫助很大)。
sql注入漏洞
可以選用根據網站類型選擇sql注入工具
如果是post請求類型的url,選擇使用paros代理後,修改http請求包,進行注入。
WebDEV漏洞
可以啟用發送請求(比如DELETE對方網頁)
跨站漏洞
直接將appscan的代碼輸入測試,成功後,可以嘗試跨其他腳本(比如
遍歷漏洞:
網頁的目錄,下載網站配置文件信息,和源文件進行反編譯
反編譯:
Class 可以選用java 反編譯工具
Dll (asp.net) 選用Reflector
3.分析並滲透
---------------------
作者:centos2015
來源:CSDN
原文:https://blog.csdn.net/zonghua521/article/details/78272634
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
8. 一個完整的滲透測試流程,分為那幾塊,每一塊有哪些內容
包含以下幾個流程:
信息收集
第一步做的就是信息收集,根據網站URL可以查出一系列關於該網站的信息。通過URL我們可以查到該網站的IP、該網站操作系統、腳本語言、在該伺服器上是否還有其他網站等等一些列的信息。
漏洞探測
當我們收集到了足夠多的信息之後,我們就要開始對網站進行漏洞探測了。探測網站是否存在一些常見的Web漏洞,比如:SQL注入 。
漏洞利用
探測到了該網站存在漏洞之後,就要對該漏洞進行利用了。不同的漏洞有不同的利用工具,很多時候,通過一個漏洞我們很難拿到網站的webshell,我們往往需要結合幾個漏洞來拿webshell。
內網滲透
當我們能跟內網主機進行通信後,我們就要開始進行內網滲透了。可以先使用nmap對內網主機進行掃描,探測在線的主機,並且探測其使用的操作系統、開放的埠等信息。
內網中也有可能存在供內網使用的內網伺服器,可以進一步滲透拿下其許可權。
痕跡清除
達到了目的之後,有時候只是為了黑入網站掛黑頁,炫耀一下;或者在網站留下一個後門,作為肉雞,沒事的時候上去溜達溜達;亦或者掛入挖礦木馬。
撰寫滲透測試保告
在完成了滲透測試之後,就需要對這次滲透測試撰寫滲透測試報告了。明確的寫出哪裡存在漏洞,以及漏洞修補的方法。以便於網站管理員根據我們的滲透測試報告修補這些漏洞和風險,防止被黑客攻擊。
9. hacknet ccc黑客小隊任務怎麼過
黑客小隊任務解法
1.被懟法
大家第一次完成這個任務的時候大多都是這個方法吧。在開始破解一個埠後被快速的trace懟成紅屏。換IP後交任務。
難度系數:0
復雜系數:0
策應組建議:新手入門嘛。。。嘗嘗失敗也沒什麼不好啦。
2.跑路法
有些慫逼【劃掉】玩家會在嘗試破解一個埠後dc跑路,這是個很明智的做法。
難度系數:1
復雜系數:0
策應組建議:慫比打完就想跑。
3.紅屏法
這個方法只是在被追蹤紅屏後的冒險做法,推薦一周目不要嘗試。
難度系數:5
復雜系數:2
策應組建議:新人勿動!
看完這些書你就知道你究竟該幹嘛了。
《c++從入門到放棄》
《Android開發大全——從開始到轉行》
《php由初學至搬磚》
《黑客攻防:從入門到入獄》
《反編譯從偷別人到被人偷》
《mysql從刪庫到跑路》
《java從跨平台到數框框》
《ios開發從入門到下架》
《伺服器運維管理從入門到硬碟全紅》
《office三件套從入門到手寫》
《debug455個經典案例,讓你電腦開機藍屏》
《零基礎學c語言,直到你放棄》
《shell從加殼到脫殼》
4.自開追蹤法
不知道大家有沒有注意到bit讓自己刪的追蹤?它有個奇怪的現象:兩個追蹤程序不能同時運行。辦法就來了:nmap後馬上運行追蹤程序(保留方法為不刪除而是改名),之後就大大方方的黑吧!
難度系數:3
復雜系數:10(新手根本想不到,要從第一個任務開始准備。)
策應組建議:老司機可以試試看。