brunch

You can make anything
by writing

C.S.Lewis

by 복지CEO 조정원 Mar 18. 2016

MetasploitHelper 리뷰

보안프로젝트 매거진


※ 주의사항

아래 공격 코드는 연구 목적으로 작성된 것이며, 허가받지 않은 공간에서는 테스트를 절대 금지합니다.

악의 적인 목적으로 이용할 시 발생할 수 있는 법적 책임은 자신한테 있습니다. 이는 해당 글을 열람할 때 동의하였다는 것을 의미합니다.

해당 문서의 저작권은 보안프로젝트 참여 저자들에게 모두 있습니다. 다른 용도로 사용할 시 법적 조치가 가해질 수 있습니다.


http://www.slideshare.net/keith55/metasploithelper-spiderlabs?qid=9057aace-fef0-40f5-ae8e-51fa5d587dd7&v=default&b=&from_search=1

metasploitHelper는 앤 맵(Nmap) 스캔 결과와 메타스플로잇을 연결하여 관련 공격 모듈을 자동으로 찾아주는 것을 도와주는 스크립트이다. 정보수집 및 스캔 단계에서 도출된 내용을 판단하게 취약여부를 판단할 때 메타스플로잇만을 이용해도 가능하지만, 실무자 입장에서 많은 대상을 관리할 때는 좀 더 빠르고 효율적인 방법들이 필요하다. Nmap NSE 중에 vulscan.nse도 존재하지만, 이는 CVE, osvdb 정보 등의 연결이며, 메타스플로잇까지 연결성을 가지고 있지 않다. 각각 스크립마다 업무 환경에 따라 장단점이 있기 때문에 적절하게 활용하면 된다.



그림 7‑16 MetasploitHelper 구조


https://github.com/milo2012/metasploitHelper에서 소스코드를 다운로드한 후 아래 환경에 맞게필요한 모듈들을 다운로드하여 설치한다.

- Python 2.7
- pip install python-libnmap 
- pip install requests --upgrade


그림 7‑17은 가상 취약점 환경인 Metasploitable 대상으로 포트 스캔한 결과이다. -oX옵션을 이용하여 XML 파일 형식으로 결과를 저장해 둔다.


그림 7‑17 포트스캔 결과


설치한 MetasploitHelper를 이용하여 XML 파일을 불러온다. 오픈되어 있는 포트별로 분류를 하여 진단을 한다. 진단한 결과는 result.txt 파일로 저장이 된다.

그림 7‑18 진단 결과


rc 확장자로 생성된 것은 메타스플로잇에서 활용되는 리소스 파일이다. 각 포트별로 검색된 공격 모듈을 자동으로 진단하기 위함이다. msfconsole-r 리소스 파일 이름을 입력하면 해당 대상으로 포트별로 자동 진단되어 공격이 성공하면 세션이 맺어진다. 공격코드들이 서비스에 장애요소를 줄 수 있기 때문에 충분히 테스트를 한 후에 적용해야 한다.


report.txt 파일을 열람하면 포트별로 발생할 수 있는 취약점에 맞춰 메타스플로잇 결과를 출력한다. 21 포트는 FTP 서비스로 활용되기 때문에 익명 연결, 버전 정보, 로그인 계정 사전 대입 공격 등이 포함된다.

그림 7‑19 report.txt 파일 확인


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari