
CVE-2022-46196을 대상으로 하는 Python 익스플로잇으로, Cacti <=1.2.22에서 인증되지 않은 명령 삽입을 공격합니다. remote_agent.php를 통해 버전 탐지와 리버스 셸 전달을 자동화합니다.
이 Python 코드는 Cacti 버전 1.2.22 이하에서 인증되지 않은 명령어 주입 취약점을 악용합니다. argparse를 사용하여 명령줄 인수를 파싱하고, requests를 통해 대상 Cacti 인스턴스의 HTML 콘텐츠를 가져오며, BeautifulSoup를 사용하여 HTML 콘텐츠에서 Cacti의 버전 번호를 추출합니다. 버전이 1.2.22 이하인 경우, 코드는 익스플로잇을 진행합니다.
익스플로잇은 Cacti 인스턴스의 remote_agent.php 파일에 페이로드를 전송하는데, 이 페이로드는 지정된 수신 IP 및 포트로 역방향 셸을 여는 Bash 명령어입니다. 코드는 호스트 ID 범위를 반복하여 페이로드를 전송하고, 성공하면 지정된 IP 및 포트에서 역방향 셸을 엽니다.
이 코드는 보안 연구나 침투 테스트와 같은 윤리적인 목적으로만 사용해야 합니다.
코드를 실행하려면 다음 명령어를 사용하세요:
python exploit.py --url <Cacti 인스턴스의 URL> --lhost <수신 IP> --lport <수신 포트>
여기서:
코드에는 다음 Python 라이브러리/모듈이 필요합니다:
argparse
requests
BeautifulSoup4
re