Moonraker靶机渗透测试

栏目: Node.js · 发布时间: 5年前

内容简介:近日闲的无聊就找了个靶机玩玩,技术太菜,第一次写这个渗透测试,写的不好还请多多指教。Moonraker靶机下载地址:

Moonraker靶机渗透测试

前言

近日闲的无聊就找了个靶机玩玩,技术太菜,第一次写这个渗透测试,写的不好还请多多指教。

靶机搭建与下载

Moonraker靶机下载地址: https://pan.baidu.com/s/1Hb8NgDjJiFuygeDrAaWVOA 提取码: 22ja

Monraker靶机ip: 192.168.56.150

kali攻击者ip : 192.168.56.1

说明: 获取目标主机的root权限并读取目录中的flag.txt文件

知识点

nmap

dirb

Burp修改Cookies

CouchDB登录凭证

Fauxton web页面的登录

apache2日志的访问

Node.js反序列化漏洞利用

shell的交互

john hash破解

开始测试

首先第一步对目标靶机网络端口扫描的信息收集

nmap -sV -p- -A 192.168.56.150

Moonraker靶机渗透测试

扫描之后发现目标开放了22(ssh),80(http),3000(http),4369(epmd),5984(couchDb)等端口。目标开放了http端口,用web浏览器打开查看

Moonraker靶机渗透测试

打开页面是一个视频文件,放完之后跳到另一个页面。

Moonraker靶机渗透测试

然后查看了页面的源代码没有什么发现可用信息,于是使用dirb去枚举目标主机的访问目录

dirb http://192.168.56.150

Moonraker靶机渗透测试

看见一个robots.txt觉得会有些重要信息,结果一访问什么都没有。在访问services目录中看见了一个链接,其实这个也可以在上面那个页面进去也行,主要dirb没扫出更多敏感词。

Moonraker靶机渗透测试

Moonraker靶机渗透测试

打开访问,如图所示,一个基于网络服务的查询

Moonraker靶机渗透测试

试了一下用带图片标记去查询表单

Moonraker靶机渗透测试

点击提交后显示了查询的信息

Moonraker靶机渗透测试

这个点在这我卡了很久,然后是要查看apache2服务的访问日志

使用命令查看日志

tail -f /var/log/apache2/access.log

Moonraker靶机渗透测试

在日志中发现了新的页面,在浏览器打开,但是有一个back的链接,点击看看会带我们去什么页面

Moonraker靶机渗透测试

引导进入新的页面

Moonraker靶机渗透测试

在新的页面里有两个链接里发现了一些重要信息

Moonraker靶机渗透测试

打开CouchDB Notes在这个页面得到了关于用户的账号密码提示,这个对我们来说是很重要的。

账号密码提示

username: jaws

password: 女朋友名字+x99的组合

Moonraker靶机渗透测试

我哪知道他女朋友是谁呀,只有百度或者谷歌jaws的女朋友是谁咯。

Moonraker靶机渗透测试

然后根据提示信息,接下来就应该要查看couchdb这个了,这个怎么打开呢,我们在扫描端口时是开放了一个5984端口就是用来访问这个的,于是打开浏览器访问

Moonraker靶机渗透测试

发现不对劲,加端口不能直接访问,于是在请求一下度娘

Moonraker靶机渗透测试

再次访问

http://192.168.56.150:5984/_utils

Moonraker靶机渗透测试

使用jaws账号密码登录

username: jaws

password: dollyx99

登录成功,发现3个数据库中的文档,其他两个打开说不是admin

Moonraker靶机渗透测试

Moonraker靶机渗透测试

在links里发现写信息,访问提示的目录

Moonraker靶机渗透测试

Moonraker靶机渗透测试

Moonraker靶机渗透测试

Moonraker靶机渗透测试

其中在HR这个目录发现了重要的信息

Moonraker靶机渗透测试

访问这个5界面可以得到4个账号和密码

Moonraker靶机渗透测试

