前言
渗透靶场打了十来个了,是时候做一个总结了,总结一下学到的一些渗透知识
入口打点
首先就是fscan等等的扫描器,扫描一下功能点、有无漏洞点
一般有猫腻的端口就是以下几种
|
|
一些扫描也可扫到一些漏洞点,直接打就可以
web漏洞点的话就不多说了,一些网站的配置文件里可能会写数据库的密码
数据库的话一般都是弱口令,连接远程下载木马后门上线,数据库连接后可以看看里面有没有什么用户密码之类的
RDP也是一些弱口令把,有些有时候可以直接爆破连接上,不过RDP弱口令一般不会出现在入口机
免杀上线
可以执行命令之后就可以考虑上线cs或者msf了,上线对后续渗透有很大帮助
但是都需要传文件才能运行,所以通过命令下载文件就至关重要了
|
|
cs操作就不多说了,免杀的话可以生成后门的时候生成 .c文件,然后通过免杀软件进行免杀
我用的是掩日的网络免杀,可以绕过defener、360等等简单的杀软
生成后用法
|
|
这里要注意1.txt放的ip是需要靶机能够访问到的,一般外网就是访问你自己的vps,内网就是访问你的外网
当然还要开启http服务,如果又网络服务的话直接用就行,比如我要上线内网B,然后外网A有个phpstudy,那直接用外网a的网络服务,让内网b下载就行了
msf生成的exe我倒是还没免杀过,一个是cyber这个靶场的linux系统比较少,一个是linux系统也没有defender
提权思路
通过cve拿到的shell一般权限都不高,这个时候就需要提权了
一般windows提权,很多都是土豆家族就可以解决的,比如甜土豆烂土豆,土豆提权解决不了的话,再利用一些检测漏洞的工具检查一下有没有其他漏洞,然后再打
可以用whoami /priv来检查是否可以用土豆提权
whoami /priv用于显示当前用户的安全特权信息
若开启了身份验证后模拟客户端已启用也就是SelmpersonatePrivilege就可以用土豆提权
若是linux,可以先用
|
|
找到了的话可以通过下面的链接来查找使用方法
|
|
内网连接
拿下入口的shell之后,就要开始进行内网连接了,这里首推stowaway
不仅可以多级代理,还能正反向连接
|
|
连接上了之后可以开启socks代理
|
|
之后通过socks代理连接就可以进入内网了,可以用proxifier这个一般是给蚁剑等等exe利用的,或者用proxychains这个是给一些终端利用的
如果代理有问题,stowaway也可以进行端口转发
|
|
内网横向
内网横向是渗透的重点
搞完内网连接之后继续用fscan进行扫描寻找下一个可以攻击的点
这个时候可以着重注意一下内网主机开放的端口,因为这些开放的服务往往就决定了进攻的方式
比如开启了3389,就要往RDP这方面去靠,去找找前面打的机子有没有数据库啊、rdp登录凭证啊什么的
端口是一方面
有时候前面主机的用户桌面上也会有一些记录、甚至是xshell等连接用的工具
域控打法
域外
域外到域内就是域内用户爆破和一些CVE,比如zerologon
域内
域内可以打的就多了,可以先在域内机中找找有没有RDP的凭证啥的
之后可以用ADfind分析一下,可以打的还蛮多:AD-CS、约束性委派、非约束性委派
一些常见命令
|
|
windows远程下载
|
|
添加杀软白名单
|
|
检查Windows自动登录配置
|
|
RDP开启
|
|
土豆提权版RDP
|
|
CS上线版
|
|
免杀检测
|
|
mimikatz获取凭证

