文章來源:Pa55w0rd's Blog
文章作者:Pa55w0rd
0x00 前言
最近在對公司的資產(chǎn)進行梳理,發(fā)現(xiàn)了很多端口對外開放了酝锅,如ldap389、rsync873、ssh22集索、mysql3306和一些不常見的端口泳赋,以及內(nèi)網(wǎng)大量的hadoop雌桑、redis、ftp祖今、mongodb等存在未授權(quán)訪問校坑,從網(wǎng)上收集了一些文章總結(jié)一下常見的未授權(quán)訪問漏洞
0x01 參考
常見未授權(quán)訪問漏洞總結(jié)
【脈搏沉淀系列】未授權(quán)訪問漏洞總結(jié)
混在運維部的安全員說“端口與口令安全”
PortVulnerabilityAnalysis
Redis的一些漏洞復(fù)現(xiàn)利用
Hadoop Yarn REST API未授權(quán)漏洞利用挖礦分析
0x02 總結(jié)
1、LDAP未授權(quán)訪問漏洞
漏洞介紹及危害
輕量級目錄訪問協(xié)議千诬,最近幾年隨著ldap的廣泛使用被發(fā)現(xiàn)的漏洞也越來越多耍目。但是畢竟主流的攻擊方式仍舊是那些,比如注入大渤,未授權(quán)等等制妄;這些問題的出現(xiàn)也都是因為配置不當而造成的。
測試
JXplorer泵三、LdapAdmin等可視化工具連接
防御手段
密碼策略配置
2耕捞、NFS未授權(quán)訪問漏洞
漏洞介紹及危害
NFS(Network FileSystem)即網(wǎng)絡(luò)文件系統(tǒng),是FreeBSD支持的文件系統(tǒng)中的一種烫幕,它允許網(wǎng)絡(luò)中的計算機之間通過TCP/IP網(wǎng)絡(luò)共享資源俺抽。在NFS的應(yīng)用中,本地NFS的客戶端應(yīng)用可以透明地讀寫位于遠端NFS服務(wù)器上的文件较曼,就像訪問本地文件一樣磷斧。
測試
showmount -e 10.0.0.1
防御手段
限制IP
3、Redis未授權(quán)訪問漏洞
漏洞簡介及危害
?Redis 默認情況下捷犹,會綁定在 0.0.0.0:6379弛饭,如果沒有進行采用相關(guān)的策略,比如添加防火墻規(guī)則避免其他非信任來源 ip 訪問等萍歉,這樣將會將 Redis 服務(wù)暴露到公網(wǎng)上侣颂,如果在沒有設(shè)置密碼認證(一般為空)的情況下,會導(dǎo)致任意用戶在可以訪問目標服務(wù)器的情況下未授權(quán)訪問 Redis 以及讀取 Redis 的數(shù)據(jù)。攻擊者在未授權(quán)訪問 Redis 的情況下,利用 Redis 自身的提供的config 命令原在,可以進行寫文件操作蓝晒,攻擊者可以成功將自己的ssh公鑰寫入目標服務(wù)器的 /root/.ssh 文件夾的authotrized_keys 文件中,進而可以使用對應(yīng)私鑰直接使用ssh服務(wù)登錄目標服務(wù)器哗魂、添加計劃任務(wù)眉枕、寫入Webshell等操作低葫。
測試
redis-cli -h 10.0.0.1
防御手段
禁止使用root權(quán)限啟動redis服務(wù)从撼。
對redis訪問啟動密碼認證州弟,并設(shè)置復(fù)雜密碼。redis默認沒有開啟密碼認證低零,打開/etc/redis/redis.conf配置文件呆馁, (requirepass 密碼)可設(shè)置認證密碼,保存redis.conf毁兆,重啟redis(/etc/init.d/redis-serverrestart)之后,需要執(zhí)行(auth 密碼)阴挣。气堕。
添加IP訪問限制,并更改默認6379端口畔咧。
4茎芭、MongoDB未授權(quán)訪問漏洞
漏洞簡介以及危害
??開啟MongoDB服務(wù)時不添加任何參數(shù)時,默認是沒有權(quán)限驗證的,登錄的用戶可以通過默認端口無需密碼對數(shù)據(jù)庫任意操作(增、刪誓沸、改梅桩、查高危動作)而且可以遠程訪問數(shù)據(jù)庫。
??造成未授權(quán)訪問的根本原因就在于啟動 Mongodb 的時候未設(shè)置 –auth 也很少會有人會給數(shù)據(jù)庫添加上賬號密碼(默認空口令)拜隧,使用默認空口令這將導(dǎo)致惡意攻擊者無需進行賬號認證就可以登陸到數(shù)據(jù)服務(wù)器宿百。
測試
nmap -p 27017 –script mongodb-info 10.0.0.1
防御手段
為MongoDB添加認證:MongoDB啟動時添加–auth參數(shù)、為MongoDB添加用戶
MongoDB 自身帶有一個HTTP服務(wù)和并支持REST接口洪添。在2.6以后這些接口默認是關(guān)閉的垦页。mongoDB默認會使用默認端口監(jiān)聽web服務(wù),一般不需要通過web方式進行遠程管理干奢,建議禁用痊焊。修改配置文件或在啟動的時候選擇 –nohttpinterface 參數(shù) nohttpinterface=false
使用安全組防火墻或本地操作系統(tǒng)防火墻對訪問源IP進行控制,如果僅對內(nèi)網(wǎng)服務(wù)器提供服務(wù)忿峻,建議禁止將MongoDB服務(wù)發(fā)布到互聯(lián)網(wǎng)上薄啥。
啟動時加入?yún)?shù)–bind_ip 127.0.0.1 或在/etc/mongodb.conf文件中添加以下內(nèi)容:bind_ip = 127.0.0.1
5、Jenkins未授權(quán)訪問漏洞
漏洞簡介以及危害
??默認情況下 Jenkins面板中用戶可以選擇執(zhí)行腳本界面來操作一些系統(tǒng)層命令逛尚,攻擊者可通過未授權(quán)訪問漏洞或者暴力破解用戶密碼等進入后臺管理服務(wù)垄惧,通過腳本執(zhí)行界面從而獲取服務(wù)器權(quán)限。
測試
訪問
http://10.0.0.1:8080/manage?可以看到?jīng)]有任何限制可以直接訪問
防御手段
升級版本黑低。
添加認證赘艳,設(shè)置強密碼復(fù)雜度及賬號鎖定酌毡。
禁止把Jenkins直接暴露在公網(wǎng)。
6蕾管、Memcached 未授權(quán)訪問漏洞
漏洞簡介以及危害
??Memcached 是一套常用的 key-value 分布式高速緩存系統(tǒng)枷踏,由于 Memcached 的安全設(shè)計缺陷沒有權(quán)限控制模塊,所以對公網(wǎng)開放的Memcache服務(wù)很容易被攻擊者掃描發(fā)現(xiàn)掰曾,攻擊者無需認證通過命令交互可直接讀取 Memcached中的敏感信息旭蠕。
測試
telnet 10.0.0.1 11211
nc -vv 10.0.0.1 11211
nmap -p 11211 –script memcached-info 10.0.0.1
防御手段
設(shè)置Memchached只允許本地訪問。
禁止外網(wǎng)訪問Memcached 11211端口旷坦。
配置訪問控制策略掏熬。
最小化權(quán)限運行。
修改默認端口等秒梅。
7旗芬、JBOSS 未授權(quán)訪問漏洞
漏洞簡介以及危害
??JBoss是一個基于J2EE的開放源代碼應(yīng)用服務(wù)器,代碼遵循LGPL許可捆蜀,可以在任何商業(yè)應(yīng)用中免費使用疮丛;JBoss也是一個管理EJB的容器和服務(wù)器,支持EJB 1.1辆它、EJB 2.0和EJB3規(guī)范誊薄。,默認情況下訪問?http://ip:8080/jmx-console?就可以瀏覽 JBoss 的部署管理的信息不需要輸入用戶名和密碼可以直接部署上傳木馬有安全隱患。
測試
http://10.0.0.1:8080/jmx-console/?無需認證進入控制頁面
防御手段
對jmx控制頁面訪問添加訪問驗證锰茉。
進行JMX Console 安全配置呢蔫。
8、VNC 未授權(quán)訪問漏洞
漏洞簡介以及危害
??VNC 是虛擬網(wǎng)絡(luò)控制臺Virtual Network Console的英文縮寫飒筑。它是一款優(yōu)秀的遠程控制工具軟件由美國電話電報公司AT&T的歐洲研究實驗室開發(fā)片吊。VNC是基于 UNXI 和 Linux 的免費開源軟件由 VNC Server 和 VNC Viewer 兩部分組成。VNC 默認端口號為 5900协屡、5901定鸟。VNC 未授權(quán)訪問漏洞如被利用可能造成惡意用戶直接控制target主機。
測試
vncviewer 10.0.0.1
防御手段
配置 VNC 客戶端登錄口令認證并配置符合密碼強度要求的密碼著瓶。
以最小普通權(quán)限身份運行操作系統(tǒng)联予。
9、Docker 未授權(quán)訪問漏洞
漏洞簡介以及危害
??Docker 是一個開源的引擎可以輕松地為任何應(yīng)用創(chuàng)建一個輕量級的材原、可移植的沸久、自給自足的容器。開發(fā)者在筆記本上編譯測試通過的容器可以批量地在生產(chǎn)環(huán)境中部署包括 VMs余蟹、bare metal卷胯、OpenStack 集群和其他的基礎(chǔ)應(yīng)用平臺Docker。
??Docker Remote API 是一個取代遠程命令行界面(rcli)的REST API威酒。存在問題的版本分別為 1.3 和 1.6因為權(quán)限控制等問題導(dǎo)致可以通過 docker client 或者 http 直接請求就可以訪問這個 API窑睁,通過這個接口挺峡,我們可以新建 container,刪除已有 container担钮,甚至是獲取宿主機的 shell橱赠。
測試
docker -H tcp://10.0.0.1:2375 version
防御手段
簡單粗暴的方法,對2375端口做網(wǎng)絡(luò)訪問控制箫津,如ACL控制狭姨,或者訪問規(guī)則。
修改docker swarm的認證方式苏遥,使用TLS認證:Overview Swarm with TLS 和 Configure Docker Swarm for TLS這兩篇文檔饼拍,說的是配置好TLS后,Docker CLI 在發(fā)送命令到docker daemon之前田炭,會首先發(fā)送它的證書师抄,如果證書是由daemon信任的CA所簽名的,才可以繼續(xù)執(zhí)行教硫。
10司澎、ZooKeeper 未授權(quán)訪問漏洞
漏洞簡介以及危害
zookeeper是分布式協(xié)同管理工具,常用來管理系統(tǒng)配置信息栋豫,提供分布式協(xié)同服務(wù)。Zookeeper的默認開放端口是2181谚殊。Zookeeper安裝部署之后默認情況下不需要任何身份驗證丧鸯,造成攻擊者可以遠程利用Zookeeper,通過服務(wù)器收集敏感信息或者在Zookeeper集群內(nèi)進行破壞(比如:kill命令)嫩絮。攻擊者能夠執(zhí)行所有只允許由管理員運行的命令丛肢。
測試
echo envi|nc 10.0.0.1 2181
利用zookeeper可視化管理工具進行連接,下載地址:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip
防御手段
修改 ZooKeeper 默認端口剿干,采用其他端口服務(wù)蜂怎。
添加訪問控制,配置服務(wù)來源地址限制策略置尔。
增加 ZooKeeper 的認證配置杠步。
11、Rsync 未授權(quán)訪問漏洞
漏洞簡介以及危害
??Rsync(remote synchronize)是一個遠程數(shù)據(jù)同步工具榜轿,可通過 LAN/WAN 快速同步多臺主機間的文件幽歼,也可以同步本地硬盤中的不同目錄。Rsync 默認允許匿名訪問谬盐,如果在配置文件中沒有相關(guān)的用戶認證以及文件授權(quán)甸私,就會觸發(fā)隱患。Rsync 的默認端口為 837飞傀。
測試
rsync rsync://10.0.0.1:873/
rsync 10.0.0.1::
防御手段
賬戶認證:正確配置認證用戶名及密碼皇型。
權(quán)限控制:使用合理的權(quán)限诬烹。
網(wǎng)絡(luò)訪問控制:控制接入源ip。
數(shù)據(jù)加密傳輸?shù)?/p>
12弃鸦、Atlassian Crowd 未授權(quán)訪問漏洞
漏洞簡介以及危害
??Atlassian Crowd和Atlassian Crowd Data Center都是澳大利亞Atlassian公司的產(chǎn)品绞吁。Atlassian Crowd是一套基于Web的單點登錄系統(tǒng)。該系統(tǒng)為多用戶寡键、網(wǎng)絡(luò)應(yīng)用程序和目錄服務(wù)器提供驗證掀泳、授權(quán)等功能。Atlassian Crowd Data Center是Crowd的集群部署版西轩。Atlassian Crowd和Crowd Data Center在其某些發(fā)行版本中錯誤地啟用了pdkinstall開發(fā)插件员舵,使其存在安全漏洞。攻擊者利用該漏洞可在未授權(quán)訪問的情況下對Atlassian Crowd和Crowd Data Center安裝任意的惡意插件藕畔,執(zhí)行任意代碼/命令马僻,從而獲得服務(wù)器權(quán)限。
測試
進行上傳一個標準的插件注服,來自atlassian-bundled-plugins中的applinks-plugin-5.4.12.jar
curl –form “file_cdl=@applinks-plugin-5.4.12.jar“?http://10.0.0.1:8095/crowd/admin/uploadplugin.action?-v
防御手段
設(shè)置訪問/crowd/admin/uploadplugin.action的源ip韭邓。
升級最新版本(3.5.0以上)。
13溶弟、CouchDB 未授權(quán)訪問漏洞
漏洞簡介以及危害
??Apache CouchDB是一個開源數(shù)據(jù)庫女淑,專注于易用性和成為”完全擁抱web的數(shù)據(jù)庫”。它是一個使用JSON作為存儲格式辜御,JavaScript作為查詢語言鸭你,MapReduce和HTTP作為API的NoSQL數(shù)據(jù)庫。應(yīng)用廣泛擒权,如BBC用在其動態(tài)內(nèi)容展示平臺袱巨,Credit Suisse用在其內(nèi)部的商品部門的市場框架,Meebo碳抄,用在其社交平臺(web和應(yīng)用程序),默認會在5984端口開放Restful的API接口愉老,如果使用SSL的話就會監(jiān)聽在6984端口,用于數(shù)據(jù)庫的管理功能剖效。其HTTP Server默認開啟時沒有進行驗證嫉入,而且綁定在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)生逗宁。
測試
curl
http://10.0.0.1:5984
curl?http://10.0.0.1:5984/_config
nmap -p 5984 –script “couchdb-stats.nse” 10.0.0.1
防御手段
綁定指定ip映九。
設(shè)置訪問密碼。
14瞎颗、Elasticsearch 未授權(quán)訪問漏洞
漏洞簡介以及危害
ElasticSearch是一個基于Lucene的搜索服務(wù)器件甥。它提供了一個分布式多用戶能力的全文搜索引擎捌议,基于RESTful web接口。Elasticsearch是用Java開發(fā)的引有,并作為Apache許可條款下的開放源碼發(fā)布瓣颅,是當前流行的企業(yè)級搜索引擎。Elasticsearch的增刪改查操作全部由http接口完成譬正。由于Elasticsearch授權(quán)模塊需要付費宫补,所以免費開源的Elasticsearch可能存在未授權(quán)訪問漏洞。該漏洞導(dǎo)致曾我,攻擊者可以擁有Elasticsearch的所有權(quán)限粉怕。可以對數(shù)據(jù)進行任意操作抒巢。業(yè)務(wù)系統(tǒng)將面臨敏感數(shù)據(jù)泄露贫贝、數(shù)據(jù)丟失、數(shù)據(jù)遭到破壞甚至遭到攻擊者的勒索蛉谜。
Elasticsearch服務(wù)普遍存在一個未授權(quán)訪問的問題稚晚,攻擊者通常可以請求一個開放9200或9300的服務(wù)器進行惡意攻擊型诚。
測試
curl
http://10.0.0.1:9200/_nodes?#查看節(jié)點數(shù)據(jù)
防御手段
訪問控制策略客燕,限制IP訪問,綁定固定IP狰贯。
架設(shè)nginx反向代理服務(wù)器也搓,并設(shè)置http basic認證來實現(xiàn)elasticsearch的登錄認證。
在config/elasticsearch.yml中為9200端口設(shè)置認證等暮现。
15、Hadoop 未授權(quán)訪問漏洞
漏洞簡介以及危害
??Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)楚昭,由于服務(wù)器直接在開放了 Hadoop 機器 HDFS 的 50070 web 端口及部分默認服務(wù)端口栖袋,黑客可以通過命令行操作多個目錄下的數(shù)據(jù),如進行刪除抚太,下載塘幅,目錄瀏覽甚至命令執(zhí)行等操作,產(chǎn)生極大的危害尿贫。
測試
訪問
http://10.0.0.1:8088/cluster
防御手段
如無必要电媳,關(guān)閉 Hadoop Web 管理頁面。
開啟身份驗證庆亡,防止未經(jīng)授權(quán)用戶訪問匾乓。
部署Knox、Nginx之類的反向代理系統(tǒng)又谋,防止未經(jīng)授權(quán)用戶訪問拼缝;
設(shè)置“安全組”訪問控制策略娱局,將Hadoop 默認開放的多個端口對公網(wǎng)全部禁止或限制可信任的 IP 地址才能訪問包括 50070 以及 WebUI 等相關(guān)端口。
16咧七、Jupyter Notebook 未授權(quán)訪問漏洞
漏洞簡介以及危害
Jupyter Notebook(此前被稱為 IPython notebook)是一個交互式筆記本衰齐,支持運行 40 多種編程語言。
如果管理員未為Jupyter Notebook配置密碼继阻,將導(dǎo)致未授權(quán)訪問漏洞耻涛,游客可在其中創(chuàng)建一個console并執(zhí)行任意Python代碼和命令。
測試
訪問
http://10.0.0.1:8888
防御手段
開啟身份驗證瘟檩,防止未經(jīng)授權(quán)用戶訪問抹缕。
訪問控制策略,限制IP訪問芒帕,綁定固定IP歉嗓。