y
Recibe las actualizaciones directo a tu correo

viernes, 30 de abril de 2010

Como crear un troyano


Bueno esta es una explicación muy básica de como crear un troyano Espero que os sea útil pero de todas formas ya os daré una mejor

PROGRAMADO EN VISUAL BASIC 6.0
El Control Winsock.- El Winsock Control como opción predeterminada no se encuentra disponible en la barra de controles estándar de Visual Basic, para acceder a él debemos agregarlo manualmente mediante Proyecto> Componentes> y luego seleccionar WinSock Control y Aceptar. No es visible en tiempo de ejecución, lo que significa que solo nosotros sabemos que el control se encuentra en nuestra aplicación y cuáles son sus propiedades, aunque también se pueden definir en tiempo de ejecución.

Este tipo de aplicaciones Cliente/Servidor permiten comunicar programas entre sí, en consecuencia también permiten comunicar varias computadoras, porque habiendo un programa en la computadora llama "DAVID1" y otro en la computadora llama "DAVID2" ambos programas se pueden comunicar a través de Internet y compartir información, o adquirir información sin saber que el dueño de la computadora lo autoriza. Esto frecuentemente trae problemas al querer distinguir si un programa esta autorizado por el dueño o el encargado (administrador) para acceder al sistema. Varios administradores permiten el acceso, pero a la misma vez restringen las carpetas importantes de sus computadoras para no correr el riesgo de perder información vital. Si el programa que se usa para acceder a otra computadora esta autorizado por el encargado de la PC se puede denominar "Herramienta de administración remota", en cambio si el acceso no es permitido o no se avisa que se quiere entrar y se hace a la fuerza el programa recibe el nombre de "Troyano".
Un troyano es un aplicación "disfrazada" de un programa útil, consta de dos programas, el Servidor y el Cliente
El "Servidor" es el que se encarga de abrir un puerto en la PC a la que se quiere tener acceso y deja el puerto a la escucha, es decir esperar a que se realice una conexión al puerto para dar el acceso a la máquina.
Por su parte, el "Cliente", es el programa que se conecta al puerto que el Servidor dejó abierto, solicita que se realice la conexión y después comienza a transmitir información, pidiendo datos de la PC remota, tales como Información del sistema, contraseñas, archivos importantes, etc.

