과제

ffuf 설치 및 사용

ilsancityboy 2024. 11. 15. 10:38

블랙박스 웹 보안 진단을 위해 Windows 로컬 환경에서 AWS EC2(리눅스)에 배포된 그누보드 서버를 대상으로 진행하는 과정입니다. 첫 번째 단계로 ffuf를 사용한 디렉토리 및 파일 탐색을 실시했습니다. 아래는 전체적인 설치와 단계별 설명입니다.

 

먼저 XAMPP + 그누보드를 AWS ec2(리눅스) 에 올려두어 간단하게 커뮤니티 웹 사이트를 열어두었다.

이 사이트를 대상으로 블랙입장에서 서버내부 정보없이 각종 공격을 해 취약점 진단을 할 것이다.

 

첫 번째 단계로 ffuf를 사용한 디렉토리 및 파일 탐색을 실시했다.

ffuf는 웹 애플리케이션의 숨겨진 디렉토리와 파일을 탐색하는 브루트포싱 도구이다.

naver/login

naver/join

등등 url에 미리 준비된 단어들을 바꿔가며 요청을 보냄으로써 존재하는 디렉토리나 파일을 찾을 수 있다.

URL 경로뿐 아니라 파라미터, 헤더, JSON 데이터 등을 대상으로 브루트포싱을 할 수 있어 API 테스트에도 유용하다.

 

 

1.1. Git 설치

https://git-scm.com/downloads/win

 

Git - Downloading Package

Download for Windows Click here to download the latest (2.47.0(2)) 64-bit version of Git for Windows. This is the most recent maintained build. It was released on 2024-10-22. Other Git for Windows downloads Standalone Installer 32-bit Git for Windows Setup

git-scm.com

워드리스트를 다운로드하기 위해 Git을 설치한다

 

 

 

 

1.2. Go 설치

ffuf는 Go 언어로 작성된 프로그램이므로 Go 언어를 설치한다.

https://go.dev/dl/

 

All releases - The Go Programming Language

 

go.dev

자신의 os에 맞게 설치한다.

 

 

1.3. ffuf 설치

go install github.com/ffuf/ffuf@latest

명령어를 입력해 ffuf를 설치하고 ffuf는 GOPATH/bin에 위치하게 된다.

기본 경로는 C:\Users\YourUsername\go\bin이며

환경 변수에 GOPATH/bin을 추가하여 어디서나 ffuf를 사용할 수 있도록 설정했다.

 

 

1.4

git clone https://github.com/danielmiessler/SecLists.git

SecLists 워드리스트 다운로드

 

다운로드된 SecLists 폴더에는 웹 보안 테스트용 워드리스트가 포함되어 있다.

이 중에서 SecLists/Discovery/Web-Content/common.txt 파일을 사용할 예정이다.

 

 

 

2.1. ffuf 기본 탐색

설치가 완료되었으면 ffuf를 사용하여 서버에서 숨겨진 디렉토리와 파일을 탐색할 수 있습니다. 예를 들어, gnuboard 디렉토리 아래의 숨겨진 경로를 찾기 위해 다음 명령어를 사용합니다.

ffuf -u http://[리눅스ip]/FUZZ -w SecLists/Discovery/Web-Content/common.txt

 

 

adm , bbs ,css , data . .. . 등등 몇 가지 유용한 디렉토리와 파일을 발견했고 이에 따른 상태까지 확인이 가능하다.

301 - URL이 다른곳으로 리디렉션을 의미

200 - 접근가능

403 - 상태 코드 403은 접근이 금지된 디렉토리나 파일을 의미.

.htaccess와 .htpasswd 파일은 웹 서버 설정 파일 및 인증 정보 파일로, 매우 중요한 정보를 포함할 수 있다.

비록 접근이 금지되어 있지만, 추가적인 우회 방법을 탐색할 가치가 있다.

 

 

실제로 ffuf로 얻어낸 정보로 301을 반환한다고 알려주던 css 단어를  url에 넣고 접근 한 결과 

디렉토리 리스팅 취약점이 있는것을 바로 발견했다.

 

 

 

 

3. 다음 단계

ffuf를 통해 발견한 디렉토리와 파일을 바탕으로 추가 보안 테스트를 진행합니다.

  1. XSS 및 SQL Injection 테스트: 발견한 페이지의 입력 필드에 XSS와 SQL Injection 페이로드를 넣어 테스트합니다.
  2. 인증 및 세션 관리: 로그인 페이지가 발견되면, 약한 비밀번호를 테스트하거나 세션 하이재킹 취약점을 탐색합니다.
  3. 파일 업로드 및 Command Injection: 파일 업로드 기능이 있는 경우 파일 확장자를 우회하여 악성 스크립트를 업로드할 수 있는지 확인합니다.
  4. 자동화 도구 사용: Burp Suite나 OWASP ZAP을 통해 발견된 경로에 대한 추가 진단을 자동화합니다.