【內網信息收集】之蒐集本機信息

爲什麼要進行內網本機信息收集:

在內網滲透測試環境中,有很多的設備和防護軟件。通過收集目標內網信息,洞察內網網絡拓撲結構,找到內網中最薄弱的環節。

滲透人員進入內網後,需要先對當前的網絡環境進行判斷,所處的內網結構是什麼樣的、其角色是什麼、使用這臺機器的人的角色是什麼、以及這臺機器上裝了什麼殺毒軟件等,都需要進行信息收集。

正如某大佬所說:滲透的本質就是信息收集。

手動信息收集:

本機信息包括操作系統、權限、內網IP地址段殺毒軟件、端口、服務、補丁更新頻率、網絡連接、共享、會話等。如果是域內主機,操作系統、應用軟件、補丁、服務、殺毒軟件一般都是批量安裝的。 通過本機的相關信息,可以進一步瞭解整個域的操作系統版本、軟件及補丁安裝情況、用戶命名方式。

查詢網絡配置信息:

命令: ipconfig/all

查詢操作系統及軟件信息:

  1. 查詢操作系統和版本系統: 命令: systeminfo | findstr /B /C:"OS Name" /C:"OS Version" 如果爲中文版系統則執行命令: systeminfo | findstr /B /C:"OS 名稱" /C:"OS 版本"

  2. 查看系統體系結構: 命令: echo %PROCESSOR_ARCHITECTURE%

  3. 查看安裝的軟件及版本、路徑等: 利用 wmic 命令,將結果輸出到文本文件: wmic product get name,version

  4. 利用PowerShell命令,收集軟件的版本信息: powershell "Get-WmiObject -class Win32_Product | Select-Object -Property name,version"

查詢本機服務信息:

命令: wmic service list brief

查詢進程列表:

  1. 查看當前進程列表和進程用戶,分析軟件、郵件客戶端、VPN和殺毒軟件等進程 命令: tasklist

  2. 查看進程信息 命令: wmic process list brief

查看啓動程序信息:

命令: wmic startup get command,caption

查看計劃任務:

命令: schtasks /query /fo LIST /V 如果在執行時報錯,無法加載列資源,可以使用chcp命令將編碼暫時設置爲英文。 執行: chcp 437 運行完schtasks以後再使用chcp命令將編碼設置回中文GBK(936)。 執行: chcp 936

查看主機開機時間:

命令: net statistics workstation

查詢用戶列表:

  1. 查看本機用戶列表:net user

  2. 查看本地管理員: net localgroup administrators

  3. 顯示有關登錄到系統的所有用戶的信息: query user

列出或斷開本地計算機與所連接的客戶端之間的會話:

命令: net session

查詢端口列表:

命令:netstat -ano

查看補丁列表:

命令: systeminfo

使用wmic查看安裝在系統的補丁: wmic qfe get Caption,Description,HotFixID,InstalledOn

查看本機共享列表:

命令: net share

利用wmic命令查找共享列表: wmic share get name,path,status

查詢路由表及所有可用接口的ARP緩存表

命令:route print 和 arp -a

防火牆相關配置:

  1. 關閉防火牆
  • Windows Server 2003及之前版本 命令:netsh firewall set opmode disable
  • Windows Server 2003之後版本 命令:netsh advfirewall set allprofiles state off
  1. 查看防火牆配置 命令: netsh advfirewall show allprofiles

  2. 修改防火牆配置

  • Windows Server 2003及之前版本,允許指定程序全部連接 命令: netsh firewall add allowedprogram c:\nc.exe "allow nc" enable
  • Windows Server 2003之後版本,允許指定程序全部連接 命令: netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="C:\nc.exe"
  • 允許指定程序退出 命令: netsh advfirewall firewall add rule name="Allow nc" dir=out action=out program="C:\nc.exe"
  • 允許3389端口放行 命令:netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
  1. 自定義防火牆儲存位置 命令: netsh advfirewall set currentprofile logging filename "C:\windows\temp\fw.log"

查看代理配置情況:

命令: reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

查詢並開啓遠程連接服務:

  • 查詢遠程連接端口 命令: REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber 0xd3d轉換爲十進制就是3389
  • 在Windows Server 2003中開啓3389端口 命令: wmic path win32_terminalservicesetting where (__CLASS !="") call setallowsconnections 1
  • 在其它系統(親測了server2012、win7、win10)開啓和關閉3389端口 開啓命令: REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f 關閉命令: REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f

自動收集本機信息:

任何版本的Windows xp低權限無法執行wmic,Windows 7以上版本的低權限用戶允許訪問wmic並執行相關操作 創建.bat文件執行後結果會寫入HTML文件:

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

查詢當前權限:

查看當前權限:

當內網中存在域時,本地普通用戶只能查詢本機相關信息,不能查詢域內信息。本地管理員用戶和域內用戶可以查詢域內信息。原理:域內所有查詢都是通過域控制器實現的(基於LDAP協議),而這個查詢需要權限認證,所以只有域內用戶纔有這個權限,當域用戶執行命令時,會自動使用Kerberos協議進行認證,無須額外輸入賬號密碼。

獲取域SID:

命令: whoami /all

查詢指定用戶詳細信息:

命令: net user username /domain

判斷是否有域:

獲取了本機相關信息後,判斷當前內網是否有域,如果存在域,就需要判斷所控主機是否在域內。

使用ipconfig命令

執行命令查看網關IP、DNS的IP地址、域名、本機是否和DNS服務器處於同一網段等信息。 命令: ipconfig /all 然後,通過反向查詢命令nslookup來解析域名IP。用解析後的IP地址進行對比,判斷域控制器和DNS服務器是否在同一臺服務器上。

查看系統詳細信息:

"域"即域名,"登陸服務器"爲域控制器。如果"域"爲"WORKGROUP",表示當前服務器不在域內。 命令:systeminfo

查詢當前登陸域及登陸用戶狀態:

"工作站域DNS名稱"爲域名(如果爲"WORKGROUP"表示當前爲非域環境),"登陸域"表示當前登陸用戶是域用戶還是本地用戶。 命令: net config workstation

判斷主域:

命令:net time /domain,三種情況:

  • 存在域,但當前不是域用戶

  • 存在域,當前是域用戶

  • 不存在域,當前網絡環境爲工作組

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章