一:内网渗透基础
内网也是指计算机网络中根据地理范围划分中的局域网(Local Area Network),即
内网等同于局域网
。内网渗透又叫做后渗透,区别于前渗透的WEB渗透,内网渗透是指从获取WEB服务器的shell之后到拿下内网全部主机的过程叫做内网渗透。
什么是计算机网络?
计算机网络是将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接,在网络操作系统,网络管理软件及网络通信协议管理和协调下,实现资源共享和信息传递的计算机系统。
1:工作组
工作组(Work Group):将不同的计算机按照功能或部门分别列入到不同的工作组中。
- 默认工作组:
WORKGROUP
- 加入工作组时,如果名称不存在就相当于新建了一个工作组
- 工作组没有集中管理的作用,在工作组里的所有计算机都是平等的没有服务器和客户机之分
2:域
需求:希望某台计算机的账户可以访问每台计算机的资源或者在每台计算机上进行登录!
域
:(Domain)是一个有安全边界的计算机集合。(安全边界:在两个域环境中一个域的用户无法访问另一个域中的资源)域
:与工作组相比,域的安全管理控制机制更加严格。域控制器
:(Domain Controller,DC)是域中的一台类似于管理服务器的计算机,类似于单位的门禁系统,负责所有连入的计算机和用户的验证工作。域控制器
:存在由这个域的账户.密码.属于这个域的计算机等信息构成的数据库–>活动目录
。域控制器
:是整个域的通信枢纽,所有的权限身份验证都在域控制器上进行;简单来说域内所有用来验证身份的账号和密码散列值都保存在域控制器当中–>活动目录
。
2.1域环境分类
单域
:一个有安全边界的计算机集合,单域内至少两台域服务器,一台作为DC另一台作为备份DC,活动目录的数据库(域用户/计算机/网络设备)是存储在AD中的,没有备份AD一旦瘫痪,域内其他用户就不能登录该域。父域子域
:第一个域称为父域,各分部的域称为该域名的子域。例1:把不同地点的分公司放在同一个域内,那么主机之间的信息交互花费时间就比较长,占用宽带就比较大。
例2:公司某部门希望使用特定的安全策略(账号密码策略),就可以将部门作为子域来单独管理。
域树
:多个域通过建立信任关系组成的集合。- 两个域之间相互访问,需要建立信任关系;
- 在一个域树种,父域可以包含多个子域;
- 一个.代表一个层次,放在最后的子域称之为一级域,前面的子域称之为二级域;
- 子域只能使用父域的名字作为其域名的后缀;
域森林
:多个域树通过建立信任关系组成的集合。域名服务器
:DNS(Domain Name Server)是指用于实现域名和IP地址解析的服务器,分为正向解析与反向解析。- 正向解析:域名–>IP地址
- 反向解析:IP地址–>域名
- 域内计算机使用DNS来定位域控制器/服务器/其他计算机,所以域名==>DNS域的名字
- 在内网渗透中,通过寻找DNS服务器来确定域控制器的位置:DNS服务器和域控制器通常配置在同一台机器上!!!
3:活动目录
Active Directory(AD)是指域环境中提供目录服务的组件,目录用于存储有关网络对象(用户/组/计算机/共享资源/打印机/联系人)的信息。
3.1活动目录功能
- 账号集中管理:所有账号存储在服务器中,以便执行命令和重置密码;
- 软件集中管理:统一推送软件(软件安装),安装网络打印机(硬件设备);
- 环境集中管理:统一客户端界面(统一桌面不知)/IE(安全性策略)/…等设置;
- 增强安全性:统一部署杀毒软件和病毒扫描任务/集中管理用户的计算机权限/统一制定用户密码策略等;
- 更可靠,更短的宕机时间:利用活动目录控制用户方位权限
- 活动目录是微软提供的统一管理平台,ISA/Exchange/SMS等都依赖这个平台
4:域控和活动目录区别
活动目录:
将计算机/用户/用户组/打印机/共享文件/等分别分类存放在数据库中,以便查找,管理和使用这些资源。那么拥有这个层次结构的数据库就是活动目录数据库,简称AD库。
域控:
安装了AD库就变成了域控(用于存储活动目录的数据库的计算机)。
5:安全域的划分
划分安全域的目的是将一组安全等级相同的计算机划入同一网段。
路由器连接的内网中可以划分三个区域:
1:安全级别最高的内网
2:安全级别中等的DMZ区域
3:安全级别最低的外网
三个区域负责完成不同的任务,因此需要设置不同的的网络访问策略,当有DMZ区域时我们应定义如下的访问控制策略,以实现屏障保护的功能:
- 内网可以访问外网:满足内网用户上网查阅资料办公的需求;
- 内网可以访问DMZ:是管理者可以管理DMZ区域当中的服务器设备;
- 外网不能访问内网:内网存储公司重要资料,可以使用VPN来访问;
- 外网可以访问DMZ:DMZ区域中的服务器对外界提供服务,需要由防火墙来完成对外地址到服务器实际地址的转换;
- DMZ不能访问内网:当服务器沦陷保护内网主机不受入侵;
- DMZ不能访问外网:限制入侵黑客的通信隧道,邮件服务器除外;
补充
内网分为
办公区
和核心区
进入内网的攻击手法:
鱼叉攻击;水坑攻击;社会工程学
6:域内计算机分类
工作组环境内计算机之间身份是平等的没有服务器和客户机之分,而在域环境下的网络中,则有
域控制器;成员服务器;客户机;独立服务器
之分。
- 域控制器:用于管理所有的网络访问,包括登录服务器,访问共享目录及资源
- 成员服务器:安全了服务器系统并加入了域,主要任务是提供服务
- 客户机:安装了个人系统的计算机并加入了域
- 独立服务器:能够对外提供服务但是没有加入域
7:域内权限
组是用户账号的集合,通过组可以更好的管理用的权限;域环境下有
本地组;全局组;通用组
。
组类型 | 主要作用 | 嵌套关系 |
---|---|---|
本地组 | 授予本地域内资源的访问权限 | 本地组不能嵌套在其他组中 |
全局组 | 实现单域用户访问多域资源 | 全局组可以嵌套在其他组中 |
通用组 | 实现域森林的跨域访问资源 | 通用组成员可以来自域森林中的任何域的用户/全局组和其他通用组 |
知识点:域本地组来自全林,作用于本域;全局组来自本域,作用于全林;通用组来自全林,作用于全林;
7.1A-G-DL-P策略
A-G-DL-P策略是指将用户账号添加到全局组中,将全局组添加到与本地组中,然后为域本地组分配资源权限;
- A:用户账号(Account)
- G:全局组(Global Group)
- U:通用组(Univresal Group)
- DL:域本地组(Domain Local Group)
- p:资源权限(permssion)
安装域控时,系统会自动生成一些组,为内置组;内置组定义了一些常用的权限–>Builtin和Users组织单元的组就是内置组;
- 内置的域本地组在
Builtin
组织单元中 - 内置的全局组和通用组在
Users
组织单元中
域本地组 | 权限 |
---|---|
administrators | 管理员组,成员可以不受限制的的存取计算机和域内的资源 |
Remote Desktop Users | 远程登录组,成员具有远程登录权限 |
Account Operators | 账号操作员组,创建和管理域内用户和组,不能更改administrators和Domain Admins组账户 |
Domain Admins | 域管理员组,成员在所有加入域的服务器/域控和AD中均默认拥有完整的管理员权限,用户称为域系统管理员可加入 |
Domain Users | 域用户组,默认是内置域的User组的成员 |
二:内网环境搭建
通常所说的内网渗透测试很大程度上就是域渗透测试
1:网络拓扑
操作系统 | 安装服务 | 计算机名 | IP地址 | DNS服务器地址 |
---|---|---|---|---|
Windows server 2012 R2 | AD/DC | DC | 192.168.1.1 | 192.168.1.1 |
Windows server 2008 R2 | 加入域 | WEB | 192.168.1.2 | 192.168.1.1 |
Windows 7 | 加入域 | WIN7 | 192.168.1.3 | 192.168.1.1 |
2:搭建步骤
Windows server 2012R2操作流程
更改IP地址–>更改计算机名–>安装域控和DNS服务–>升级服务器–>创建AD域–>创建用户
windows server 2008R2操作流程
更改IP地址与DNS服务器地址–>更改计算机名–>加入域
windows7操作流程
更改IP地址与DNS服务器地址–>更改计算机名–>加入域
>>>详细操作请看:域环境搭建<<<
三:其他环境搭建
搭建具有漏洞的环境,更好的模拟内网入侵的过程
漏洞靶场 | 环境描述 |
---|---|
Metasploit2 | 一个Ubuntu Linux的虚拟机,内置了常见的漏洞其默认的用户名和密码都是msfadmin; |
Metasploit3 | Metasploit3的升级版,默认密码还是msfadmin |
OWASPBWA | 一款基于虚拟机的渗透测试工具,提供一个存在大量漏洞的网站应用程序环境 |
DVWA | 显而易见这是个WEB漏洞靶场…. |
内网渗透靶场推荐:
四:内网渗透工具
掌握渗透测试的方法和思路
1:windows平台常用工具
工具名称 | 介绍描述 |
---|---|
Nmap | 免费的网络发现和安全审计工具,用于发现主机,端口扫描,识别服务,识别操作系统等 |
Wireshark | 免费开源的网络协议和数据包分析器,将网络接口设置为混杂模式能够监控整个网络的流量 |
PUTTY | 免费开源的SSH和Telnet客户端,主要用于远程访问 |
Sqlmap | 免费开源,主要用来对WEB应用程序进行SQL注入攻击测试,只是不同数据库 |
Burpsuite | (音译:boposwt)主要用于对WEB应用程序进行安全测试的集成平台 |
Hydra | 网络登录的破解工具,支持多种协议 |
Getif | 基于windows的免费图形界面工具,用于收集SNMP设备的信息 |
Cain&Able | 强有力的嗅探工具与密码破解 |
PowerSploit | 基于PowerShell的后渗透框架,包含很多PowerShell攻击脚本,主要用于信息侦查,权限提升,权限维持 |
Nishang | Powershell脚本和有效载荷的框架的集合 |
2:Kali Linux平台常用工具
工具名称 | 介绍描述 |
---|---|
WCE | Windows凭据管理器,列出登录会话,添加/修改/列出/删除关联凭据(LM HASH/NTML HASH/明文密码/Kerberos票据) |
Mimikatz | 用于从内存中获取明文密码,现金票据和秘钥等 |
Responder | 嗅探网络内所有LLMNR包和获取各主机的信息 |
Beff | 一款针对浏览器的渗透测试工具 |
DSHashes | 从NTDSXtract中提取用于易于理解的散列值 |
Powersploit | 基于PowerShell的后渗透框架,包含很多PowerShell攻击脚本,主要用于信息侦查,权限提升,权限维持 |
Nishang | 针对Powershell的渗透测试工具,集成了框架,脚本和各种payload |
Empire | 内网渗透利器,跨平台,有丰富的模块和接口,用于可自行添加模块和功能 |
ps_encoder.py | 使用base64编码封装的powershell命令包,目的是混淆和压缩代码 |
smbexec | 使用Samba工具的快速psexec类工具 |
Veil | 生成绕过常见的防病毒解决方案的Metasploit有效载荷 |
Metasploit | 漏洞攻击平台/5大框架:exploit/auxiliary/payload/post/encoder |
CobaltStrike | 优秀的后渗透测试平台,主要用于内网渗透适合团队间协同工作 |