본문 바로가기
개인 공부/WEB

burp suite로 nikto 동작 살펴보기 -2

by 아메리카노와떡볶이 2022. 11. 12.
728x90
burp suite로 nikto 동작 살펴보기 -2

 

지난 글에서 nikto를 이용해서 dvwa 환경에 웹 스캐닝을 해보고 취약점들을 찾아보았습니다.

https://man-25-1.tistory.com/263

 

burp suite로 nikto 동작 살펴보기 -1

burp suite로 nikto 동작 살펴보기 참고게시물 https://webhack.dynu.net/?idx=20161206.001 nikto와 owasp-zap 연동 • 웹 해킹 훈련장 172.16.15.116 40080/tcp 대상 공개용 도구 기반의 홈페이지 취약점 점검 실습 (20200507)

man-25-1.tistory.com

이번에는 burp suite를 통해 nikto가 보낸 패킷들을 살펴보면서 어떤 방식으로 웹 스캐닝을 수행하는지 알아봅시다.

 

 

0. 웹 스캐닝?

웹 스캐닝은 기본적으로 타겟에 HTTP 요청을 보낸뒤에 이에 대한 응답 코드를 가지고

해당 요청에 대한 페이지가 존재하는지? 어떤 파일들이 존재하는지 ? 어떤 부분이 취약한지 등을 판별한다.

잘 알려진 nmap을 이용한 스캐닝 방식도 마찬가지다. 

 

따라서 nikto 가 동작하는 동안 서버에 보낸 request 패킷을 통해 어떤식으로 동작하는지 유추할 수 있다.

 

 

1. burp suite를 이용해서 request 패킷 살펴보기

먼저 status 코드가 200인 request에 대해서 살펴보자. 응답코드가 200이라는 것은 요청에 대한 응답이 정상적으로 이루어진 것이다.

 

가장 먼저 눈에 띄는것이 config, database, docs 이다. 

결과적으로 dvwa 에서는 config, database, docs 페이지가 노출되어 있었기때문에 스캐닝을 통해 취약점이 노출된 것이다.

config 페이지가 있는지 확인하는 request 패킷이다.  GET 방식으로 /dvwa/config/ 를 요청한다.

또한 user-agent에 Nikto 가 보인다.

 

그 외에도 test, php.ini, robots.txt, README, index.html 등의 request를 통해 취약한 디렉토리를 탐지한다.

 

 

다음은 응답코드가 302인 request 패킷을 살펴보자.

응답코드가 302라는 것은 redirect 되었다는 것이다. 즉 dvwa 웹 설정에 의해서 특정 입력값을 넣었을 때

404 not found를 응답하는 것이 아닌 로그인 페이지나 홈 으로 redirect 되도록 설정된 것이다.

 

전체적으로 봤을때 302 응답코드에 대한 요청패킷들은 파라미터를 같이 보낸 경우가 많다.

xss를 시도하려는 패킷도 보이고, cmd 명령을 실행하려는 코드도 보인다. 

또한 sc_mode = edit 처럼 편집모드로 동작하려는 파라미터도 보인다.

 

즉 숨겨진 디렉토리가 노출되는 문제를 탐색하는 것 뿐 아니라 , 각 디렉토리를 대상으로 여러 파라미터를 시도해보면서

공격도 시도한다.

 

현재 위의 패킷은 get 방식의 패킷에 매개변수로 공격스크립트를 넣어서 보내고 있다.

 

이 패킷 또한 마찬가지다 dvwa/index.php 에 쿠키를 출력하는 공격스크립트를 삽입해서 request 를 보내고 있다.

 

위의 두 패킷은 index.php에서 page 에 대한 파라미터로 시스템의 설정파일과 계정정보가 담긴 etc/passwd 를 출력하도록 하고 있다.

 

현재 서버에서 웹이 실행되고 있는 위치가 /var/www/html/dvwa 라 했을때 가장 상위폴더로 가서 /etc/passwd를 출력하도록 유도하는 것이다.

 

매우 일부분만 살펴봤지만 nikto database에 존재하는 testcase는 정말 많다.

 

nikto는 아주 다양한 방식으로 웹 취약점을 스캐닝하는데 해당 내용을 확인하고싶다면

/usr/share/nikto/database 에 가면 testcase로 사용하는 데이터들을 확인할 수 있다.

grep -i [keyword] /usr/share/nikto/databases/db_*

로 입력을 하면 해당 keyword에 대한 테스트케이스를 볼 수 있다.

 

728x90

댓글