(一)内网信息收集概述
1. 收集本机信息
本机信息包括:操作系统、权限、内网IP地址段、杀毒软件、端口、服务、补丁更新频率、网络连接、共享、会话等。如果是域内主机,操作系统、应用软件、补丁、服务、杀毒软件一般都是批量安装的。
2. 手动收集信息
查询网络配置信息 ipconfig/all
查询操作系统和版本信息 systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
查看系统体系结构 echo %PROCESSOR_ARCHITECTURE%
查看安装的软件及版本、路径等 wmic product get name,version
利用PowerShell命令,收集软件版本信息 prowershell "Get-Wmiobject -class Win32_Product | select_object -Property name,version"
查询本机服务信息 wmic service list brief
查询进程列表tasklist
wmic process list brief
查看启动程序信息wmic startup get command,caption
查看计划任务schtasks /guery /fo LIST /v
查看主机开机事件net statistices workstation
查询用户列表net group
获取本地管理员(通常包含域用户)信息 net localgroup administrators
查看当前在线用户 query user || qwinsta
列出或断开本地计算机域所连接的客户端之间的会话net session
查询端口列表 netstat -ano
查看补丁列表 systeminfo
使用wmic命令查看补丁列表wmic qfe Caption,Description,HostFixID,InstalledOn
查询本机共享列表 net share
使用wmic命令查看共享列表 wmic share get name,path,statuzs
查询路由表及所有可用接口的ARP缓存表 route print
arp -a
关闭防火墙
-
Windows Server 2003 以前版本
netsh firewall set opmode disable
-
Windows Server 2003 以后版本
netsh advfirewall set allprofiles state off
查看防火墙配置 netsh firewall show config
修改防火墙配置
- WindowsServer2003以前版本允许指定程序全部连接
netsh firewall add allowedprogram c:\nc.exe "allow nc" enable
- WindowsServer2003以后版本允许指定程序进入
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=allow program="C:\nc.exe"
- 允许3389端口放行
netsh advfirewall firewall add rule name="Remote Desktop" portocol=TCP dir=in localport=3389 action=allow
- 自定义防火墙日志的存储位置
netsh advfirewall set currentprofile logging filename "C:\windows\temp\fw.log"
查看代理配置情况 reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
查看远程连接端口 REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CueerntControlSet\Control\TerminalServer\WinStations\RDP-Tcp" /V PortNumber
在WindowsServer2003中开启3389 wmic path win32_terminalservicesetting where (_CLASS !="") call setallowtsconnections 1
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
3. 自动收集信息
1. wmic Windows管理工具命令行
2. Empire
3.1 查询当前权限
- 查看当前权限
whoami
- 获取域SID
whoami /all
- 查询指定用户的详细信息
net user XXX /domain
3.2 判断是否存在域
- 使用ipconfig命令
ipconfig /all
- 查看系统详细信息
systeminfo
- 查看当前登陆的域及登陆用户信息
net config workstation
- 判断主域
net time /domain
3.3 探测内网存活主机
- NetBIOS探测内网
- 利用ICMP协议探测内网
- 通过ARP扫描探测内网
- 通过TCP/UDP端口探测内网
3.4 扫描域内端口
- 利用telnet命令扫描
- S扫描器
- Metasploit端口扫描
- PowerSploit的Invoke-portscan.ps1脚本
- Nishang的Invoke-PortScan 模块
- 端口Banner信息
3.5 收集域内基础信息
- 查询域
net view /domain
- 查询域内所有计算机
net view /domain:HACKE
- 查询域内所有用户组列表
`net group /domain - 查询所有域成员计算机列表
net group "domain computers" /domain
- 获取域密码信息
net accounts /domain
- 获取域信任信息
nltest /domain_trusts
3.6 查找域控制器
- 查看域控制器的机器名
nltest /DCLIST:hacke - 查看域控制器的主机名
Nslookup -type=SRV_ldap._tcp - 查看当前时间
net time /domain - 查看域控制器组
net group “Domain Controllers” /domain
netdom query pdc
(二)常用信息收集工具
1. 收集域内信息
1.1 WMIC
下载地址:
http://www.fuzzysecurity.com/scripts/files/wmic_info.rar
执行该脚本后,所有结果会写入一个HTML文件中。
1.2 Empire
下载方式:
git clone https://github.com/EmpireProject/Empire.git
查看本机用户、域组成员、密码设置事件等信息:usemodule situational_awareness/host/winenum
查看目标主机事件日志、应用程序控制策略日志等使用模块:situational_awareness/host/computerdetails
注意:
situational_awareness/host/computerdetails模块需要管理员权限
2. 探测域内存活主机
2.1 ipscan
输入IP起止即可查询存活主机
文件下载地址:
链接:https://pan.baidu.com/s/1dtLM4rDFfuVx-2mrc4XQWQ
提取码:vpux
2.2 ICMP
原理为依次对内网中的每个IP地址执行ping命令
1.在cmd中执行
执行代码:for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL="
2.使用vbs脚本
strSubNet ="192.168.1."
Set objFSO= CreateObject("Scripting.FileSystemObject")
Set objTS = objfso.CreateTextFile("C:\Windows\Temp\Result.txt")
For i=1 To 254
strComputer =strSubNet & i
blnResult =Ping(strComputer)
If blnResult =True Then
objTS.WriteLine strComputer &" is alived !:)"
End If
Next
objTS.Close
WScript.Echo "All Ping Scan,All· Done!:)"
Function Ping(strComputer)
Set objWMIService=GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_PingStatus Where Address='" & strComputer &"'")
For Each objItem In colItems
select case objItem.StatusCode
Case 0
Ping = True
Case Else
ping = False
End select
Exit For
next
End Function
执行VBS脚本命令:cscript c:\windows\temp\1.vbs
2.3 ARP
1.arp-scan工具
官方文档使用步骤:
arp-scan uses the standard GNU automake and autoconf tools, so the typical installation process is:
- Run
git clone https://github.com/royhills/arp-scan.git
to obtain the latest project source code- Run
cd arp-scan
to enter the source directory- Run
autoreconf --install
to generate a viable ./configure file- Run
./configure
to generate a makefile for your system- Run
make
to build the project- Optionally run
make check
to verify that everything works as expected- Run
make install
to install (you’ll need to be root or use sudo/doas for this part)
1.arp-scan工具查看网段所有的主机
arp-scan -l
有多个网卡可以指定选择哪个网卡
arp-scan --interface=eth1 -l
指定某一段IP地址
arp-scan --interface=eth1 192.168.100.0/29
2.Nishang中的Invoke-ARPScan.ps1脚本
Nishang下载地址:
https://github.com/samratashok/nishang