Moonraker靶机渗透测试

阅读量554034

|评论7

|

发布时间 : 2018-12-25 16:00:20

![](https://p3.ssl.qhimg.com/t011bff5f0dc938d63d.png)![](https://p4.ssl.qhimg.com/t011eeff357b34e315d.png)![](https://p1.ssl.qhimg.com/t0112fefbae8968ef69.png)![](https://p4.ssl.qhimg.com/t016ef7a34f790f42e3.jpg)![](https://p4.ssl.qhimg.com/t0132264fa77cc4856c.png)subject

 

前言

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

 

靶机搭建与下载

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

1

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

2

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

3

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

dirb http://192.168.56.150

4

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

5

6

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

7

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

8

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

9

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

使用命令查看日志

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

10

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

11

引导进入新的页面

12

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

13

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

账号密码提示

username: jaws

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

14

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

15

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

16

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

17

再次访问

http://192.168.56.150:5984/_utils

18

使用jaws账号密码登录

username: jaws

password: dollyx99

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

19

20

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

21

22

23

24

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

25

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

26

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

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

13

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

http://192.168.56.150:3000

username: hugo

password: TempleLasersL2K

27

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

28

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

29

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

30

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

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

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

31

再次生成反序列化的 payload

32

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

33

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

nc -lvp 1337

34

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

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

35

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

36

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

tail /opt/couchdb/etc/local.ini

username: hugo

password: 321Blast0ff!!

37

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

38

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

39

利用john工具爆破

username: root

password: cyber

40

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

41

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

42

43

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

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

 

总结

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

本文由Mr.Lee原创发布

转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/168484

安全客 - 有思想的安全新媒体

分享到:微信
+124赞
收藏
Mr.Lee
分享到:微信

发表评论

Mr.Lee

I want to change the world with code.

  • 文章
  • 4
  • 粉丝
  • 18

TA的文章

热门推荐

内容需知
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全客 All Rights Reserved 京ICP备08010314号-66