PG靶機 - Pelican

一、 初步偵察與服務探測

1.1 端口掃描與服務識別

首先,對目標主機 192.168.163.98 進行全面的端口掃描,以識別所有開放的服務。

sudo nmap 192.168.163.98 -p- --min-rate=5000 -A


圖 1: Nmap 掃描結果,顯示多個開放端口

掃描結果表明,目標主機開放了多個端口,包括 SMB (445)、ZooKeeper (2181) 和一個運行在 8080 端口上的 Jetty Web 服務器。值得注意的是,8080 端口上運行著一個名為 Exhibitor 的應用,這是一個用于 ZooKeeper 的監控和管理工具。

1.2 服務枚舉與信息收集

SMB 服務

嘗試對 SMB 服務進行枚舉,以發現可能存在的共享目錄或敏感信息,但未獲得有價值的發現。

enum4linux-ng 192.168.163.98


圖 2: SMB 枚舉未發現有用信息

Exhibitor Web 應用

接著,訪問 http://192.168.163.98:8080 上的 Exhibitor 應用。從界面右上角可以識別出其版本號為 1.0。


圖 3: Exhibitor Web 界面,版本號為 1.0

二、 Exhibitor 漏洞利用與初始訪問

2.1 漏洞識別與驗證

針對已識別的 Exhibitor 版本,搜索相關的歷史漏洞。很快,一個編號為 CVE-2019-5029 的遠程代碼執行(RCE)漏洞引起了注意。 該漏洞影響版本為 1.0.9 至 1.7.1 的 Exhibitor,描述指出攻擊者可以通過在配置界面中注入惡意命令來實現 RCE。 盡管目標版本為 1.0,低于受影響的最低版本 1.0.9,不管怎樣,先試試再說。


圖 4: CVE-2019-5029 漏洞信息

2.2 漏洞利用獲取 Shell

根據漏洞描述,該 RCE 通過在 Exhibitor 的配置頁面中注入由反引號或 $() 包裹的 Shell 命令來觸發。 當 Exhibitor 進程啟動 ZooKeeper 時,這些命令會被執行。

在 Exhibitor 的 “Config” 選項卡中,找到可以插入命令的配置項,并填入反彈 Shell 的 payload,然后提交配置。


圖 5: 在 Exhibitor 配置中插入反彈 Shell 命令

成功觸發漏洞,在本地監聽的端口上接收到來自目標主機的 Shell,當前用戶為 charles


圖 6: 成功獲取 charles 用戶的反彈 Shell

三、 信息收集與權限提升

3.1 Sudo 權限分析

獲得初始 Shell 后,首要任務是檢查當前用戶的 sudo 權限,以尋找提權的途徑。

sudo -l


圖 7: charles 用戶的 sudo 權限

sudo -l 的輸出顯示,用戶 charles 可以免密以 root 權限執行 /usr/bin/gcore 命令。

3.2 gcore 命令功能與提權思路

通過搜索得知,gcore 是一個用于生成正在運行進程的核心轉儲文件(core dump)的工具。 這些轉儲文件是進程在某一時刻的內存快照,通常包含大量敏感信息,如密碼、密鑰或配置文件內容。 利用 sudo 權限執行 gcore,意味著我們可以轉儲系統上任何用戶的任何進程的內存。


圖 8: gcore 命令功能說明

GTFOBins 的提權輔助網站也提供了利用 gcore 進行提權的方法,其原理正是通過轉儲高權限進程的內存來獲取敏感數據。

圖 9: GTFOBins 上關于 gcore 的提權方法

3.3 鎖定目標進程并轉儲內存

提權的關鍵在于找到一個內存中可能包含 root 憑據的進程。通過 ps aux 命令查看系統當前所有進程,發現一個名為 password-store 的可疑進程。 “password-store” 是一款遵循 Unix 哲學的密碼管理器,它通常會將密碼加密后存儲。 這使得轉儲其內存以獲取明文密碼成為可能。


圖 10: 發現可疑的 password-store 進程

