安全学习笔记:Goldeneye靶机记录 基本信息收集与分析

50 阅读7分钟

Author:FrancesBeatrice 2026.1 参照Mapsec大佬的视频跟做的,十分感谢大佬的指导。 第一次写这样的,刚刚开始入坑Web攻防,请大家有意见提出。

最终目的:收集信息,获得管理员账号密码进行反弹Shell,根据信息搜索提权CVE,传入靶机运行获取Flag

本次靶机的漏洞原因以及破解、修复对策:

POP3

账号密码直接在网络中明文传输,认证简单,并且抓包就能看到密码,本靶机中没有其他防护。 攻击方法:Hydra 不需要“解密”,它只是模拟合法客户端反复试密码。我们固定的账号,剩下的工作就是遍历弱密码字典反复试密码。 该方法在本靶机非常有效,在这里知道邮箱号就能得到密码,使部分流程简化了找邮箱号。 修复对策:强制使用 POP3S(端口 995) 加密传输,防止中间人窃听。同时部署 fail2ban 防爆破,使其监控 POP3 日志,自动封禁多次失败的 IP。

Moodle 2.2.3 存在已知的 CVE-2013-3630 远程代码执行漏洞

该版本 Moodle 在调用拼写检查时未对输入进行安全过滤,调用外部Shell命令,导致命令直接在服务器执行,从而实现远程代码执行。 攻击方法:直接搜索msfconsole模块,选用moodle_spelling_binary_rce 模块进行RCE攻击。 修复对策:Spell engine禁用PSpellShell。

Linux CVE-2015-1328 提权漏洞

源于OverlayFS 在创建上层副本时,未正确重置 setuid/setgid 位和文件能力,导致普通用户可继承特权文件的权限。 攻击方法:下载提权CVE-2015-1328,反弹Shell传入,编译运行攻击。 修复对策:禁用 OverlayFS或者限制挂载权限。

由该靶场可知,我们攻击者要训练的意识:

要足够敏锐, 1遇到网页要看源代码。 2看到图片要扫String。 3进入页面看指纹看到CMS、版本相关的要记下来查漏洞。 4看到看不懂的一串代码要考虑解密编码。 5记住任何名词,提示会在里面,试的时候统一小写。

靶场过程:

首先我们得让kali连到靶机,找到靶机的IP和Port让Kali能够互动。

IP

我们能看到靶机的MAC,我们知道网段内MAC和IP是绑定的,启动后通过MAC找到靶机的IP, 使用netdiscover进行搜索。

sudo su # 需要管理员权限
netdiscover -r 10.0.0.0/24

Pasted image 20260120145953.png 扫出网段内的IP,发现靶机的MAC对应10.0.0.139,锁定IP

PORT

使用nmap扫描刚刚获得的IP

nmap -p- 10.0.0.139

Pasted image 20260120151109.png 可以看到有四个端口

那怎么判断哪个端口才是我们要的呢?

可以看到80是http服务,浏览器直接访问

Pasted image 20260120151526.png 可以看到,有用的信息只有/sev-home/可以登录

开始常规渗透,开始搜集

但这是网页,可以看源代码。 此页和登录页都看

Pasted image 20260120151907.png css文件和js文件都看,有什么看什么

Pasted image 20260120151935.png 在JS文件中发现了惊喜,发现两个名字Natalya和Boris还有一串看不懂的东西(这个人说是Boris的密码):InvincibleHack3r

从文字内容中可看出这两个名字都是在这个网站上有密码 问ai得知是Html编码,解码得到InvincibleHack3r,并且指向Boris

我们尝试登录,账号名:Boris,boris,Natalya,natalya 都试试,密码:InvincibleHack3r

可以知道对应账号boris

成功登入最初的网页

Pasted image 20260120153045.png

前面是一段很中二的情景导入,但后面提到了当Adminstrator需要搞定他们搞的pop3服务,还是高端口的。 那我们要当管理员,应该就按他们说的去搞 刚刚我们扫到了55006和55007两个大端口

那怎么搞定pop3呢?

遇到问题就直接搜索 经过查询可知Hydra暴力破解是一个好方法,所以我们可以尝试

