内网渗透之信息收集

域说明

AD域

复制代码
AD域服务是每个windows域网络的基石,他负责存储域成员(包括设备和用户)的信息、验证其凭据并定义其访问权限。运行此服务的服务器称为域控制器。

工作组

复制代码
将不同的计算机按照功能或部门分别列入不同的工作组(例如技术部的计算机加入“技术部”工作组),工作组中所有计算机都是对等的,没有服务器和客户机的区别,方便同组的计算机互相访问

域本地组 全局组 通用组

复制代码
# 域本地组
主要授予本域内资源的访问权限
​
# 全局组
组内用户来自于本域,作用于全林,加入全局组的用户就是管理员,可以对域内成员有特权
​
# 通用组
组内用户来自于全林(任何域的用户账号、全局组和其他通用组),作用于全林

AD域信息收集

收集本机信息

复制代码
# 查询网络配置信息
ipconfig /all
+ 结果利用:可以看到本机是否在域中,如果在域中可看到域名。可看到dns服务器,一般情况下dns服务器和域控主机是同一台机器。
​
​
# 查询操作系统和版本信息
systeminfo | findstr /B /C:"Name" /C:"Version"  //英文版操作系统查看操作系统和版本信息
systeminfo | findstr /B /C:"名称" /C:"版本"     //中文版操作系统查看操作系统和版本信息
+ 结果利用:不同的操作系统(界限一般是winserver2003)所使用的系统命令有所不同。
​
# 查看安装的软件及版本、路径
wmic product get name,version
​
​
# 查看进程信息
wmic process list brief
+ 结果利用:可查看开启了哪些杀毒软件,免杀的时候可以根据安装的杀毒软件进行绕过。
常见杀软
360sd.exe  360杀毒
ksafetray.exe  金山卫士
safedogupdatecenter.exe 安全狗
avguard.exe   小红伞
AVP.exe    卡巴斯基
​
​
# 查看用户列表
net user
+ 结果利用:通过分析本机用户列表,可以找出内网机器命名规则,用来推测整个域的用户命名方式
​
​
# 获取本地管理员(通常包括域用户)信息
net localgroup administrator
​
​
# 列出或断开本地计算机连接的客户端的会话
net session
+ 结果利用:可获取连接过这台主机的用户以及主机ip,可用于横向
​
​
# 查看打的补丁
wmic qfe get HotFixID
+ 结果利用:可以找到未打补丁的漏洞,并且有些例如域内凭据的利用(ptk)需要打了补丁才能利用。
​
# 查看本机共享列表和可访问的域共享列表
net share
​
# 查看开启自启动运行软件
wmic startup get command,caption
+ 结果利用:可利用开机自启软件进行后续权限维持
​
  • 查询防火墙相关配置
复制代码
+ windows server 2003及之前版本
# 关闭防火墙
netsh firewall set opmode disable
​
# 允许指定程序全部连接
netsh firewall add allowedprogram c:\nc.exe "allow nc" enable
​
# 查看防火墙配置
netsh firewall show config
​
​
​
+ windows server 2003之后的版本
# 关闭防火墙
netsh advfirewall set allprofiles state off 
​
# 允许指定程序进入
netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="C: \nc.exe"
​
​
# 查看防火墙配置
netsh firewall show config
​
# 允许3389端口放行
netsh advfirewall firewall add rule name="Romote" protocol=TCP dir=in localport=3389 action=allow
  • 查询当前权限
复制代码
# whoami
whoami执行之后有三种情况:本地普通用户 本地管理员用户 域内用户
​
本地普通用户:执行完whoami之后显示 
计算机名\普通用户名(例如win-2008\user)
​
本地管理员用户:执行完whoami之后显示
计算机名\管理员用户(例如win-2008\administrator)
​
域内用户:执行完whoami之后显示
域名\域用户名
​
​

域内信息搜集

  • 判断是否存在域
