Vulnstack红日靶场(2)
环境搭建
外网打点
ms17-010
先对192.168.139.80
ip进行信息收集
端口扫描:
1 |
|
扫描结果如下,注意到开放了80,3389,7001这些端口
照例拿nmap先粗跑一下
1 |
|
扫到了ms17-010,可能存在永恒之蓝利用
msf开启进行尝试(其实这里并不建议直接从永恒之蓝开始,永恒之蓝存在把目标主机打宕机的风险,因此最好在最后进行)
1 |
|
1 |
|
ms17-010并不是万无一失的,这回便攻击失败了,于是尝试其他切入口
weblogic
注意到开放了7001端口,这是Weblogic服务跑的端口,可能存在Weblogic反序列化漏洞,
拿scanner扫一下
1 |
|
是可以扫到比较多的可能存在漏洞的
使用DeserializeExploit.jar来直接跑exp,成功跑通
用另外一个工具上马会更便利一些,在不熟悉weblogic目录结构的情况下方便直接传马,上传冰蝎的初始马,不知道为什么使用加密后的jsp马全都没法连上(哭
上冰蝎连,这里我把默认密码修改过了,要是没做改动的话应该是rebeyond
冰蝎成功连上了,
生成一个CS反向马传上去,不过好像因为我的CS是4.9的,靶场内的360版本比较古早了,所以直接给原先的360绕过去了?并没有触发360的拦截
在冰蝎运行木马文件
成功上线CS,并且拿到的是管理员的权限,又省了一步提权了
内网渗透
信息收集
我是谁我在哪?
拿到了其中一台主机的权限后,先进行信息收集
ipconfig /all
先收集一波当前主机的网络情况,可以拿到内网ip:10.10.10.80,以及当前所在域名de1ay
除了我还有谁?
进行端口扫描一下,portscan一个很好的地方就在于它会将嗅探到的主机记录在目标列表中
最终拿到的结果,内网网段下存有三台主机,三台主机对应的开放端口如下
1 |
|
并且在target上能够看到这几台同网段下的主机
net view
收集域内的主机,一共有三台,DC,PC还有WEB,WEB是我们当前所在的主机
net view /domain
收集域的信息,一共存在一个DE1AY域,
既然只有一个域,那就进一步收集当前域下的其他信息
尝试net group "domain computers" /domain
来获取域主机,但是却出现如下情况
同样使用net group "domain controllers" /domain
也是出现上面的问题,
分析原因:可能是因为administrator用户并不在域内,尝试net time /domain
,结果不出所料也是出问题了,不过直接在虚拟机内打开cmd执行,发现可行,可行的用户身份是mssql
猜测就是Administrator不在域用户组里,我的weblogic服务是用管理员运行的,但是域用户实际上是mssql
去网上寻找原因似乎大家都没碰到这个问题,别人的Administrator是一开始就是域用户的,于是开始尝试自己解决
先跟着红日2的流程看看哪里有疏忽的地方,红日2的流程里有一项是Access Token的利用,在学习了一番之后,
Access Token伪造
令牌(token)是系统的临时秘钥,相当于账号和密码,用来决定是否允许这次请求和判断这次请求是属于哪一个用户的。它允许你在不提供密码或其他凭证的前提下,以令牌的身份来访问网络和系统资源
令牌有两种,一种是授权令牌(Delegation Token),这种令牌这种令牌通常用于支持交互式会话登录,例如本地用户直接登录计算机或者远程桌面登录访问,当用户通过交互式方式登录操作系统时,系统会为其创建一个授权令牌,其中包含了用户的身份信息以及所拥有的权限。这个令牌允许用户在系统中执行各种操作,包括访问文件、运行程序等,交互式登录的用户通常拥有较高的权限,可以执行各种系统操作,并且可以通过交互方式与系统进行交互。简单地说,这种令牌在登陆的过程中授予用户
另一种令牌是模拟令牌(Impersonation Token),当一个进程(通常是服务或应用程序)需要代表另一个用户或进程执行操作时,系统会为其创建一个模拟令牌。这个令牌允许进程在系统中以另一个用户的身份执行操作,而无需用户交互,模拟令牌通常用于服务进程执行后台任务,以及在系统中执行各种自动化操作,如访问网络共享文件夹、执行系统任务等,从作用上来看,我们需要的正是一张令牌,让我们的administrator以mssql的身份运行命令
因此如果能拿到mssql用户的access token就能成功伪造,我们就可以用mssql的身份去获取到域控对net user /domain
等命令的执行结果了,
AccessToken的窃取与利用需要administrator管理员权限,恰巧此时我们的bacon身份刚好是administrator,
CS给我们集成好了一个令牌窃取利用的工具
创建令牌,在这之前需要先用logonpasswords抓取一些用户信息如密码以及哈希等
成功后user会携带着你刚刚创建的令牌用户
并也成功拿到了Impersonation Token
再次查看域控,顺利得到域控主机名DC
这里通过CS伪造Access Token其实还有两种方法,进程注入和token窃取(都需要Administrator或system权限)
打开当前用户的进程列表,很容易就看到右侧user列有几种不同的用户,分别代表这些进程在以哪些用户的身份运行着
进程注入,选中一个进程,这个进程的用户身份是我们希望以某身份运行指令的身份,比如此处mssql可能是域成员,因此我们就需要将进程注入到dwm.exe中
成功在新的bacon中执行与域控的交互,并且可以注意到这里whoami得到的用户身份是mssql
另外一种方法是token窃取,这种方法需要system的权限而不只是administrator
可以先使用ms14-058提权为system身份
拿到system的bacon,然后选中要窃取的进程,选steal token
也是能够顺利执行和域控的联系了,注意到的是inject是新起了个会话,而steal token使用当前会话窃取进程,不会创建新的会话
恢复到system的身份只需要在bacon执行rev2self
即可
横向渗透
实战中拿到一台机子的权限后先不急着打DC,多看看其他的
直接上psexec打pth了
成功上线DC
权限维持
黄金票据
白银票据
补充部分
踩过的坑
最开始环境搭建好了之后在三台虚拟机上却都无法执行net view,提示发生系统错误 6118
是的,是三台主机上都无法执行,意思是这个域环境压根就没弄好(为什么大家的红日都能一帆风顺而我把坑都踩了个遍啊QAQ
解决方案:使用管理员权限运行cmd,然后输入services.msc
然后打开三个服务:Computer Browser、Server、Workstation。这里是我三台主机的Computer Browser全都是关着的状态所以会gg,打开就好了
https://blog.csdn.net/m0_53579570/article/details/117282644
computer server
access token
1 |
|
关于信息收集参考:https://www.freebuf.com/articles/network/318148.html
Vulnstack红日靶场(2)