¿Cómo se utilizan?.- Se pueden utilizar de dos formas completamente distintas:
Como herramienta de administración remota: que permite manipular el sistema a distancia, ideal para personas que necesitan urgente un archivo de la PC de su oficina y se encuentran en su casa. Se puede considerar como tal solo cuando el usuario tenga el acceso permitido a esa PC.
Como herramienta para hachear esta es la forma de utilización que prefiere cualquier persona con una conexión a Internet y ganas de espiar lo que hace otra persona conectada a Internet o a su Red privada, también llamada LAN . Pudiendo acceder a sus archivos confidenciales, contraseñas, recursos compartidos, conversaciones que toman lugar en tiempo real, o borrar archivos fundamentales tales como por ejemplo: COMMAND.COM (dejando a la PC "víctima" sin poder arrancar, a menos que el usuario "atacado" sepa iniciar desde un disco de rescate o de inicio.

Los puertos que se dejan a la escucha generalmente son altos, es decir puertos que pasan del número 500 o el 1000, para garantizar que ningún otro programa pueda estar usándolos y cancelar la conexión del troyano.

Ejemplos de troyanos.- A continuación se enumeran una lista de los troyanos más conocidos del Underground, es decir de la sociedad hacker, o más bien todo aquello que sea difícil de encontrar para el usuario común. La palabra UnderGround significa debajo de la tierra, lo que para la mayoría significa algo oculto y qué otro ejemplo más conciso que los programas que usa un hacker. Cabe aclarar que el uso de estos programas comunmente denominados "para hackers" no convierte a nadie pero absolutamente nadie en "hacker". El hacker no se hace de la noche a la mañana, es más, el hacker no se hace, nace...

NetBus: este "troyano" o "herramienta de administración remota" fue uno de los más difundidos en Internet, ganó un gran número de usuarios adictos al programa por su sencillez de uso y la rapidez del mismo. El tamaño del servidor (el encargado de permitir el acceso a la máquina con o sin autorización) ahora parece grande en comparación con los troyanos nuevos. Tamaño del servidor: 495 KB aproximadamente.

Back Oriffice 2000: sin lugar a duda el troyano que más pánico causó en los últimos tiempos. Fue el preferido de todos por ser el primero que salió en Internet con una facilidad de uso impresionante y características que otros troyanos aun no imaginaban, como la renovada parte gráfica. En la última versión del programa se puede notar que fue programado para funciones de administración remota, ya que se nota la programación estructurada y concisa, sin botones de más, ni funciones innecesarias para el usuario final, la mejor versión hasta el momento.

SubSeven: otro troyano que causó un gran impacto, probablemente el más usado en la actualidad, ya que el programa servidor ocupa menos aun que el servidor del NetBus o el Back Oriffice. La parte gráfica es distinta a las demás, la complementan un gran juego de "skins" (texturas, colores, etc.) y mejor facilidad de uso, además incluye nuevas funciones como la desconexión de Internet del equipo remoto, el cuelgue del modem, el cambio de resolución de la pantalla, lista de los passwords que se encuentran en el cache (las contraseñas que el usuario escribió recientemente), y los passwords de la conexión telefónica a redes, es decir la contraseña de internet. Tamaño del servidor: 327 KB

PROTOCOLOS

Protocolos TCP/IP y UDP: como anteriormente quedó aclarado dos programas se pueden conectar entre sí a través de internet o de una LAN.
Internet usa el protocolo TCP/IP que significa "Transmision Control Protocol / Internet Protocol", es el que se encarga de recibir paquetes de información y redirigirlos al usuario final que los solicitó. Este protocolo es el preferido por todos ya que posee una característica que UDP le envidia, TCP/IP puede verificar que el paquete de información haya llegado con éxito al destinatario final, concretando así la transacción.
Por el contrario UDP no puede hacer esto, solo manda el paquete con la información y no verifica que haya llegado satisfactoriamente, poniendo de esta manera en peligro al paquete, ya que puede no llegar entero al destinatario y por lo tanto no sirve si el paquete no llega en su totalidad.
Todas las máquinas que están conectadas a Internet tienen asignadas un número que se forma con 4 cifras de 3 dígitos (que no pueden superar al número 255). Ejemplo del IP máximo que se puede encontrar: 255.255.255.255

Propiedades, métodos y eventos de WinSock

Una vez que tenemos el WinSock control en nuestra barra de controles en Visual Basic ya podemos comenzar a ver las propiedades, eventos y métodos más importantes del control. Para agregarlo manualmente ir a Proyecto> Componentes> y luego seleccionar WinSock Control y Aceptar. Como mencionamos anteriormente este control no es visible en tiempo de ejecución.
Primero abrimos un proyecto (EXE Estándar) y colocamos en control en cualquier parte del formulario. Vamos a comenzar por ver las propiedades, estas pueden ser puestas en tiempo de diseño como también en tiempo de ejecución. A continuación se detallan las propiedades más importantes.

Lista de propiedades más importantes
LocalIP: Devuelve la dirección IP de la máquina local en el formato de cadena con puntos de dirección IP (xxx.xxx.xxx.xxx).
LocalHostName: Devuelve el nombre de la máquina local.
RemoteHost: Establece el equipo remoto al que se quiere solicitar la conexión.
LocalPort: Establece el puerto que se quiere dejar a la escucha.
RemotePort: Establece el número del puerto remoto al que se quiere conectar.
State: Verifica si el Control WinSock esta siendo utilizado o no.
La sintaxis de cada propiedad es Objeto.Propiedad = Valor

Donde Objeto va el nombre del Control WinSock, el nombre predeterminado cuando lo incluimos en alguna aplicación es "WinSock1". Luego le sigue la propiedad que deseamos asignar y finalmente el valor que la misma tomará.

Ejemplo #1
Propiedad LocalIP
Si queremos probar la propiedad LocalIP debemos seguir los siguientes pasos: Crear un Proyecto (EXE Estándar) y agregar el WinSock Control. Luego agregar una etiqueta vacía, es decir un Label. Por último, introduzca el siguiente código.
Agregar etiqueta
Private Sub Form_Load()
Label1.caption = WinSock1.LocalIP
End Sub

Este simple ejemplo nos da de forma rápida nuestro IP, aunque no estemos conectados a Internet el IP aparece igual, solo que siempre va a tomar el valor : 127.0.0.1
Lista de Métodos más importantes.- Ahora que sabemos manejar las propiedades podemos seguir con los Métodos. A continuación se muestra la lista de algunos de los Métodos más importantes del Control WinSock.
Accept: sólo para las aplicaciones de servidor TCP. Este método se utiliza para aceptar una conexión entrante cuando se está tratando un evento ConnectionRequest.
GetData: recupera el bloque actual de datos y lo almacena en una variable de tipo Variant.
Listen: crea un socket y lo establece a modo de escucha.
SendData: envía datos a un equipo remoto.

Lista de Eventos más importantes.-
ConnectionRequest: se produce cuando el equipo remoto solicita una conexión. Sin este evento no se puede llevar a cabo la conexión.
Connect: se produce cuando el equipo local se conecta al equipo remoto y se establece una conexión.
Close: se produce cuando el equipo remoto cierra la conexión. Las aplicaciones deben usar el método Close para cerrar correctamente una conexión TCP.
DataArrival: se produce cuando llegan nuevos datos. Este evento es importante, ya que debemos hacer algo con la información que llega.

La sintaxis de los métodos y eventos es igual a la sintaxis de las propiedades, por lo cual no vamos a hacer referencia a ella.
Conociendo las propiedades, métodos y eventos del Control WinSock podemos pasar a la labor de la programación.
El siguente es un programa Servidor, lo que hace es: designar un puerto, dejarlo a la escucha para aceptar conexiones, si se realiza una petición de conexión aceptarla, y por último enviar datos al Cliente y recibir los datos que éste mande.
Identificación de controles de la aplicación Servidor.- Para poder programar la siguiente aplicación necesitan tener el Control WinSock en el formulario.
Para entender el correcto funcionamiento del protocolo TCP/IP vamos a empezar por programar la aplicación Servidor a la cual luego se conectará el Cliente.

Ejemplo #2.
Comenzamos por crear un proyecto nuevo (EXE estándar) para el Servidor, y agregamos la siguiente lista de controles al formulario principal. La ubicación de dichos controles es a gusto del programador, siempre tratando de que el usuario final este a gusto con el producto y que se pueda manejar libremente sin problemas por el entorno del mismo.
-WinSock Control
-2 cajas de texto (TextBox)
-2 botones.

Cambiar propiedades de los controles.- A continuación hace falta que cambiemos algunas propiedades de los controles, esta es la lista de controles con las respectivas propiedades a cambiar.
Control (nombre predeterminado) Propiedad (nuevo valor)
WinSock1 LocalPort = 888
Text1 Text =
Text2 Text =
Command1 Caption = "Escuchar"
Command2 Caption = "Enviar"

Para que el ejemplo funcione a la perfección conviene que seguir la ubicación de los controles como esta indicado en la siguiente imagen.


Código.- Una vez hecho esto podemos empezar a tipear código. El sangrado del programa es una cuestión de entendimiento para el programador, algunos recurren a éste como otros no, eso también queda a criterio del que programa.

Evento click del Command1
Private Sub Command1_Click()
Winsock1.Listen
End Sub

Esto hace que el Control WinSock empiece a funcionar, escuchando el puerto que se indicó en las propiedades de dicho control. Este puerto es el 888. Ahora si realizamos todo a la perfección el puerto 888 esta siendo vigilado para aceptar conexiones remotas.

Evento DataArrival del WinSock
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Winsock1.GetData datos
Text1.Text = Text1.Text + datos
End Sub

Datos queda transformada en una variable de cadena, y WinSock almacena los datos que recibe del Cliente en el buffer y luego ingresan a la variable datos, dicha variable mostrará su contenido en el control TextBox (Text1).

Evento ConnectionRequest del Winsock
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
End Sub

Este evento es muy importante, permite aceptar la petición de conexión. Sin este evento el resto del programa no tendría efecto.

Evento Click del command2
Private Sub Command2_Click()
Dim enviar As String
enviar = Text2.Text
Winsock1.SendData enviar
End Sub

Esto permite enviar el texto que se introduzca en el TextBox número 2.

Para seguir programando el Cliente hace falta crear un nuevo proyecto y en el formulario principal incluir la siguiente lista de controles:
- WinSock Control
- 3 cajas de texto (TextBox)
- 2 botones.

Cambiar propiedades de los controles.- Como lo hicimos anteriormente hace falta cambiar algunas propiedades. Debajo la lista de controles con las respectivas propiedades para cambiar.
Control (nombre predeterminado) Propiedad (nuevo valor)
WinSock1 LocalPort = 888
Text1 Text =
Text2 Text =
Text3 Text =
Command1 Caption = "Conectar"
Command2 Caption = "Enviar"
Para tener una referencia de cómo situar los controles observe la siguiente captura.

Código.- Evento click del Command1
Private Sub Command1_Click()
Winsock1.RemoteHost = Text3.Text
Winsock1.Connect
End Sub

El evento connect permite conectar al programa servidor que esta esperando la solicitud, este evento requiere un parámetro fundamental, el IP o nombre de host el cual es introducido previamente a la conexión en el cuadro de texto número 3 (Text3).

Evento DataArrival del WinSock
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Winsock1.GetData datos
Text1.Text = Text1.Text + datos
End Sub

Esto permite a la aplicación (a través de WinSock) recibir información del servidor y mostrarla en pantalla.

Evento Click del command2
Private Sub Command2_Click()
Dim enviar As String
enviar = Text2.Text
Winsock1.SendData enviar
End Sub

Estas instrucciones son necesarias para enviar información al servidor.
Este ejemplo del primer programa Cliente / Servidor es muy simple, para utilizarlo al máximo es necesario por ejemplo poner las propiedades de los TextBox en Multiline, lo que hace que si los datos recibidos exceden el tamaño del TextBox estos datos vayan directo a la línea de abajo.

Esto seria todo hasta otra
Y ya sabes cualquier duda preguntais

lunes, 26 de abril de 2010

Como virtualizar Windows XP en Windows 7

Hoy os explicare pasito a pasito como virtualizar windows Xp en windows 7

Empezamos:

Con Windows 7, como con cualquier otro SO, se pueden virtualizar sistemas operativos usando Virtual PC, Virtual Box u otros. La particularidad que tiene Windows 7 es que incorpora esta prestación de fábrica, aunque no automáticamente, es decir, es un complemento que le hemos de añadir a la instalación inicial del sistema operativo para disponer de un Windows XP dentro de nuestro Windows 7, con la ventaja de que tendremos un Windows XP SP3 con licencia válida para emularlo en Windows 7.

Los requisitos que se han de cumplir para aprovechar esta prestación es que tu procesador incorpore instrucciones para acelerar la emulación. Hay publicada una lista de los procesadores que en la actualidad lo soportan y son los siguientes:

CPUS de PC’s
Core 2 Duo
E4300/4400/4500/4600/4700 NO
E6300/6320/6400/6420/6540/6550 SÍ
E6600/6700/6750/6850 SÍ
E7200/7300/7400/7500 NO
E8190 NO
E8200/8300/8400/8500/8600 SÍ
Core 2 Extreme
QX6700/6800/6850 SÍ
QX9650/9770/9775 SÍ
X6800 SÍ
Core 2 Quad
Q6600/6700 SÍ
Q8200/8200S/8300/8400/8400S NO
Q9300/9400/9400S SÍ
Q9450/9550/9550S/9650 SÍ
Core i7/Core i7 Extreme
I7-920/940 SÍ
I7-965 SÍ
Pentium D/Pentium EE
805/820/830/840 NO
915/925/935/945 NO
920/930/940/950/960 SÍ
955/965 SÍ
Pentium for Desktop
E2140/2160/2180/2200/2220 NO
E5200/5300/5400 NO


CPUS de portátiles

Core 2 Duo Mobile
L7200/7300/7400/7500 SÍ
P7350/7450 NO
P7370 SÍ
P8400/8600/8700/9500/9600 SÍ
SL9300/9400/9600 SÍ
SP9300/9400/9600 SÍ
SU9300/9400/9600 SÍ
T5200/5250/5270/5300/5450/5470 NO
T5500/5600 SÍ
T5550/5670/5750/5800/5850/5870
/5900 NO
T6400/6570 NO
T7100/7200/7250/7300/7400 SÍ
T7500/7600/7700/7800 SÍ
T8100/8300 SÍ
T9300/9400/9500/9550/9600/9800 SÍ
U7500/U7600 SÍ
Core 2 Extreme Mobile
QX9300 SÍ
X7800/7900 SÍ
X9000/9100 SÍ
Core 2 Quad Mobile
Q9000 SÍ
Q9100 NO
Core 2 Solo
SU3300/3500 SÍ
U2100/2200 SÍ
Core Duo
L2300/2400/2500 SÍ
T2050/2250 NO
T2300/2400/2500/2600/2700 SÍ
T2300E/2350/2450 NO
U2400/2500 SÍ
Core Solo
T1300/1400 SÍ
T1350 NO
U1300/1400/1500 SÍ


1. Descarga del marterial necesario
Lo primero que hemos de hacer lógicamente es descargar e instalar el complemento para activar Virtual Pc en Windows 7 y en segundo lugar la instalación virtual de Windows XP SP3:

Descargar Virtual Windows XP.

Selecionas la parte que se mustra en la foto con un circulo:



2. Instalación.
Instalamos en primer lugar el complemento del Virtual Pc para Windows 7. La licencia de uso del complemento:



Tras la instalación requerirá reinicio:



3. Inicio Virtual Windows XP.
Iniciamos el asistente de instalación de Virtual Windows XP:



Ubicación de la instalación:



Es muy rápido el progreso…



En la siguiente ventana le damos a Finalizar

Como, podemos ver en el directorio de instalación nos ha quedado un disco duro virtual:



Aquí podemos, ver a Virtual Windows XP entre los programas instalados en Windows 7 para iniciarlo en cualquier momento:



Al lanzarlo por primera vez nos aparece el asistente de instalación con su correspondente licencia de uso:



Por solicita una contraseña para el inicio de sesión y nos propone un el nombre de cuenta user para el inicio de sesión, el cual se podrá cambiar desde el propio entorno de Windows XP. Recomendable marcar que recuerde las credenciales:




De no indicarle que te los recuerde, cada vez que inicies una aplicación o la máquina virtual te pedirá usuario y contraseña, aunque desde aquí también le puedes decir que te recuerde:



Actualizaciones automáticas (a tu gusto):



Progreso de configuración, inicialización y habilitado de integración (para tener acceso a impresoras, unidades, portapapeles y tarjetas inteligentes de la máquina nativa, es decir, de Windows 7):





Y aquí estamos en el entorno Windows XP virtualizado en Windows 7:

Windows 7

4. Instalación e inicio de aplicaciones.
Una de las novedades de esta virtualización de Windows XP en Windows 7 está relacionada con la instalación de aplicaciones en la máquina Virtual, ya que todo aquello que instalemos, tendremos acceso desde Windows 7 como si de una aplicación más se tratara.

Procedo a instalar Winrar en Virtual Windows XP y automáticamente ya me figura como aplicación virtual entre mis aplicaciones de Windows 7:

Menu windows 7

Para iniciar aplicaciones en virtual, la máquina virtual ha de estar cerrada, de hecho, el propio sistema te avisa por si se te pasa:



Nos procesa la petición:



Y aquí tenemos el compresor con el aspecto de Windows XP emulado en Windows 7:



Esta función será muy útil para aquellos programas antiguos que se resistan a Windows 7. Igual que para el inicio de aplicaciones, el escritorio de la máquina virtual de Windows XP no se podrá iniciar mientras haya aplicaciones abiertas, de lo cual el propio sistema te avisa por si no las tienes controladas:



4. A tener en cuenta.
La máquina virtual que se instala por defecto confirugar 256 mb de ram para xp, los cuales, si no le instalas muchas aplicaciones serían más que suficientes para el correcto funcionamiento. La red es compartida y para la correcta integración de las unidades y demás has de permitir el tráfico netbios entre tu máquina y la virtual, en el caso de tener firewall.

La máquina virtual por defecto al cerrarse se hiberna, de esta forma el acceso puntual a aplicaciones con emulación es más rápida, casi instantánea y no has de esperar a que se cargue. Recomendable dejarla así para ganar tiempo.

5. Errores que te pueden aparecer.
El error más frecuente, al margen de los que no me he encontrado y que puedan deberse a incompatibilidad de tu procesador, para lo que tendrás que asegurarte que éste soporta la emulación, es el que aparece cuando la emulación por hardware no está activada:



Tal y como indica, hay que acceder a la BIOS de tu placa y habilitarla, ya que por defecto, al menos en mi sistema Core I7/Intel x58 venía deshabilitada, y supongo que en la mayoría también lo estará:

BIOS

Bueno y esto seria todo el proceso

Cualquier problema me enviáis un correo electrónico y intentare resolverlo

Pero en este caso esta todo muy bien esplicado

Hasta otra