我也尝试了这些账号密码去ssh爆破,都无果,难道这些账号是用来混淆的?

其中hugo这个账号正是我们想要的,因为我们在这个页面发现是有node.js反序列化漏洞的

Moonraker靶机渗透测试

接下来就访问Node.js这个框架.

http://192.168.56.150:3000

username: hugo

password: TempleLasersL2K

Moonraker靶机渗透测试

登录成功后,显示一条信息。

Moonraker靶机渗透测试

然后就想着访问这个目录,发现访问不了,还以为要get,post请求然而都不是。最后F12看了下,发现了Cookies中的秘密(为什么会一开始不会看这个呢,就是因为node.js反序列化这个漏洞还不知道.手动滑稽)

Moonraker靶机渗透测试

接下来使用burp抓包,注意要抓登录的包,然后先发送到repeater,g根据右边setCookies提示设置

Moonraker靶机渗透测试

开始利用,因为这个应用程序中的漏洞是它从HTTP请求中读取名为profile的cookie,对cookie值执行base64解码,并将其传递给unserialize()函数.由于cookie是不受信任的输入,攻击者可以制作恶意Cookie值从而来以利用此漏洞.

参考 Node.js反序列化漏洞利用

使用 nodejsshell.py 用来生成反向 shell 的payload

Moonraker靶机渗透测试

再次生成反序列化的 payload

Moonraker靶机渗透测试

进行 Base64 编码后,然后在 Cookie 头中加入 Payload,向服务器发送请求.

Moonraker靶机渗透测试

在向服务器发送之前首先启动监听端口,与生成的payload端口一致,然后就会成功反弹.

nc -lvp 1337

Moonraker靶机渗透测试

为了方便shell,使用 python 进行shell交互

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

Moonraker靶机渗透测试

找了许会,没发现有什么重要目录,最后再/var/mail中找到了四个邮箱,但是访问说提示没有权限,看来是找对了,接下来就得找找信息了或者怎么提权了。

Moonraker靶机渗透测试

在了解CouchDB的配置后,会发现默认的安装目录为/opt/couchdb目录下,所以读取他的配置文件看看成功得到密码.

tail /opt/couchdb/etc/local.ini

username: hugo

password: 321Blast0ff!!

Moonraker靶机渗透测试

切换用户已hugo身份登录,并读取hugo文件

Moonraker靶机渗透测试

信息中提到包括root的密码,又告诉我们在root密码后面+VR00M,和一段hash值,复制到文件进行hash破解

Moonraker靶机渗透测试

利用john工具爆破

username: root

password: cyber

Moonraker靶机渗透测试

然后再次以root身份登录在后面加VR00M,找到flag.txt并读取

Moonraker靶机渗透测试

看到最后提示一个目录访问

Moonraker靶机渗透测试

Moonraker靶机渗透测试

看来是结束了,作为单身狗的我又被成功的虐了一次.

jaws和dolly最后幸福的在一起了.

总结

一开始做这个靶机时经常掉坑,还是花了几天时间才做出来的,太菜了,留下了没技术的眼泪,最大的坑就是在node.js修改cookies迟迟搞不定。不过收获还是挺大的,学到了很多的知识,以后还得多多训练训练,还请大佬们多多指教.


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java多线程编程实战指南(设计模式篇)

Java多线程编程实战指南(设计模式篇)

黄文海 / 电子工业出版社 / 2015-10 / 59.00

随着CPU 多核时代的到来,多线程编程在充分利用计算资源、提高软件服务质量方面扮演了越来越重要的角色。而 解决多线程编程中频繁出现的普遍问题可以借鉴设计模式所提供的现成解决方案。然而,多线程编程相关的设计模式书籍多采用C++作为描述语言,且书中所举的例子多与应用开发人员的实际工作相去甚远。《Java多线程编程实战指南(设计模式篇)》采用Java(JDK1.6)语言和UML 为描述语言,并结合作者多......一起来看看 《Java多线程编程实战指南(设计模式篇)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具