内网渗透之信息收集

域说明

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
相关推荐
n***85942 小时前
嵌入式 UI 开发的开源项目推荐
windows·开源·开源软件
小袁搬码3 小时前
Windows中指定路径安装DockerDesktop
windows·docker·容器·docker desktop
系统之家装机大师11 小时前
Win11 22H2/23H2系统11月可选更新KB5046732发布!
windows·电脑
系统之家装机大师11 小时前
微软发布Win11 24H2系统11月可选更新KB5046740!
windows·电脑
戎梓漩13 小时前
windows下安装curl,并集成到visual studio
ide·windows·visual studio
蓝田~15 小时前
观察者模式和订阅模式
windows·观察者模式
梓仁沐白21 小时前
ubuntu+windows双系统切换后蓝牙设备无法连接
windows·ubuntu
九鼎科技-Leo1 天前
什么是 WPF 中的依赖属性?有什么作用?
windows·c#·.net·wpf
Yang.991 天前
基于Windows系统用C++做一个点名工具
c++·windows·sql·visual studio code·sqlite3
我不瘦但很逗1 天前
Windows下使用DBeaver连接云数据库(MySQL)
数据库·windows