IT 그리고 정보보안/Knowledge base

취약점 스캐너 - 넥스포즈(NeXpose)

plummmm 2021. 4. 15. 21:17
반응형

. 넥스포즈란?

넥스포즈(NeXpose)는 메타스플로잇 제작사인 rapid7에서 제공하는 취약점 스캐너이다.

유료 무료 버전 두가지 있는데, 테스트 한번 하려고 유료버전을 쓸 수 없으니.. 무료인 커뮤니티 버전을 이용해 보기로한다.

 

http://www.rapid7.com/vulnerability-scanner.jsp 에서 넥스포즈에 대한 세부 정보들을 알 수 있다. 

 

2. 설치 및 환경 설정

위 rapid7사의 url을 타고 들어가면 넥스포즈 커뮤니티 버전을 다운 받을 수 있다.

다운로드하기 전에 등록창에 뜨는데, 다른 항목은 몰라도 e-mail 주소는 정확하게 써주어야 한다.

(기재한 e-mail주소로 설치할 때 필요한 키가 날아오기 때문)

 

 

다운로드 후 설치가 완료 되었다면 https://localhost:3780 으로 접속하면 넥스포즈를 실행할 수 있다.

참고로 넥스포즈는 웹 어플리케이션이며, IE와 파이어폭스에서만 실행된다. (크롬으로 실행 불가능.. 로그인이 안된다.)

실행하면 다음과 같은 홈 화면이 나온다.

 

홈 모양 옆에 5가지 메뉴를 확인할 수 있다. 

각각의 메뉴들에서 원하는 작업을 할 수 있다.

 

3. 스캔 대상 및 옵션 설정

스캔 대상과 옵션을 설정하기 위해 "Assets"탭으로 이동한다. 

넥스포즈는 스캔하는 방식, 자격 증명 추가 등 취약점 스캔에 대한 많은 옵션을 지정하여

타겟에 따라 스캔하기 용이한 환경으로 구성이 가능하다.

아래는 Assets탭의 첫화면이다.

 

 

스캔할 사이트를 생성한다. 이름과 설명을 적는다. 다 기재하였으면 next를 클릭하여 다음 단계로 간다.

 

타겟의 ip주소를 입력하는 단계이다. 

included assets 에는 포함할 타겟을, excluded assets 에는 제외시킬 타겟을 입력한다.

(예를 들어, 프린터 장치 같은 경우에는 제외시켜야 할 것이다. 취약점 스캔이 프린터에 엄청난 부하를 줄 수있기 때문에)

설정 하였다면 next를 클릭.

 

 

scan setup 단계이다.

스캔 방식과 스캔 엔진, 스캔작업 일정을 설정할 수 있다. 

기본적인 스캔을 수행할 것이므로 default값으로 두고 next로

 

 

스캔 사이트에 원하는 자격 증명을 추가하는 단계이다.

자격 증명은 좀더 정확한 스캔 결과 도출에 도움을 줄 수 있다.

 

그 뒤 몇가지 설정들이 있지만 default값으로 주어도 무방하다.

설정이 완료되면 Assets탭에 새로운 사이트가 추가된다.

 

 

 

 

4. 스캔 수행

스캔 설정이 완료 되었다면, 이제 스캔 작업을 수행하면 된다.

사이트 목록에서 원하는 스캔을 선택하여 우측 스캔 버튼을 클릭하면 작업을 수행할 수 있다.

 

 

간단한 스캔에 대한 설정을 하고, 설정된 타겟이 맞는지 다시 한번 확인한 후 "start now"를 클릭한다.

스캔하는 동안 계속해서 넥스포즈 웹사이트가 10초 간격으로 새로고침이 되면서 스캔 결과가 업데이트 된다.

 

 

 

스캔이 완료되면 vulnerability 탭에서 스캔 결과 발견된 취약점들에 대한 목록을 볼 수 있다.

 

 

 

 

* 메타스플로잇과 넥스포즈 연동

 

웹 환경에서 하는게 GUI라서 훨씬 익히기 쉽지만, MSFconsole과 연동하여 사용하려면 메타스플로잇에 포함된 넥스포즈

플러그인을 사용하는 것이 좋다.

왜? 취약점 스캐닝이 끝나고 나면 실제로 그 취약점에 대한 모의 해킹을 진행해야 되니까, 스캐닝만 하고 말것이라면

상관없지만.. 취약점 스캐닝의 궁극적인 목적을 따져본다면 당연히 msfconsole에서 사용하는 것이 맞다.

 

먼저 db_connect 명령으로 postgres-sql 데이터베이스 서버를 연다.

그러고 난 후 넥스포즈 플러그인을 로드한다.

 

 

 

 

db서버를 열고 넥스포즈 플러그인도 로딩 시켰으니, 이제 msfconsole에서 넥스포즈와의 연결 작업이 필요하다.

nexpose_connect username:password@host[:port] <SSL-confirm> 형태로 입력한다.

여서 주의할점..

무슨 아이디를 적고 비밀번호를 적으란 말이지? 뒤에 호스트는 또 무엇이고..

바로 우리가 넥스포즈를 설치할 때 설정한 즉, 웹 GUI로 접근할 때 사용하던 아이디와 패스워드, 그리고

호스트는 넥스포즈가 설치된 로컬호스트의 주소와 3780 포트 번호를 입력하는 것이다.

그리고 <SSL-confirm> 이 부분은 ssl 인증서 수락 여부 이다. ok해주면 된다.

 

 

 

넥스포즈와 msfconsole이 연결이 되었다.

그럼 이제 직접 스캔 작업을 수행 해본다.

nexpose_scan [타겟 호스트]

명령을 입력하면 스캔을 시작하고, 생성된 데이터베이스에 저장된다.

그 전에 nexpose_scan 옵션을 잠시 살펴보자.

 

 

이제 스캔을 수행한다.

 

반응형