复制代码
# 使用ipconfig命令
ipconfig /all
执行以上命令可以查看dns服务器的ip地址,以及域名(假设为hack.domain)
使用nslookup解析域名,查看对应ip是否和dns服务器ip相同,相同说明dns服务器和域控在同一台服务器上
nslookup hack.domain
​
# 判断当前用户是否在域中
net time /domain
执行这个命令可以看到三种情况:
1,存在域,但当前用户不是域用户(结果会提示系统错误)
2,存在域,并且当前用户是域用户(结果会显示时间)
3,不存在域,当前为工作组(会显示找不到域控制器)
​
  • 域内主机存活探测
复制代码
# 利用 ICMP协议快速探测内网
依次对内网中的每个ip地址进行ping命令,使用如下命令探测整个c段,快速找到内网的所有存活主机
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL="
​
# 利用arp扫描探测内网
arp.exe -t 192.168.1.0/20
  • 域内基础信息收集
复制代码
# 查询域
net view /domain

# 查询域内所有计算机
net view /domain:域名

# 查看域控的机器名
nltest /DCLIST:域名(可以再使用ipconfig /all查看自己的机器名看是不是域控)

# 或者通过查看时间来查看域控机器名
net time /domain
结果会返回域控机器名和域内时间

# 获取域内用户和管理员信息(其中krbtgt用户不仅可以创建票据授权服务(TGS)的加密密钥,还可以实现多种域内权限持久化方法
net user /domain

# 查询域用户列表
net user /domain

# 查询指定用户的详细信息
net user username /domain   //username是用户名

# 查看存在的用户
dsquery user

# 查询本地管理员组用户
net localgroup administrators

# 查询登录域及登录用户信息
net config workstation

# 查询域内所有计算机列表
net group "domain computers" /domain

#获取域密码信息(密码策略,密码长度,错误锁定等)
net accounts /domain

#查看域控制器组(一个域内一般存在两台或两台以上的域控制器,主域故障,备用域控制器可以保证工作正常运行)
net group "Domain Cpntrollers" /domain

获取普通用户账号之后,如何定位管理员

复制代码
定位管理员常规渠道:1.日志  2.会话
日志:本地机器的管理员日志
会话:每台机器的登录会话
查找域管理进程
  • 1,找到进程为域管理员的进程
复制代码
# 获取域管理员列表
net group "Domain Admins" /domain

# 列出本机的所有进程及进程用户
tasklist /v

# 寻找进程所有者为域管理员的进程
  • 2,查询域控制器的域用户会话
复制代码
# 查询域控制器列表
net group "Domain Controllers" /domain

# 收集域管理员列表
net group "Domain Admins" /domain

# 收集所有活动域的会话列表
使用psloggedon(sysinternals包中的工具)可以查看会话列表
psloggedon.exe \\计算机名   //可以查询登录过这台计算机的所有用户
psloggedon.exe username    //可以查询到用户登录过的本地或远程计算机 
  • 可用工具
复制代码
bloodhound psloggedon netsess
相关推荐
彷徨而立2 分钟前
【C/C++】只知道窗口句柄,如何擦除窗口内容,清理窗口?
c语言·c++·windows
guojikun1 小时前
一键配置 Web 前端开发环境(PowerShell 自动化脚本)
windows·web前端·powershell
小白银子3 小时前
零基础从头教学Linux(Day 54)
linux·windows·python
Gary Studio4 小时前
最簡實時性操作系統之任務鏈表
windows
JiKun4 小时前
一键配置 Web 前端开发环境(PowerShell 自动化脚本)
前端·windows·程序员
yuuki2332335 小时前
【C语言】预处理详解
c语言·windows·后端
墨尘笔尖6 小时前
使用子进程实现 C++ 与 Python 交互式控制台
c++·windows·python
许泽宇的技术分享7 小时前
Windows MCP.Net:解锁AI助手的Windows桌面自动化潜能
人工智能·windows·.net·mcp
IT小哥哥呀14 小时前
5 个 Windows 故障排除工具
windows·故障排除·系统运维·windows系统·电脑问题
应用市场16 小时前
构建自定义命令行工具 - 打造专属指令体
开发语言·windows·python