아임노드

[SK shieldus Rookies 23기] 11월 13일 공부 기록_웹 취약점 진단 도구 이용하기 #1 본문

[SK shieldus Rookies 23기] 공부 노트/SK shieldus Rookies 공부 기록

[SK shieldus Rookies 23기] 11월 13일 공부 기록_웹 취약점 진단 도구 이용하기 #1

Noody 2024. 11. 13.

 

애플리케이션 보안 강의에서 언급된 도구들이 있는데

정리하자면,

  • DAST : Burpsuite(pro), Nikto, OWASP-ZAP, Acunectix
    • SubDomain : subfinder, dnsenum
    • Parameter : nucleiFuzzer
    • Peq+Res Verify : curl

이 도구들만 이용해도 웹 취약점 진단이 가능하다.

 

각 도구의 모든 기능을 이용하는 것이 아니며, 도구를 사용하는 방법과 필요한 핵심 기능에 대해서만 간략히 정리해보고자 한다.

 

* 주의할 점은 자동화된 진단도구는 방화벽이 있는 웹사이트를 진단하다가 IP가 막힐 수 있다.

따라서 진단하고자 하는 대상주소가 방화벽이 있는지 없는지 확인 후 진행하도록 한다.


시작하기 전..

 

> 먼저 모든 도구 사용은 보안 실습과 테스트 환경을 격리하고 관리하기 위해 pentestlab 계정에서 실시한다.

# sudo su
# cd pentestlab

 

 

> 실습을 위해 의도적으로 취약한 웹 환경 juiceshop을 이용한다.


Nikto

1. 아래 코드를 이용해 Nikto 도구 사용 (-h 옵션은 host를 의미함)

# nikto -h [대상주소]
# nikto -h http://juiceshop/

 

2. Enter 후 자동으로 진단 시작 및 취약점 확인

경로 노출


 

OWASP-ZAP

 

1. OWASP-ZAP 설치

기본적으로 칼리에 설치되어 있지 않기 때문에 아래 명령어를 통해 설치를 진행한다.

# owasp-zap

 

Do you want to install it? (N/y) > y 로 설치

 

설치 완료 후 다시 위 명령어를 그대로 입력해준다.

 

2. 설치 후 ZAP 프로그램 실행

설치 완료 후 다시 owasp-zap을 실행한다며 자동으로 프로그램이 나타난다.

 

 

> Automated Scan 탭을 주로 이용

 

> 타겟이 되는 URL 입력 Attack 버튼 클릭

 

> Attack 후 Alerts 탭에서 결과 확인하기

Alerts 탭이 Active Scan에 대한 결과값을 보여준다.

 


서브 도메인을 찾는 도구 : subfinder, dnsenum

1. OWASP-ZAP과 동일하게 설치 진행

# subfinder

 

2-1. subfinder-d 옵션을 통해 대상 주소의 하위 도메인을 찾는다.

(-d 옵션은 domain을 뜻함)

# subfinder -d [대상주소]

2-2. dnsenum은 옵션없이 바로 대상 주소를 작성한다.

* subfinder을 보다 추천하며, dnsenum에서 나오고 싶다면 [ctrl+c]

# dnsenum google.com
# dnsenum [대상주소]

 


 

파라미터의 취약점을 찾는 도구 : NucleiFuzzer

1. 칼리 리눅스 안에서 nucleiFuzzer 서치

 

2. 깃허브 페이지에서 주소 복사

 

3. Desktop 경로에서 'git clone [복사한주소]'로 NucleiFuzzer 받기

 

4. 아래 경로 및 명령어 따라 설치 진행

┌──(root㉿kali)-[/home/kali/Desktop]
└─# cd NucleiFuzzer --------------> 생성된 NucleiFuzzer 디렉토리로 이동
                                                              
┌──(root㉿kali)-[/home/kali/Desktop/NucleiFuzzer]
└─# ls
install.sh  NucleiFuzzer.sh  README.md
                                                              
┌──(root㉿kali)-[/home/kali/Desktop/NucleiFuzzer]
└─# chmod 777 install.sh --------------> 실행 권한 부여
                                                              
┌──(root㉿kali)-[/home/kali/Desktop/NucleiFuzzer]
└─# ./install.sh --------------> .sh 파일 실행          
NucleiFuzzer has been installed successfully! Now Enter the command 'nf' to run the tool.
                                                              
┌──(root㉿kali)-[/home/kali/Desktop/NucleiFuzzer]
└─#

 

4. nf 명령어를 통해 추가적인 데이터 가져오기

 

5. 사용하기

# nf -d vulnhub.com
# nf -d [대상주소]

 

* 사용 중 필요시 go언어 설치

# apt install golang-go -y

* 문제가 있을 시 수동으로 진단할 수 있는 명령어 진행해보기

# nuclei -target http://vulnhub.com

또는

# nuclei
# cd output
# ls
# nuclei -list vulnhub.com.yaml

Request and Respone을 받는 도구 : Curl

1. 사용

-x : method

-v : 자세하게 보겠다.

# curl -X GET -v http://vulnhub.com
# curl -X GET -v [대상주소]

 

2. 확인

> Request Header 부분

 

> Respone 부분

 

> OPTIONS 메서드 사용해보기

# curl -X OPTIONS -v http://vulnhub.com