1. 程式人生 > 其它 >內網資訊收集教程

內網資訊收集教程

零基礎學黑客,搜公眾號:白帽子左一

進入內網之後,是一種由點到線再到面的測試,先弄清楚當前機器的情況,如在域中角色,提供的服務等資訊;再以此為跳板收集其它機器的資訊,當收集的資訊足夠多,拿下域控的可能型也就越高。

本機資訊收集

為了後續的提權等操作,首先要儘可能拿下當前機器的許可權,所以對當前機器的資訊收集也是必要的。

檢視系統配置資訊

ssysteminfo 檢視系統資訊,但是內容太多在某些時刻無法通過菜刀等工具看到返回的結果,可以將內容輸出到某個檔案,也可以結合findstr 查詢指定內容,如查詢作業系統即軟體的資訊 systeminfo | findstr /B /C:"OS"

該指令輸入的內容是比較多的,除了使用finder

選擇輸出外,部分資訊可以使用其它指令單獨顯示,比如echo %processor_architecture%檢視系統架構,net statistics workstation檢視系統啟動時間
其中的補丁資訊可以使用wmic qfe get caption,description,hotfixid,installedon獲取

WMIC擴充套件WMI(Windows Management Instrumentation,Windows管理工具) ,提供了從命令列介面和批命令指令碼執行系統管理的支援。在cmd中有些時候查到的資料不全,如某些程序的pid,這時可以使用wmic進行操作,WMIC提供了大量的全域性開關、別名、動詞、命令和豐富的命令列幫助增強使用者介面。
wmic product get name,version

,檢視系統安裝的軟體版本等內容。

wmic /node:localhost /namespace:\\root\securitycenter2 path antivirusproduct get displayname /format:list查殺軟

初次之外,還可以使用netsh firewall show confignetsh advfirewall firewall show config檢視防火牆配置資訊

檢視系統服務資訊

wmic startup get command,caption,檢視啟動程式資訊

wmic service list brief,查詢本機服務資訊


還可以使用tasklist

 查詢程序資訊
schtasks /query /fo LIST /V,檢視計劃任務


netstat -ano檢視埠列表


注意,一般檢視程序埠,先查程序pid,在根據pid查埠

檢視系統登入資訊

query user,登入到系統的使用者資訊


net session,列出連線會話資訊,但是一般需要高許可權才能執行

自動資訊收集

很多後滲透模組都可以進行資訊收集,這裡不談,分享個嫖到的指令碼

for /f "delims=" %%A in ('dir /s /b %WINDIR%\system32\*htable.xsl') do set "var=%%A"

wmic process get CSName,Description,ExecutablePath,ProcessId /format:"%var%" >> out.html
wmic service get Caption,Name,PathName,ServiceType,Started,StartMode,StartName /format:"%var%" >> out.html
wmic USERACCOUNT list full /format:"%var%" >> out.html
wmic group list full /format:"%var%" >> out.html
wmic nicconfig where IPEnabled='true' get Caption,DefaultIPGateway,Description,DHCPEnabled,DHCPServer,IPAddress,IPSubnet,MACAddress /format:"%var%" >> out.html
wmic volume get Label,DeviceID,DriveLetter,FileSystem,Capacity,FreeSpace /format:"%var%" >> out.html
wmic netuse list full /format:"%var%" >> out.html
wmic qfe get Caption,Description,HotFixID,InstalledOn /format:"%var%" >> out.html
wmic startup get Caption,Command,Location,User /format:"%var%" >> out.html
wmic PRODUCT get Description,InstallDate,InstallLocation,PackageCache,Vendor,Version /format:"%var%" >> out.html
wmic os get name,version,InstallDate,LastBootUpTime,LocalDateTime,Manufacturer,RegisteredUser,ServicePackMajorVersion,SystemDirectory /format:"%var%" >> out.html
wmic Timezone get DaylightName,Description,StandardName /format:"%var%" >> out.html

複製為bat檔案,結果為out.html儲存在c盤根目錄,名稱路徑可自行修改。

域內資訊收集

判斷是否存在域

whoami,如果當前賬戶為域使用者,則返回結果通常為域名\使用者名稱


