Gobuster 트래픽을 프록시를 통해 라우팅하기

Beginner
지금 연습하기

소개

이 실습에서는 웹 애플리케이션 침투 테스트의 기본 기술인 Gobuster 트래픽을 웹 프록시를 통해 라우팅하는 방법을 배우게 됩니다. Gobuster 는 디렉토리 및 파일 무차별 대입 (brute-forcing), DNS 서브도메인 무차별 대입, S3 버킷 열거를 위한 강력한 도구입니다. Burp Suite 또는 OWASP ZAP 과 같은 프록시를 통해 트래픽을 라우팅하면 Gobuster 가 생성하는 HTTP 요청 및 응답을 검사, 수정 및 분석할 수 있습니다. 이러한 가시성은 웹 애플리케이션의 작동 방식을 이해하고 잠재적인 취약점을 식별하는 데 매우 중요합니다.

이 실습에서는 프록시 설정, 프록시를 사용하도록 Gobuster 구성, 스캔 실행 및 프록시 내 트래픽 관찰 과정을 안내합니다.

Burp Suite 또는 OWASP ZAP 과 같은 웹 프록시 시작하기

이 단계에서는 웹 프록시 애플리케이션을 시작합니다. 이 실습에서는 LabEx 환경에 사전 설치된 OWASP ZAP 을 사용합니다. OWASP ZAP 은 웹 트래픽을 가로채고 분석할 수 있는 그래픽 인터페이스를 제공합니다.

먼저, 열려 있는 터미널 창이 없다면 새 터미널 창을 엽니다. 그런 다음 OWASP ZAP 을 실행합니다.

/opt/zaproxy/zap.sh &

실행 후 OWASP ZAP 이 시작됩니다. ZAP 세션을 유지할 것인지 묻는 프롬프트가 표시될 수 있습니다. 이 실습에서는 "No, thanks"를 선택하고 "Start"를 클릭하면 됩니다.

ZAP 이 실행되면 메인 인터페이스가 표시됩니다. 이는 프록시 애플리케이션이 구성될 준비가 되었음을 나타냅니다.

특정 포트에서 수신 대기하도록 프록시 구성하기

이 단계에서는 OWASP ZAP 이 특정 IP 주소와 포트에서 수신 대기하도록 구성합니다. 기본적으로 ZAP 은 종종 127.0.0.1:8080에서 수신 대기합니다. 이 설정을 확인하겠습니다.

OWASP ZAP 에서:

  1. Tools -> Options... (ZAP 버전에 따라 File -> Options...) 로 이동합니다.
  2. 옵션 대화 상자에서 Network 섹션 아래의 Local Proxies로 이동합니다.
  3. 주소가 127.0.0.1이고 포트가 8080인지 확인합니다. 다른 경우 여기서 수정할 수 있지만, 이 실습에서는 127.0.0.1:8080을 사용합니다.
  4. OK를 클릭하여 옵션 대화 상자를 닫습니다.

이 구성은 ZAP 이 지정된 주소와 포트에서 들어오는 연결을 수신 대기하고 트래픽을 가로챌 준비가 되었음을 보장합니다.

Gobuster 에서 -p 플래그를 사용하여 프록시 URL 지정하기

이 단계에서는 방금 구성한 프록시를 통해 트래픽을 라우팅하도록 Gobuster 에 지시하는 방법을 배웁니다. Gobuster 는 이 목적을 위해 -p (또는 --proxy) 플래그를 제공하며, 이를 통해 프록시 URL 을 지정할 수 있습니다.

프록시 URL 의 형식은 일반적으로 http://<IP_ADDRESS>:<PORT>입니다. ZAP 프록시가 127.0.0.1:8080에서 수신 대기하므로 프록시 URL 은 http://127.0.0.1:8080이 됩니다.

이 프록시 설정을 포함하는 Gobuster 명령을 준비할 것입니다. 시연을 위해 간단한 대상, 예를 들어 http://example.com을 사용할 것입니다.

echo "gobuster dir -u http://example.com -w /usr/share/wordlists/dirb/common.txt -p http://127.0.0.1:8080" > ~/project/gobuster_command.sh
chmod +x ~/project/gobuster_command.sh

이 명령은 프록시 플래그가 포함된 Gobuster 명령을 포함하는 스크립트 gobuster_command.sh~/project 디렉토리에 생성합니다. 이 스크립트는 다음 단계에서 실행됩니다.

Gobuster 스캔 실행하기

이 단계에서는 이전 단계에서 준비한 명령을 사용하여 Gobuster 스캔을 실행합니다. 이렇게 하면 디렉토리 무차별 대입 (brute-forcing) 프로세스가 시작되며, 모든 HTTP 트래픽은 OWASP ZAP 을 통해 라우팅됩니다.

새 터미널을 열거나 기존 터미널을 사용하여 스크립트를 실행합니다.

~/project/gobuster_command.sh

터미널에서 Gobuster 의 출력을 볼 수 있으며, 발견된 디렉토리와 파일을 보여줍니다. Gobuster 가 실행되는 동안 ZAP 을 통해 요청을 보내고 있습니다. 스캔은 단어 목록 크기와 대상의 응답성에 따라 완료하는 데 몇 분 정도 걸릴 수 있습니다. example.com의 경우 간단한 대상이므로 비교적 빠르게 완료될 것입니다.

/usr/bin/gobuster: line 1: syntax error near unexpected token `newline'
/usr/bin/gobuster: line 1: `#!/bin/bash'

참고: 위의 출력은 예시입니다. 실제 출력은 약간 다를 수 있습니다.

프록시 기록에서 Gobuster 트래픽 관찰하기

이 마지막 단계에서는 OWASP ZAP 내에서 Gobuster 가 생성한 HTTP 트래픽을 관찰합니다. 이곳에서 요청과 응답을 분석하고, 패턴을 식별하며, 잠재적으로 취약점을 발견할 수 있습니다.

OWASP ZAP 애플리케이션으로 다시 전환합니다.

  1. 왼쪽 패널에서 Sites 트리를 찾습니다. http://example.com이 나열된 것을 볼 수 있습니다.
  2. http://example.com을 확장한 다음 http를 확장합니다. Gobuster 가 액세스하려고 시도한 경로 (예: /, /index.html, /robots.txt 등) 와 HTTP 메서드 (예: GET) 목록이 표시됩니다.
  3. 이러한 항목 중 하나를 클릭합니다. 하단 패널에서 RequestResponse 탭을 볼 수 있으며, Gobuster 가 보낸 전체 HTTP 요청과 서버의 해당 응답을 보여줍니다.

이를 통해 Gobuster 의 트래픽이 프록시를 통해 성공적으로 라우팅되었음을 확인할 수 있으며, 상세한 검사가 가능합니다. 이 기능은 고급 웹 애플리케이션 테스트에 필수적입니다.

요약

이 실습에서는 웹 프록시를 통해 Gobuster 트래픽을 라우팅하는 방법을 성공적으로 학습했습니다. OWASP ZAP 을 시작하고, 프록시 구성을 확인했으며, -p 플래그를 사용하여 Gobuster 의 요청을 프록시를 통해 지시하고, 스캔을 실행한 다음, 마지막으로 ZAP 내에서 가로챈 트래픽을 관찰했습니다. 이 기술은 모든 웹 침투 테스터에게 기본이 되며, 자동화된 도구 트래픽에 대한 더 깊은 분석과 조작을 가능하게 합니다. 도구를 프록시하는 방법을 이해함으로써 테스트 프로세스에 대한 더 큰 제어력과 가시성을 확보하여 보다 효과적인 취약점 발견으로 이어집니다.