u1timate
Published on 2021-05-04 / 453 Visits
0

1 内网攻防基础

0x01 内网基础知识

内网常用名词包括工作组,域,域控制器,父域,子域,域树,域森林,活动目录,DMZ,域内权限等

1 工作组

大型单位,成百上千的计算机组成局域网,他们都会列在网络内,如果不对这些计算机进行分组,网络就会很混乱, 工作组就是将不同的计算机按功能或者部门分别列入不同的工作组,例如技术部的计算机就列入技术部工作组,要想访问某个部门砸晕,只要在网络里面双击该部门的所有计算机了。
要加入工作组,如图
image.png
如果输入的工作组在网络上不存在,就相当于新建了一个工作组,退出工作组只需要修改工作组名称就行了
这时在网络中,别人可以访问我们的共享资源,我们也可以加入同一网络的任何工作组,工作组没有集中管理功能,所有计算机都是对等的,没有服务器和客户机之分

2 域

一个场景, 500台计算机需要Alan登陆,正常情况下,我们需要在这500台计算机中创建账户,如果Alan更换了密码,那么我们就得一台一台的更改,加入这是5w台计算机呢?这就是一个典型的域环境应用场景
域是一个有安全边界的计算机集合(安全边界的意识是,在两个域中,一个域中的用户无法访问另一个域中的资源),与工作组相比,域的安全管理控制机制更加严格, 用户要想访问域内的资源,必须以合法的身份登录域,而用户对域内的资源拥有什么权限,还取决于用户在域内的身份。

域控制器(Domain Controller)是域中的一台类似管理服务器的计算机,域内的计算机如果想要互相访问,都要经过域控制器的审核
域控制器 一般存有这个域的账户、密码、属于这个域的计算机等信息构成的数据库。当计算机要连接到域的时候,域控制器首先要鉴别这台主机是否属于这个域,账户和密码是否正确。

域控是整个域的通信枢纽,所有的权限身份验证都在域控制器上进行。域内所有用户的账号和密码散列值都保存在域控制器中

  • 单域
    地理位置固定,小公司,建立一个域就行了,在一个域里面至少要有两台域服务器, 一台做DC,另一台做备份DC,活动目录的数据库(包括用户和账号信息)是存储在DC中的。

  • 父域和子域
    出于管理及其他需求,需要在网络中划分多个域,第一个域称为父域,各分部的域称为该域的子域。好处是不通域之间交互条目较少,而且可以压缩,子域还可以自己管理资源,而且每个域还可以甚至不同的安全策略。

  • 域树
    域树是多个域通过建立信任关系组成的集合,一个域管理员只能管理本域,不能访问或者管理其他域, 如果两个域之间需要互相访问,则需要建立信任关系。域树内的父域和子域不但可以按照需要互相管理,还可以跨网络分配文件和打印机资源。
    一个域树中,父域可以包含多个子域,子域是相对于父域来说的。
    image.png

  • 域森林
    域森林是指多个域树通过建立信任关系组成的集合,例如一个公司的兼并场景,abc.com 与ab.net域通过建立信任关系来构成域森林,通过域树之间的信任关系,可以管理和使用整个域森林中的资源,并保留被兼并公司自身原有的特性。
    image.png

  • 域名服务器
    域树中的域名和DNS域名非常相似, 因为域中的计算机是使用DNS来定位域控制器、服务器以及其他计算机网络服务的,所以域的名字就是DNS域的名字

3 活动目录

活动目录(Active Directory,AD)是指域环境中提供目录服务的组件,目录用于存储有关网络对象(例如用户、组、计算机、共享资源、打印机和联系人等)。
如果将企业的内网看成一本字典,那么内网里的资源就是字典的内容,活动目录就相当于字典的索引。也就是说,活动目录存储的是网络中所有资源的快捷方式,用户可以通过寻找快捷方式来定位资源。
活动目录的逻辑结构包括前面讲过的组织单元(OU)、域、域树、域森林。域树内的所有域共享一个活动目录,这个活动目录内的数据分散存储在各个域中,且每个域只存储该域内的数据

提供的功能:

  • 账号集中管理
  • 软件集中管理,统一推送软件,安装网络打印机
  • 环境集中管理,统一客户端桌面,IE、TCP/IP协议等设置
  • 增强安全性,统一部署杀毒软件和扫描任务,集中管理用户计算机权限、可以监控网络,对资料进行统一管理
  • 更可靠、更短的宕机时间
    活动目录是微软提供的统一管理基础平台,ISA、Exchange、SMS 等都依赖这个平台

4 活动目录与域控的区别

如果网络规模较大,就要把网络中的众多对象,例如计算机、用户、用户组、打印机、共享文件等,分门别类、井然有序地放在一个大仓库中,并将检索信息整理好,以便查找、管理和使用这些对象(资源)。这个拥有层次结构的数据库,就是活动目录数据库,简称AD 库
要实现域环境,其实就是要安装AD,如果内网中一台计算机安装了AD,那么他就变成了DC

5 安全域的划分

划分安全域的目的是将一组安全等级相同的计算机划入同一个网段。这个网段内的计算机拥有相同的网络边界,并在网络边界上通过部署防火墙实现对其他安全域的网络访问控制策略
image.png
可以将网络划分为三个区域,安全级别最高的内网,安全级别中等的DMZ,安全级别最低的外网

  • DMZ成为隔离区, 是非安全系统与安全系统之间的缓冲区,一般位于企业内部网络和外部网络之间,可以放置一些公开的服务器设施,例如Web服务器
    • 内网可以访问外网
    • 内网可以访问DMZ
    • 外网不能访问内网
    • 外网可以访问DMZ
    • DMZ不能访问内网
    • DMZ不能访问外网
  • 内网又可以分外办公区和核心区
    • 办公区,安装入侵检测系统,办公区能访问DMZ,部分IP能访问核心数据区
    • 核心区,存储企业最主要的数据、文档等信息资产,通过安全审计、日志记录等安全措施进行严密保护

