주요 내용

디렉토리 트래버스(디렉토리 리스팅이라고도 함)는 윤리적 해커가 정찰 단계에서 웹 서버 또는 소프트웨어 프로그램 내에 숨겨진 디렉토리와 데이터를 발견하기 위해 사용하는 기본 전술입니다.

리눅스에서는 DIRB, DirBuster, Gobuster, ffuf, dirsearch 등 다양한 디렉터리 버스팅 도구를 제공하고 있으며, 이를 활용할 수 있습니다.

이 소프트웨어는 웹 서버에 대한 HTTP 요청을 자동으로 실행하고 사이트의 탐색 구조나 사이트맵을 통해 사용할 수 없는 추가 리소스를 찾기 위해 광고되지 않은 디렉터리를 탐색할 수 있습니다.

웹 애플리케이션 침투 테스트의 초기 평가 단계에서는 취약점 식별 및 전반적인 보안 강화와 관련된 중요한 데이터와 인사이트를 포함할 수 있는 애플리케이션 내 잠재적 디렉터리를 식별하는 것이 중요합니다.

다행히도 웹 애플리케이션 내에서 숨겨진 디렉터리를 식별하는 것과 관련하여 이 작업을 자동화하고 가속화하여 디렉터리 열거 프로세스를 용이하게 하는 온라인 리소스가 존재합니다. 다음은 이러한 목적으로 설계된 5가지 Linux 기반 유틸리티 목록입니다.

디렉토리 버스팅이란 무엇인가요?

일반적으로 “무차별 대입” 디렉토리 구조라고도 하는 디렉터리 버스팅 프로세스는 웹 서버 인프라 내에서 숨겨진 디렉토리와 파일을 발견할 수 있는 윤리적 해킹의 필수적인 부분입니다. 이 방법론은 디렉토리 명명 규칙에 대한 교육받은 추측 또는 널리 사용되는 디렉토리 이름과 확장자의 철저한 열거를 사용하여 시행착오를 거치면서 다양한 디렉토리 경로를 체계적으로 탐색하는 것을 수반합니다.

디렉토리 버스팅은 사이트의 탐색 구조나 사이트맵에 명시적으로 홍보되거나 표시되지 않은 자산을 찾기 위해 다양한 디렉토리와 파일 이름을 탐색하여 웹 서버로 HTTP 문의를 전송하는 자동화된 소프트웨어 또는 스크립트 프로그램을 활용하여 실행되는 경우가 많습니다.

여러 온라인 리소스에서 디렉토리 버스팅을 수행할 수 있는 다양한 옵션을 제공하며, 그 중 상당수는 무료로 이용할 수 있습니다. 모의 침투 테스트를 수행할 계획이 있는 경우 사용할 수 있는 무료 유틸리티 목록은 다음과 같습니다:

DIRB

널리 사용되는 Linux 명령줄 유틸리티인 DIBR은 웹 애플리케이션 내의 디렉터리를 스캔하고 무차별 대입하기 위해 설계되었습니다. 사전 정의된 단어 목록을 사용하여 DIRB는 지정된 웹 사이트의 URL(유니폼 리소스 로케이터)을 조사하여 잠재적인 디렉터리 경로를 체계적으로 식별합니다.

이 글도 확인해 보세요:  리눅스에 WinRAR을 설치하여 RAR 파일을 추출하는 방법

칼리 리눅스에는 DIRB가 사전 설치되어 있지만, 이 소프트웨어가 없는 사용자도 간단한 설치 명령을 실행하여 쉽게 얻을 수 있습니다.

데비안 기반 운영 체제용 명령을 실행하려면 터미널 또는 명령 프롬프트에 다음 명령을 입력하세요:

 sudo apt install dirb 

Fedora 또는 CentOS와 같은 데비안 기반이 아닌 Linux 배포판에 설치하려면 다음 명령을 실행하세요:

 sudo dnf install dirb 

Arch Linux 설치에서 명령을 실행하려면 터미널에 다음 명령을 입력합니다:

 yay -S dirb 

DIRB를 사용하여 디렉터리를 무차별 대입하는 방법

웹 애플리케이션에서 디렉터리 무차별 대입 공격을 수행하려면 다음 단계를 활용할 수 있습니다:

 dirb [url] [path to wordlist] 

