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


為什么要進行內網本機信息收集:

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

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

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

手動信息收集:

本機信息包括操作系統、權限、內網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,三種情況:

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

  • 存在域,當前是域用戶

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM