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 | strings s |
添加PATH
1 | cd /tmp |
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靶机