Open Source/Kali Linux

[Web Vulnerability Scanners] W3AF On Kail Linux - (2. 커맨드 기본 사용법)

DarkSoul.Story 2013. 8. 22. 11:11
반응형




콘솔 실행 명령어를 입력하면, 몇초 동안 W3AF 콘솔이 동작하지 않는것 처럼 보일 수 있다. 하지만 눈에 보이지 않을 뿐 정상적으로 빌드를 하고 있는 것이기에 잠시 여유를 가지고 기다리자. W3AF 콘솔이 빌드가 완료되면 위에서 보듯이 명령어를 입력할 수 있는 프롬프트 [w3af>>> ] 가 생성된다.


명령어 프롬프트가 생성되었다. 이상태에서 우리는 w3af 콘솔에서 사용가능한 명령어가 어떤것이 있는지 알지 못하기 때문에 [help]명령어를 입력하여, 사용가능한 명령어 리스트를 확인하자. 참고로 [help] 명령어는 여기서만 사용할 수 있는것이 아니라 다른 명령어들과 같이 사용이 가능하다. 명령어 사용 방법이 궁금하다면 언제든지 [help] 명령어를 입력하기 바란다.



출력된 명령어들은 W3AF 콘솔을 사용하기 위한 설정 명령어들이다. 위 명령어들을 이용하여 기본적인 설정을 하지 않으면, W3AF 콘솔을 사용할 수 없다. 


웹 취약점 스캔을 진행할 대상에 대해서 설정해보자. 대상을 설정할 때는 [target] 명령어를 이용한다. [target] 명령어를 입력하면, 명령어 프롬프트는 [w3af/config:target>>> ]로 변경된다. 명령어 프롬프트를 보고 현재 어떤 명령어를 사용하여 설정을 하고 있는지 확인이 가능하다. 그렇다면 [target] 명령어를 이용하여, 설정을 해야 하는데 여기서 사용 가능한 다른 명령어는 어떤것이 있을까? 궁금하면? [help] 명령어를 입력해 본다. [help] 명령어를 입력하면 아래와 같이 [target] 에서 사용 가능한 명령어 리스트를 출력한다.



여기서 대상 URL을 설정하는 명령어는 [set] 명령어이다. 참고로 각 명령어 사용방법을 알고 싶다면? 명령어 앞에 [help]를 입력해 주면된다.



위에서 보듯이 [set] 명령어는 [set + parameter + value]순으로 입력하여 사용한다.


설정한 값은 [view] 명령어를 이용하여 확인이 가능하다. 여기서 주의해야 할 점은 W3AF v1.5 이하 버전에서는 [set] 명령어를 이용해서 값을 입력하면 입력하는 즉시 저장이 되었다. 하지만 W3AF v1.5에서는 [set] 명령어를 이용해서 값을 입력하였다면, 반드시 [save] 명령어를 이용해 설정 값을 저장해야한다. 저장하지 않는 경우 아래와 같이 설정 값이 입력되지 않는다.


[seve] 명령어 입력하지 않은 경우


[save] 명령어를 입력한 경우


여기서 잠깐 [view] 명령어에 의해 출력된 내용을 주의 깊게 살펴본 독자는 [set] 명령어에서 parameter가 어떤것인지 단번에 알아차렸을 것이다. [set] 명령어에서 parameter [view] 명령어로 출력된 내용 중 Setting을 의미한다.  


설정이 끝났으면, [back] 명령어를 입력하여 이전 메뉴 화면으로 돌아가자. 


다음으로 플러그인(Plugin)을 설정해보자. 플러그인 W3AF에서 매우 중요한 역할을 한다. 플러그인을 이용하여, 새로운 취약점을 발견하거나, 새로운 URL을 확인할 수 있다. 또한 웹 취약점 스캔 결과를 파일 형식으로 저장하는 등의 프레임 워크 확장 기능이다. 


플러그인(Plugin)을 설정하기 위해서는 메인 화면에서 [plugin] 명령어를 입력한다. [plugin] 에서도 동일하게 사용 가능한 명령어 리스트를 확인하고 싶다면, [help] 명령어를 입력한다.



