日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前言

在打靶場的過程中使用Nmap時發現點小問題,借此機會詳細分析下情況,于是有了這篇文章。

本文包含以下內容:

  1. 1. Nmap抓包分析
  2. 2. 內網下繞過windows防火墻掃描存活主機

這里主要是針對Nmap進行討論,實戰中當然哪個快用哪個。不過萬變不離其宗,哪怕稍微了解下其原理都受益無窮。

防火墻

這里的防火墻值得是Windows server自帶的防火墻,主要繞過其兩個防御規則:

1.禁止ICMP回顯

2.隱藏模式

具體見 Stealth Mode in Windows Firewall with Advanced Security,大意為:不會使用ICMP不可達響應UDP查詢,不使用RST響應TCP查詢。默認開啟。

https://shamsher-khan-404.medium.com/understanding-nmap-scan-with-wireshark-5144d68059f7

-sn :禁用端口掃描

-P* 用于選擇不同的PING方法,用于存活掃描

Nmap抓包分析 拓撲圖

關閉防火墻便于查看數據包

主機發現(Ping) -PS (TCP SYN)

TCP SYN Ping:發送單個TCP SYN包到指定端口檢測主機是否存活,默認80端口。該掃描就是經典的半開放掃描。

請求局域網主機135端口(開啟)

nmap -sn -PS135 172.16.1.128-vvv -n --disable-arp-ping

#-n 禁用DNS解析

注意nmap掃局域網存活主機都會預先進行arp掃描,在這里禁用了端口掃描,意味著nmap只會進行存活掃描,當nmap進行arp掃描后發現主機存活就不會進行后續操作,wireshark也就抓不到包,所以使用 --disable-arp-ping 禁用arp掃描。

image image

image

請求局域網主機666端口(關閉)

nmap -sn -PS666 172.16.1.128-vvv -n --disable-arp-ping

image image

image

請求遠程主機135端口(開啟):

還是這里會發現,和掃局域網比起來多了很多包,為什么和掃局域網情況不一樣?

還是fofa隨便找個開啟135端口的IP:

image

image

這里會發現,和掃局域網比起來多了很多包。

image

請求遠程主機6666端口(關閉):

image

奇怪的是,明明遠程主機返回了RST/ACK包,但nmap沒有接收到。

image

為什么會有這樣的差別?翻了翻nmap官方文檔,其中有這樣一句話:

The RST packet is sent by the kernel of the machine running Nmap in response to the unexpected SYN/ACK, not by Nmap itself

RST報文是運行Nmap的機器的內核為響應意外的SYN/ACK而發送的,而不是Nmap本身。

突然想到,我的kali是放在vmware,以nat形式接入網絡,這樣偶爾會出現點小問題。

于是我在windows上裝了個nmap再進行測試:

image

再看下抓包

image

image

發現這里沒發RST包

image

關掉防火墻再試,還一下發倆RST……

image

接下來將vmware網絡模式換為橋接,發現正常了。說明是NAT網絡的問題。

-PA (TCP ACK)

TCP ACK Ping:發送單個TCP ACK包到指定端口檢測主機是否存活,默認80端口

請求局域網主機135端口(開啟)

一般ACK包是雙方建立起連接發送的,但實際上不存在連接,無論端口是否開啟,遠程主機都會用RST包來回應,以此來判斷主機存活。當然很多防御策略都會丟棄無效包防止被檢測。

nmap -sn -PA135 172.16.1.128-vvv -n --disable-arp-ping

image image

image

請求局域網主機666端口(關閉)

nmap -sn -PA666 172.16.1.128-vvv -n --disable-arp-ping

image image -PU (UDP)

UDP Ping:發送UDP包到指定端口檢測主機是否存活,默認40125端口。特定端口會發送特定的UDP包以便于獲取更好的響應。

按照最新官方文檔解釋,該包發送大概有以下幾種情況:

  1. 1. 端口關閉->返回ICMP端口不可達包->判斷主機存活。
  2. 2. 返回其他ICMP錯誤,如主機/網絡不可達或TTL超標等->判斷停機。
  3. 3. 端口開啟且該服務不響應—>nmap未接收到返回包->判斷停機。
  4. 4. 端口關閉且協議不匹配->返回ICMP端口不可達包->判斷主機存活。

這就是為什么默認要用40125這么冷門的端口,避免有服務使用該端口。

nmap -sn -PA135 172.16.1.128-vvv -n --disable-arp-ping

返回ICMP端口不可達,仍舊判斷出主機存活。

image image

局域網沒什么問題,掃外網的話同樣有前文說的Vmware Nat網絡問題,注意一下就好。

-PY (SCTP INIT)

SCTP INIT Ping:發送包含最小INIT塊的SCTP包到指定端口檢測主機是否存活,默認80端口。SCTP可看做TCP協議的改版。

nmap -sn -PY135 172.16.1.128-vvv -n --disable-arp-ping