ipconfig,如果是雙網絡卡,一般存在內網


systeminfo,如果在域中,則如圖,否則為workgroup


net config workstation,在域中,通常計算機全名為計算機名.域名


不在域中如下圖


net time /domain,檢視時間伺服器,域中機器的dns伺服器和時間伺服器通常為域控機。如下圖則是存在域且當前登入使用者為域使用者


如下圖則表示不在域中


如下圖則表示在域中,但當前使用者非域使用者


除此之外,收集其它內容的時候都能看到,比如系統資訊,使用者資訊等

探測域記憶體主機&埠

探測存活主機和埠平時最容易想到的工具是nmap,但這個工具太大,直接安裝存在風險,埠轉發受限於網路環境,這裡聊聊其它方法

powershell

powershell可以在滲透中提供強大的助力,下面這些指令碼使用的時候記得修改 ip地址
掃描存活ip,最前面的1..255是ip地址的d段,最後範圍是192.168.0.1-255,判斷和修改方式下同

1..255 | % {echo "192.168.0.$_"; ping -n 1 -w 100 192.168.0.$_} | Select-String ttl

判斷主機型別,根據ttl值判斷,範圍192.168.0.1-255

1..255 | % {echo "192.168.0.$_"; ping -n 1 -w 100 192.168.0.$_} | Select-String ttl |% { if ($_ -match "ms") { $ttl = $_.line.split('=')[2] -as [int]; if ($ttl -lt 65) { $os = "linux"} elseif ($ttl -gt 64 -And $ttl -lt 129) { $os = "windows"} else {$os = "cisco"}; write-host "192.168.0.$_ OS:$os" ; echo "192.168.0.$_" >> scan_results.txt }}

掃描埠

24..25 | % {echo ((new-object Net.Sockets.TcpClient).Connect("192.168.1.119",$_)) "Port $_ is open!"} 2>$null

24..25 |% {echo "$_ is "; Test-NetConnection -Port $_ -InformationLevel "Quiet" 192.168.1.119}2>null

掃描指定埠的ip

foreach ($ip in 1..20) {Test-NetConnection -Port 80 -InformationLevel "Detailed" 192.168.0.$ip}

arp掃描

在內網裡通常使用mac地址進行機器尋找,其可以通過arp協議實現

小工具

由很多免安裝的小工具也可以進行掃描,比如nbtscan,直接傳到目標伺服器上執行即可,工具下載地址:http://www.unixwiz.net/tools/nbtscan.html ,用法:nbtscan.exe 網段 ,更多用法參考:nbgtscam.exe /?


含義如下:
|Token|含義|
|——|——|
SHARING|機器正在執行的檔案和列印共享服務,但這並不一定有內容共享
DC|機器可能是Windows NT域控制器,無論是主域還是輔助域。
U=user |機器可能有一個具有指定名稱的登入使用者
IIS |機器可能安裝了Microsoft的Internet資訊伺服器(IIS)
EXCHANGE |機器可能安裝Microsoft Exchange
NOTES |單機器可能安裝Lotus Notes電子郵件客戶端
? |沒有識別出NETBIOS資源

telnet

telnet常規使用是和伺服器建立連線,也開業用來探測埠是否開放
用法:telnet 主機 埠,如:telnet dc 3389。注意:不是所有機器都安裝了此服務。

檢視使用者&機器&會話相關資訊

檢視機器相關資訊

net view /domain,查詢域資訊,判斷當前機器加入的域


net view /domain:域名,查詢域內所有主機


在域中,有一類至關重要的機器叫域控制器,簡稱域控,機器名通常為DC,在實際環境中,域控為一主一備用兩臺。
netdom query pdc,檢視域控名稱

檢視使用者相關資訊

net user查詢當前機器所有使用者,net user /domain檢視域使用者


net user 使用者名稱檢視當前機器內的使用者資訊


net user 使用者名稱 /domain檢視當前機器內的域使用者資訊


注意對比上述結果的區別,此外net user localgroup,net user localgroup /domainnet group /domain也是有區別的
wmic useraccount get /all,獲取域內使用者的詳細資訊