前置知识点:
TGT
Kerberos
知识点
PTH
哈希传递攻击(Pass-the-Hash,简称 PTH)是内网渗透和横向移动中非常经典且核心的技术。它的核心思想是:攻击者不需要获得明文密码,只需要获得用户的 NTLM Hash,就可以通过该 Hash 冒充用户身份进行身份验证,从而访问网络资源。
在渗透靶场中,一般都是最后一步,拿下域控管理员的NTLM哈希之后,通过PTH拿下同一域中其他所有的shell
示例(Impacket包中):
|
|
SPN
SPN (Service Principal Name Kerberos ) 是 Kerberos 身份验证系统中用于唯一标识服务实例的标识符。
在有低权限用户的账号和密码的情况下,可以通过获取SPN,再对SPN进行哈希爆破(hashcat),从而获取能够RDP登录的用户/密码
通过impacket的GetUserSPNs可以获取SPN
|
|
哈希爆破
|
|
-m 13100 (命令 1)
- 协议/类型: Kerberos 5, TGS-REP etype 23
- 攻击名称: Kerberoasting
- 目标: 此攻击针对的是服务账户(Service Accounts)。
- 原理: 攻击者请求一个服务票据(TGS),AD 会返回一个用该服务账户密码哈希加密的票据。攻击者离线破解这个票据来获取服务账户的明文密码。
IPS
Dcsync
DCSync 允许攻击者模拟一个域控制器(DC),向真实的域控制器发出数据同步请求,从而获取域内任意用户的凭据(包括 NTLM 哈希、AES 密钥、密码历史记录等),而无需直接登录到域控制器本身。
在你的靶机是域管理员权限,并且拥有该靶机的本地管理员权限时,可以通过Dcsybc获取域内 Administrator 的哈希
|
|
有了域内域内 Administrator 的哈希,就可以通过PTH登录域内任意主机
Zerologon
CVE-2020-1472,是一个最高危的漏洞,漏洞效果如下:未经身份验证的攻击者可以将域控制器机器账户(例如 DC01$)的密码重置为空
置空之后就可以导出域内 Administrator 的哈希,也就可以打PTH了
具体操作如下:
|
|
AS-REP-Roasting
一种针对 Kerberos 协议的攻击技术,主要针对域内配置不当的用户账户。它的门槛极低,甚至不需要拿到任何域用户的权限(只要你知道受害者的用户名),就可以离线破解其密码。
在数据库中获取到大量用户名时可以考虑用impacket的GetNPUsers.py对没开启域身份证明的读取哈希
|
|
然后对读出来的哈希做哈希爆破(rockyou是个爆破字典)
|
|
-m 18200 (命令 2)
- 协议/类型: Kerberos 5, AS-REP etype 23
- 攻击名称: AS-REP Roasting
- 目标: 此攻击针对的是设置了**“Do not require Kerberos preauthentication”**(不需要 Kerberos 预认证)的用户账户。
- 原理: 攻击者向域控请求认证(AS-REQ),如果目标用户不需要预认证,域控会直接返回一个用该用户密码哈希加密的 TGT 部分(AS-REP)。攻击者离线破解它来获取用户密码。
AD-CS
AD CS 是微软提供的公钥基础设施(PKI)实现。它允许组织在 Active Directory 环境中颁发和管理数字证书。
如果攻击者获得了一个用于“客户端身份验证”的有效证书,Active Directory 就会把这个证书等同于用户的密码或 Kerberos Ticket。也就是说,你可以申请一个域控管理员的证书,然后通过这个证书获取域控管理员的哈希
在你拥有一个域内账号/密码时,可以尝试进行攻击的一个漏洞
存在ESC1~8时八种不一样的漏洞,但是都是可以获取证书的
DPAPI凭据解密
DPAPI(Data Protection Application Programming Interface)是Windows操作系统提供的一套数据保护API,从Windows 2000开始引入。它为应用程序提供了简单的加密/解密接口,开发者无需自行管理密钥。
比如浏览器的是否保存密码,就会产生这种凭据,还有RDP登录时,选择记住凭据后就会有这种凭据
首先要找到凭据的位置
|
|
然后用mimikatz的dpapi模块分析一下,从而获取guidMasterKey
|
|
那么接下来就是从LSASS进程内存中导出所有MasterKey
|
|
找到对应的MasterKey后就可以开始解密了
|
|
约束性委派
委派(Delegation)是 Active Directory 中的一种信任机制,允许服务账户代表用户访问其他服务。
|
|
| 类型 | 引入版本 | 安全性 |
|---|---|---|
| 非约束性委派 (Unconstrained Delegation) | Windows 2000 | 最低 |
| 约束性委派 (Constrained Delegation) | Windows 2003 | 中等 |
| 基于资源的约束性委派 (RBCD) | Windows 2012 | 较高 |
非约束性委派是最早引入的委派方式(Windows 2000 开始)。
核心特征: 被配置了非约束性委派的服务账户,可以模拟任何用户访问任何服务。
一般是配合Printer Bug(打印机漏洞)获取域控TGT