確定目標進程的 PID(本例中為 513)后,使用 sudo gcore 命令對其進行內存轉儲。該命令會生成一個名為 core.513 的文件。

sudo gcore 513
strings core.513

使用 strings 命令在轉儲文件中查找可讀字符串,很快便發現了 root 用戶的密碼:ClogKingpinInning731


圖 11: 從內存轉儲中獲取 root 密碼

四、 切換用戶并獲取 Root 權限

4.1 切換至 Root 用戶

使用剛剛獲取的密碼,通過 su 命令嘗試切換到 root 用戶。

su root


圖 12: 成功切換到 root 用戶,完成提權

輸入密碼 ClogKingpinInning731 后,成功切換為 root 用戶,至此完成了對目標系統的完全控制。

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

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

相關文章

【1】Transformers快速入門:自然語言處理(NLP)是啥?

第一章:自然語言處理(NLP)是啥?一句話解釋: NLP 教電腦聽懂人話、說人話的技術 (比如讓手機聽懂你說話、讓翻譯軟件變聰明)NLP發展史:電腦學人話的 “翻車史” 第一階段&#xff08…

微軟發布五大AI Agent設計模式 推動企業自動化革新

今日,微軟在官網正式公布了企業級AI智能體(Agent)的五大核心設計模式,旨在通過模塊化架構與自適應能力,幫助企業構建具備推理、協作與自主進化能力的"數字員工團隊"。這一技術框架突破傳統RPA(機…

如何根據本地是有GPU安裝對應CUDA版本的PyTorch

要在本地安裝與您的NVIDIA GPU匹配的CUDA版本PyTorch,請按以下步驟操作: 步驟1:確定GPU型號和驅動信息 1.按 Win X選擇 ?設備管理器?2.展開 ?顯示適配器? → 記錄您的NVIDIA顯卡型號(如RTX 3060)3.打開命令提示…

在FP32輸入上計算前向傳播需要多長時間?FP16模型的實例與之前的模型相比,它快了多少?

下面的 MixedModel 類使用作為參數提供的數據類型創建了一個非常簡單的兩層模型: class MixedModel(nn.Module): def init (self, dtype): super(). init

嵌入式硬件中MOS管圖形詳解

第一:MOS管電子元器件分析 MOS管全稱叫金屬氧化物半導體場效應晶體管,是一種壓控器件。 MOS管屬于場效應晶體管。 1、進入飽和區,若想加大電流該怎么做? 答:增加柵極電壓,以擴大溝道寬度,此時到溝道再次被夾斷所通過的電流也會增大。 2、MOS管的特性 答:(1)MOS管…

介紹java中atomic及相關類

文章目錄一、Atomic 類的核心原理二、常見 Atomic 類及用法1. 基本類型原子類(1)AtomicInteger(原子更新 int)(2)AtomicLong(原子更新 long)(3)AtomicBoolean…

消費級顯卡分布式智能體協同:構建高性價比醫療AI互動智能體的理論與實踐路徑

摘要: 本文系統探討了基于消費級顯卡集群(NVIDIA 30/40系列)的分布式小模型(1.5B-7B)協同機制,構建醫療互動智能網的理論基礎與實踐路徑。文章從醫療AI的特殊性出發,提出“異構智能體協同計算”范式,通過模型分片、動態任務調度、聯邦學習等核心技術,解決醫療場景中數…

C++進階:特殊類

目錄1. 不能被拷貝的類2. 只能在堆上創建的類3. 只能在棧上創建的類4. 不能被繼承的類5. 類的設計模式(單例模式)5.1 餓漢模式設計5.2 懶漢模式設計特殊類的概念: 特殊類是一些具有特殊行為、用途,用特殊方法設計而出的類。1. 不…

【論文閱讀】基于卷積神經網絡和預提取特征的肌電信號分類

Myoelectric Signal Classi?cation Using Convolutional Neural Networks with Pre-Extracted Features 原文:DOI: 10.1109/ICICS55353.2022.9811218 2022 翻譯:靠岸學術 目錄 摘要 1引言 2背景 A. 卷積神經網絡 B. 特征工程 3材料與方法 A. CN…

珠海社保繳費記錄如何打印

珠海社保掌上辦(微信小程序) 進入“珠海社保掌上辦”—“資料打印”— 選擇養老工傷失業個人繳費證明,可選擇 全部繳費記錄打印或自選時段打印: 長按圖片保存后打印。

AM32電調學習-使用Keil編譯uboot

目前的AM32的APP固件包含了keil工程,但是uboot還沒看到,對于習慣使用keil的新用戶,調試起來會有些不習慣,本文將簡單描述怎么新建一個keil的uboot工程,以AT32F421為例。一、新建目錄新建一個目錄Keil_Projects二、新建…

【大文件上傳】分片上傳+斷點續傳+Worker線程計算Hash

/*** 文件分片上傳管理器* 提供文件分片、哈希計算、并發上傳和斷點續傳功能*/ class FileChunkUploader {/*** 構造函數* param {File} file - 要上傳的文件對象* param {Object} options - 配置選項* param {number} [options.chunkSize5MB] - 每個分片的大小(字節…

-bash: ./restart.sh: /bin/bash^M: 壞的解釋器: 沒有那個文件或目錄

這是典型的Windows換行符(CRLF)導致的腳本不能在Linux/Unix環境下正常執行的問題。Linux 期望的是 LF (\n),而 Windows 是 CRLF (\r\n),所以腳本文件的第一行解釋器路徑后多了一個不可見的 ^M(回車符)&…

芯伯樂1MHz高頻低功耗運放芯片MCP6001/2/4系列,微安級功耗精密信號處理

前言在工業控制、通信設備、家用電器等領域,信號處理是核心環節之一,其中運算放大器(運放)是實現信號處理的核心器件,其選型參數直接決定了信號鏈路的性能和輸出信號的質量,是確保信號正常、精確輸出的關鍵…

智能的數學原理

智能的數學原理可以分成幾個層次來看——從最底層的數學基礎,到支撐“智能”表現的數學模型,再到連接數學與現實認知的理論框架。 分成 五個核心板塊 來梳理:1. 信息與表示的數學 智能的第一步是“能表示信息”,這涉及&#xff1a…

FPGA即插即用Verilog驅動系列——SPI發送模塊

實現功能:按字節以spi模式3發送數據,如果要stm32接收,請在cubemx中將對應的spi接口設置為模式3,詳情見代碼開頭注釋// spi_byte_master.v // 經過優化的SPI主設備模塊,每次使能發送一個字節。 // 它實現了SPI模式3 (CP…

C++ 排序指南

在 C 中&#xff0c;std::sort 是一個非常強大且常用的函數&#xff0c;用于對容器或數組中的元素進行排序。它定義在 <algorithm> 頭文件中。 std::sort 的基本語法 std::sort 的基本語法有以下幾種形式&#xff1a;默認升序排序&#xff1a; std::sort(first, last);fi…

RS232串行線是什么?

RS232串行線是什么&#xff1f;RS232串行線是一種用于串行通信的標準化接口&#xff0c;廣泛應用于早期計算機、工業設備、儀器儀表等領域的短距離數據傳輸。以下是其核心要點解析&#xff1a;1. 基本定義 全稱&#xff1a;RS232&#xff08;Recommended Standard 232&#xff…

k8s-scheduler 解析

學習文檔 官網的k8s上關于scheduler的文檔基本可以分為這兩部分 介紹 scheduler 的基本概念 介紹 scheduler 的配置 KubeSchedulerConfiguration 的參數 介紹 scheduler 的命令行參數 調度框架解析 Scheduling-framework 解析 kube-scheduler 選擇 node 通過下面這兩步…

前端簡歷1v1修改: 優化項目經驗

今天有人找我優化前端簡歷&#xff0c;分享一下如何優化項目經驗描述。這是修改前的版本&#xff1a;項目為Web前端開發&#xff0c;但描述為APP應用&#xff0c;包含某某功能。起初我感到困惑&#xff0c;因為前端技術棧使用Vue&#xff0c;為何項目類型是APP&#xff1f;后來…