[轉]Windows 系統信息收集

很多新入門的同學在在拿下一台服務器權限後經常會出現不知道做什麼的問題,往往就會不管三七二十一提權exp 一頓砸,在宕機的邊緣瘋狂試探。

那麼,在實際情況中,當我們拿到一台服務器的權限時,應該怎麼做呢?

首先,需要看這台服務器是否是邊界,是否可以放置後門持續訪問。其次就是信息收集,只有在收集完整信息時,才能方便我們下一步的滲透工作有利展開。

windows 系統下的信息收集其實主要可以分為三個方向:系統信息、拓撲信息、憑證信息

系統信息包括當前系統、進程信息,用戶權限,用戶操作等。主要針對當前系統進行信息收集整理。

拓撲信息包括網絡拓撲發現,內網其他存活主機發現,域信息收集等。主要針對內網拓撲環境進行信息收集。

憑證信息包括用戶憑證信息、系統用戶hash、DPAPI、常用軟件密碼記錄等。可以用來橫向滲透。

本文主要簡要介紹前兩項收集內容,至於憑證信息收集不定期發布。

一、本機信息

1、系統程序

收集系統信息,包括操作系統版本,已安裝補丁列表等。通常使用以下方法收集:


注:其中systeminfo命令查詢內容最全,但如果系統更新的補丁較多,可能會導致反應反應時間過長;使用webshel​​l執行此命令可能會因為超時導致無法正常回顯,或回顯內容長度過長,無法全部顯示。

2、進程服務


windows自帶防火牆及特殊過濾規則等網絡訪問均可使用netsh及相關命令查看。

3、用戶信息


注:quserqwinstaquery命令只存在於允許安裝RDP服務的主機上,官方描述其僅存在於server 2012及以上版本存在。其中query termserver命令存在問題,本地測試時與描述嚴重不符,無法列出信息。

4、操作記錄

cmd 和powershell v3 以下的操作記錄無法長時間保存,僅限當前窗口。


可以通過向進程發送鍵盤內容的方式將運行中的窗口歷史操作記錄導出。

powershell v5 以上的操作歷史記錄會直接保存在指定文件中。直接查看即可。


powershell v3、v4版本需要安裝Get-PSReadlineOption


二、網絡發現

內網網絡發現是一個很重要的信息收集內容,一般情況下是不建議使用掃描器掃描,尤其不建議使用nmap,當然,如果是靶場,或是甲方授權就另當別論。

1、基本信息收集


使用arp 命令收集最近建立過連接的ip,但是此方法在某些時候無法收集到網段外的ip 地址。

2、SPN 信息收集

SPN :服務主體名稱。使用Kerberos須為服務器註冊SPN,因此可以在內網中掃描SPN,快速尋找內網中註冊的服務,SPN掃描可以規避像端口掃描的不確定性探測動作。

主要利用工具有:setspn、GetUserSPNs.vbs和Rubeus。

利用Windows 自帶的setspn 工具

普通域用戶權限執行即可


利用GetUserSPNs.vbs

使用Rubeus 工具

3、協議探測

icmp 協議

回顯直接


輸出文件


Netbios 協議

msf 掃描


nbtscan 掃描,下載:


參數:


UDP 協議

msf


smb-version

python版:


c#版:


SNMP 協議

msf

4、系統日誌

可以使用wevtutil.exe psloglist.exe或者powershell的Get-WinEvent模塊進行日誌導出,server 03的域控可使用eventquery.vbs導出。

wevtutil 不需要UAC, 支持很多過濾語法,若有需要請查看官方說明。

本地使用LogParser 日誌分析工具整理導出的日誌,然後去除重複數據、無效數據(以’$’ 結束的用戶名)

LogParser.exe -i:EVT -o txt “SELECT TO_UPPERCASE(EXTRACT_TOKEN(Strings,5,’|’)) as USERNAME,TO_UPPERCASE(EXTRACT_TOKEN(Strings,18,’|’)) as SOURCE_IP FROM C:\ProgramData\log .evtx” > C:\ProgramData\log.txt

導出域控登錄日誌到域控上:

wevtutil epl Security C:\ProgramData\dc.evtx /q:”*[EventData[Data[@Name=’LogonType’]=’3′] and System[(EventID=4624) and TimeCreated[timediff(@SystemTime) < = 2592000000]]]” /r:域控IP /u:域管/p:域管密碼

5、瀏覽器日誌

收集瀏覽器訪問記錄。

chrome

C:\Users $ username\AppData\Local\Google\Chrome\User Data\Default\History

firefox

C:\Users $ username\AppData\Roaming\Mozilla\Firefox\Profiles $ name.default\places.sqlite

IE

reg query “HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs”  或C:\Users $ user\AppData\Local\Microsoft\Windows\History

edge, v79+:

C:\Users $ user\AppData\Local\Microsoft\Edge\User Data\Default\History

v44+

