블랙박스 웹 보안 진단을 위해 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 언어를 설치한다.
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를 통해 발견한 디렉토리와 파일을 바탕으로 추가 보안 테스트를 진행합니다.
- XSS 및 SQL Injection 테스트: 발견한 페이지의 입력 필드에 XSS와 SQL Injection 페이로드를 넣어 테스트합니다.
- 인증 및 세션 관리: 로그인 페이지가 발견되면, 약한 비밀번호를 테스트하거나 세션 하이재킹 취약점을 탐색합니다.
- 파일 업로드 및 Command Injection: 파일 업로드 기능이 있는 경우 파일 확장자를 우회하여 악성 스크립트를 업로드할 수 있는지 확인합니다.
- 자동화 도구 사용: Burp Suite나 OWASP ZAP을 통해 발견된 경로에 대한 추가 진단을 자동화합니다.
'과제' 카테고리의 다른 글
그누보드 대상 주요정보통신기반 웹 취약점 항목 진단 (3) | 2024.12.07 |
---|---|
정보보안기사 준비 (필기 2022 버전) (0) | 2024.11.09 |
프로젝트 주제 제시 - 동적 권한 관리 시스템 프로젝트 (1) | 2024.09.13 |
HTTP / HTTPS (SSL,TLS) (0) | 2023.10.14 |
VMC 패턴 (0) | 2023.09.30 |