《内网渗透体系建设》读书笔记(一)

《内网渗透体系建设》读书笔记

1 内网渗透建设基础知识

1.1 内网工作环境

  • 工作组 (work group)

组(Group)是用户账号的集合。通过向一组用户分配权限,就可以不必向每个用户分别分配权限了。按照用途分类,域组分为通讯组和安全组。

对于通讯组,我们接触的比较多的就是邮件组,将若干个人划分到一个通讯组,给这个通讯组发件,那组内用户都能收到。但本节我们主要讲的还是安全组。

安全组则是用户权限的集合。举个例子,管理员在日常的网络管理中,不必向每个单个用户账号都设置单独的访问权限,只需要创建一个组,对这个组配置访问权限,然后将需要配置该访问权限的用户账号拉进这个组中即可。并且如果管理员在网络运维中需要一些特殊的管理权限时,只需将自己的运维账号拉进该组中就行了。

加入或者创建组的方式,这个自行百度脑补

域与工作组概念类似,但是域的计算机集合更大,适用于计算机数量众多的大型网络环境

域管理员用户是域中最强大的用户

单域:指只有一个域的环境

父域和子域:有时候想把一个域分成若干个域,被划分的叫父域,划分出来的叫子域

我们注意到,从域名上看,各个子域会用点进行分割,aaa.bbb.ccc是bbb.ccc的子域

域树:多个域通过建立信任关系组成的域集合,形如子域和父域关系就像子叶和根,像是数据结构中的树

我们注意到,在域树中,域管理员只能管理本域,不能访问或者管理其他域。要访问就要建立信任关系

  • 域控制器

域控制器又称“域控”,是域环境核心的服务器计算器,用于安全身份认证。

域控制器包含一个活动目录数据库,存储着整个域的账户密码计算机等等信息。

1.2 活动目录

活动目录(Active Directionary , AD) 是指安装在域控制器上,的一种目录服务组件,它存储有关网络对象的信息,例如用户、组、计算机、共享资源、打印机和联系人等信息,并使 管理员 和用户可以方便的查找和使用这些网络信息。 通过Windows 2000 Server的活动目录,用户可以对用户与计算机、域、信任关系,以及站点与服务进行管理。

功能:计算机集中管理,用户集中管理,资源集中管理,环境集中管理,应用集中管理

1.2.1 Ntds.dit文件

这是存在域控制器的%SystemRoot%\ntds\ntds.dtd路径下的二进制文件。这个文件中包括但不限于有关域用户,用户密码的哈希值,用户组,组成员身份和组策略的信息。

如果是工作组环境,用户的登录凭证存储在本地的SAM文件中。

1.2.2 目录服务与LDAP

活动目录是一个目录服务数据库,里面的数据是树状结构存储

LDAP(全称Lightweight Directory Access Protocol,即轻量级目录访问协议),(和jndi注入用的ldap协议是同一个东西)可以用于访问目录服务数据库

目录树:整个目录的信息都可以抽象为一个树,每个节点就是条目

条目:每个条目就是一个记录,每个条目哦都有自己唯一的绝对可辨识名称(DN)

DN:就是绝对可辨识名称,它指向一个ldap的完整路径。

CN=DC1, OU=Domain Controllers, DC=hack-my, DC=com

DN由本体开始,向上延申到DNS命名空间,CN代表通用名,OU代表组织单位,DC代表域组件

1.2.3 活动目录的访问

需要微软提供的AD Exploerer工具

没有域环境的同学我推荐先去1.8搭完环境再回来看这里

1.8中把win7加入到域中(不推荐使用windows server 2008上网,它配置太垃圾了),这个时候再出来到虚拟机外面给机器添加网络适配器,再加上一张可以上网的网卡(nat,或者桥接都行)就可以实现

image-20221011162432534

win7访问Internet成功(下面是无良深大的登录界面)

image-20221011163351570

随后在win7下载AD Exploerer

image-20221011163603710

ADExploerer可以在域中任意一台主机上,以域用户身份进行连接域控制器,链接成功后可以查看域各种信息

192.168.30.10

thai

john666@2022

登陆成功

image-20221011164734126

1.2.4 活动目录分区

1.2.4.1 域分区

域分区存储着该域有关的对象信息,比如说域中的计算机、用户、组、组织单位等信息。

标蓝色的就是域分区

image-20221011164949238

可以看到,包含了

image-20221011165414150

1.2.4.2 配置分区

image-20221011170316953

1.2.4.3 架构分区

image-20221011171725605

选中一个条目,左边就会有详细信息

