'VulnHub Billu b0x2 Walkthrough'

1. Goal

Machine Name: - Billu_b0x 2

Author Name: - Manish Kishan Tanwar (@indishell1046)

This Virtual machine is using ubuntu (32 bit)

Other packages used: -

PHP Apache MySQL Apache tomcat

This virtual machine is having intermediate to medium difficulty level. One need to break into VM using web application and from there escalate privileges to gain root access. Gaining low or root privilege shell can be done in two ways (for both)

获取低权限和root权限都有两种方法

2. Web

Nmap

在Nmap扫描结果里可以看到比较重要的2个端口:80和8080

80端口的页面是使用drupal 8搭建的

exploit db上搜索drupal 8

看到了Metasploit上的EXP,打开Metasploit

exploit

成功获得shell

不过作者说有2种方法获得低级shell

3. 渗透

方法1

修改/etc/passwd

在查看文件时,发现/etc/passwd的权限是777

即使是www-data也有操作权限
而且由于/etc/passwd的优先级高于/etc/shadow所以可以修改/etc/passwd文件获取root权限

直接使用vim修改,因为shell的原因无法修改,所以选择上传一个新的passwd文件上去

使用python搭建服务器,下载/etc/passwd,也可以cat/etc/passwd复制内容到本地进行修改

在修改前,需要生成密码,在靶机中使用openssl生成密码

1
openssl passwd -1 'chessur'

生成密码后,将root的x替换为密码,或修改indishell用户的密码,并将UID和GID改为0:0拥有root权限

将修改好的passwd文件,先传到Kali的目录中,如/tmp

在meterpreter中上传passwd即可

切换root用户

方法2

使用高权限操作提权

寻找带有高权限的文件

1
find / -perm -u=s -type f 2>/dev/null

查看文件

1
2
strings s
//strings 打印文件中可打印的字符

添加PATH

1
2
3
4
5
cd /tmp
echo '/bin/bash' > /tmp/scp
export PATH=/tmp:$PATH
cd /opt
./s

4. 总结

1./etc/passwd/etc/shadow的优先级
如果passwd可写,可以把root的密码字段(x)替换成一个已知密码的hash(比如本机shadow里面的root密码hash),这样系统在验证密码时以passwd的为准,密码就已知了。如果shadow可读,我们可以读走root的hash,然后用hashcat或者john暴力破解之。
2.使用xshell连接kali获得shell无法退格,而在kali虚拟机中获得shell可以退格
3.msf upload
4.修改PATH提权:
Linux Privilege Escalation Using PATH Variable
翻译:在Linux中使用环境变量进行提权
Exploiting SUID Executables
5.反弹Shell:
Reverse Shell Cheat Sheet
6.提权前信息收集:
Basic Linux Privilege Escalation
7.提权:
Linux提权:从入门到放弃

5. 参考

[1] 渗透Billu b0x2靶机

[2] Hack the billu: b0x 2 VM (Boot to Root)