天天看點

常見未授權通路漏洞詳解

作者:網絡安全菜鳥

簡介

未授權通路漏洞可以了解為需要安全配置或權限認證的位址、授權頁面存在缺陷導緻其他使用者可以直接通路進而引發重要權限可被操作、資料庫或網站目錄等敏感資訊洩露。

常見的未授權通路漏洞

未授權通路漏洞可以了解為需要安全配置或權限認證的位址、授權頁面存在缺陷導緻其他使用者可以直接通路進而引發重要權限可被操作、資料庫或網站目錄等敏感資訊洩露。

MongoDB 未授權通路漏洞

漏洞資訊

開啟MongoDB服務時不添加任何參數,預設是沒有權限驗證的,登入的使用者可以通過預設端口無需密碼對資料庫任意操作【增、删、改、查高危動作】而且可以遠端通路資料庫。

造成未授權通路的根本原因就在于啟動 Mongodb 的時候未設定 --auth ,也很少會有人會給資料庫添加上賬号密碼【預設空密碼】,使用預設空密碼這将導緻惡意攻擊者無需進行賬号認證就可以登陸到資料伺服器。

漏洞利用

漏洞複現

防禦方法

為MongoDB添加認證:MongoDB啟動時添加--auth參數、為MongoDB添加使用者。

MongoDB 自身帶有一個HTTP服務和并支援REST接口。在2.6以後這些接口預設是關閉的。mongoDB預設會使用預設端口監聽web服務,一般不需要通過web方式進行遠端管理,建議禁用。修改配置檔案或在啟動的時候選擇 –nohttpinterface 參數 nohttpinterface=false。

限制綁定IP:啟動時加入參數--bind_ip 127.0.0.1 或在/etc/mongodb.conf檔案中添加内容bind_ip = 127.0.0.1。

Redis 未授權通路漏洞

漏洞資訊

Redis 預設情況下,會綁定在 0.0.0.0:6379,如果沒有進行采用相關的政策,比如添加防火牆規則避免其他非信任來源 ip 通路等,這樣将會将 Redis 服務暴露到公網上;如果在沒有設定密碼認證(一般為空)的情況下,會導緻任意使用者在可以通路目标伺服器的情況下未授權通路 Redis 以及讀取 Redis 的資料。攻擊者在未授權通路 Redis 的情況下,利用 Redis 自身的提供的config 指令,可以進行寫檔案操作,攻擊者可以成功将自己的ssh公鑰寫入目标伺服器的 /root/.ssh 檔案夾的authotrized_keys 檔案中,進而可以使用對應私鑰直接使用ssh服務登入目标伺服器、添加計劃任務、寫入Webshell等操作。

漏洞利用

漏洞複現

防禦方法

設定 Redis 通路密碼在 redis.conf 中找到 “requirepass” 字段在後面填上強密碼,redis 用戶端也需要此密碼來通路 redis 服務。

添加IP通路限制:配置 bind 選項限定可以連接配接 Reids 伺服器的 IP并修改預設端口 6379。

重新開機 Redis 服務。

清理系統中存在的後門木馬。

禁止使用root權限啟動redis服務。

Jenkins 未授權通路漏洞

漏洞原理

預設情況下, Jenkins面闆中使用者可以選擇執行腳本界面來操作一些系統層指令,攻擊者可通過未授權通路漏洞【未設定密碼】或者暴力破解使用者密碼等進入背景管理服務,通過腳本執行界面進而擷取伺服器權限。

漏洞利用

漏洞複現

防禦方法

更新版本。

添加身份認證,設定強密碼複雜度及賬号鎖定。

禁止把Jenkins直接暴露在公網。

Memcached 未授權通路漏洞

漏洞原理

Memcached 是一套分布式高速緩存系統,它以 Key - Value 的形式将資料存儲在記憶體中,這些資料通常是會被頻繁地應用、讀取的。正因為記憶體中資料的讀取速度遠遠大于硬碟的讀取速度是以可以用來加速應用的通路, Memcached 的安全設計缺陷用戶端連接配接 Memcached 伺服器後無需認證就可讀取、修改伺服器緩存内容,是以對公網開放的Memcache服務很容易被攻擊者掃描發現,攻擊者無需認證通過指令互動可直接讀取 Memcached中的敏感資訊。

漏洞利用

漏洞複現

防禦方法

修改綁定的IP、端口和指定通路者IP;

設定防火牆政策,配置通路控制政策;