image-20221011171754171

一个条目有哪些属性是由它的所属的类所决定的。

ldap中,类有继承关系,子类可以继承父类的所有属性,而top类是所有类的父类

image-20221011172422886

1.2.5 活动目录的查询

1.2.5.1 Ldap按位查询

这里看不大懂,希望有懂哥带

1.2.5.2 使用AdFind查询活动目录

AdFind (joeware.net)

使用方法:利用Powerview与Adfind域信息收集 - 简书 (jianshu.com)

注意了,使用前要切换为域用户thai/hack-my.com

Adfind.exe [switches] [-b basedn] [-f filter] [attr list]

-b指定查询的根,-f为LDAP的过滤条件,attr list 为需要显示的属性

比如说执行

Adfind -b dc=hack-my,dc=com -f "objectClass=computer" name operatingSystem

意思是:查新hack-my.com域中的所有computer对象,并过滤"name"和"operatingSystem"属性

image-20221011173453371

前面那张图,objectClass的值有computer

image-20221011214333226

当然还有一些常用命令

image-20221011213934344

过滤对象的cn属性,这个是computer层面的

Adfind -b dc=hack-my,dc=com -f "objectClass=computer" cn

image-20221011214455471

这个是user层面的

Adfind -b dc=hack-my,dc=com -f "objectClass=user" cn

image-20221011214608407

1.3 域用户与机器用户介绍

1.3.1 域用户

就是thai这个用户,域环境中才有的用户,创建于域控

域用户位于域的全局组Domain Users中,而计算机本地用户账户位于本地User组中。

当计算机加入域时,全局组Domain Users会被添加到计算机本地的User组中。因此,域用户可以再域中的任何一台计算机上登录。

net user /domain

可以查看所有域用户

image-20221011220505481

1.3.2 机器用户

机器用户其实是一种特色的域用户。查询活动目录时随便选中Domain Computer组的一台机器账户,查看objectClass属性,可以发现改对象是computer类的示例,并且computer类是user类的子类。

image-20221011221732412

本地System用户对应的机器用户,一般就是"机器名+$"这种格式。

net group "Domain Computers" /domain

查看域中的机器用户

image-20221011222142639

所以说,提权到System后,可以进行域的横向渗透

你看,如果是普通本地用户不行(之前演示的时候是域用户)

image-20221011224557236

我们管理员权限打开cmd,也是不行的

如果是渗透测试,我们需要内核漏洞提权

这里用psexec演示(pstool)

下载链接 https://download.sysinternals.com/files/PSTools.zip

下载后运行

PsExec -i -s -d cmd

image-20221011231241883

之后弹出一个cmd,那个就是system权限打开的

image-20221011232346935

1.4 域用户组的分类和权限

对用户组赋予一定权限,那么该组内的用户就获得了相同的权限。

1.4.1 组的用途

用户账号的集合称为组

通讯组:给通信组发信息时,组内的用户都能收到

安全组:对一个组赋予权限,则组内都是那个权限

1.4.2 安全组的权限

内网渗透测试:域用户组及域内权限划分 - FreeBuf网络安全行业门户

根据组的作用范围,可以分为如下

1.4.2.1 域本地组

以下命令可以查询域内的所有域本地组:

Adfind.exe -b dc=hack-my,dc=com -bit -f "(&(objectClass=group)(grouptype:AND:=4))" cn -dn

下面介绍几个的常见的系统内置的域本地组及其组权限:

Administrators:管理员组,改该组的成员可以不受限制地存取计算机/域的资源。不仅是最具有权限的一个组,也是在活动目录和域控制器中默认具有管理员权限的组,是域森林中强大的服务管理组。

Remote Desktop Users:远程登录组,处于远程登录组中的用户才有权限使用远程登录服务。

Print Operators:打印机操作员组,位于该组内的成员可以管理网络中的打印机,包括建立、管理和删除网络打印机,并可以在本地登录和关闭域控制器。

Account Operators:账号操作员组,该组的成员可以创建和管理该域中的用户和组并为其设置权限,也可以在本地登录域控制器,但是,不能更改属于 Administrators 或 Domain Admins 组的账户,也不能修改这些组。在默认情况下,该组中没有成员。

Server Operators:服务器操作员组,该组的成员可以管理域服务器,其权限包括建立/管理/删除任意服务器的共享目录、管理网络打印机、备份任何服务器的文件、格式化服务器硬盘、锁定服务器、变更服务器的系统时间、关闭域控制器等。在默认情况下,该组中没有成员。