에 대한 무차별 암호 대입 공격의 예는 다음 명령을 사용하여 실행할 수 있습니다:

 dirb https://example.com wordlist.txt 

디렉터리 제출 테스트(DIRB) 명령을 실행할 때 특정 단어 목록을 제공하거나 대상 웹 사이트에서 스캔 프로세스를 수행하는 데 사용할 DIRB의 사전 정의된 기본 단어 목록인 “common.txt”를 사용하는 옵션을 사용할 수 있습니다.

 dirb https://example.com 

DirBuster

DirB와 DirBuster는 모두 디렉터리 무차별 대입을 수행한다는 목적은 같지만, 접근 방식이 다릅니다. DirB는 명령줄 도구로 작동하는 반면, DirBuster는 향상된 사용성을 위해 그래픽 사용자 인터페이스를 제공합니다. DirB를 사용하면 특정 상태 코드 또는 기타 관련 기준에 따라 결과를 필터링하는 등 원하는 대로 스캔 구성을 유연하게 사용자 지정할 수 있습니다.

사용자는 프로세스에 사용되는 스레드 수를 지정하고 소프트웨어 범위 내에서 검사 대상 파일 확장자를 정의하여 원하는 스캔 속도를 유연하게 설정할 수 있습니다.

원하는 웹 페이지의 URL을 입력하고, 원하는 단어 목록을 선택하고, 원하는 파일 유형을 지정하고, 필요한 동시 스레드 수를 선택적으로 결정한 후 “시작”을 클릭하여 프로세스를 시작하십시오.

스캔 프로세스 중에 DirBuster는 탐지된 디렉터리와 파일을 표시하는 사용자 친화적인 인터페이스를 제공합니다. 시스템은 발견된 요소의 해당 경로와 함께 “200 OK” 또는 “404 Not Found”와 같은 각 문의의 응답 상태에 관한 정보를 제공합니다. 또한 사용자는 스캔 결과를 세부 검사 및 문서화 목적에 적합한 파일 형식으로 내보낼 수 있는 옵션이 있습니다.

이 글도 확인해 보세요:  Iotas: 넥스트클라우드 노트와 동기화되는 마크다운 기반 노트 필기 Linux 앱

DirBuster는 Kali Linux에 설치되어 있지만, 쉽게 우분투 에 DirBuster를 설치할 수 있습니다 .

고버스터

고버스터는 Go 프로그래밍 언어를 사용하여 개발된 고급 명령줄 유틸리티로, 웹사이트 내의 디렉토리와 파일을 체계적으로 조사하고 Amazon S3 버킷, DNS 하위 도메인, 지정된 웹 서버의 가상 호스트 이름, TFTP 서버 등과 같은 다양한 대상을 탐색할 목적으로 설계되었습니다.

칼리 리눅스와 같은 데비안 기반 운영 체제에 고버스터를 성공적으로 통합하려면 다음 명령을 실행하세요:

 sudo apt install gobuster 

레드햇 엔터프라이즈 리눅스(RHEL) 및 관련 배포판에 대한 보안 감사를 수행하려면 터미널 또는 명령 프롬프트에서 다음 명령을 실행합니다:

 sudo dnf install gobuster 

Arch Linux 설치에서 명령을 실행하려면 터미널 또는 명령 프롬프트에 다음 명령을 입력합니다:

 yay -S gobuster 

소프트웨어가 컴퓨터에 이미 설치되어 있다고 가정하고 터미널 또는 명령 프롬프트에 “Go”라는 Go용 패키지 관리자를 사용하여 이 명령을 실행할 수도 있습니다.

 go install github.com/OJ/gobuster/v3@latest 

고버스터 사용 방법

고버스터를 사용하여 웹 애플리케이션에 디렉토리 트래버스 공격을 수행하려면 다음 명령을 실행합니다: “`bash gobuster -d –type= http:// /. “` 여기서 ``는 대상 디렉터리를 가리키고, ``은 URL의 취약한 매개 변수에 의해 예상되는 입력 유형을 지정합니다. ‘http://` 부분은 공격에 HTTP 프로토콜을 사용해야 함을 나타냅니다.

 gobuster dir -u [url] -w [path to wordlist] 

