新聞中心
隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)安全已成為重要的議題。而在網(wǎng)絡(luò)安全中,漏洞掃描是非常重要的一環(huán)。漏洞掃描可以幫助我們找到網(wǎng)絡(luò)系統(tǒng)的問題,從而采取措施解決這些問題。本文將介紹一些在Linux上進(jìn)行網(wǎng)絡(luò)漏洞掃描的實(shí)用方法。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括炎陵網(wǎng)站建設(shè)、炎陵網(wǎng)站制作、炎陵網(wǎng)頁制作以及炎陵網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,炎陵網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到炎陵省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
1. 使用Nmap進(jìn)行網(wǎng)絡(luò)漏洞掃描
Nmap是一款常用的網(wǎng)絡(luò)掃描工具,它可以掃描網(wǎng)絡(luò)中的主機(jī)、端口和服務(wù)等信息,并且可以檢測(cè)到一些網(wǎng)絡(luò)漏洞。以下是使用Nmap進(jìn)行漏洞掃描的步驟:
步驟1: 安裝Nmap
在終端中輸入以下命令進(jìn)行安裝:
sudo apt-get install nmap
步驟2: 執(zhí)行Nmap掃描
在終端中輸入以下命令進(jìn)行掃描:
sudo nmap -sS -O -T4 [IP地址]
其中,-sS選項(xiàng)表示使用TCP SYN掃描,-O選項(xiàng)表示對(duì)操作系統(tǒng)進(jìn)行探測(cè),-T4選項(xiàng)表示使用T4速度模式。
步驟3: 查看掃描結(jié)果
在掃描完成后,可以查看掃描結(jié)果并根據(jù)結(jié)果來調(diào)整安全措施。
2. 使用Nikto進(jìn)行Web應(yīng)用漏洞掃描
Nikto是一款常用的Web應(yīng)用漏洞掃描工具,它可以檢測(cè)到一些常見的Web應(yīng)用漏洞。以下是使用Nikto進(jìn)行漏洞掃描的步驟:
步驟1: 安裝Nikto
在終端中輸入以下命令進(jìn)行安裝:
sudo apt-get install nikto
步驟2: 執(zhí)行Nikto掃描
在終端中輸入以下命令進(jìn)行掃描:
sudo nikto -h [IP地址]
其中,-h選項(xiàng)表示要掃描的目標(biāo)主機(jī)。
步驟3: 查看掃描結(jié)果
在掃描完成后,可以查看掃描結(jié)果并根據(jù)結(jié)果來調(diào)整安全措施。
3. 使用Metasploit進(jìn)行漏洞利用
Metasploit是一款常用的漏洞利用框架,它可以快速的利用一些已知的漏洞來入侵目標(biāo)主機(jī)。以下是使用Metasploit進(jìn)行漏洞利用的步驟:
步驟1: 安裝Metasploit
在終端中輸入以下命令進(jìn)行安裝:
sudo apt-get install metasploit-framework
步驟2: 搜索漏洞
在終端中輸入以下命令進(jìn)行搜索:
msfconsole
search [漏洞名稱]
其中,msfconsole命令表示進(jìn)入Metasploit的控制臺(tái),search命令表示搜索漏洞。
步驟3: 利用漏洞
在搜索到漏洞后,可以使用以下命令進(jìn)行利用:
use [漏洞模塊名稱]
set RHOST [目標(biāo)主機(jī)IP地址]
exploit
其中,use命令表示使用漏洞模塊,set命令表示設(shè)置目標(biāo)主機(jī)IP地址,exploit命令表示執(zhí)行利用。
網(wǎng)絡(luò)漏洞掃描是網(wǎng)絡(luò)安全的重要環(huán)節(jié)之一,它可以幫助我們找到網(wǎng)絡(luò)系統(tǒng)中存在的問題,并采取措施來解決這些問題。在Linux上,有很多實(shí)用的漏洞掃描工具,如Nmap、Nikto和Metasploit等,我們可以根據(jù)實(shí)際情況選擇合適的工具進(jìn)行掃描和利用。通過這些工具的使用,我們可以提高網(wǎng)絡(luò)系統(tǒng)的安全性,防止黑客入侵和數(shù)據(jù)泄露等問題的發(fā)生。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220如何借助lynis掃描Linux的安全漏洞
你好,我是扮毀含一名網(wǎng)絡(luò)管理員,Linux的漏洞掃描?、你可以用Linux自帶的瀏覽器上網(wǎng)搜一下系統(tǒng)漏洞掃描器、自廳笑余物己做還是用XP或者其他操作系統(tǒng)編程,不過Linux編程環(huán)境也很強(qiáng)大,謝謝采納。
如何使用Nessus掃描漏洞
漏洞掃描就是對(duì)計(jì)算機(jī)系統(tǒng)或者其它網(wǎng)絡(luò)設(shè)備進(jìn)行安全相關(guān)的檢測(cè),以找出安全隱患和可被黑客利用的漏洞。顯然,漏洞掃描軟件是把雙刃劍,黑客利用它入侵系統(tǒng),而系統(tǒng)管理員掌握它以后又可以有效的防范黑客入侵。因此,漏洞掃描是保證系統(tǒng)和網(wǎng)絡(luò)安全必不可少的手段,必須仔細(xì)研究利用。
漏洞掃描通常采用兩種策略,之一種是被動(dòng)式策略,第二種是主動(dòng)式策略。所謂被動(dòng)式策略就是基于主機(jī)之上,對(duì)系統(tǒng)中不合適的設(shè)置,脆弱的口令以及其他同安全規(guī)則抵觸的對(duì)象進(jìn)行檢查;而主動(dòng)式策略是基于網(wǎng)絡(luò)的,它通過執(zhí)行一些腳本文件模擬對(duì)系統(tǒng)進(jìn)行攻擊的行為并記錄系統(tǒng)的反應(yīng),從而發(fā)現(xiàn)其中的漏洞。利用被動(dòng)式策略掃描稱為系統(tǒng)安全掃描,利用主動(dòng)式策略掃描稱為網(wǎng)絡(luò)安全掃描。
快速安裝Nessus
Nessus是一個(gè)功能強(qiáng)大而又易于使用的遠(yuǎn)程安全掃描器。安全掃描器的功能是對(duì)指定網(wǎng)絡(luò)進(jìn)行安全檢查,找出該網(wǎng)絡(luò)是否存在有導(dǎo)致對(duì)手攻擊的安全漏洞。該系統(tǒng)被設(shè)計(jì)為client/sever模式,服務(wù)器端負(fù)責(zé)進(jìn)行安全檢查,客戶端用來配鉛知世置管理服務(wù)器端。在服務(wù)端還采用了plug-in的體系,允許用戶加入執(zhí)行特定功能的插件,這插件可以進(jìn)行更快速和更復(fù)雜的安全檢查。在Nessus中還采用了一個(gè)共享的信息接口,稱之知識(shí)庫(kù),其中保存了前面進(jìn)行檢查的結(jié)果。檢查的結(jié)果可以HTML、純文本、LaTeX(一種文本文件格式)等槐肢幾種格式保存。
Nessus的優(yōu)點(diǎn)在于:
1. 其采用了基于多種安全漏洞的掃描,避免了掃描不完整的情況。
2. 它是免費(fèi)的,比起商業(yè)的安全掃描工具如ISS具有價(jià)格優(yōu)勢(shì)。
(1)安裝和啟動(dòng)Nessus服務(wù)器端
以Nessus-4.2.0-es5.i386.rpmNessus使用為例,使用如下的命令對(duì)其進(jìn)行安裝即可:
# rpm -ivh Nessus-4.2.0-es5.i386.rpm
安裝成功后,還需要添加用戶來對(duì)其進(jìn)行操作,步驟如下所示:
# /opt/nessus//in/nessus-adduser
//添加用戶
Login : root
//設(shè)置密碼
Login password :
Login password (again) :
啟動(dòng)nessus非常簡(jiǎn)單,使用如下命令即可:
#/in/service nessusd start
(2)安裝Nessus客戶端
nessus的客戶端猛緩有兩個(gè)版本,JAVA版本及C版本,JAVA版本的可以在多個(gè)平臺(tái)中運(yùn)行,C版本的支持Windows,有了這兩個(gè)客戶端的版本就可以在局域網(wǎng)的任何的一臺(tái)機(jī)器上進(jìn)行安全檢查了。為了使用的簡(jiǎn)單起見,我們選擇了一款Windows系統(tǒng)下的Nessus 4客戶端版本進(jìn)行安裝和使用,也就是使用Windows客戶端來控制運(yùn)行于Linux下的Nessus服務(wù)器端來對(duì)局域網(wǎng)里面的機(jī)器進(jìn)行漏洞掃描,這也是目前Nessus使用的非常流行的一種方式。具體的安裝如同Windows下任何一款應(yīng)用軟件的安裝方式相同,非常簡(jiǎn)單,這里不再贅述。
3、五步完成Nessus掃描
下面來看看使用nessus進(jìn)行掃描的步驟以及效果,一般來說,使用Nessus進(jìn)行掃描需要有如下5個(gè)步驟:
(1)設(shè)置服務(wù)器連接:如圖1所示,首先需要設(shè)置Nessus客戶端來連接Nessus服務(wù)器,在圖1中,配置好相應(yīng)的主機(jī)名和端口,以及登陸所需要使用的用戶名和密碼。
(2)設(shè)置IP范圍:如圖2所示,設(shè)置為IP Range。當(dāng)然,這里還有其他的選項(xiàng)可提供選擇,包括圖中所示的Single Host、Subnet等,可以根據(jù)實(shí)際情況來選擇。
(3)點(diǎn)擊scan now,開始對(duì)設(shè)定范圍進(jìn)行掃描:如圖5所示。
(4)掃描的整體效果:如圖4所示,掃描給出了對(duì)172.31.12.188這臺(tái)主機(jī)(Linux操作系統(tǒng),RHEL 5.0版本)的掃描結(jié)果,可以很清晰看出操作系統(tǒng)的版本以及開放的端口,同時(shí),也能夠?qū)㈤_放的端口詳細(xì)信息列出來。
Kali Linux 網(wǎng)絡(luò)掃描秘籍 第三章 端口掃描(二)
執(zhí)行 TCP 端口掃描的一種方式就是執(zhí)行一部分。目標(biāo)端口上的 TCP 三次握手用于識(shí)別端口是否接受連接。這一類型的掃描指代隱秘掃描, SYN 掃描,或者半開放掃描。這個(gè)秘籍演示了如何使用 Scapy 執(zhí)行 TCP 隱秘掃描。
為了使用 Scapy 執(zhí)行 TCP 隱秘 掃描,你需要一個(gè)運(yùn)行 TCP 網(wǎng)絡(luò)服務(wù)的遠(yuǎn)程服務(wù)器。這個(gè)例子中我們使用 Metasploitable2 實(shí)氏蔽例來執(zhí)行任務(wù)。配置 Metasploitable2 的更多信息請(qǐng)參考之一章中的“安裝 Metasploitable2”秘籍。
此外,這一節(jié)也需要編寫腳本的更多信息,請(qǐng)參考第運(yùn)耐一章中的“使用文本編輯器*VIM 和 Nano)。
為了展示如何執(zhí)行 SYN 掃描,我們需要使用 Scapy 構(gòu)造 TCP SYN 請(qǐng)求,并識(shí)別和開放端口、關(guān)閉端口以及無響應(yīng)系統(tǒng)有關(guān)的響應(yīng)。為了向給定端口發(fā)送 TCP SYN 請(qǐng)求,我們首先需要構(gòu)建請(qǐng)求的各個(gè)層面。我們需要構(gòu)建的之一層就是 IP 層:
為了構(gòu)建請(qǐng)求的 IP 層,我們需要將 IP 對(duì)象賦給變量 i 。通過調(diào)用 display 函數(shù),我們可以確定對(duì)象的屬性配置。通常,發(fā)送和接受地址都設(shè)為回送地址, 127.0.0.1 。這些值可以通過修改目標(biāo)地址來修改,也就是設(shè)置 i.dst 為想要掃描的地址的字符串值。通過再次調(diào)用 dislay 函數(shù),我們看到不僅僅更新的目標(biāo)地址,也自動(dòng)更新了和默認(rèn)接口相關(guān)的源 IP 地址?,F(xiàn)在我們構(gòu)建了請(qǐng)求的 IP 層,我們可以構(gòu)建 TCP 層了。
為了構(gòu)建請(qǐng)求的 TCP 層,我們使用和 IP 層相同的技巧。在這個(gè)立即中, TCP 對(duì)象賦給了 t 變量。像之前提到的那樣,默認(rèn)的配置可以通過調(diào)用 display 函數(shù)來確定。這里我們可以看到目標(biāo)端口的默認(rèn)值為 HTTP 端口 80。對(duì)于我們的首次掃描,我們將 TCP 設(shè)置保留默認(rèn)?,F(xiàn)在我們創(chuàng)建了 TCP 和 IP 層,我們需要將它們疊放來構(gòu)造請(qǐng)求。
我們可以通過以斜杠分離變量來疊放 IP 和 TCP 層。這些層面之后賦給了新的變量,它代表整個(gè)請(qǐng)求。我們之后可以調(diào)用 dispaly 函數(shù)來查看請(qǐng)求的配置。一旦構(gòu)建了請(qǐng)求,可以將其傳遞給 sr1 函數(shù)來分析響應(yīng):
相同的請(qǐng)求可以不通過構(gòu)建和堆疊每一層來執(zhí)行。反之,我們使用單獨(dú)的一條命令,通過直接調(diào)用函數(shù)并傳遞合適的參數(shù):
要注意當(dāng) SYN 封包發(fā)往目標(biāo) Web 服務(wù)器的 TCP 端口 80,并且該端口上運(yùn)行了 HTTP 服務(wù)時(shí),響應(yīng)中會(huì)帶有 TCP 標(biāo)識(shí) SA 的值,這表明 SYN 和 ACK 標(biāo)識(shí)都被激活。這個(gè)響應(yīng)表明特定的目標(biāo)端口是開放的,并接受連接。如果相同類型的封包發(fā)往不接受連接的端口,會(huì)收到不同的請(qǐng)求。
當(dāng) SYN 請(qǐng)求發(fā)送給關(guān)閉的端口時(shí),返回的響應(yīng)中帶有 TCP 標(biāo)識(shí) RA,這表明 RST 和 ACK 標(biāo)識(shí)為都被激活。ACK 為僅僅用于承認(rèn)請(qǐng)求被接受,RST 為用于斷開連接,因?yàn)槎丝诓唤邮苓B接。作為替代,如果 SYN 封包發(fā)往崩潰的系統(tǒng),或者防火墻過濾了這個(gè)請(qǐng)求,就可能接受不到任何信息。由于這個(gè)原因,在 sr1 函數(shù)在腳本中使用時(shí),應(yīng)該始終使用 timeout 選項(xiàng),來確保腳本不會(huì)在無響應(yīng)的主機(jī)旁核春上掛起。
如果函數(shù)對(duì)無響應(yīng)的主機(jī)使用時(shí), timeout 值沒有指定,函數(shù)會(huì)無限繼續(xù)下去。這個(gè)演示中, timout 值為 1秒,用于使這個(gè)函數(shù)更加完備,響應(yīng)的值可以用于判斷是否收到了響應(yīng):
Python 的使用使其更易于測(cè)試變量來識(shí)別 sr1 函數(shù)是否對(duì)其復(fù)制。這可以用作初步檢驗(yàn),來判斷是否接收到了任何響應(yīng)。對(duì)于接收到的響應(yīng),可以執(zhí)行一系列后續(xù)檢查來判斷響應(yīng)表明端口開放還是關(guān)閉。這些東西可以輕易使用 Python 腳本來完成,像這樣:
在這個(gè) Python 腳本中,用于被提示來輸入 IP 地址,腳本之后會(huì)對(duì)定義好的端口序列執(zhí)行 SYN 掃描。腳本之后會(huì)得到每個(gè)連接的響應(yīng),并嘗試判斷響應(yīng)的 SYN 和 ACK 標(biāo)識(shí)是否激活。如果響應(yīng)中出現(xiàn)并僅僅出現(xiàn)了這些標(biāo)識(shí),那么會(huì)輸出相應(yīng)的端口號(hào)碼。
運(yùn)行這個(gè)腳本之后,輸出會(huì)顯示所提供的 IP 地址的系統(tǒng)上,前 100 個(gè)端口中的開放端口。
這一類型的掃描由發(fā)送初始 SYN 封包給遠(yuǎn)程系統(tǒng)的目標(biāo) TCP 端口,并且通過返回的響應(yīng)類型來判斷端口狀態(tài)來完成。如果遠(yuǎn)程系統(tǒng)返回了 SYN+ACK 響應(yīng),那么它正在準(zhǔn)備建立連接,我們可以假設(shè)這個(gè)端口開放。如果服務(wù)返回了 RST 封包,這就表明端口關(guān)閉并且不接收連接。此外,如果沒有返回響應(yīng),掃描系統(tǒng)和遠(yuǎn)程系統(tǒng)之間可能存在防火墻,它丟棄了請(qǐng)求。這也可能表明主機(jī)崩潰或者目標(biāo) IP 上沒有關(guān)聯(lián)任何系統(tǒng)。
Nmap 擁有可以執(zhí)行遠(yuǎn)程系統(tǒng) SYN 掃描的掃描模式。這個(gè)秘籍展示了如何使用 Namp 執(zhí)行 TCP 隱秘掃描。
為了使用 Nmap 執(zhí)行 TCP 隱秘掃描,你需要一個(gè)運(yùn)行 TCP 網(wǎng)絡(luò)服務(wù)的遠(yuǎn)程服務(wù)器。這個(gè)例子中我們使用 Metasploitable2 實(shí)例來執(zhí)行任務(wù)。配置 Metasploitable2 的更多信息請(qǐng)參考之一章中的“安裝 Metasploitable2”秘籍。
就像多數(shù)掃描需求那樣,Nmap 擁有簡(jiǎn)化 TCP 隱秘掃描執(zhí)行過程的選項(xiàng)。為了使用 Nmap 執(zhí)行 TCP 隱秘掃描,應(yīng)使用 -sS 選項(xiàng),并附帶被掃描主機(jī)的 IP 地址。
在提供的例子中,特定的 IP 地址的 TCP 80 端口上執(zhí)行了 TCP 隱秘掃描。和 Scapy 中的技巧相似,Nmap 監(jiān)聽響應(yīng)并通過分析響應(yīng)中所激活的 TCP 標(biāo)識(shí)來識(shí)別開放端口。我們也可以使用 Namp 執(zhí)行多個(gè)特定端口的掃描,通過傳遞逗號(hào)分隔的端口號(hào)列表。
在這個(gè)例子中,目標(biāo) IP 地址的端口 21、80 和 443 上執(zhí)行了 SYN 掃描。我們也可以使用 Namp 來掃描主機(jī)序列,通過標(biāo)明要掃描的之一個(gè)和最后一個(gè)端口號(hào),以破折號(hào)分隔:
在所提供的例子中,SYN 掃描在 TCP 20 到 25 端口上執(zhí)行。除了擁有指定被掃描端口的能力之外。Nmap 同時(shí)擁有配置好的 1000 和常用端口的列表。我們可以執(zhí)行這些端口上的掃描,通過不帶任何端口指定信息來運(yùn)行 Nmap:
在上面的例子中,掃描了 Nmap 定義的 1000 個(gè)常用端口,用于識(shí)別 Metasploitable2 系統(tǒng)上的大量開放端口。雖然這個(gè)技巧在是被多數(shù)設(shè)備上很高效,但是也可能無法識(shí)別模糊的服務(wù)或者不常見的端口組合。如果掃描在所有可能的 TCP 端口上執(zhí)行,所有可能的端口地址值都需要被掃描。定義了源端口和目標(biāo)端口地址的 TCP 頭部部分是 16 位長(zhǎng)。并且,每一位可以為 1 或者 0。因此,共有 2 ** 16 或者個(gè)可能的 TCP 端口地址。對(duì)于要掃描的全部可能的地址空間,需要提供 0 到的端口范圍,像這樣:
這個(gè)例子中,Metasploitable2 系統(tǒng)上所有可能的和 TCP 地址都掃描了一遍。要注意該掃描中識(shí)別的多數(shù)服務(wù)都在標(biāo)準(zhǔn)的 Nmap 1000 掃描中識(shí)別過了。這就表明在嘗試識(shí)別目標(biāo)的所有可能的攻擊面的時(shí)候,完整掃描是個(gè)更佳實(shí)踐。Nmap 可以使用破折號(hào)記法,掃描主機(jī)列表上的 TCP 端口:
這個(gè)例子中,TCP 80 端口的 SYN 掃描在指定地址范圍內(nèi)的所有主機(jī)上執(zhí)行。雖然這個(gè)特定的掃描僅僅執(zhí)行在單個(gè)端口上,Nmap 也能夠同時(shí)掃描多個(gè)系統(tǒng)上的多個(gè)端口和端口范圍。此外,Nmap 也能夠進(jìn)行配置,基于 IP 地址的輸入列表來掃描主機(jī)。這可以通過 -iL 選項(xiàng)并指定文件名,如果文件存放于執(zhí)行目錄中,或者文件路徑來完成。Nmap 之后會(huì)遍歷輸入列表中的每個(gè)地址,并對(duì)地址執(zhí)行特定的掃描。
Nmap SYN 掃描背后的底層機(jī)制已經(jīng)討論過了。但是,Nmap 擁有多線程功能,是用于執(zhí)行這類掃描的快速高效的方式。
除了其它已經(jīng)討論過的工具之外,Metasploit 擁有用于 SYN 掃描的輔助模塊。這個(gè)秘籍展示了如何使用 Metasploit 來執(zhí)行 TCP 隱秘掃描。
為了使用 Metasploit 執(zhí)行 TCP 隱秘掃描,你需要一個(gè)運(yùn)行 TCP 網(wǎng)絡(luò)服務(wù)的遠(yuǎn)程服務(wù)器。這個(gè)例子中我們使用 Metasploitable2 實(shí)例來執(zhí)行任務(wù)。配置 Metasploitable2 的更多信息請(qǐng)參考之一章中的“安裝 Metasploitable2”秘籍。
Metasploit 擁有可以對(duì)特定 TCP 端口執(zhí)行 SYN 掃描的輔助模塊。為了在 Kali 中啟動(dòng) Metasploit,我們?cè)诮K端中執(zhí)行 msfconsole 命令。
為了在 Metasploit 中執(zhí)行 SYN 掃描,以輔助模塊的相對(duì)路徑調(diào)用 use 命令。一旦模塊被選中,可以執(zhí)行 show options 命令來確認(rèn)或修改掃描配置。這個(gè)命令會(huì)展示四列的表格,包括 name 、 current settings 、 required 和 description 。 name 列標(biāo)出了每個(gè)可配置變量的名稱。 current settings 列列出了任何給定變量的現(xiàn)有配置。 required 列標(biāo)出對(duì)于任何給定變量,值是否是必須的。 description 列描述了每個(gè)變量的功能。任何給定變量的值可以使用 set 命令,并且將新的值作為參數(shù)來修改。
在上面的例子中, RHOSTS 值修改為我們打算掃描的遠(yuǎn)程系統(tǒng)的 IP 地址。地外,線程數(shù)量修改為 20。 THREADS 的值定義了在后臺(tái)執(zhí)行的當(dāng)前任務(wù)數(shù)量。確定線程數(shù)量涉及到尋找一個(gè)平衡,既能提升任務(wù)速度,又不會(huì)過度消耗系統(tǒng)資源。對(duì)于多數(shù)系統(tǒng),20 個(gè)線程可以足夠快,并且相當(dāng)合理。 PORTS 值設(shè)為 TCP 端口 80(HTTP)。修改了必要的變量之后,可以再次使用 show options 命令來驗(yàn)證。一旦所需配置驗(yàn)證完畢,就可以執(zhí)行掃描了。
上面的例子中,所指定的遠(yuǎn)程主機(jī)的錢 100 個(gè) TCP 端口上執(zhí)行了 TCP SYN 掃描。雖然這個(gè)掃描識(shí)別了目標(biāo)系統(tǒng)的多個(gè)設(shè)備,我們不能確認(rèn)所有設(shè)備都識(shí)別出來,除非所有可能的端口地址都掃描到。定義來源和目標(biāo)端口地址的TCP 頭部部分是 16 位長(zhǎng)。并且,每一位可以為 1 或者 0。因此,共有 2 ** 16 或個(gè)可能的 TCP 端口地址。對(duì)于要掃描的整個(gè)地址空間,需要提供 0 到的 端口范圍,像這樣:
在這個(gè)李忠,遠(yuǎn)程系統(tǒng)的所有開放端口都由掃描所有可能的 TCP 端口地址來識(shí)別。我們也可以修改掃描配置使用破折號(hào)記法來掃描地址序列。
這個(gè)例子中,TCP SYN 掃描執(zhí)行在由 RHOST 變量指定的所有主機(jī)地址的 80 端口上。與之相似, RHOSTS 可以使用 CIDR 記法定義網(wǎng)絡(luò)范圍。
Metasploit SYN 掃描輔助模塊背后的底層原理和任何其它 SYN 掃描工具一樣。對(duì)于每個(gè)被掃描的端口,會(huì)發(fā)送 SYN 封包。SYN+ACK 封包會(huì)用于識(shí)別活動(dòng)服務(wù)。使用 MEtasploit 可能更加有吸引力,因?yàn)樗鼡碛薪换タ刂婆_(tái),也因?yàn)樗莻€(gè)已經(jīng)被多數(shù)滲透測(cè)試者熟知的工具。
除了我們之前學(xué)到了探索技巧,hping3 也可以用于執(zhí)行端口掃描。這個(gè)秘籍展示了如何使用 hping3 來執(zhí)行 TCP 隱秘掃描。
為了使用 hping3 執(zhí)行 TCP 隱秘掃描,你需要一個(gè)運(yùn)行 TCP 網(wǎng)絡(luò)服務(wù)的遠(yuǎn)程服務(wù)器。這個(gè)例子中我們使用 Metasploitable2 實(shí)例來執(zhí)行任務(wù)。配置 Metasploitable2 的更多信息請(qǐng)參考之一章中的“安裝 Metasploitable2”秘籍。
除了我們之前學(xué)到了探索技巧,hping3 也可以用于執(zhí)行端口掃描。為了使用 hping3 執(zhí)行端口掃描,我們需要以一個(gè)整數(shù)值使用 –scan 模式來指定要掃描的端口號(hào)。
上面的例子中,SYN 掃描執(zhí)行在指定 IP 地址的 TCP 端口 80 上。 -S 選項(xiàng)指明了發(fā)給遠(yuǎn)程系統(tǒng)的封包中激活的 TCP 標(biāo)識(shí)。表格展示了接收到的響應(yīng)封包中的屬性。我們可以從輸出中看到,接收到了SYN+ACK 響應(yīng),所以這表示目標(biāo)主機(jī)端口 80 是開放的。此外,我們可以通過輸入夠好分隔的端口號(hào)列表來掃描多個(gè)端口,像這樣:
在上面的掃描輸出中,你可以看到,僅僅展示了接受到 SYN+ACK 標(biāo)識(shí)的結(jié)果。要注意和發(fā)送到 443 端口的 SYN 請(qǐng)求相關(guān)的響應(yīng)并沒有展示。從輸出中可以看出,我們可以通過使用 -v 選項(xiàng)增加詳細(xì)讀來查看所有響應(yīng)。此外,可以通過傳遞之一個(gè)和最后一個(gè)端口地址值,來掃描端口范圍,像這樣:
這個(gè)例子中,100 個(gè)端口的掃描足以識(shí)別 Metasploitable2 系統(tǒng)上的服務(wù)。但是,為了執(zhí)行 所有 TCP 端口的掃描,需要掃描所有可能的端口地址值。定義了源端口和目標(biāo)端口地址的 TCP 頭部部分是 16 位長(zhǎng)。并且,每一位可以為 1 或者 0。因此,共有 2 ** 16 或者個(gè)可能的 TCP 端口地址。對(duì)于要掃描的全部可能的地址空間,需要提供 0 到的端口范圍,像這樣:
hping3 不用于一些已經(jīng)提到的其它工具,因?yàn)樗]有 SYN 掃描模式。但是反之,它允許你指定 TCP 封包發(fā)送時(shí)的激活的 TCP 標(biāo)識(shí)。在秘籍中的例子中, -S 選項(xiàng)讓 hping3 使用 TCP 封包的 SYN 標(biāo)識(shí)。
在多數(shù)掃描工具當(dāng)中,TCP 連接掃描比 SYN 掃描更加容易。這是因?yàn)?TCP 連接掃描并不需要為了生成和注入 SYN 掃描中使用的原始封包而提升權(quán)限。Scapy 是它的一大例外。Scapy 實(shí)際上非常難以執(zhí)行完全的 TCP 三次握手,也不實(shí)用。但是,出于更好理解這個(gè)過程的目的,我們來看看如何使用 Scapy 執(zhí)行連接掃描。
為了使用 Scapy 執(zhí)行全連接掃描,你需要一個(gè)運(yùn)行 UDP 網(wǎng)絡(luò)服務(wù)的遠(yuǎn)程服務(wù)器。這個(gè)例子中我們使用 Metasploitable2 實(shí)例來執(zhí)行任務(wù)。配置 Metasploitable2 的更多信息請(qǐng)參考之一章中的“安裝 Metasploitable2”秘籍。
此外,這一節(jié)也需要編寫腳本的更多信息,請(qǐng)參考之一章中的“使用文本編輯器*VIM 和 Nano)。
Scapy 中很難執(zhí)行全連接掃描,因?yàn)橄到y(tǒng)內(nèi)核不知道你在 Scapy 中發(fā)送的請(qǐng)求,并且嘗試阻止你和遠(yuǎn)程系統(tǒng)建立完整的三次握手。你可以在 Wireshark 或 tcpdump 中,通過發(fā)送 SYN 請(qǐng)求并嗅探相關(guān)流量來看到這個(gè)過程。當(dāng)你接收到來自遠(yuǎn)程系統(tǒng)的 SYN+ACK 響應(yīng)時(shí),Linux 內(nèi)核會(huì)攔截它,并將其看做來源不明的響應(yīng),因?yàn)樗恢滥阍?Scapy 中 發(fā)送的請(qǐng)求。并且系統(tǒng)會(huì)自動(dòng)使用 TCP RST 封包來回復(fù),因此會(huì)斷開握手過程??紤]下面的例子:
這個(gè) Python 腳本的例子可以用做 POC 來演系統(tǒng)破壞三次握手的問題。這個(gè)腳本假設(shè)你將帶有開放端動(dòng)系統(tǒng)作為目標(biāo)。因此,假設(shè) SYN+ACK 回復(fù)會(huì)作為初始 SYN 請(qǐng)求的響應(yīng)而返回。即使發(fā)送了最后的 ACK 回復(fù),完成了握手,RST 封包也會(huì)阻止連接建立。我們可以通過觀察封包發(fā)送和接受來進(jìn)一步演示。
在這個(gè) Python 腳本中,每個(gè)發(fā)送的封包都在傳輸之前展示,并且每個(gè)收到的封包都在到達(dá)之后展示。在檢驗(yàn)每個(gè)封包所激活的 TCP 標(biāo)識(shí)的過程中,我們可以看到,三次握手失敗了??紤]由腳本生成的下列輸出:
在腳本的輸出中,我們看到了四個(gè)封包。之一個(gè)封包是發(fā)送的 SYN 請(qǐng)求,第二個(gè)封包時(shí)接收到的 SYN+ACK 回復(fù),第三個(gè)封包時(shí)發(fā)送的 ACK 回復(fù),之后接收到了 RST 封包,它是最后的 ACK 回復(fù)的響應(yīng)。最后一個(gè)封包表明,在建立連接時(shí)出現(xiàn)了問題。Scapy 中可能能夠建立完成的三次握手,但是它需要對(duì)本地 IP 表做一些調(diào)整。尤其是,如果你去掉發(fā)往遠(yuǎn)程系統(tǒng)的 TSR 封包,你就可以完成握手。通過使用 IP 表建立過濾機(jī)制,我們可以去掉 RST 封包來完成三次握手,而不會(huì)干擾到整個(gè)系統(tǒng)(這個(gè)配置出于功能上的原理并不推薦)。為了展示完整三次握手的成功建立,我們使用 Netcat 建立 TCP 監(jiān)聽服務(wù)。之后嘗試使用 Scapy 連接開放的端口。
這個(gè)例子中,我們?cè)?TCP 端口 4444 開啟了監(jiān)聽服務(wù)。我們之后可以修改之前的腳本來嘗試連接 端口 4444 上的 Netcat 監(jiān)聽服務(wù)。
這個(gè)腳本中,SYN 請(qǐng)求發(fā)送給了監(jiān)聽端口。收到 SYN+ACK 回復(fù)之后,會(huì)發(fā)送 ACK回復(fù)。為了驗(yàn)證連接嘗試被系統(tǒng)生成的 RST 封包打斷,這個(gè)腳本應(yīng)該在 Wireshark 啟動(dòng)之后執(zhí)行,來捕獲請(qǐng)求蓄力。我們使用 Wireshark 的過濾器來隔離連接嘗試序列。所使用的過濾器是 tcp && (ip.src == 172.16.36.135 || ip.dst == 172.16.36.135) 。過濾器僅僅用于展示來自或發(fā)往被掃描系統(tǒng)的 TCP 流量。像這樣:
既然我們已經(jīng)精確定位了問題。我們可以建立過濾器,讓我們能夠去除系統(tǒng)生成的 RST 封包。這個(gè)過濾器可以通過修改本地 IP 表來建立:
在這個(gè)例子中,本地 IP 表的修改去除了所有發(fā)往被掃描主機(jī)的目標(biāo)地址的 TCP RST 封包。 list 選項(xiàng)隨后可以用于查看 IP 表的條目,以及驗(yàn)證配置已經(jīng)做了修改。為了執(zhí)行另一次連接嘗試,我們需要確保 Natcat 仍舊監(jiān)聽目標(biāo)的 4444 端口,像這樣:
和之前相同的 Python 腳本可以再次使用,同時(shí) WIreshark 會(huì)捕獲后臺(tái)的流量。使用之前討論的顯示過濾器,我們可以輕易專注于所需的流量。要注意三次握手的所有步驟現(xiàn)在都可以完成,而不會(huì)收到系統(tǒng)生成的 RST 封包的打斷,像這樣:
此外,如果我們看一看運(yùn)行在目標(biāo)系統(tǒng)的 Netcat 服務(wù),我們可以注意到,已經(jīng)建立了連接。這是用于確認(rèn)成功建立連接的進(jìn)一步的證據(jù)。這可以在下面的輸出中看到:
雖然這個(gè)練習(xí)對(duì)理解和解決 TCP 連接的問題十分有幫助,恢復(fù) IP 表的條目也十分重要。RST 封包 是 TCP 通信的重要組成部分,去除這些響應(yīng)會(huì)影響正常的通信功能。洗嘜按的命令可以用于刷新我們的 iptable 規(guī)則,并驗(yàn)證刷新成功:
就像例子中展示的那樣, flush 選項(xiàng)應(yīng)該用于清楚 IP 表的條目。我們可以多次使用 list 選項(xiàng)來驗(yàn)證 IP 表的條目已經(jīng)移除了。
執(zhí)行 TCP 連接掃描的同居通過執(zhí)行完整的三次握手,和遠(yuǎn)程系統(tǒng)的所有被掃描端口建立連接。端口的狀態(tài)取決于連接是否成功建立。如果連接建立,端口被認(rèn)為是開放的,如果連接不能成功建立,端口被認(rèn)為是關(guān)閉的。
關(guān)于linux如何掃描網(wǎng)絡(luò)漏洞的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技有限公司,經(jīng)過多年的不懈努力,公司現(xiàn)已經(jīng)成為一家專業(yè)從事IT產(chǎn)品開發(fā)和營(yíng)銷公司。廣泛應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)、設(shè)計(jì)、SEO優(yōu)化、關(guān)鍵詞排名等多種行業(yè)!
新聞標(biāo)題:Linux網(wǎng)絡(luò)安全:掃描網(wǎng)絡(luò)漏洞的實(shí)用方法(linux如何掃描網(wǎng)絡(luò)漏洞)
網(wǎng)址分享:http://www.dlmjj.cn/article/dhheche.html


咨詢
建站咨詢
