Jacob_baek 2013. 6. 10. 18:01

what's metasploit

metasploit project에서 metasploit 은 perl scripting language 를 사용하는 휴대용 네트워크 도구로 2003년 HD 무어에 의해 만들어졌다. 그러나 루비에 의하여 재구조된 이후 2009년 10월 21일 Rapid7(취약성 관리 솔루션을 제공하는 보안회사)에 인수되었고 현재는 오픈소스, 보안취약점, 침투테스트 및 IDS 서명 개발 보조기구 등에 대한 정보를 제공하는 것에 목적으로 두고 프로젝트가 진행되고 있다.



[rpc server listen]

metaspolit pro를 구매하지 않은 경우 rpc server를 수동으로 load 해주어야 한다.

msfconsole에서 아래의 command를 입력하여 실행한다.

# load msgrpc

default로 55552 port를 사용하는데 변경하고자 하면 아래와 같은 parameter를 주어 실행한다.

# load msgrpc ServerHost=192.168.1.0 ServerPort=55553 User=user Pass='pass123'

혹은 ruby를 통해 실행시킬수도 있다.

# ruby msfrpcd -U user -P pass123


rpc server를 통해 remote 환경에서 metasploit을 control하는 환경을 만들 수 있다.

아래 rapid7 홈페이지에서 pdf manual에 다양한 api를 확인할 수 있다.

- https://community.rapid7.com/docs/DOC-1516



[docker를 이용한 metasploit 설치 및 사용]

아래 dockerfile를 참고하여 docker image를 생성하고 사용할수 있다.

- https://github.com/docker-linux/kali-metasploit/blob/master/Dockerfile#L12


[Docker 활용]

metasploit을 통한 automation security testing 수행

아래 msfrpc client by python 을 통해 automation testing을 수행할 수 있다.

- https://github.com/allfro/pymetasploit





[msfcli deprecate]

msfcli 를 더이상 사용할수 없도록 하고 대신 msfconsole -x 옵션을 통해 사용할수 있도록 변경되었다고 한다.

- https://community.rapid7.com/community/metasploit/blog/2015/07/10/msfcli-is-no-longer-available-in-metasploit


참고사이트

http://www.exploit-db.com/

http://teamcrak.tistory.com/209