C:\Users $ user\AppData\Local\Microsoft\Windows\WebCache\WebCacheV01.dat

瀏覽器的歷史記錄文件history,是使用sqlite 格式記錄的,直接打開是一個二進製文件,可以下載到本地破解,或者直接替換查看。

需要注意的是,edge v44+ 版本的歷史記錄文件在用戶登錄狀態下是鎖定的。

6、DNS 服務器記錄

如果目標機器在域內,只需要按部就班收集域信息,準備域橫向滲透即可。

但其中有一點單獨提一下,一般在域環境中都會有一台DNS 服務器,小企業或內網環境較小的可能會和域控為同一台,大一些的企業,多為獨立的DNS 服務器。

由於DNS 服務器的特性,因此,在DNS 服務器上會存在大量內網地址解析記錄,如果可以獲取,會極大的方便內網拓撲展開,同時很多其他主機無法到達的地址,DNS 服務器是可以到達的。

列出DNS 區域中當前節點的資源記錄

dnscmd . /EnumZones

列出test.com 的信息

dnscmd . /ZoneInfo test.com

列出test.com 中的詳細記錄

dnscmd . /ZonePrint test.com

列出test.com 中的記錄

dnscmd . /EnumRecords test.com

DNS 記錄有正向解析和反向解析兩種。

正向解析是從域名到IP,反向解析則是從IP 到域名。

反向隔離和正向隔離相同,都會有一個對應的區域,因此,查詢方式與正向記錄相同。

DNS 服務器還存在域傳送漏洞。可以直接獲得DNS 記錄。

nslookup -type=all_ldap._tcp.dc.greyfinger.com

nslookup -type=ns domain.com

cmd> nslookup  server dns.domain.com  ls domain.com

三、域信息查詢

1、基本信息收集

域信息收集,需要當前用戶為域用戶。本地用戶無法執行域命令查詢域內容。


想要定位域管和域控機器,可以查詢domain admindomain controllers組,需要注意的是,組名會隨系統語言變化而變化,如domain controllers會變化成domaine contrôleurs

在域內其他機器上,查詢組是net group /domain,而在域控上則是net group

2、dsquery

dsquery 命令很少使用,而且限制較大僅能在域控上執行,所以相對而言較為雞肋,但是在一定條件下還是具有一定的使用價值。


3、powershell


四、配置文件收集

配置文件

IIS 配置文件路徑為:

%windir%\system32\inetsrv\config\applicationHost.config

使用appcmd 的方式可以快速導出所需內容:

%windir%\system32\inetsrv\appcmd list site /config  %windir%\system32\inetsrv\appcmd list site /config /xml > c:\sites.xml

密碼保存

navicat
數據庫 路徑
MySQL HKEYCURRENTUSER\Software\PremiumSoft\Navicat\Servers\
MariaDB HKEYCURRENTUSER\Software\PremiumSoft\NavicatMARIADB\Servers\
MongoDB HKEYCURRENTUSER\Software\PremiumSoft\NavicatMONGODB\Servers\
Microsoft SQL HKEYCURRENTUSER\Software\PremiumSoft\NavicatMSSQL\Servers\
Oracle HKEYCURRENTUSER\Software\PremiumSoft\NavicatOra\Servers\
PostgreSQL HKEYCURRENTUSER\Software\PremiumSoft\NavicatPG\Servers\
SQLite HKEYCURRENTUSER\Software\PremiumSoft\NavicatSQLite\Servers\
SecureCRT
系統版本 路徑
xp/win2003 C:\Documents and Settings\USERNAME\Application Data\VanDyke\Config\Sessions
win7/win2008以上 C:\Users\USERNAME\AppData\Roaming\VanDyke\Config\Sessions
Xshell
版本 路徑
Xshell 5 %userprofile%\Documents\NetSarang\Xshell\Sessions
Xshell 6 %userprofile%\Documents\NetSarang Computer\6\Xshell\Sessions
WinSCP

HKCU\Software\Martin Prikryl\WinSCP 2\Sessions

VNC:
版本 路徑 類型
RealVNC HKEYLOCALMACHINE\SOFTWARE\RealVNC\vncserver Password
TightVNC HKEYCURRENTUSER\Software\TightVNC\Server Value Password or PasswordViewOnly
TigerVNC HKEYLOCALUSER\Software\TigerVNC\WinVNC4 Password
UltraVNC C:\Program Files\UltraVNC\ultravnc.ini passwd or passwd2

五、總結

本文主要總結了在拿到服務器權限之後信息收集的主要命令和工具,對於沒有相關經驗的人來說看上去是懵逼狀態,對於收集的信息如何使用,為什麼要收集這些信息沒有什麼概念,但是對於正在實踐的人來說,是一個參考手冊,照著操作一遍,理解收集的信息有什麼用,久而久之,這些就變成了自己常規的操作,成為自己技能的一部分。

轉自:信安之路