禁止暴露在公網,禁止外網通路Memcached 11211端口。;

配置memcached監聽本地回環位址 127.0.0.1。隻允許本地通路;

JBOSS 未授權通路漏洞

漏洞原理

JBoss也是一個管理EJB【企業java beans】的容器和伺服器,支援EJB 1.1、EJB 2.0和EJB3規範。,預設情況下通路 http://ip:8080/jmx-console 就可以浏覽 JBoss 的部署管理的資訊,不需要輸入使用者名和密碼可以直接部署上傳木馬有安全隐患。

漏洞利用

漏洞複現

防禦方法

添加 JMX 控制頁面身份認證,控制頁面通路,添加通路驗證。;

進行JMX Console 安全配置;

關閉jmx-console和web-console。

VNC 未授權通路漏洞

漏洞原理

VNC是基于 UNXI 和 Linux 的免費開源軟體,由 VNC Server 和 VNC Viewer 兩部分組成。VNC 預設端口号為 5900、5901。VNC 未授權通路漏洞如被利用可能造成惡意使用者直接控制受控主機危害相當嚴重。

漏洞利用

漏洞複現

防禦方法

配置 VNC 用戶端登入密碼認證并配置符合密碼強度要求的密碼;

以最小權限的普通使用者身份運作作業系統;

Docker 未授權通路漏洞

漏洞原理

Docker Remote API 是一個取代遠端指令行界面的REST API。存在問題的版本分别為 1.3 和 1.6。因為權限控制等問題導緻可以通過 docker client 或者 http 直接請求就可以通路這個 API,通過這個接口,我們可以建立 container,删除已有 container,甚至是擷取主控端的 shell。該未授權通路漏洞是因為Docker API可以執行Docker指令,該接口是目的是取代Docker指令界面,通過URL操作Docker。

漏洞利用

漏洞複現

先用 nmap 掃描檢視端口開放情況,2375 為 docker 端口。如果存在漏洞會有以下情況:url 輸入 ip:2375/version 就會列出基本資訊也可以執行目标伺服器容器指令如 container、image 等。

防禦方法

簡單粗暴的方法,對2375端口做網絡通路控制,如ACL控制,或者通路規則。

修改docker swarm的認證方式,使用TLS認證:Overview Swarm with TLS 和 Configure Docker Swarm for TLS這兩篇文檔,說的是配置好TLS後,Docker CLI 在發送指令到docker daemon之前,會首先發送它的證書,如果證書是由daemon信任的CA所簽名的,才可以繼續執行。

ZooKeeper 未授權通路漏洞

漏洞原理

zookeeper是分布式協同管理工具,常用來管理系統配置資訊,提供分布式協同服務。Zookeeper的預設開放端口是2181。Zookeeper安裝部署之後預設情況下不需要任何身份驗證,造成攻擊者可以遠端利用Zookeeper,通過執行 envi 指令獲得系統大量的敏感資訊包括系統名稱Java 環境或者在Zookeeper叢集内進行破壞【比如:kill指令)】,攻擊者能夠執行所有隻允許由管理者運作的指令。

漏洞利用

漏洞複現

防禦方法

修改 ZooKeeper 預設端口,采用其他端口服務。

添加通路控制,配置服務來源位址限制政策。

增加 ZooKeeper 的認證配置。

Rsync 未授權通路漏洞

漏洞原理

Rsync是一個遠端資料同步工具,可通過 LAN/WAN 快速同步多台主機間的檔案,也可以同步本地硬碟中的不同目錄。Rsync 預設允許匿名通路,如果在配置檔案中沒有相關的使用者認證以及檔案授權,就會觸發隐患,Rsync 的預設端口為 837。

漏洞利用

漏洞複現

防禦方法

賬戶認證:正确配置認證使用者名及密碼,隻允許指定的使用者利用指定的密碼使用 rsync 服務。

權限控制:使用合理的權限,不需要寫入權限的 module 的設定為隻讀 Read only = true。

網絡通路控制:控制接入源ip,使用安全組政策或白名單限制,隻允許必要通路的主機通路:hosts allow = 123.123.123.123。

隐藏 module 資訊:修改配置檔案 list =false。

資料加密傳輸:Rsync 預設沒有直接支援加密傳輸,如果需要 Rsync 同步重要性很高的資料,可以使用 ssh。

————————————————

版權聲明:本文為CSDN部落客「2013041407郭泳妍」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/m0_55854679/article/details/124743577

繼續閱讀