信息收集的深度,直接关系到内网渗透测试的成败。
一、内网信息收集概述
1. 1 我是谁?
—— 对当前机器角色的判断。
WEB服务器?开发测试服务器?公共服务器?文件服务器?代理服务器?DNS服务器?等等??
根据 主机名、文件、网络连接情况综合判断。
1.2 这是哪?
—— 对当前机器所处网络环境的拓扑结构进行分析与判断。
绘制大致内网拓扑图。
1.3 我在哪?
——- 对当前机器所处区域的判断。
DMZ区、办公区、核心区。
二、收集本机信息
2.1 手动信息收集
2.1.1 查询网络配置信息
ipconfig/all
2.1.2 查询操作系统及软件信息
systeminfo
可查询出补丁,可根据其进行后续漏洞提权。
C:\Users\admin>systeminfo
主机名: ADMIN-PC
OS 名称: Microsoft Windows 7 企业版
OS 版本: 6.1.7601 Service Pack 1 Build 7601
OS 制造商: Microsoft Corporation
OS 配置: 独立工作站
OS 构件类型: Multiprocessor Free
注册的所有人: admin
注册的组织:
产品 ID: 00392-918-5000002-85428
初始安装日期: 2020/5/19, 18:59:49
系统启动时间: 2020/11/27, 17:18:17
系统制造商: VMware, Inc.
系统型号: VMware Virtual Platform
系统类型: x64-based PC
处理器: 安装了 1 个处理器。
[01]: Intel64 Family 6 Model 158 Stepping 9 Genui
Mhz
BIOS 版本: Phoenix Technologies LTD 6.00, 2018/4/13
Windows 目录: C:\Windows
系统目录: C:\Windows\system32
启动设备: \Device\HarddiskVolume1
系统区域设置: zh-cn;中文(中国)
输入法区域设置: zh-cn;中文(中国)
时区: (UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐
物理内存总量: 1,023 MB
可用的物理内存: 478 MB
虚拟内存: 最大值: 2,047 MB
虚拟内存: 可用: 1,505 MB
虚拟内存: 使用中: 542 MB
页面文件位置: C:\pagefile.sys
域: WORKGROUP
登录服务器: \\ADMIN-PC
修补程序: 安装了 7 个修补程序。
[01]: KB2533552
[02]: KB2534366
[03]: KB2562937
[04]: KB2999226
[05]: KB958488
[06]: KB976902
[07]: KB976932
网卡: 安装了 2 个 NIC。
[01]: Intel(R) PRO/1000 MT Network Connection
连接名: 本地连接
启用 DHCP: 是
DHCP 服务器: 192.168.2.254
IP 地址
[01]: 192.168.2.151
[02]: fe80::c9cd:59e5:ffa:9cb6
[02]: Bluetooth 设备(个人区域网)
连接名: Bluetooth 网络连接
状态: 媒体连接已中断
还可以
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
C:\Users\admin>systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
OS 名称: Microsoft Windows 7 企业版
查看系统体系结构:
echo %PROCESSOR_ARCHITECTURE%
C:\Users\admin>echo %PROCESSOR_ARCHITECTURE%
AMD64
查看安装的软件及版本、路径等
wmic product get name,version
C:\Users\admin>wmic product get name,version
Name Version
VMware Tools 10.3.10.12406962
Microsoft Visual C++ 2017 x86 Additional Runtime - 14.12.25810 14.12.25810
Microsoft Visual C++ 2017 x64 Additional Runtime - 14.12.25810 14.12.25810
Microsoft Visual C++ 2017 x86 Minimum Runtime - 14.12.25810 14.12.25810
Microsoft .NET Framework 4 Extended 4.0.30319
Microsoft Visual C++ 2017 x64 Minimum Runtime - 14.12.25810 14.12.25810
Microsoft .NET Framework 4 Client Profile 4.0.30319
利用powershell 收集软件版本信息。
powershell "GET-WmiObject -class Win32_Product | Select-Object -Property name,version"
C:\Users\admin>powershell "GET-WmiObject -class Win32_Product | Select-Object -P
roperty name,version"
name version
---- -------
VMware Tools 10.3.10.12406962
Microsoft Visual C++ 2017 x86 Additi... 14.12.25810
Microsoft Visual C++ 2017 x64 Additi... 14.12.25810
Microsoft Visual C++ 2017 x86 Minimu... 14.12.25810
Microsoft .NET Framework 4 Extended 4.0.30319
Microsoft Visual C++ 2017 x64 Minimu... 14.12.25810
Microsoft .NET Framework 4 Client Pr... 4.0.30319
2.1.3 查询本机服务信息
wmic service list brief
2.1.4 查询进程列表
查看当前进程和进程用户
tasklist
wmic process list brief
2.1.5 查看启动程序信息
wmic startup get command,caption
2.1.6 查看计划任务
schtasks /query /fo LIST /v
2.1.7 查看用户列表
查看本机用户列表
net user
C:\Users\admin>net user
\\ADMIN-PC 的用户帐户
-------------------------------------------------------------------------------
a abc admin
Administrator Guest
命令成功完成。
获取本地管理员组
net localgroup administrators
C:\Users\admin>net localgroup administrators
别名 administrators
注释 管理员对计算机/域有不受限制的完全访问权
成员
-------------------------------------------------------------------------------
a
abc
admin
Administrator
命令成功完成。
查看当前在线用户
query user || qwinsta
C:\Users\admin>query user || qwinsta
用户名 会话名 ID 状态 空闲时间 登录时间
>admin console 1 运行中 无 2020/11/27 17:1
9
会话名 用户名 ID 状态 类型 设备
services 0 断开
>console admin 1 运行中
rdp-tcp 65536 侦听
2.1.8 查看主机开机时间
net statistics workstation
C:\Users\admin>net statistics workstation
\\ADMIN-PC 的工作站统计数据
统计数据开始于 2020/11/27 17:19:23
接收的字节数 0
接收的服务器消息块 (SMB) 13
传输的字节数 0
传输的服务器消息块 (SMB) 0
读取操作 0
写入操作 0
拒绝原始读取 0
拒绝原始写入 0
网络错误 0
已做连接 0
重新连接 0
服务器断开 0
启动的会话 0
会话挂起 0
失败的会话 0
失败的操作 0
使用计数 0
使用计数失败 0
命令成功完成。
2.1.9 列出或断开本地计算机与所有连接的客户端之间的会话
net session
2.1.10 查询端口列表
netstat -ano
2.1.11 查看补丁列表
systeminfo
wmic qfe get Caption,Descript,HotFixID,InstalledOn
2.1.12 查询本机共享列表
# 445 端口文件共享
net share
wmic share get name,path,status
2.1.13 查询路由表及所有可用接口的ARP缓存表
route print
arp -a
2.1.14 查看防火墙相关配置
- 查杀软
WMIC /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List
- 关闭防火墙
# win server 2003 及之前版本 netsh firewall set opmode disable # win server 2003 之后 netsh advfirewall set allprofiles state off
- 查看防火墙配置
netsh firewall show config
- 修改防火墙配置
# win server 2003 及之前,允许指定程序全部连接。 netsh firewall add allowedprogram c:\\nc.exe "allwa nc" enable # win 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=allow program="c:\\nc.exe" # 允许 3389 端口放行 netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow # 自定义翻过墙存储位置 netsh advfirewall set currentprofile logging filename "c:\windows\temp\fw.log" # 远程桌面连接历史记录 cmdkey /l
2.2 自动收集信息
http://www.fuzzysecurity.com/scripts/files/wmic_info.rar
三、查询当前权限
3.1 权限
- 本地普通用户
- 本地管理员用户
- 域内用户
3.2 获取域SSID
whoami /all
当前域security
的SSID是S-1-5-21-1761316379-1696655578-4051991088
域用户win7
的 SSID 是 S-1-5-21-1761316379-1696655578-4051991088-1108
3.3 查询指定用户详细信息
net user win7 /domain
四、判断是否存在域
了解本机信息后,就要判断当前内网中是都存在域。
4.1 ipconfig
查看网关IP地址、DNS的ip地址、域名、本机是否和DNS服务器处于同一网段等信息。
ipconfig /all
然后用nslookup解析 域名的IP地址,查看是否与DNS服务器在同一IP上。
nslookup security.com
4.2 查看系统详细信息
systeminfo
从图可看到处于域 security.com
4.3 查看当前登录域及域用户
net config workstation
4.4 判断主域
net time /domain
五、搜集域内基本信息
5.1 查询域
net view /domain
5.2 查询域内所有计算机
net view /domain:SECURITY
5.3 查看域内所有用户组列表
net group /domain
- Domain Admins : 域管理员组
- Domain Computers : 域内机器
- Domain Controllers :域控制器
- Domain Guest : 域访客,权限较低
- Domain User : 域用户
- Enterprise Admins : 企业系统管理员用户
默认,Domain Admins 、Enterprise Admins 对域内机器有完全控制权。
5.4 查询所有域成员计算机列表
net group "domain computers" /doamin
5.5 获取域密码信息
net accounts /domain
5.6 获取域信任信息
nltest /doamin_trusts
六、查看域控制器
6.1 查看域控制器的机器名
nltest /DCLIST:security
# 有两 AD1 AD2
6.2 查看域控制器的主机名
nslookup -type=SRV_ldap_tcp
6.3 查看当前时间
net time /domain
6.4 查看域控制器组
net group "domain controllers" /domain
七、获取域内的用户和管理员信息
7.1 查询所有域用户列表
net user /domain
7.2 获取域内用户详细信息
wmic useraccount get /all
7.3 查看存在的用户
dsquery user
dsquery computer - 查找目录中的计算机。
dsquery contact - 查找目录中的联系人。
dsquery subnet - 查找目录中的子网。
dsquery group - 查找目录中的组。
dsquery ou - 查找目录中的组织单位。
dsquery site - 查找目录中的站点。
dsquery server - 查找目录中的域控制器。
dsquery user - 查找目录中的用户。
dsquery quota - 查找目录中的配额。
dsquery partition - 查找目录中的分区。
dsquery * - 用通用的 LDAP 查询查找目录中的任何对象。
7.4 查询本地管理员组用户
net localgroup administrators
八、查询域管理员用户组
8.1 查询域管理员用户
net group "domain admins" /domain
8.2 查询管理员用户组
net group "enterprise admins" /domain
九、定位域管理员
9.1 域管理员定位概述
内网中通常会有大量的网络安全系统和设备,IDS, IPS, 日志审计,安全网关,反病毒软件等。
在一个域中,当计算机加入域之后,会默认给域管理员组赋予本地系统管理员权限。因此,域管理员组的成员均可访问本地计算机,且具有完全控制权限。
定位域管理员渠道:
- 日志,本地机器管理员日志,使用脚本或者Wevtuil工具导出查看。
- 会话,域内每台机器的登录会话,netsess.exe, powerview 等工具查询。
9.2 常用域管理员定位权限
9.2.1 psloggedon.exe
net session
可查看谁使用了本机资源,但不能查看谁在使用远程计算机资源、谁登录了本地或远程计算机
9.2.2 PVEFindADUser.exe
用于查找活动目录用户登录的位置、枚举域用户,以及查找在特定计算机上登录的用户,包括本地用户、通过RDP登录用户、用于运行服务器和计划任务的用户。
需管理员权限。
[下载地址]()
9.2.3 netview.exe
枚举工具。
9.2.4 Nmap的NSE脚本
9.2.5 powerview脚本
9.2.6 Empire 的 user_hunter 模块
十、查找与管理进程
典型域提权: 明文凭据或通过 mimikatz
提权。
10.1 本机检查
- 获取域管理员列表
net group "domain admins" /domain
- 列出本机所有进程及进程用户
tasklist /v
- 寻找域控制器的域用户会话原理:在域控制器中查询域会话列表,并将其与域管理员列表交叉引用,从而得到与管理会话的系统列表。
NetSess -h
(netsess.exe须上载到目标机器中)
十一、探测域内存活主机
11.1 利用NetBIOS 快速探测内网
nbtscan.exe -h
nbtscan.exe 10.1.1.1/24
11.2 利用ICMP协议快速探测内网
for /L %i in (1,1,254) DO home.php?mod=space&uid=294246 -w 1 -n 1 10.1.1.%i | findstr "TTL="
11.3 通过 Arp协议探测
arp.exe -t 10.1.1.1/24
Empire、Nishang
11.4 常规TCP/UDP扫描探测
msf,nmap
11.5 扫描内网端口
- 端口banner信息
- 端口上运行的服务
- 常见应用的默认端口
11.5.1 telnet
telnet DC 22
11.5.2 MSF
search portscan
auxiliary/scanner/portscan/tcp