점검 도구

OWASP-ZAP 도구

sheow13 2024. 2. 18. 15:53
728x90

 개요

- OWASP-ZAPOWASP에서 진행한 프로젝트 중 하나로, 웹 어플리케이션 취약점 진단을 위한 통합 도구

- OWASP TOP 10에서 제시하는 취약점 항목과 결합하여, 대상 웹 애플리케이션 보안 취약점을 자동으로 탐지(Active Scan)할 수 있음

- Burp Suite와 비슷하게 웹 프록시 기능 및 수동 점단 시 유용하게 사용하는 도구 중 하나

 

[웹 프록시 도구 도식도]

 

웹 브라우저 프록시 설정

- 웹 프록시란 클라이언트와 웹 서버 사이에 위치하여 주고 받는 패킷을 확인 및 중계 역할을 수행

- 프록시를 설정하기 위해서 우선 웹 브라우저에서 프록시 설정 필요

- 크롬 URL 입력창에 “chrome://settings” 입력 후 설정 화면으로 이동

- 설정 검색 란에 프록시검색 후 컴퓨터 프록시 설정 열기클릭

- 로컬 프록시의 경우 일반적으로 127.0.0.1:8080를 설정

 

 

OWASP-ZAP 프록시 설정

- Tools Options Local Proxy에서 웹 브라우저에 설정한 프록시 설정 값 입력

 

 OWASP-ZAP Break

- 웹 페이지 탐색 중 브레이크 기능을 이용하여 요청/응답 제어

- 브레이크를 설정하는 경우 사용자 요청 값 확인/변조 뿐만 아니라 서버 측 응답 값 확인/변조가 가능하다.

- 점검하고자 하는 URL 오른쪽 클릭 후 ‘Break’ 버튼 클릭

 

 

- 상단 박스의 경우 요청 헤더를 나타내며, 하단 박스의 경우 바디 값을 나타냄

 

- 상단에 있는 버튼을 통해 인터셉트를 제어할 수 있다.

초록색 : 패킷 인터셉트 기능 off 상태 / 빨강색 : 패킷 인터셉트 기능 on 상태

패킷 요청 및 응답을 순차적으로 Forward 하는 기능

패킷 요청 및 응답을 Forward 하는 기능

요청/응답 메시지를 초기화 하는 기능

설정 문자열에 매칭되면 인터셉트 On 실시

 

[인터셉트 제어하는 버튼]

 

[OWASP-ZAP Break 기능을 통해 인터셉트 및 HTTP Body값 변조 후 Forwarding 진행]

 

[OWASP-ZAP Break 기능을 통해 인터셉트 및 HTTP Body값 변조 후 Forwarding 진행]

 

 OWASP-ZAP Spider

- OWASP-ZAP Spider 기능은 점검하고자 하는 웹 서버를 크롤링 하는 기능으로서, 웹 취약점 점검 전 홈페이지 구조 및 디렉터리 사항을 파악하기 위해 사용

- 점검하고자 하는 URL‘Attack’ ‘Spider’ 버튼 클릭 ‘Start Scan’ 버튼 클릭

- 웹서버 구성하고 있는 디렉터리 정보를 불러오는 것을 확인

 

 

 OWASP-ZAP Spider

- OWASP-ZAP Forced Browse 기능은 디렉터리 강제 검색으로, 점검하고자 하는 웹 서버를 사전 파일을 통해 디렉터리 및 숨겨진 파일 등을 스캔하는 기능

- 웹 취약점 점검 전 정보 수집 목적으로 자주 사용

- 점검할 URL‘Attack’ ‘Forced Browse Site’ 버튼 클릭 점검 시 사용할 사전 파일을 클릭 후 시작 버튼 클릭

 

 

 OWASP-ZAP Forced Browse

- OWASP-ZAP Forced Browse 기능은 디렉터리 강제 검색으로, 점검하고자 하는 웹 서버를 사전 파일을 통해 디렉터리 및 숨겨진 파일 등을 스캔하는 기능

- 웹 취약점 점검 전 정보 수집 목적으로 자주 사용

- 점검할 URL‘Attack’ ‘Forced Browse Site’ 버튼 클릭 점검 시 사용할 사전 파일을 클릭 후 시작 버튼 클릭

 

 

 OWASP-ZAP Active Scan

- OWASP-ZAP의 자동화 스캔 기능으로, 점검할 웹 서버 스캔을 통해 내부에 존재하는 취약점 등을 확인할 수 있다.

- 점검할 URL‘Attack’ ‘Active Scan’ 버튼 클릭 시, 점검하고자 하는 범위, 인젝션 위치, 강도 등을 설정할 수 있다.

 

 

- Scope(범위)에서는 점검하고자 하는 URL 주소, Scan 정책 등을 설정할 수 있으며 세부 설정을 원할 경우, ‘Show Advanced Options’ 버튼을 통해 설정 가능하다.

 

- Input Vectors(입력값)에서는 인젝션을 수행할 위치를 지정하는 탭으로, HTTP 헤더, 쿠키 등에도 인젝션을 수행할지 여부 등을 설정할 수 있다.

 

- Technology(기술)에서는 인젝션을 수행할 환경을 설정하는 탭으로, 만일 점검하고자 하는 웹 서버의 환경(Ex, PHP, Linux)을 하고 있다면 해당 부분만 체크해서 점검할 것을 권고

 

- Policy(정책)에서는 인젝션을 수행할 메소드를 선택, 임계치 설정, 강도 설정 등을 설정할 수 있는 탭으로, 점검하고자 항목 및 강도 설정을 통해 점검하고자 하는 서버에 영향이 최대한 가지 않도록 설정 권고

Policy 항목

Client Browser : 클라이언트 브라우저의 취약점을 스캔

Information Gathering : 정보 수집이 주 목적으로, 주로 디렉토리 인덱싱, 백업 파일 누출 등을 스캔

Injection : 공격을 삽입하는 파트로, SQL Injection, XSS 취약점 여부를 점검

Miscellaneous : 이외에 공격을 다루는 파트로, External Redirect 등의 취약점을 점검

Server Security : 서버 보안 상태를 점검하는 파트로, CSRF 토큰 존재 여부 등을 점검

 

Threshold

Off : 해당 항목을 점검을 진행하지 않음

Default : 기본 값으로, 보통은 Default로 설정하여 점검(Medium 레벨)

Low : 임계값을 낮게 설정한 것으로, 잠재적인 취약점이 존재할 것으로 판단되는 모든 부분을 취약점으로 표시. 미탐 가능성이 높아질 가능성이 있음

High : 임계값을 높게 설정한 것으로, 실제 취약점으로 판단되는 부분을 취약점으로 표시. 오탐 가능성이 높아질 가능성이 있음

 

Strength

Default : 기본 값으로, 보통은 Default로 설정하여 점검(Medium 레벨)

Low : Low 수준의 패턴을 인젝션 하는 것으로, 공격하는 패턴의 수가 적음

High : High 수준의 패턴을 인젝션 하는 것으로, 공격하는 패턴의 수가 많음

Insane : High보다 공격하는 패턴의 수가 많으며, 시스템의 영향이 크기 때문에 부분적인 범위에서만 사용할 것을 권고

 

- Active Scan 결과로 나온 취약점이 실제로 취약점이 있는지 점검 및 획득한 정보를 토대로 추가적인 공격 가능여부 체크

 

'점검 도구' 카테고리의 다른 글

Wireshark 도구  (0) 2024.02.21
Burp Suite 도구  (2) 2024.02.20
commix 도구  (0) 2024.01.05
SQLMap 도구  (1) 2024.01.01
weevely 도구  (0) 2024.01.01