
THM 룸 Vulnerability Capstone 및 CVE-2018-16763용 익스플로잇 스크립트에 대한 분석
THM 룸 Vulnerability Capstone에 대한 분석 및 CVE-2018-16763용 익스플로잇 스크립트 작성입니다.
이 취약점의 발견에 대한 공로를 제가 차지하지 않습니다. 다음 분들께 감사드립니다.
취약점 발견:
0xd0ff9
TryHackMe 룸 및 작성자:
https://tryhackme.com/room/vulnerabilitycapstone
https://tryhackme.com/p/cmnatic
참고 자료:
https://github.com/noraj/fuelcms-rce/blob/master/exploit.rb
https://github.com/daylightstudio/FUEL-CMS/issues/478
https://packetstormsecurity.com/files/164756/Fuel-CMS-1.4.1-Remote-Code-Execution.html
1. 원격 코드 실행
Fuel CMS는 웹 애플리케이션용 콘텐츠 관리 시스템입니다. 버전 1.4.1에는 두 가지 경로를 통해 임의의 PHP 코드가 평가/실행될 수 있는 RCE 취약점이 존재합니다. 첫 번째 RCE 경로는 filter 데이터 매개변수를 포함한 /fuel/pages/select/로의 GET 요청입니다. 두 번째 경로는 data 매개변수를 포함한 /fuel/preview로의 POST 요청입니다. 오랫동안 인터넷을 검색했지만, 안타깝게도 취약점이 있는 소스 코드를 찾지 못했습니다. 정말 형편없죠, 알아요...ㅋㅋ. 이제 분석 글로 넘어가겠습니다!
공격 표면을 파악하기 위해 포트 스캔부터 시작하겠습니다. 저는 nmap으로 좁혀서 집중 스캔을 하기 전에 rustscan을 사용하여 대상의 광범위한 개요를 얻는 것을 선호합니다.

꽤 표준적으로 보입니다. SSH와 HTTP가 이 포트들에서 실행 중일 것 같지만, 더 구체적인 정보를 얻기 위해 nmap으로 추가 스캔을 실행하겠습니다.

SSH와 HTTP가 표준 포트에서 실행 중입니다. 웹페이지를 살펴보겠습니다!

웹서버는 Fuel CMS 버전 1.4를 호스팅하고 있습니다. 이 버전은 PHP 코드 평가를 통한 명령어 삽입에 취약합니다. 아래의 NVD에서 CVE를 확인해보겠습니다.

이 소프트웨어에 대해 여러 익스플로잇이 존재합니다. 저는 파이썬으로 익스플로잇을 제공했지만, 형편없습니다. 형편없다고 부르는 이유는 명령어 출력을 보기 위해 웹 요청 응답을 수동으로 파싱해야 하기 때문입니다. 불필요한 부분을 잘라내는 데 실패했습니다. 확인해보겠습니다!

ls -al 명령어를 실행했습니다. 보시다시피, 명령어 출력이 HTML div 요소 사이에 있습니다.

플래그를 공개하지는 않겠지만, 힌트를 드리겠습니다! 홈 디렉토리부터 살펴보시면 됩니다. 이 분석 글을 읽어주셔서 감사합니다. 재미있게 즐기세요!