
Apache 2.4.49-2.4.50 경로 탐색 및 RCE(CVE-2021-41773, CVE-2021-42013)를 위한 익스플로잇 도구. URL 목록을 스캔하며, CGI 및 비-CGI 환경에서 작동하고 익스플로잇을 자동화합니다.
Apache/2.4.49-2.4.50에서의 경로 탐색 공격 및 RCE
-> URL 목록 입력 가능
-> CGI 및 비-CGI 모두 지원
-> Apache/2.4.49 - 2.4.50 지원
$ git clone https://github.com/CalfCrusher/Path-traversal-RCE-Apache-2.4.49-2.4.50-Exploit
$ cd Path-traversal-RCE-Apache-2.4.49-2.4.50-Exploit && pip3 install -r requirements.txt
$ python3 main.py urls.txt
2021년 10월 5일, Apache HTTP Server v2.4.49의 경로 탐색 공격에 대한 CVE가 공개되었습니다. CVE-2021-41773로 지정된 이 취약점은 다음과 같은 설명과 함께 공개되었습니다:
Apache HTTP Server 2.4.49의 경로 정규화 변경에서 결함이 발견되었습니다.
공격자는 경로 탐색 공격을 사용하여 문서 루트 외부의 파일에 URL을 매핑할 수 있습니다. 문서 루트 외부의 파일이 "require all denied"로 보호되지 않는 경우 이러한 요청은 성공할 수 있습니다.
또한 이 결함은 CGI 스크립트와 같은 해석된 파일의 소스를 유출할 수 있습니다.
이 문제는 실제 환경에서 악용되고 있는 것으로 알려져 있습니다. 이 문제는 Apache 2.4.49에만 영향을 미치며 이전 버전에는 영향을 미치지 않습니다.
이를 분석하여 실제로 우리에게 무엇을 의미하는지 살펴보겠습니다:
첫 번째 부분에서 결함을 노출시킨 최근 변경 사항을 확인할 수 있습니다. 경로 정규화란 주어진 경로를 소프트웨어가 이해할 수 있는 표준 형식으로 변환하여 실제 파일 시스템에 매핑하는 것을 의미합니다. 이는 의도하지 않은 파일을 읽을 수 있는 경로 탐색 공격을 의심하게 만듭니다.
다음 부분은 우리의 의심을 확인시켜 주며, 의도된 범위 밖의 리소스를 읽기 위해 경로 탐색 공격을 사용할 수 있습니다.
매우 특정한 구성이 설정되어 있어야 함을 알 수 있습니다. 문서 루트 외부의 파일에는 명시적으로 권한이 부여되어야 합니다. 이는 기본 구성이 아니므로 대부분의 Apache 호스트에서는 이 악용 도구가 무용지물이 됩니다(다행히도).
다음 부분은 CGI 스크립트에 대해 설명하며, 이로 인해 이 공격이 작동하려면 CGI가 활성화되어 있어야 하거나 경로가 어떤 방식으로든 CGI와 관련되어 있다고 잘못 생각하게 됩니다.
구성이 이 버그의 직접적인 영향을 받지 않더라도 취약한 버전을 가능한 한 빨리 업데이트해야 합니다.
요약하자면, 이 취약점을 악용하려면 대상 서버에 매우 특이한 구성이 필요하며, 특정 경로를 통해 공격해야 합니다. 많은 수정 이후...
Apache는 이 버그를 수정하고 v2.4.50을 출시했습니다. 끝난 이야기일까요? 글쎄요, 그렇지 않습니다. 불과 2일 후인 10월 7일, 이전 취약점을 인용한 새로운 CVE가 공개되었습니다. 이 CVE는 이전 경로 탐색 공격에 대한 수정이 불완전하며, 해당 경로가 alias 지시문을 사용하여 URL을 파일 시스템에 매핑하는 경우 여전히 탐색이 가능하다고 언급합니다. 이 CVE는 CVE-2021-42013으로 지정되었으며 설명은 다음과 같습니다:
Apache HTTP Server 2.4.50에서 CVE-2021-41773에 대한 수정이 불충분한 것으로 확인되었습니다.
공격자는 경로 탐색 공격을 사용하여 Alias 유사 지시문으로 구성된 디렉터리 외부의 파일에 URL을 매핑할 수 있습니다.
이러한 디렉터리 외부의 파일이 일반적인 기본 구성인 "require all denied"로 보호되지 않는 경우 이러한 요청은 성공할 수 있습니다.
이러한 별칭 경로에 CGI 스크립트도 활성화된 경우 원격 코드 실행이 가능할 수 있습니다. 이 문제는 Apache 2.4.49 및 Apache 2.4.50에만 영향을 미치며 이전 버전에는 영향을 미치지 않습니다.
이전과 마찬가지로 여기서 몇 가지를 배울 수 있습니다:
첫 번째 악용 도구가 수정된 것으로 알려졌지만, 탐색을 작동시키는 또 다른 입력이 있습니다(나중에 기억하세요).
이제 별칭 경로 지시문으로 제한됩니다.
일반적인 경로 외부의 디렉터리에는 여전히 명시적 권한이 부여되어야 합니다.
CGI가 활성화된 경우 단순한 정보 유출 외에도 RCE를 얻을 수 있습니다.
어떠한 손해 및 불법 사용에 대해서도 책임을 지지 않습니다. 멍청이가 되지 마세요!