返回協議不可達,以此判斷出主機存活。

image image -PR (ARP)

ARP Ping:ARP掃描,Nmap掃內網最常用的方式。

nmap -sn -PR 172.16.1.128-vvv -n

接收到arp返回包,判斷主機存活。

image image -PE/PP/PM (ICMP)

ICMP Ping:三種ICMP標準請求,如果防火墻關掉ICMP回顯則收不到reply。

第一個就是常說的Ping。

image

第二個是時間戳請求

image

第三個是地址掩碼請求

image

ICMP標準還有個信息請求,但目前未被廣泛支持,所以Nmap沒有做相關功能。

-PO (IP Protocol)

IP Protocol Ping:默認發送ICMP(協議1)、IGMP(協議2)和IP-in-IP(協議4),更改協議需要改nmap.h文件中的 DEFAULT_PROTO_PROBE_PORT_SPEC 。目前意義不大。

nmap -sn -PO -vv 172.16.1.128-n --disable-arp-ping

image image 端口掃描(Scan)

其實端口掃描(Scan)很多參數和主機發現(Ping)的前期抓包情況是一樣的。Ping相當于點到為止,根據回顯發現主機存活即可,而Scan還需要進一步分析,判斷端口是否開啟、判斷什么服務等。

由于大部分Scan參數與Ping參數請求包一致,而部分Scan參數在本文中并未體現,所以暫且貼出三個參數抓包情況。

-sS (TCP SYN)

TCP SYN scan:經典的半開放掃描。

nmap -Pn-sS -p 135-vvv 172.16.1.128-n

image

可見發送的請求包和 -PS 是一樣的,至于Nmap如何判斷如何分析,這里就不關心了。

image -sT (TCP connect)

TCP connect scan:TCP連接掃描,三次握手確認目標后直接發送RST結束當前連接,跳過四次揮手階段。

端口開啟

nmap -Pn-sT -p 135172.16.1.128-vvv -n --disable-arp-ping

# -Pn 不進行主機存活探測

image image

image

端口關閉

image image

image

可以發現, -sT 和 -PS 兩個掃描的抓包情況十分接近,只有收到SYN/ACK返回包后應答的不同,這也是 -PS 被稱為半開放掃描的原理。

-sU (UDP)

UDP scans:發送UDP包進行掃描

nmap -Pn-sU -p 135172.16.1.128-vvv -n --disable-arp-ping

這里顯示 open|filtered ,為什么呢?

因為UDP包請求到開放的端口,經常沒有回顯。而且這里使用 -Pn 跳過了主機存活探測,默認主機存活,又因為收不到回顯,所以nmap無法判斷該端口是開啟還是被防御規則過濾。

image

抓包情況和 -PU 基本一致:

image 繞防火墻測試 拓撲圖

測試 nmap -sn -PS135 172.16.1.128-vvv -n --disable-arp-ping

未收到[SYN, ACK]返回包,判斷主機離線。

nmap -sn -PA135 172.16.1.128-vvv -n --disable-arp-ping

未收到[RST, ACK]返回包,判斷主機離線。

nmap -sn -PU135 172.16.1.128-vvv -n --disable-arp-pingnmap -sn -PY135 172.16.1.128-vvv -n --disable-arp-ping

nmap -sn -PR 172.16.1.128-vvv -n

成功收到ARP回顯,判斷主機存活:

這樣一圈測試下來,發現只有ARP掃描可以。原因也很簡單,ARP掃描不會走靶機防火墻,而是以廣播的形式進行掃描;而其他參數不是被禁ICMP回顯規則攔截就是被隱身模式過濾。

后面又嘗試了常用的nbt掃描、smb掃描、以及Nmap其他參數,仍然繞不過防火墻。

WINRM

難道就止步于此了嗎?突然想到,之前用Ladon插件掃的時候,沒見什么防火墻攔截。

于是拿Ladon測試了下,選多協議探測存活主機,一掃,果真有:

WIMRM,很熟悉,這也能拿來掃內網?

簡單概述下:WIMRM是windows自帶的服務,開啟服務后防火墻默認放心5985(HTTP)/5986(HTTPS)端口,平常拿來橫向移動。

由于沒搜到Ladon源碼怎么實現該掃描,谷歌找了找WINRM的文章: WinRM P.NETration Testing

其中有一行代碼:

test-wsman-computername"172.16.1.128"

很快就有回顯:

隨便輸了個其他IP,報錯:

顯然,使用該服務也可以繞過Windows防火墻進行存活主機掃描。

結語

總結一下:

  1. 1. arp掃描可以使用工具,但到了掃內網的情況,都是拿shell了,所以直接cmd命令: arp/a 即可。
  2. 2. WINRM test - wsman - computername "172.16.1.128"

至于如何繞防火墻進行端口掃描,留到以后再說吧。

分享到:
標簽:Nmap
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定