第一章 内网渗透测试基础
记录时间:2020.1.24
0x01 基础知识
一、基本概念
-
工作组:给成千上万台计算机编组,方便管理
-
加入工作组的方法:右击桌面上的“计算机”图标,在弹出的快捷菜单出选择“属
性”选项,然后单击“更改设置”和“更改”选项,在“计算机名”一栏中输入名称,在“工作组”一栏中输入想要加入的工作组的名称,
-
修改和退出工作组的方法:如果输入的工作组名称在网络中不存在,相当于新建了一个工作组(当然,暂时只有当前这台计算机在工作组内)。单击“确定”按钮,Windows 会提示需要重新启动。重新启动之后,再进入“网络”,就可以看到所加入的工作组中的成员了。
我们也可以退出某个工作组(只要修改工作组的名称即可)。
-
域:功能与工作组类似,但是有着更加严格的安全管理机制、权限管理机制
-
域控制器:域控制器负责每一台联入的计算机和用户的验证工作域控制器包含由这个域的账户、密码、属于这个域的计算机等信息构成的数据库因此,渗透域的最终
目的是获取域控的系统权限,进而获取域内所有用户的账号和密码
父域
子域
域森林:域树与域树之间的域名没有所属关系时,需要构建某种信任关系,有了这个关系后就构成了域森林
活动目录AD:目录就是存储有关网络对象(如用户、组、计算机、共享资源、打印机和联系人等)的信息。活动目录存储的是网络中所有资源的快捷方式,用户通过寻找快捷方式来定位资源。
当内网中的一台计算机上安装了 AD,它就变成了 DC。DMZ
域内权限
二、安全域的划分
划分安全域的目的是将一组安全等级相同的计算机划入同一个网段,这一网段内的计算机拥 有相同的网络边界,在网络边界上通过部署防火墙来实现对其他安全域的网络访问控制策略(NACL)
小型网络示意图:
划分为三个安全域。其中内网区的安全级别最高,DMZ其次
网络边界通常配置入侵检测、入侵防御产品、WAF
三、域中计算机的分类
- 域控制器
- 成员服务器
- 客户机
- 独立服务器
四、域内权限
-
组:是用户账号的集合。通过向一组用户分配权限,就可以不必向每个用户分别分配
权限。
域本地组:域本地组不能嵌套于其他组中。域本地组主要用于授予位于本域资源的访问权限
-
全局组:全局组可以嵌套在其他组中
全局组和域本地组的关系,与域用户账号和本地账号的关系非常相似。域用户账号可以在全局使用,即在本域和其他关系的其他域中都可以使用,而本地账号只能在本地机上使用。例如,将用户张三(域账号为 Z3)添加到域本地组 administrators 中,并不能使 Z3 对非 DC 的域成员计算机拥有任何特权,但若将 Z3 添加到全局组 Domain Admins 中,用户张三就成为域管理员了(可以在全局使用,对域成员计算机拥有特权)。
通用组:通用组成员来自域森林中任何域的用户账户、全局组和其他通用组,可以在该域森林的任何域中指派权限,可以嵌套于其他域组中,非常适于域森林中的跨域访问
可以这样简单地记忆:域本地组来自全林,作用于本域;全局组来自本域,作用于全林;通
用组来自全林,作用于全林。
-
A-G-DL-P策略:将用户账号添加到全局组中,将全局组添加到域本地组中,然后为域本
地组分配资源权限。(暂时理解不了)
五、几个重要的与本地组
- 管理员组:(Administrators)的成员可以完全不受限制地存取计算机/域的资源,该组的成员可以更改 Enterprise Admins、Schem Admins 和 Domain Admins 组的成员关系,是域森林中强大的服务管理组。
- 远程登录组:Remote Desktop User,成员被赋予远程登录的权限
- 打印机操作员组:可以管理网络打印机
- 账号操作员组:可以创建和管理该域中的用户和组,可以设置其权限。但是不能更改隶属于Administrator或者Domain Admins组的用户
- 服务器操作员组:可以管理域服务器。
- 备份操作组:执行备份和还原操作
- 域管理员组 Domain Admins:在所有加入域的服务器和工作站、域控制器和活动目录默认拥有完整的管理员权限
- 企业系统管理员 Enterprise Admins:该组的成员在域森林中的每个域都是Administrator组的成员,对所有域控制器都有完全访问权限。
- 架构管理员 Schema Admins:可以修改活动目录域森林的模式
- 域用户组 Domain Users:所有域的成员。
六、windows PowerShell基础
可以把powershell看做cmd.exe 的扩充。
在powershell下输入:Get-Host即可查看版本
需要关注的几个要点:
-
powershell的执行策略
- Restrict:脚本不能运行(默认)
- RemoteSigned:本地创建的脚本能够运行,但是从网上下载的脚本不能运行,拥有数字证书的除外
- AllSigned:仅当脚本由受信任的发布者签名时才能运行
- Unrestrict:允许所有的脚本运行
-
运行一个脚本:
- 运行一个脚本必须输入完整的路径和文件名
- 但是如果刚好就在目录下,则可以通过当前目录的执行方式运行。
- powershell命令:不区分大小写
(1)PowerShell常用命令
采用“动词-名词”的形式。
- 动词一般有:Add、New、Get、Remove、Set
0x02 环境搭建
- Kali
- Windows渗透测试平台
0x11 残留问题
- 怎么理解域内权限
- 怎么理解A-G-DL-P策略
- Enterprise Admins、Schem Admins 和 Domain Admins 分别都是什么意思
0x12 资料收集
- powershell在线教程:https://www.pstips.net/