1. 程式人生 > >滲透測試工具Nmap的攻防戰

滲透測試工具Nmap的攻防戰

Nmap的下載地址:http://nmap.org/download.html

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外的所有子網主機,命令:

#nmap 192.168.1.1/24 -exclude 192.168.1.1

掃描除過某一個檔案中的ip外的子網主機命令

#nmap 192.168.1.1/24 -exclude file xxx.txt  (xxx.txt中的檔案將會從掃描的主機中排除)

掃描特定主機上的80,21,23埠,命令如下

#nmap -p80,21,23 192.168.1.123 192.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

FIN scan (sF)

有時候Tcp SYN掃描不是最佳的掃描模式,因為有防火牆的存在.目標主機有時候可能有IDS和IPS系統的存在,防火牆會阻止掉SYN資料包。傳送一個設定了FIN標誌的資料包並不需要完成TCP的握手.

[email protected]:~# nmap -sF 192.168.1.8

Starting Nmap 5.51  at 2012-07-08 19:21 PKT

Nmap scan report for 192.168.1.8

Host is up (0.000026s latency).

Not shown: 999 closed ports

PORT STATE SERVICE

111/tcp open|filtered rpcbind

FIN掃描也不會在目標主機上建立日誌(FIN掃描的優勢之一).個型別的掃描都是具有差異性的,FIN掃描傳送的包只包含FIN標識,NULL掃描不傳送資料包上的任何位元組,XMAS掃描傳送FIN、PSH和URG標識的資料包.

PING Scan (sP)

PING掃描不同於其它的掃描方式,因為它只用於找出主機是否是存在在網路中的.它不是用來發現是否開放埠的.PING掃描需要ROOT許可權,如果使用者沒有ROOT許可權,PING掃描將會使用connect()呼叫.

#nmap -sP 192.168.1.1

版本檢測(sV)

版本檢測是用來掃描目標主機和埠上執行的軟體的版本.它不同於其它的掃描技術,它不是用來掃描目標主機上開放的埠,不過它需要從開放的埠獲取資訊來判斷軟體的版本.使用版本檢測掃描之前需要先用TCP SYN掃描開放了哪些埠.

#nmap -sV 192.168.1.1

Idle scan (sL)

Idle scan是一種先進的掃描技術,它不是用你真實的主機Ip傳送資料包,而是使用另外一個目標網路的主機發送資料包.

#nmap -sI 192.168.1.6 192.168.1.1

Idle scan是一種理想的匿名掃描技術,通過目標網路中的192.168.1.6向主機192.168.1.1傳送資料,來獲取192.168.1.1開放的埠

有需要其它的掃描技術,如 FTP bounce(FTP反彈), fragmentation scan(碎片掃描), IP protocol scan(IP協議掃描),以上討論的是幾種最主要的掃描方式.

Nmap的OS檢測(O)

Nmap最重要的特點之一是能夠遠端檢測作業系統和軟體,Nmap的OS檢測技術在滲透測試中用來了解遠端主機的作業系統和軟體是非常有用的,通過 獲取的資訊你可以知道已知的漏洞。Nmap有一個名為的nmap-OS-DB資料庫,該資料庫包含超過2600作業系統的資訊。 Nmap把TCP和UDP資料包傳送到目標機器上,然後檢查結果和資料庫對照。

