일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- overthewire bandit level 0
- 혼자공부하는네트워크
- 혼공네트
- overthewire bandit 문제
- 네트워크문제
- bandit level 11 -> level 12 문제풀이
- sk루키즈
- 티스토리챌린지
- 포인터와 배열
- sk shieldus rookies 23기
- bandit level
- 해킹
- 공부기록
- 오블완
- 네트워크이론정리
- 함수와 디버깅
- 객체지향
- overthewire bandit 문제풀이
- 정보보안
- 취약점진단
- bandit 문제풀이
- Dreamhack
- 보안
- bandit 비밀번호
- 데이터와 로직
- 네트워크정리
- kbdinteractiveauthentication
- overthewire 문제
- AWS
- web hacking
- Today
- Total
아임노드
[SK shieldus Rookies 23기] 11월 13일 공부 기록_웹 취약점 진단 도구 이용하기 #1 본문
[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