BackupOperators,备份操作员组,改组的成员可以在域控制器中执行备份和还原操作,并可以在本地登录和关闭域控制器。在默认情况下,该组中没有成员。

image-20221012171330608

1.4.2.2 通用组

以下命令可以查询域内的所有通用组:

Adfind.exe -b dc=hack-my,dc=com -bit -f "(&(objectClass=group)(grouptype:AND:=8))" cn -dn

下面介绍两个的常见的系统内置的通用组及其组权限:

Enterprise Admins:企业系统管理员组,改组是域森林根域中的一个组。Enterprise Admins 组在域森林中的每个域内都是 Administrators 组的成员,因此对所有域控制器都有完全访问控制权。

Schema Admins:架构管理员组,是域森林根域中的一个组,可以修改活动目录和域森林的模式。Schema Admins 组是为活动目录和域控制器提供完整权限的域用户组,因此,该组成员的资格是非常重要的。

image-20221012171437777

1.4.2.3 全局组

以下命令可以查询域内的所有全局组:

Adfind.exe -b dc=hack-my,dc=com -bit -f "(&(objectClass=group)(grouptype:AND:=2))" cn -dn

下面介绍几个的常见的系统内置的全局组及其组权限:

Domain Admins,管理员组,该组的成员在所有加入域的服务器、域控制器和活动目录中均默认拥有完整的管理员权限。因为该组会被添加到自己所在域的 Administrators 组中,因此可以继承 Administrators 组的所有权限。同时,该组默认会被添加到每台域成员计算机的本地 Administrators 组中,这样,Domain Admins 组就获得了域中所有计算机的所有权。如果希望某用户成为域系统管理员,建议将该用户添加到 Domain Admins 组中,而不要直接将该用户添加到 Administrators 组中。

Domain Users,域用户组,该组的成员中是所有的域用户。在默认情况下,任何由我们建立的更户账号都属于 Domain Users 组。因此,如果想让所有的账号都获得某种资源在取权限、可以将该权限指定给域用户组,或者让域用户组属于具有该权限的组。

Domain Computers,域成员主机组,该组的成员是域内所有的域成员主机,任何由我们建立的计算机账号都属于 Domain Computers 组。

Domain Controllers,域控制器组,该组成员包含了域内所有的域控制器。

Domain Guests,域访客用户组,该组内的成员默认为域访客用户,域成员计算机会自动将此组加到本地的 Guests 组中。

Group Policy Creator Owners:此组成员可以修改域的组策略。

DnsUpdateProxy:此组成员允许替其他客户端(如DHCP服务器)执行动态更新的 DNS 客户端。

Read-only Domain Controllers:此组中的成员是域中的只读域控制器

image-20221012171506055

1.5 组织单位

对用户设置权限时,可以先拉入一个组,然后对这个组赋予权限,再把用户拉入改组,这个组一般称之为组织单位

这里暂时无法复现

1.6 访问限制

1.6.1 Windows访问控制模型

Windows访问控制模型主要由访问令牌(Access Token)和安全描述符(Security Descriptor)两部分组成,分别由访问者和被访问者持有。

通过比较两者,就看也知道访问者有无访问资质。

1.6.1.1 访问令牌

1.6.1.2 安全描述符

1.6.2 访问控制列表

1.6.2.1 DACL

DACL是安全对象的访问控制策略,其中定义了该安全对象的访问控制策略。如下图

image-20221012185459968

每一个组或者用户都有用一个对应的权限,称之为ACE。

ACE里面有一个SID

ACE有如下4个方面:

  • 谁对这个安全对象拥有权限
  • 拥有什么权限
  • 这个权限是允许还是拒绝
  • 这个权限能不能被继承

1.6.2.2 SACL (待完成)

Icals是一种命令行工具,可以访问和修改控制列表(ACL)

icacls ./123.txt

image-20221012193029957

icacls | Microsoft Learn

简单权限序列 (基本权限) :

F - 完全访问权限

M- 修改访问权限

RX - 读取和执行访问权限

R - 只读访问权限

W - 仅写访问权限

特定权限的括号中的逗号分隔列表 (高级权限) :

D - 删除

RC - 读取控制 (读取权限)

WDAC - 写入 DAC (更改权限)

WO - 写入所有者 (获取所有权)

S - 同步

AS - 访问系统安全性

MA - 允许的最大数量

GR - 泛型读取

GW - 泛型写入

GE - 泛型执行

GA - 全部通用

RD - 读取数据/列表目录

WD - 写入数据/添加文件

AD - 追加数据/添加子目录

REA - 读取扩展属性