.com’의 디렉토리 구조에 대한 무차별 대입 공격을 시도하기 위해 다음 명령을 실행할 수 있습니다:

 gobuster dir -u https://example.com -w /usr.share/wordlist/wordlist.txt 

ffuf

Ffuf는 Go 프로그래밍 언어를 사용하여 개발된 매우 빠른 웹 퍼징 및 디렉토리 탐색 유틸리티로, 뛰어난 적응성을 자랑하며 빠른 성능과 사용자 친화적인 인터페이스로 악명을 얻고 있습니다.

프로그래밍 언어 Go를 사용하여 개발된 “ffuf”의 기능을 활용하기 위해서는 Linux 컴퓨터 시스템에 호환되는 Go 버전(특히 1.16 이상)이 설치되어 있어야 합니다. 현재 설치되어 있는 Go가 필수 사양을 충족하는지 확인하려면 다음 명령을 실행하세요:

 go version 

FFUF 도구의 설치 프로세스를 실행하려면 터미널 또는 명령 프롬프트에서 다음 명령을 활용하시기 바랍니다:

 go install github.com/ffuf/ffuf/v2@latest 

또는 GitHub 리포지토리를 복제하고 다음 지시어를 사용하여 구성할 수도 있습니다.

 git clone https://github.com/ffuf/ffuf ; cd ffuf ; go get ; go build 

ffuf를 사용하여 디렉토리를 무차별 대입하는 방법

ffuf를 사용하는 디렉터리 무차별 대입 방법 중 하나는 다음과 같이 구분할 수 있는 구문을 활용하는 것입니다:

 ffuf -u [URL/FUZZ] -w [path to wordlist] 

URL ” “로 웹사이트에 액세스하려면 특정 상황이나 상황에 따라 달라질 수 있는 적절한 명령을 입력할 수 있습니다.

 ffuf -u https://example.com/FUZZ -w wordlist.txt 

dirsearch

DirSearch는 웹 애플리케이션 내에서 디렉터리를 열거하는 목적으로 사용되는 추가 명령줄 도구로, 터미널 기반 애플리케이션으로 작동하지만 시각적으로 매력적인 출력으로 인해 인기를 얻고 있습니다.

이 글도 확인해 보세요:  우분투에서 OpenShot 충돌을 해결하는 4가지 방법

명령을 실행하여 pip를 활용하면 DirSearch를 얻을 수 있습니다:

 pip install dirsearch 

또는 터미널이나 명령 프롬프트에서 다음 명령을 실행하여 GitHub 리포지토리의 코드베이스를 다운로드할 수 있습니다:

 git clone https://github.com/maurosoria/dirsearch.git --depth 1 

dirsearch를 사용하여 디렉터리를 무차별 대입하는 방법

“dirsearch” 명령을 무차별 대입 방식으로 활용하기 위해 일반적으로 다음과 같은 기본 구문을 사용합니다:

 dirsearch -u [URL] 

“에서 호스팅되는 디렉터리에 대한 무차별 대입 공격을 시도하려면 다음 단계를 수행해야 합니다:

 dirsearch -u https://example.com 

사이버 보안에서 작업 자동화를 위한 도구 사용

의심할 여지 없이 이러한 리소스를 활용하면 이러한 디렉터리를 식별하는 프로세스를 크게 단축하여 수동으로 추측할 필요가 없어지고 사이버 보안 영역에서 귀중한 시간을 절약할 수 있습니다. 이 분야에서 효율성의 중요성을 고려할 때, 전문가들이 지속적으로 운영을 간소화하기 위해 오픈 소스 솔루션을 자주 사용하는 것은 주목할 만한 사실입니다.

다양한 작업에서 생산성을 향상하도록 설계된 Linux 기반 시스템에서 무료로 사용할 수 있는 수많은 리소스를 찾을 수 있습니다. 핵심은 이러한 옵션을 탐색하고 개인의 선호도와 요구 사항에 맞는 옵션을 선택하는 것입니다.

By 김민수

안드로이드, 서버 개발을 시작으로 여러 분야를 넘나들고 있는 풀스택(Full-stack) 개발자입니다. 오픈소스 기술과 혁신에 큰 관심을 가지고 있고, 보다 많은 사람이 기술을 통해 꿈꾸던 일을 실현하도록 돕기를 희망하고 있습니다.