W3AF v1.5 기준으로 output, grep, bruteforce등 9개의 플러그인을 지원한다. [help] 명령어를 이용하면, 각 플러그인의 사용 방법에 대한 정보를 확인 할 수 있다. 특정 플러그인의 사용 방법에 대한 정보를 확인은 [help 플러그인명]을 입력한다.



앞서 확인한 9개의 플러그인은 각각 하위 플러그인들이 존재한다. 하위 플러그인 리스트를 확인하기 위해서는 플러그인명만 입력한다. 예를 들어 output 플러그인의 하위 플러그인 리스트를 확인하고 싶다고 가정 하자. 명령어 프롬프트에 플러그명인 [output]을 입력하면, 아래와 같이 하위 플러그인 리스트들이 출력된다.



[desc] 명령어를 사용하면, 하위 플러그인 중에서 특정 플러그인에 대한 정보를 확인할 수 있다. 예를 들어 output 플러그인의 하위 플러그인 text_file 플러그인의 정보를 확인할 경우 아래와 같이 [output desc text_file]를 입력한다.



하위 플러그 리스트 중에서 conf YES로 표시된 플러그인을 볼 수 있다. conf가 YES로 표시되어 있으면 해당 플러그인은 세부 설정이 가능하다는 이야기다. 그렇다면 어떻게 하위 플러그인의 세부적으로 설정할까?? 하위 플러그인에 대한 세부 설정은 [config] 명령어를 이용하면 된다. 예를 들어 output 플러그인의 하위 플러그인 text_file 플러그인의 세부적으로 설정을할 경우 아래와 같이 [output config text_file]를 입력한다. 명령어 프롬프트가 [w3af/plugins>>>]에서 [w3af/plugins/output/config:text_file>>>]로 변경된것을 확인 할 수 있다.



[help]명령어를 입력하면, 사용가능한 명령어 리스트들이 출력된다.



W3AF 콘솔 사용자가 대상 URL에 스캔을 할때 단일 플러그인만 이용해서 진행하지 않을 것이다. 여러개의 원하는 플러그인을 이용하여, 한번에 작업하는것이 효율적이다. 그렇다면 어떻게 여러개의 플러그인을 활성화 시킬까? 방법은 간단하다. [플러그인명 하위 플러그인명, 하위 플러그인명] 을 입력해준다. 활성화 시킨 플러그인이 정상적으로 활성화가 되었는지, 아니면 기존에 활성화가 되어 있는 플러그인이 존재하는지 확인 하는 방법은 [list 플러그인명(하위 플러그인명이 아님) enabled]을 입력한다. 아래는 grep 플러그인에서 2개의 하위 플러그인을 활성화 시키고, 정상적으로 활성화가 되었는지 확인한 그림이다. (참고 : 하위 플러그인명 사이에 (,)를 넣지 않고 그냥 띄어쓰기해도 활성화가 가능하다)



[플러그인명 all] 을 입력하면, 해당 플러그인에 존재하는 모든 하위 플러그인이 활성화가 된다. 



플러그인을 활성화 시켜주었으니, 활성화된 플러그인을 제거하는 방법에 대해서 알아보자. 활성화된 단일 또는 여러개의 플러그인을 제외하는 방법은 [플러그인명 !제거하려는 하위 플러그인명]을 입력한다.



활성화가 되어 있는 모든 플러그인을 제거 하려면, [플러그인명 !all]을 입력한다.



참고로 활성화가 되어있지 않은 플러그인을 확인하는 방법은 [list 플러그인명 disabled ]를 입력한다.



활성화되어 있지 않은 플러그인의 경우 스캔 작업에서 제외된다는것을 기억하기 바란다.



 

 관련글 보기

 

2013/06/10 - [Kali Linux/도구 분석 ] - [Web Vulnerability Scanners] W3AF On Kail Linux -(1.개념)


2013/08/22 - [Kali Linux/도구 분석 ] - [Web Vulnerability Scanners] W3AF On Kail Linux - (3. 커맨드 플러그인)


2013/08/22 - [Kali Linux/도구 분석 ] - [Web Vulnerability Scanners] W3AF On Kail Linux - (4. W3AF GUI)

 


반응형