echo -e 'natalya\nboris\nBoris\nNatalya' > key.txt  先写一个账号本
hydra -L key.txt -P /usr/share/wordlists/fasttrack.txt 10.0.0.139 -s 55007 pop3 -vV //-L文本 -l 是用户名 - p密码 -vV 会显示每一条线程前面是账号本,后面是密码本

55007和55006都试试 爆出来了账号密码 用户:boris 密码:secret1! 用户:natalya 密码:bird 看来这是个稳定的方案,以后见到邮箱名都可以爆破找密码!!!

登录看邮件

POP3是邮件协议,知道账号密码便可以登录看邮件

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

依然是注意名词和长串,可以看到两者邮件中都出现了 xenia 甚至还有密码 password: RCP90rulez! severnaya-station.com/gnocertdi

有域名应该怎么访问呢

vi /etc/hosts 
 在ipv4部分添加,把域名定向到ip
10.0.0.139 severnaya-station.com

Pasted image 20260121012930.png

进入网站,观测到CMS版本

从页面能够直接看到系统以及版本,后续可以搜索与之相关的漏洞库,进行攻击 登录账号,搜刮信息,搜到一封邮件

Pasted image 20260121013359.png 里面出现了一个邮件名,doak,应该可以pop3 hydra搜刮密码

Pasted image 20260121015910.png

Pasted image 20260121013637.png 尝试后得到密码goat 登录搜刮

Pasted image 20260121014304.png

得到账号密码,直接叫登网站了,登上继续搜,发现右侧有文件

Pasted image 20260121014357.png

分析文件和图片

下载得到图片

Pasted image 20260121015255.png 里面提到了admin的凭证,并且直接说这个jpg图片里有东西了 还有RCP-90,现实中是一种突击步枪,在《007》电影《杀人执照》中由邦德使用,是标志性武器。但在这里也不知道是什么,先记下来。看来搞安全还得多看电影。

Pasted image 20260121014738.png

Pasted image 20260121014655.png

复制进URL下载图片,用strings分析字符串或者直接打开图片看

可以发现这一段神秘字符,看见后面两个等号估计是base64,ai也说确实是

Pasted image 20260121014828.png

至此得到了账号和密码

最后的搜刮

得到网站的后台,我们自然是要拿到Webshell。 由网页内容可知其使用的是Moodle的CMS,所以可以直接搜索版本漏洞进行攻击。 --该图是搜索模块搜出来的列表,我们用序号为1的那个模块。

Pasted image 20260121020526.png


msfconsole 使用msf攻击
search moodle 搜索攻击模块
use 1 使用第一个

然后show options,set相关信息。 --该图为设置信息

Pasted image 20260121020624.png 此外还需调整网站的spell引擎为PSpellshell,CMS通过外部Shell命令来调用检查,使攻击者能控制拼写检查的词典路径或输入内容,就可能注入任意命令。便于该模块攻击。

Pasted image 20260121021007.png

直接run,运行开始攻击

攻入后想办法提权,怎么提权呢?

攻入后会发现命令行不太好用,不好输入命令,而且sudo等指令会检测自己是不是在正常的命令行工作,否则他们不会工作。 于是我们引入Python创建伪终端来优化流程。

Pasted image 20260121021929.png

输入id可以看到我们现在拿到了www-data权限,已拥有本地Shell。

使用uname -a获取系统信息,方便我们查找漏洞。 我们得知Ubuntu版本,直接搜索ubuntu 3.13,选择得到提权CVE-2015-1328,直接复制下来,传给靶机运行就告破了。

但是我们还得考虑靶机能不能编译运行

进入tmp文件夹方便提权,暂时文件也不容易被发现。

Pasted image 20260121022847.png 发现只有cc,那就需要去修改CVE使其能够被cc编译

传入CVE,得到提权

在 Kali 上启动 HTTP 服务(如 python3 -m http.server 8000)。 在靶机用 wget从 Kali 下载 exp 源码。

Pasted image 20260121023132.png

编译成exp

Pasted image 20260121023454.png

给exp脚本执行权限(这里写错了,但还是能用)

Pasted image 20260121023838.png

列出文件和隐藏文件以及详细信息

Pasted image 20260121023934.png

可以看到我们exp可执行,都是rwx。 直接执行


./exp

提权成功

直接看id,看看是不是root了,是就直接进root文件夹看Flag

Pasted image 20260121024319.png 成功得到Flag,靶场攻破!!!!

Pasted image 20260121024434.png