저 또한 cui 기반인 msf를 선호하지만 침투 대상의 규모가 커질수록 gui로 시각적인 확인을 하는것이 훨씬 좋다고 생각됩니다.
오늘은 이 두 interface를 동시에 사용하는 방법에 대해 이야기드릴까 합니다. 바로 msgrpc를 이용해서요.
(사실 armitage의 동작 방식 자체이기도 합니다만 굳이 teamserver를 활용하지 않고 단독적으로 동작시키는 내용을 다루려합니다)
msgrpc(Metasploit-Framework, Armitage)
Metasploit-framework에는 msgrpc라는 모듈이 들어있습니다. 이 친구는 msfrpcd를 실행했을때와 동일한 효과를 줄 수 있는 모듈이며 이 모듈을 통해 현재 사용중인 msf 내부에서 rpc 서버로 동작시킬 수 있습니다.#> hahwul (./msfconsole)
HAHWUL #> load msgrpc Pass=secret_password
[*] MSGRPC Service: 127.0.0.1:55552
[*] MSGRPC Username: msf
[*] MSGRPC Password: secret_password
[*] Successfully loaded plugin: msgrpc
#> cd [your armitage directory]
#> java -jar armitage
msgrpc 플러그인으로 받을 결과(또는 입력한 결과)로 user와 password 입력 |
armitage에서 작업을 진행하면 main msf인 제 쉘과 통신하기 때문에 rc 파일이 그대로 적용되어 있고 서로의 jobs이나 session을 공유하게 됩니다.
간단하게 armitage에서 port scan을 진행해보죠.
이 때 Metasploit에서 확인 시 job이 생성되어 있고 서로 동일한 데이터를 사용한다는 것을 알 수 있습니다.
HAHWUL auxiliary(crawler) > jobs
Jobs
====
Id Name Payload Payload opts
-- ---- ------- ------------
0 Exploit: multi/handler windows/meterpreter/reverse_tcp tcp://0.0.0.0:16951
1 Auxiliary: scanner/portscan/tcp
TroubleShotting
진행하면서 몇가지 이슈가 발생했었습니다. 에러!@ Could not connect to database: Connection Refused
때때로 이런 에러가 발생하기도 합니다. 물론 뭐 연결이 안됬다는 소리니 DB 서버 확인해주시고, DB가 정상 작동중이라면 metasploit server(msfd)를 실행해줍니다.
#> ./msfd
@ I can not find database.yml. I *really* need it.
이 경우 database.yml 파일을 환경변수에 찾기 못한 경우입니다. MSF_DATABASE_CONFIG에 metasploit db 파일 설정 파일의 경로를 써줍니다.
#> export MSF_DATABASE_CONFIG=[your_metasploit_dir]/config/database.yml
더 많은 케이스가 있을 수 있으니 아래 경로에서 참고해주세요.
http://www.fastandeasyhacking.com/start
Reference
http://www.fastandeasyhacking.com/starthttps://help.rapid7.com/metasploit/Content/framework/msf-rpc-service.html
HAHWULSecurity engineer, Gopher and H4cker! |
0 개의 댓글:
Post a Comment