内容简介:近日闲的无聊就找了个靶机玩玩,技术太菜,第一次写这个渗透测试,写的不好还请多多指教。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
扫描之后发现目标开放了22(ssh),80(http),3000(http),4369(epmd),5984(couchDb)等端口。目标开放了http端口,用web浏览器打开查看
打开页面是一个视频文件,放完之后跳到另一个页面。
然后查看了页面的源代码没有什么发现可用信息,于是使用dirb去枚举目标主机的访问目录
dirb http://192.168.56.150
看见一个robots.txt觉得会有些重要信息,结果一访问什么都没有。在访问services目录中看见了一个链接,其实这个也可以在上面那个页面进去也行,主要dirb没扫出更多敏感词。
打开访问,如图所示,一个基于网络服务的查询
试了一下用带图片标记去查询表单
点击提交后显示了查询的信息
这个点在这我卡了很久,然后是要查看apache2服务的访问日志
使用命令查看日志
tail -f /var/log/apache2/access.log
在日志中发现了新的页面,在浏览器打开,但是有一个back的链接,点击看看会带我们去什么页面
引导进入新的页面
在新的页面里有两个链接里发现了一些重要信息
打开CouchDB Notes在这个页面得到了关于用户的账号密码提示,这个对我们来说是很重要的。
账号密码提示
username: jaws
password: 女朋友名字+x99的组合
我哪知道他女朋友是谁呀,只有百度或者谷歌jaws的女朋友是谁咯。
然后根据提示信息,接下来就应该要查看couchdb这个了,这个怎么打开呢,我们在扫描端口时是开放了一个5984端口就是用来访问这个的,于是打开浏览器访问
发现不对劲,加端口不能直接访问,于是在请求一下度娘
再次访问
http://192.168.56.150:5984/_utils
使用jaws账号密码登录
username: jaws
password: dollyx99
登录成功,发现3个数据库中的文档,其他两个打开说不是admin
在links里发现写信息,访问提示的目录
其中在HR这个目录发现了重要的信息
访问这个5界面可以得到4个账号和密码
我也尝试了这些账号密码去ssh爆破,都无果,难道这些账号是用来混淆的?
其中hugo这个账号正是我们想要的,因为我们在这个页面发现是有node.js反序列化漏洞的
接下来就访问Node.js这个框架.
http://192.168.56.150:3000
username: hugo
password: TempleLasersL2K
登录成功后,显示一条信息。
然后就想着访问这个目录,发现访问不了,还以为要get,post请求然而都不是。最后F12看了下,发现了Cookies中的秘密(为什么会一开始不会看这个呢,就是因为node.js反序列化这个漏洞还不知道.手动滑稽)
接下来使用burp抓包,注意要抓登录的包,然后先发送到repeater,g根据右边setCookies提示设置
开始利用,因为这个应用程序中的漏洞是它从HTTP请求中读取名为profile的cookie,对cookie值执行base64解码,并将其传递给unserialize()函数.由于cookie是不受信任的输入,攻击者可以制作恶意Cookie值从而来以利用此漏洞.
使用 nodejsshell.py 用来生成反向 shell 的payload
再次生成反序列化的 payload
进行 Base64 编码后,然后在 Cookie 头中加入 Payload,向服务器发送请求.
在向服务器发送之前首先启动监听端口,与生成的payload端口一致,然后就会成功反弹.
nc -lvp 1337
为了方便shell,使用 python 进行shell交互
python -c 'import pty; pty.spawn("/bin/bash")'
找了许会,没发现有什么重要目录,最后再/var/mail中找到了四个邮箱,但是访问说提示没有权限,看来是找对了,接下来就得找找信息了或者怎么提权了。
在了解CouchDB的配置后,会发现默认的安装目录为/opt/couchdb目录下,所以读取他的配置文件看看成功得到密码.
tail /opt/couchdb/etc/local.ini
username: hugo
password: 321Blast0ff!!
切换用户已hugo身份登录,并读取hugo文件
信息中提到包括root的密码,又告诉我们在root密码后面+VR00M,和一段hash值,复制到文件进行hash破解
利用john工具爆破
username: root
password: cyber
然后再次以root身份登录在后面加VR00M,找到flag.txt并读取
看到最后提示一个目录访问
看来是结束了,作为单身狗的我又被成功的虐了一次.
jaws和dolly最后幸福的在一起了.
总结
一开始做这个靶机时经常掉坑,还是花了几天时间才做出来的,太菜了,留下了没技术的眼泪,最大的坑就是在node.js修改cookies迟迟搞不定。不过收获还是挺大的,学到了很多的知识,以后还得多多训练训练,还请大佬们多多指教.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 渗透测试实战-Blacklight靶机+DeRPnStiNK靶机入侵
- 渗透测试实战-eric靶机+HackInOS靶机入侵
- 渗透测试实战-lin.security靶机+Goldeneye靶机入侵
- 渗透测试实战-ROP靶机PWN+SolidState靶机入侵
- 渗透测试实战——unknowndevice64-1靶机+Moonraker靶机入侵
- Cyberry靶机渗透测试
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java多线程编程实战指南(设计模式篇)
黄文海 / 电子工业出版社 / 2015-10 / 59.00
随着CPU 多核时代的到来,多线程编程在充分利用计算资源、提高软件服务质量方面扮演了越来越重要的角色。而 解决多线程编程中频繁出现的普遍问题可以借鉴设计模式所提供的现成解决方案。然而,多线程编程相关的设计模式书籍多采用C++作为描述语言,且书中所举的例子多与应用开发人员的实际工作相去甚远。《Java多线程编程实战指南(设计模式篇)》采用Java(JDK1.6)语言和UML 为描述语言,并结合作者多......一起来看看 《Java多线程编程实战指南(设计模式篇)》 这本书的介绍吧!
HTML 压缩/解压工具
在线压缩/解压 HTML 代码
JSON 在线解析
在线 JSON 格式化工具