Initiating SYN Stealth Scan at 10:21
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 111/tcp on 127.0.0.1
Completed SYN Stealth Scan at 10:21, 0.08s elapsed (1000 total ports)
Initiating OS detection (try #1) against localhost (127.0.0.1)
Retrying OS detection (try #2) against localhost (127.0.0.1)

上面的例子清楚地表明,Nmap的首次發現開放的埠,然後傳送資料包發現遠端作業系統。作業系統檢測引數是O(大寫O)


Nmap的作業系統指紋識別技術:

裝置型別(路由器,工作組等)
執行(執行的作業系統)
作業系統的詳細資訊(作業系統的名稱和版本)
網路距離(目標和攻擊者之間的距離跳)

如果遠端主機有防火牆,IDS和IPS系統,你可以使用-PN命令來確保不ping遠端主機,因為有時候防火牆會組織掉ping請求.-PN命令告訴Nmap不用ping遠端主機。

# nmap -O -PN 192.168.1.1/24

以上命令告訴發信主機遠端主機是存活在網路上的,所以沒有必要傳送ping請求,使用-PN引數可以繞過PING命令,但是不影響主機的系統的發現.

Nmap的作業系統檢測的基礎是有開放和關閉的埠,如果OS scan無法檢測到至少一個開放或者關閉的埠,會返回以下錯誤:

Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port

OS Scan的結果是不可靠的,因為沒有發現至少一個開放或者關閉的埠.


這種情況是非常不理想的,應該是遠端主機做了針對作業系統檢測的防範。如果Nmap不能檢測到遠端作業系統型別,那麼就沒有必要使用-osscan_limit檢測。


想好通過Nmap準確的檢測到遠端作業系統是比較困難的,需要使用到Nmap的猜測功能選項, –osscan-guess 猜測認為最接近目標的匹配作業系統型別。

# nmap -O –osscan-guess 192.168.1.1

總結

Nmap是一個非常強大的工具,它具有覆蓋滲透測試的第一方面的能力,其中包括資訊的收集和統計。本文從初級到高階的講解了Nmap入侵掃描工具的使用.希望對大家有所幫助.

阻止Nmap的黑手

一般黑客都會用nmap掃描我們的網站,這是我們所不希望看到的,一下我提供幾個過濾機制,nmap是無法掃描到你的:

在Linux下面預防Nmap的黑手:

1 #iptables -F 

2 #iptables -A INPUT -p tcp –tcp-flags ALL FIN,URG,PSH -j Drop 

3 #iptables -A INPUT -p tcp –tcp-flags SYN,RST SYN,RST -j Drop 

4 #iptables -A INPUT -p tcp –tcp-flags SYN,FIN SYN,FIN -j Drop 

5 #iptables -A INPUT -p tcp –tcp-flags SyN SYN –dport 80 -j Drop

有了這樣的設定,nmap就掃不到你的tcp埠和作業系統的版本號了,而你的80還可以提供好的http服務。

相關推薦

滲透測試工具Nmap攻防

Nmap的下載地址:http://nmap.org/download.html Nmap的基本功能介紹 Nmap是一款網路掃描和主機檢測的非常有用的工具。 Nmap是不侷限於僅僅收集資訊和列舉,同時可以用來作為一個漏洞探測器或安全掃描器。它可以適用於winodws,lin

滲透測試工具Nmap從初級到高級

所有 iat ota not lin 大寫 包含 分享 特定 轉自:http://www.91ri.org/3550.html 滲透測試工具Nmap從初級到高級 Nmap是一款網絡掃描和主機檢測的非常有用的工具。 Nmap是不局限於僅僅收集信息和枚舉,同時可以用來作為一個漏

kali滲透測試工具Nmap

Nmap是一個免費開放的網路掃描和嗅探工具包,也叫網路對映器(Network Mapper)。該工具其基本功能有三個,一是探測一組主機是否線上;其次是掃描主機埠,嗅探所提供的網路服務;三是可以推斷主機所用的作業系統。通常,使用者利用Nmap來進行網路系統安全的評估,而黑客則

滲透測試工具實戰技巧合集

read mimikatz insert wce ebr unicorn free import 軟連接 轉載自:http://www.freebuf.com/sectool/105524.html 最好的 NMAP 掃描策略 # 適用所有大小網絡最好的 nmap 掃描

滲透測試工具之sqlmap

otto oot use 如果 idt pla tle 訪問權限 都是 1. sqlmap是什麽 在這個數據有價的時代數據庫安全已經成為了重中之重,於是就整理了一下最常用的一款(反正我上大學的時候它還是蠻流行的...)數據庫安全方面的滲透測試工具sqlmap的使用筆記。

Firefox成為滲透測試工具的18個外掛

轉載~ Firefox是一個出自Mozilla組織的流行的web瀏覽器。Firefox的流行並不僅僅是因為它是一個好的瀏覽器,而是因為它能夠支援外掛進而加強它自身的功能。Mozilla有一個外掛站點,在那裡面有成千上萬的,非常有用的,不同種類的外掛。一些外掛對於滲透測試人員

Python 滲透測試工具合集

Python 真的是博大精深。 如果你熱愛漏洞研究、逆向工程或者滲透測試,我強烈推薦你使用 Python 作為程式語言。它包含大量實用的庫和工具,本文會列舉其中部分精華。 網路 Scapy, Scapy3k: 傳送,嗅探,分析和偽造網路資料包。可用作互動式包處理程式或單獨作為一個庫。 pypcap,

BackTrack平臺中主流滲透測試工具

資訊收集第一類、DNS掃描工具 收集資訊包括:域名註冊資訊               域名解析伺服器(DNS  Server)、有效的子域名稱 1、Whois 使用方法:#whois    頂級域名 2、Dnsenum 所在路徑:/pentest/enumeration/

滲透測試工具sqlmap基礎教程

轉載請註明出處:http://blog.csdn.net/zgyulongfei/article/details/41017493 作者:羽龍飛  本文僅獻給想學習滲透測試的sqlmap小白,大牛請

[滲透測試] 工具簡介

1.漏洞掃描類: JSky:中文名字為竭思,是深圳市宇造諾賽科技有限公司的產品是一款簡明易用的Web漏洞掃描軟體。 WebCruiser:一個小巧但功能不凡的Web應用漏洞掃描器。對JSP的掃描結果較好,但需要.NET Framework 3.5。 WATScan:中文名叫

滲透測試工具小抄

介紹 滲透測試工具作弊表,典型穿透測試工作的快速參考高階概述。設計為快速參考作弊表,提供執行滲透測試時將執行的典型命令的高階概述。對於更深入的資訊,我會從右側的選單中推薦該工具的man檔案或更具體的筆測試作弊表。 該作弊表的重點是基礎架構/網路滲透測試,除

kali滲透測試工具:Crunch

Crunch是一種建立密碼字典工具,該字典通常用於暴力破解。使用Crunch工具生成的密碼可以傳送到終端、檔案或另一個程式。下面將介紹使用Crunch工具建立密碼字典。 crunch命令常用的選項如下所示。 •-o:用於指定輸出字典檔案的位置。 •-b:指定寫入檔案最大的位

滲透入侵檢測工具nmap

nmap 滲透入侵 端口掃描 == nmap介紹 ==Nmap是一款網絡掃描和主機檢測的非常有用的工具。Nmap是不局限於僅僅收集信息和枚舉,同時可以用來作為一個漏洞探測器或安全掃描器。它可以適用於winodws,linux,mac等操作系統Nmap是一款非常強大的實用工具,可用於:1、檢測活在網

Kail Linux滲透測試測試工具Armitage

tails tar sta can 啟動 sdn linux mit lin Kali Linux下的Armitage是一個很強大的滲透工具,圖形化操作頁面,但我們把kali linux裝在虛擬機裏面,然後再啟動armitage就會出現一個error,他會給你一個messa

Kali滲透測試2-抓包/DNS工具

abd trace 數據 CP str 2-2 rec actual ali 轉載請註明出處。 TCPDUMP:命令行網絡抓包工具tcpdump -h tcpdump version 4.9.2 libpcap version 1.8.1 OpenSSL 1.1.0h

Kali Linux Web滲透測試手冊(第二版) - 2.3 - 使用Nmap進行掃描和識別應用服務

  標記紅色的部分為今日更新內容。 第二章:偵察 介紹 2.1、被動資訊收集 2.2、使用Recon-ng收集資訊 2.3、使用Nmap掃描和識別應用服務 2.4、標識web應用程式防火牆 2.5、確定HTTPS加密引數 2.6、使用瀏覽器的開發工具分析和更改基本行為 2.7

Kali Linux Web滲透測試手冊(第二版) - 2.6 - 使用瀏覽器自帶的開發工具來做基本的分析和修改

翻譯來自:掣雷小組 成員資訊: thr0cyte,Gr33k,花花,MrTools,R1ght0us,7089bAt, 這個公眾號,一定要關注哦,慢慢會跟上面老哥們一起分享很多幹貨哦~~ 第二章:偵察 介紹 2.1、被動資訊收集 2.2、使用Recon-ng收集資訊 2.3、

Nmap滲透測試指令碼指南

 Nmap指令碼引擎(NSE)</font>革新了Nmap的功能。它是在2007年的谷歌夏令營期間推出,雖然第一個指令碼是針對服務和主機檢測,時至今天,已經存在有14個類別涵蓋廣泛的任務,從網路發現到檢測和利用安全漏洞。既然我們深知NSE的強大,那我們肯定要好好利

攻防對抗中常用的windows命令(滲透測試和應急響應)

一、滲透測試 1、資訊收集類 #檢視系統資訊 >systeminfo #檢視使用者資訊 >net user >net user xxx #檢視網路資訊 >ipconfig /all >route print >netstat -abon >

滲透測試各種掃描工具集合(好用)

轉載自security-360.cn,覺得裡面一些資訊收集和git的工具挺不錯的,可以看看。 集合github平臺上的安全行業從業者自研開源掃描器的倉庫,包括子域名列舉,資料庫漏洞掃描,弱口令或資訊洩漏掃描,埠掃描,指紋識別以及其他大型掃描器或模組化掃描器。 專案地址:https://github.