Nmap流量特征修改(NTA、IDS、IPS、流量审计)
目錄
0x01 前言
參考鏈接
0x02 環(huán)境
0x03 nmap探測(cè)的常用幾種方式
-sS (SYN掃描)
-sT (TCP掃描)
-sU(UDP掃描)
-sN;-sF;-sX (TCP Null,FIN,and Xmas掃描)
-sA(ACK 掃描)
-scanflags (自定義掃描)
-sI(Idlescan)
-sV (版本檢測(cè))-O (系統(tǒng)檢測(cè))
0x04 nmap的流量特征修改
Win值修改
關(guān)鍵詞修改
UDP探測(cè)時(shí)填充值修改
0x05 nmap編譯安裝
0x06 總結(jié)
可修改文件及修改處
6.1、修改namp默認(rèn)win窗口值。
6.2、修改nmap-service-probes文件中關(guān)鍵詞
6.3、修改腳本中的值
6.4、修改使用-O參數(shù)發(fā)包填充內(nèi)容
0x01 前言
nmap是滲透中嘗嘗用到的工具之一,在信息收集階段經(jīng)常用到,現(xiàn)在主流的流量分析設(shè)備也將其流量加入了特征庫,
為了防止在探測(cè)階段IP就被封掉,對(duì)其的流量特征做一些簡(jiǎn)單的修改有點(diǎn)用的。
由于沒有廠商設(shè)備檢測(cè),故以下只是學(xué)習(xí)記錄一下思路。具體效果還待驗(yàn)證。
參考鏈接
如何修改nmap, 重新編譯,bypass emergingthreats 的公開ids規(guī)則:
https://xz.aliyun.com/t/6002
nmap端口掃描技術(shù):
https://nmap.org/man/zh/man-port-scanning-techniques.html
NmapbypassIDS:
https://github.com/al0ne/Nmap_Bypass_IDS
0x02 環(huán)境
VM虛擬機(jī):
192.168.1.113 開放135,3389 防火墻禁止445入站
ubuntu:
編譯安裝nmap用,kali下編譯安裝存在點(diǎn)問題,坑太多了,以后有時(shí)間再去踩。
0x03 nmap探測(cè)的常用幾種方式
-sS (SYN掃描)
nmap默認(rèn)端口掃描方式,執(zhí)行半開掃描,不完成TCP握手流程。只向目標(biāo)端口發(fā)送一個(gè)SYN報(bào)文,然后等待響應(yīng)。
SYN/ACK表示端口在監(jiān)聽 (開放),而 RST (復(fù)位)表示沒有監(jiān)聽者。
如果多次重發(fā)后仍沒響應(yīng), 該端口就被標(biāo)記為被過濾。
使用抓包工具可以完整的看到探測(cè)過程。
-sT (TCP掃描)
一般不推薦使用,因?yàn)闀?huì)留下連接日志。
另外在調(diào)用一些高級(jí)掃描時(shí)(如HTTP),會(huì)調(diào)用這種連接方式。
使用抓包工具看其探測(cè)過程
-sU(UDP掃描)
DNS,SNMP,和DHCP是常常開放UDP的幾個(gè)服務(wù),有些情況下會(huì)使用到。
由于UDP是無連接的,所以會(huì)面臨響應(yīng)探測(cè)問題,探測(cè)時(shí)的端口是否開放還是被過濾的判斷,會(huì)讓Nmap超時(shí)然后再探測(cè),以防探測(cè)幀或者響應(yīng)丟失,導(dǎo)致探測(cè)時(shí)間增長(zhǎng)。
關(guān)閉的端口常常是更大的問題。它們一般發(fā)回一個(gè)ICMP端口無法到達(dá)錯(cuò)誤。
但是不像TCP發(fā)送的RST報(bào)文,許多主機(jī)在默認(rèn)情況下限制ICMP端口不可到達(dá)消息。
如:Linux 2.4.20內(nèi)核限制一秒鐘只發(fā)送一條目標(biāo)不可到達(dá)消息。
抓包看一下,當(dāng)只看到兩個(gè)UDP無內(nèi)容包時(shí),懵了一下。
查了一下發(fā)現(xiàn)除了某些特定端口會(huì)有響應(yīng)返回,如137 用的NBNS,其他的全部都是沒有返回,原因是因?yàn)檫@臺(tái)機(jī)器禁PING了,就是ICMP的返回包過不來。
所以沒法判斷端口是否關(guān)閉。
修改防火墻設(shè)置。
允許文件和打印機(jī)共享后確實(shí)可以ping主機(jī)了,但是ICMP回包還是有問題。
后來索性把防火墻關(guān)掉。
就可以明顯看到其是通過返回包來進(jìn)行判斷的。?
-sN;-sF;-sX (TCP Null,FIN,and Xmas掃描)
這個(gè)還是挺有意思的,首先這個(gè)不適用掃描windows、Cisco、bsdi、IBM的一些服務(wù)器,因?yàn)椴⒉皇峭耆袷豏FC 793這個(gè)協(xié)議。
這個(gè)協(xié)議會(huì)存在這種情況,當(dāng)端口關(guān)閉時(shí),任何不包含SYN,RST,或者ACK位的報(bào)文會(huì)導(dǎo)致 一個(gè)RST返回,而當(dāng)端口開放時(shí),應(yīng)該沒有任何響應(yīng)。
所以只要不包含SYN,RST,或者ACK, 任何其它三種(FIN,PSH,and URG)的組合都行。
而剛剛上面說的那些他們并不遵守這個(gè),他們不管端口開放或關(guān)閉,都返回一個(gè)RST,導(dǎo)致Nmap判斷錯(cuò)誤。
-sN 不設(shè)置任何標(biāo)志位
-sF 只設(shè)置FIN標(biāo)志位
-sX 設(shè)置FIN,PSH,和URG標(biāo)志位
看一下探測(cè)過程,如果沒加參數(shù),默認(rèn)會(huì)先發(fā)送ICMP請(qǐng)求。
-sA(ACK 掃描)
用于探測(cè)防火墻狀態(tài)。ACK掃描探測(cè)報(bào)文只設(shè)置ACK標(biāo)志位。
當(dāng)掃描未被過濾的系統(tǒng)時(shí),?open(開放的)和?closed(關(guān)閉的) 端口 都會(huì)返回RST報(bào)文。
Nmap把它們標(biāo)記為?unfiltered(未被過濾的),無返回或者返回ICMP錯(cuò)誤響應(yīng)時(shí)標(biāo)記為filtered。
防火墻關(guān)閉狀態(tài)下。返回unfiltered
防火墻開啟狀態(tài)下。返回filtered?
-scanflags (自定義掃描)
可以使用?URG,?ACK,?PSH,?RST,?SYN,and?FIN的任何組合,進(jìn)行發(fā)包。詳細(xì)可以自己組合定制
-sI(Idlescan)
高級(jí)隱藏掃描。利用僵尸網(wǎng)絡(luò)執(zhí)行掃描。詳細(xì)可看文章
(文章鏈接:https://nmap.org/book/idlescan.html)
-sV (版本檢測(cè))-O (系統(tǒng)檢測(cè))
可以看到在探測(cè)的時(shí)候會(huì)有標(biāo)志和固定長(zhǎng)度字符串問題。
IDS識(shí)別nmap掃描一般都是根據(jù)UDP data區(qū)域填充的'C'字符串,ICMP填充的是0(正常windows下是a-z,Linux下是0-9。
莫慌,接下就學(xué)習(xí)一下怎么去改這些個(gè)文件。
0x04 nmap的流量特征修改
Win值修改
通過觀察可以發(fā)現(xiàn)nmap在使用SYN掃描時(shí)Windows的窗口值值固定是1024。
(PS :window 關(guān)鍵字用于檢查特定的TCP窗口大小)
下面是正常連接3389時(shí),發(fā)送的數(shù)據(jù)包。可以看到win值明顯不一樣。?
修改tcpip.cc文件中tcp->th_win的值,查詢TCP中win這個(gè)值的信息發(fā)現(xiàn),
默認(rèn)最大為65535。
所以應(yīng)該在此范圍內(nèi)都可以。
但是要考慮已公開的規(guī)則,如之前大佬寫的bypass emergingthreats這篇,這個(gè)就過濾了2048 1024 3072 4096。
后來因某些原因,把nmap編譯到了云服務(wù)器上,抓包的話就需要tcpdump了。?
tcpdump -i eth0 -t -s 0 -c 100 host IP關(guān)鍵詞修改
根據(jù)規(guī)則,一個(gè)一個(gè)去修改文件即可。nmap,nm,nm@p,OR sqlspider等等,
主要的就是SIP文件和一些常用的腳本文件。
這些個(gè)就是從emergingthreats的規(guī)則中提取的。
UDP探測(cè)時(shí)填充值修改
osscan2.cc
static u8 patternbyte = 0x43; /* character 'C'?/
替換為?static u8 patternbyte = 0x46; /?character 'F' */
重新編譯后再去掃描,內(nèi)容已經(jīng)換了,長(zhǎng)度應(yīng)該也是可以調(diào)整。
u8 packet[328]; /* 20 IP hdr + 8 UDP hdr + 300 data */
這里還沒測(cè)試,感興趣可以自己去定義,看會(huì)不會(huì)有什么問題。
0x05 nmap編譯安裝
nmap編譯時(shí)可能會(huì)遇到如下錯(cuò)誤,幾乎都是缺少特定的庫導(dǎo)致的,
所以編譯安裝時(shí)需要安裝以下庫。
編譯環(huán)境是基于Ubuntu的,其他環(huán)境庫的名字可能不同,遇到編譯報(bào)錯(cuò)可百度找對(duì)應(yīng)解決方法即可。
apt?install?flex?bison?libssl-dev ./configure?--without-zenmap make?&&?make?install0x06 總結(jié)
可修改文件及修改處
6.1、修改namp默認(rèn)win窗口值。
tcpip.cc
tcp->th_win = hosts(1-65535)
6.2、修改nmap-service-probes文件中關(guān)鍵詞
nmap,nm@nm,nm2@nm2,nm@p,nm,0PT10NS sip
這些值酌情替換。
6.3、修改腳本中的值
-
nselib/http.lua
USERAGENT = stdnse.getscript_args('http.useragent')
-
nselib/mssql.lua
搜索Nmap NSE然后替換
-
nselib/sip.lua
搜索Nmap NSE然后替換
-
scripts/http-sql-injection.nse
搜索sqlspider然后替換
-
scripts/ssl-heartbleed.nse
搜索Nmap ssl-heartbleed替換
-
nselib/rdp.lua
local cookie = "mstshash=nmap"
6.4、修改使用-O參數(shù)發(fā)包填充內(nèi)容
osscan2.cc
static u8 patternbyte = 0x43; /* character 'C'?/
替換為?static u8 patternbyte = 0x46; /?character 'F' */
總結(jié)
以上是生活随笔為你收集整理的Nmap流量特征修改(NTA、IDS、IPS、流量审计)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杂项-权限管理:RBAC
- 下一篇: 社会人照片