前言
当渗透到内网环境中时,首先应该对自己当前所处的环境有一个清楚的了解,清楚知道我是谁?这是哪?我在哪?判断机器处于哪一个区域,是在DMZ区、办公区、还是在核心区。这里的区域也不是绝对的,只是一个大概的环境,处于不同位置的网络,环境不一样,区域界线也不一定明显。
收集本机信息
收集的信息包括操作系统、权限、内网IP段、杀软、端口、服务、补丁情况、网络连接、共享、会话等。如果是域内主机,那么操作系统、应用软件、补丁、服务、杀软一般都是批量安装的。文件共享/FTP连接记录、浏览器访问记录、mstsc连接记录、ssh连接记录。
查询操作系统以及版本信息,补丁信息等
systeminfo
查询本机网络配置
ipconfig /all
查询已安装的软件及版本信息
wmic product get name,version
查询进程
tasklist
查询本机服务
wmic service list brief
查看已启动的程序信息
wmic startup get command,caption
查看用户列表
net user
查看本地管理员信息
net localgroup administrators
查询端口列表
netstat -ano
查询路由表
route print
查询可用ARP缓存表
arp -a
查看当前权限
whoami
可以看到当前为desktop-v7vsov7
本机的lijiaxuan
用户。
如果当前内网中存在域,那么本地普通用户只能查询本机的相关信息,不能查询域内信息,而本地管理用户和域内用户可以查询域内信息。
获取域SID
whoami /all
当前域desktop-v7vsov7
的SID是 S-1-5-21-3005700308-192859497-972446096
域用户lijiaxuan
的SID是S-1-5-21-3005700308-192859497-972446096-1001
判断是否存在域
获得了本机的相关信息后,就要判断当前内网中是否存在域。如果当前内网中存在域,就需要判断所控制的主机是否在域内。
使用ipconfig命令
ipconfig /all
可以看到主DNS的后缀为nuc.edu
,然后可以通过nslookup来解析域名的IP地址,用解析到的IP地址进行对比,判断域控制服务器和DNS服务器是否在同一台服务器上。
查看系统详细信息
使用systeminfo命令,“域”即域名(当前域名为nuc.edu),如果域为workgroup,说明当前服务器不在域内
查询当前登录域及登录用户信息
net config workstation
工作站域DNS为域名,登录域表示当前登录的用户是域用户还是本地用户
探测域内存活主机
内网存活主机探测是内网渗透测试中不可或缺的一个环节。
利用NetBIOS快速探测内网
NetBIOS是局域网程序使用的一种API,为程序提供了请求低级别服务的统一的命令集,为局域网提供了网络及其他特殊功能,几乎所有的局域网都是在NetBIOS协议的基础上工作的,NetBIOS也是计算机的标识名,主要用于局域网中计算机的互访,NetBIOS的工作流程就是正常的机器名解析查询应答过程,因此推荐优先使用。
nbtscan是一个命令行工具,用于扫描本地或远程TCP/IP网络上的开放NetBIOS名称服务器。
SHARING表示该机器中存在正在运行的文件和打印共享服务,但不一定有内容共享
DC表示该机器可能是域控制器
利用ICMP协议快速探测内网
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.213.%I | findstr "TTL="
扫描域内端口
通过查询目标主机的端口开放信息,不仅可以了解目标主机所开放的服务,还可以找出其开放服务的漏洞、分析目标网络的拓扑结构等。需要关注一下几点:
- 端口的Banner信息
- 端口上运行的服务
- 常见应用的端口
使用Metasploit端口扫描
使用auxiliary/scanner/portscan/tcp
模块
使用Nishang端口扫描
使用Invoke-PortScan
模块
使用PowerSploit端口扫描
使用Invoke-Portscan.ps1
脚本
收集域内基础信息
确定了当前内网拥有的域,且控制的主机在域内,就可以进行域内相关信息的收集了。
查询域
net view /domain
查询域内所有计算机
net view /domain:NUC
查询域内所有用户列表
net group /domain #域控制服务器上
获取域密码信息
net accounts /domain
查询所有域成员计算机列表
net group "domain computers" /domain
查找域控制器
查找域控制器的机器名
nltest /DCLIST:nuc
查看域控制器的主机名
nslookup -type=SRV _ldap._tcp
查看当前时间
net time /domain
查看域控制器组
net group "domain controllers" /domain
获取域内的用户和管理员信息
查询所有域用户列表
- 向域控制器进行查询
net user /domain
- 获取域内用户的详细信息
wmic useraccount get /all
- 查看存在的用户
dsquery user
- 查询本地管理员组用户
net localgroup administrators
查询域管理员用户组
- 查询域管理员用户
net group "domain admins" /domain
- 查询域管理员用户组
net group "Enterprise Admins" /domain