WEA - 编写扩展属性

X - 执行/遍历

DC - 删除子级

RA - 读取属性

WA - 写入属性

继承权可能位于任一 <perm> 形式之前:

(我) - 继承。 ACE 继承自父容器。

(OI) - 对象继承。 此容器中的对象将继承此 ACE。 仅适用于目录。

(CI) - 容器继承。 此父容器中的容器将继承此 ACE。 仅适用于目录。

(IO) - 仅继承。 ACE 继承自父容器,但不适用于对象本身。 仅适用于目录。

(NP) - 不传播继承。 ACE 由容器和对象从父容器继承,但不传播到嵌套容器。 仅适用于目录。

添加用户 (要创建这个用户)

icacls ./123.txt /grant Hacker:(OI)(CI)(F) /t

删除用户

icacls ./123.txt /remove Hacker /t

1.7 组策略

组策略是Windows环境下管理账户的一种手段,可以控制用户账户和计算机账户的工作环境。

以下功能:

  • 账户策略的配置:如密码长度,复杂程度
  • 脚本的配置:
  • 应用程序的安装与删除:用户登录或计算机启动时,自动为用户安装应用,自动修复应用的错误
  • 文件夹重定向
  • 限制访问可移动存储设备
  • 用户工作环境的配置
  • 其他系统设置等

1.7.1 组策略对象

由组策略容器和组策略模板构成

其中,组策略容器存储在活动目录的域分区,组策略模板放在:%SYSTEMROOT%\SYSVOL\sysvol\域名\Polices