6 域中计算机分类

  • 域控制器
  • 成员服务器——安装了服务器操作系统并加入域,但是没有安装AD
  • 客户机—安装了其他操作系统的计算机,利用这些计算机和域中的账户就可以登录域
  • 独立服务器—跟域没有关系

7 域内权限

包括域本地组、全局组、通用组

可以这样简单地记忆:域本地组来自全林,作用于本域;全局组来自本域,作用于全林;通用组来自全林,作用于全林

通过向一组用户分配权限,就可以不必向每个用户分配权限

1 域本地组

多域用户访问单域资源(访问同一个域),可以从任何域添加用户账号、通用组和全局组,但只能在其所在域内指派权限。域本地组不能嵌套在其他组中。域本地组主要用于授予本域内资源的访问权限

2 全局组

单域用户访问多域资源(必须是同一个域中的用户),只能在创建该全局组的域中添加用户和全局组。可以在域森林的任何域内指派权限。全局组可以嵌套在其他组中

全局组和域本地组的关系,与域用户账号和本地账号的关系相似。域用户账号可以在全局使用,即在本域和其他关系的其他域中都可以使用,而本地账号只能在本机中使用

例如,将用户张三(域账号为Z3)添加到域本地组Administrators 中,并不能使Z3对非DC 的域成员计算机拥有任何特权,但若将Z3添加到全局组DomainAdmins 中,用户张三就成为域管理员了(可以在全局使用,对域成员计算机拥有特权)

3 通用组

通用组的成员来自域森林中任何域的用户账号、全局组和其他通用组,可以在该域森林的任何域中指派权限,可以嵌套在其他组中,非常适合在域森林内的跨域访问中使用

4 A-G-DL-P 策略

A-G-DL-P 策略是指将用户账号添加到全局组中,将全局组添加到域本地组中,然后为域本地组分配资源权限

  • A 表示用户账号(Account)

  • G 表示全局组(Global Group)

  • U 表示通用组(Universal Group)

  • DL 表示域本地组(Domain Local Group)

  • P 表示资源权限(Permission,许可)
    比较重要的域本地组权限

  • 管理员组,可以不受限制的存储计算机/域资源

  • 远程登录组,具有远程登录权限

  • 打印机操作员组

  • 账号操作组,管理该域的用户和组并为其设置权限

  • 服务器操作员组,可以管理域服务器,其权限包括建立、管理、删除任意服务器共享目录,管理网络打印机,备份任何服务器的文件,关闭DC等

  • 备份操作员组。执行备份和还原操作,可以关闭DC

几个重要的全局组、通用组的权限

  • 域管理员组(Domain Admins),成员在所有加入域的服务器(工作站)、域控制器和活动目录中均默认拥有完整的管理员权限
  • 企业系统管理员组(Enterprise Admins),是域森林根域中的一个组。该组在域森林中的每个域内都是Administrators 组的成员,因此对所有域控制器都有完全访问权。
  • 架构管理员组(Schema Admins)是域森林根域中的一个组,可以修改活动目录和域森林的模式。该组是为活动目录和域控制器提供完整权限的域用户组,因此,该组成员的资格是非常重要的。
  • 域用户组(Domain Users),所有的域成员。在默认情况下,任何由我们建立的用户账号都属于Domain Users 组,而任何由我们建立的计算机账号都属于Domain Computers 组

0x02 常用工具

1 Kali

WCE

WCE(Windows 凭据管理器)是安全人员广泛使用的一种安全工具。常用于列出登录会话,以及添加、修改、列出和删除关联凭据(例如LMHash、NTLM Hash、明文密码和Kerberos 票据)

minikatz

minikatz 用于从内存中获取明文密码、现金票据和密钥等

Responder

Responder 不仅用于嗅探网络内所有的LLMNR 包和获取各主机的信息,还提供了多种渗透测试环境和场景,包括HTTP/HTTPS、SMB、SQLServer、FTP、IMAP、POP3等。

BeEF

XSS 漏洞

DSHashes

DSHashes的作用是从NTDSXtract 中提取用户易于理解的散列值

Nishang

Nishang 是一款针对PowerShell 的渗透测试工具,集成了框架、脚本(包括下载和执行、键盘记录、DNS、延时命令等脚本)和各种Payload,被广泛应用于渗透测试的各个阶段

Empire

Empire是一款内网渗透测试利器,其跨平台特性类似于Metasploit,有丰富的模块和接口,用户可自行添加模块和功能。

smbexec

smbexec是一个使用Samba 工具的快速PsExec 类工具。
PsExec 的执行原理是:先通过ipc$ 进行连接,再将psexesvc.exe 释放到目标机器中。通过服务管理(SCManager)远程创建psexecsvc 服务并启动服务。客户端连接负责执行命令,服务端负责启动相应的程序并回显数据。

Cobalt Strike

Cobalt Strike是一款优秀的后渗透测试平台,功能强大,适合团队间协同工作。Cobalt Strike主要用于进行内网渗透测试

2 Windows

NMAP、Wireshark、sqlmap

Hydra

Hydra 是一个网络登录破解工具

Getif

Getif是一个基于Windows 的免费图形界面工具,用于收集SNMP 设备的信息
3 Windows Powershell