[Windows Server 2012R2 组策略管理使用教程 - 守候的时光 | 守候的时光 (purplestone.cn)](http://www.purplestone.cn/share/windows/1537.html#:~:text=Windows Server 2012R2 组策略管理使用教程 1 1.,开始运行此软件: 例如用户登录后执行操作:“开始”→“控制界面”→“添加或删除程序”→“添加程序”单击该软件的快捷方式,或是双击桌面上的快捷方式后,就会自动安装此软件。 2 步骤2:在和EXE同一目录下,创建以“.ZAP”为后缀的文件,内容为: 3 Setupcommand%3D\Win2012-1\新建文件夹\winrar-x64-540scp.exe(被发布文件的地址))

image-20221012201156785

可以看到有两个默认的组策略对象

image-20221012201557481

  • Defualt Domain Policy

应用到其所在域的所有用户和计算器。

image-20221012202316050

  • Default Domain Controllers Policy

默认组策略对象

image-20221012205621615

  • 组策略容器

组策略容器中记录着该组策略对象的策略名称、标识组策略的GUID,组策略链接到的作用域等等元数据

image-20221012211904651

image-20221012211921591

GUID标识的两个默认组策略对象。当然选中它就可以在右侧看到信息

displayName属性为组策略的名称,该组策略名为Default Domain Policy;

gPCFileSysPath属性为组策略模板存放的路径,该组策略模板存放路径如下

CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=hack-my,DC=com,192.168.30.10%20[DC.hack-my.com]

当域中的某对象应用某组策略时,该对象的gPLink属性就会指向这条组策略的完整DN, 如下,会发现这个值和上面的DN记录一样

image-20221012212732294

  • 组策略模板

一般是放在这个GUID命名的文件夹中

image-20221012215143947

1.7.2 组策略的创建

下面创建一个新的组策略

image-20221012215959727

image-20221012220140375

手动链接到域中的指定站点

先建一个组织单位

image-20221012220350451

image-20221012220310081

接着在新建的信息安全组右击,链接到现有的GPO

image-20221012220422636

如图设置成功

image-20221012220540139

然后关闭保存

但是这个时候还需要编辑这个权限具体的设置,仍然是使用同样的方法打开组策略管理编辑器

image-20221012220916478

image-20221012222121078

image-20221012222251093

gpupdate /force

可以将组策略生效

image-20221012222512720

测试成功

image-20221012222418827

1.8 内网域环境搭建

因为发现光看概念没有操作是不能深刻理解,所以先搭建环境

关于操作系统可以看看发展历程:

windows发展历程

Windows版本及年份 系统特点
Windows1.0 —1985年 MS-DOS系统
Windows2.0—1987年 MS-DOS系统
Windows3.0—1990年 图形化界面
Windows3.0—1990年 图形化界面
Windows95—1995年 图形化界面,第一个不要求安装DOS的
Windows98—1998年 图形化界面,95的改进版本
Windows98SE—1999年 图形化界面,98的改进版本
WindowsME—2000年 在9X的基础上开发,主要针对个人电脑
Windows2000—2000年 图形化界面,沿袭
WindowsXP—2001年 图形化界面,个人计算机的里程碑
WindowsVista—2005年 图形化界面,增加了管理机制
Windows7—2009年 图形化界面,推出了多个版本
Windows8—2012年 图形化界面,对平板支持
Windows8.1—2013年 在8的基础上多了重要更新
Windows10—2015年 图形化界面,支持平板,逐渐消除32位

Windows Server发展历程

版本 发行日
Windows Server2003 2003/4/24
Windows Server2008 2008/2/27
Windows Server2008 R2 2009/10/22
Windows Server2012 2012/9/4
Windows Server2012 R2 2013/10/17
Windows Server2016 2016/10/13
Windows Server2019 2018/11/13

原文链接:https://blog.csdn.net/Littleliuing/article/details/106841347

镜像下载推荐这个:

Windows Server 2012 R2 | Microsoft Evaluation Center

有些官方不维护了,咱可以装个迅雷,使用这个站下载

MSDN, 我告诉你 - 做一个安静的工具站 (itellyou.cn)

下面搭建一个单域环境进行演示

1.8.1 单域环境搭建

win server 2008 ,win server 2012 , win 7

image-20221010204031101

如果需要镜像可以私聊站主

注意创建win server 2012的时候,推荐先设置好网络

image-20221010212017153

注意win server 2012在安装的时候,系统选择有GUI的(好像是第二个),自定义安装,然后才可以进入安装系统界面

1.8.1.1 虚机创建和网络设置

先给三个虚拟机设置一张内网网卡,192.168.30.0/24

给win server2008作为web服务器,一个访问外网的条件,于是给了它一个桥接

win server 2012,一定需要重新设置密码,示例密码:

thai666@2022

给win server 手动配个ip 192.168.30.10

image-20221010213110988

image-20221010213349898

验证成功

ipconfig /all

image-20221010213444473

1.8.1.2 修改主机名

image-20221010214152730

暂时还没设置隶属于哪个的域及其域名,按下确定后会重新启动,才能生效

验证

image-20221010214531636

看到咱的主机名了,dc

1.8.1.3 安装域控制器,ad和dns服务

打开服务器管理器,点击添加角色和功能

保持默认选择,单击下一步,直至出现 ”选择服务器角色“

image-20221010215614783

勾选 AD域服务和dns服务器 (我这里第一次安装的时候只勾了dns,不过可以装完后再点击”选择服务器角色“ 然后于此选择AD)

之后一直选择默认选项,直至确认阶段

image-20221010215241115

单击安装

出现下图则安装成功

image-20221010215346511

image-20221010220620382

单击这个"将此服务器提升为域控制器"

image-20221010221509231

下一步

image-20221010221927651

DSRM的密码我设置为

thai777@2022

DSRM密码常用于对域渗透维持权限进行持久化操作

设置好后,一直下一步就行(在路径这里可以看到NTDS的目录)

稍后安装会自动重启

重启完成后,需要使用HACK-MY\Administrator 登录

image-20221010224223763

dns会被改成127.0.0.1,需要我们重新手动改

image-20221010224356458

1.8.1.4 添加用户加入域

为了让别人加入域,咱要创建域用户

image-20221010225025502

image-20221010225207503

创建一个用户thai

image-20221010225248225

设置密码永不过期

密码

1212thai2077@2@22

image-20221010225804700

原来不能含有用户名

密码

john666@2022

image-20221010230017267

成功

  • windows server 2008

win2008也需要相应的操作

先配一下ip

image-20221010231026751

可以看到是本地连接这张网卡

image-20221010231131956

这里面写错了,是192.168.30.x,一不小心写成10.x了

主要是设置dns服务器,之后才可加入域

修改

image-20221010231802880

输入域管理员密码

image-20221010231826585

  • win7

win7也一样参考2008即可

找网卡,配ip

image-20221011113752160

得出网卡应该是本地连接

image-20221011114301343

后来发现家庭中文版不支持加入域,坑,换专业版的了

image-20221011161457365

之后输入域管理员账号密码

image-20221011161554815

自动重启,重新登录的时候由于改了用户名,这里是无密码登录的

win7旗舰版重启不需要再手动改dns

最后看一下,win server 2008同时在域内,又可以访问外网

image-20221011112420613

不过这厮没有自带浏览器,不方便得很,还搁着ping不通,但是dns却又可以解析到Ip

1.8.2 父子域环境的搭建(待完成)

这个要7个虚机恐怕暂时带不动,先放一边

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