Entradas con la etiqueta ‘virus’

No se..no se..

Martes, 30 de Junio de 2009

http://www.vsantivirus.com/xipi-a.htm

Fijaros en los .exe de la parte final.

  • Share/Bookmark

9.5 millones de equipos infectados por Kido

Jueves, 22 de Enero de 2009

Hola:

9.5 millones de equipos infectados por Kido

MUCHO OJO coneste bicho…

Os advierto que ya hay muchas máquinas infectadas, y de hecho, están estrujando con todo este peligroso virus.

  • Share/Bookmark

Psicología de los mensajes de correo maligno IIa

Martes, 20 de Enero de 2009

#####################################
## HACKINDEX ##
## http://www.hackindex.org ##
#####################################
Titulo: Psicología de los mensajes de correo maligno IIa
Autor: Lokutus
Tema: Virus y gusanos

La información incluída en este documento es expuesta en base a un interés educativo. HackIndex no se hace responsable del uso de dicha información.

El siguiente documento es propiedad de HackIndex y de su autor, pudiendo ser distribuído de forma totalmente libre y sobre cualquier tipo de soporte siempre y cuando se respete el formato original, se cite a A.H.E. como fuente, se incluya un enlace actualizado al documento o a la web del grupo: http://www.hackindex.org ; y se incluya este disclaimer en su totalidad y sin modificación alguna.

Queda extrictamente prohibida su distribución con fines lucrativos, cuando se altere su contenido sin consentimiento o cuando se incumpla cualquier otra condicion citada anteriormente en el presente disclaimer.
#####################################

ADVERTENCIA: El presente artículo y todos los que continuarán en esta serie con el mismo título, (y todos los que preceden a este artículo) se envían únicamente con fines didácticos y educativos, no siendo mi intención animar a nadie a cometer delitos relacionados con la transmisión de mensajes de correo malignos (*) del tipo “iloveyou” o “timofónica”.

      (*) Llamados por mi MCM.

———————————————————————-

 Hola, no me he perdido en el espacio, voy a entrar al grano con lo que tengo, aunque os advierto que no tengo cosas acabadas, sino a medio acabar y con problemas, ya os comentaré. Habíamos quedado que en el primer mensaje de la segunda parte cubriríamos los siguientes puntos:

* Envío de un mail por MAPI usando JavaScript.
* Envío de un mensaje por SMTP usando JavaScript.
* Detección de que una cuenta de correo existe, usando SMTP.

   Comenzamos con el envío de mails, usando MAPI:

<table class=”codigo”><tr><td>////////////////////////////////////////////////////////////////////////
//
// Envío de mail usando MAPI desde JavaScript
//
///////////////////////////////////////////////////////////////////////

main()

function main()
{

// Inicializamos las variables
      var objOL;
      var objMapi;
      var objMail;
      var sTexto;

// Creamos los objetos
   objOL   = WScript.CreateObject(“Outlook.Application”);
   objMapi = objOL.GetNameSpace(“Mapi”);
   objMail = objOL.CreateItem(0);

   objMail.Recipients.Add(“Lokutus@galactica.com“);
   objMail.Subject = “Esto es el suject del correo”

   sTexto = “Y esto es el cuerpo del mensaje.\n”;
   sTexto = sTexto + “y a continuación viene el fichero adjunto.\n\n”;

   objMail.Body = sTexto;
   objMail.Attachments.Add(“C:\Fichero.txt”)
   objMail.Send;

} // main</td></tr></table>

Naturalmente, el fichero tiene que tener la extensión .js. He de advertir que no he podido comprobar si funciona, pues tengo problemas con la clase de automatización. (un OCX que se me habrá borrado, :-| ), por lo que quien lo quiera usar tendrá que comprobarlo.

Como esto ya está muy visto, al menos en VBS, voy a intentar hacerlo usando un OCX de comunicaciones por sockets, esa OCX está, o debe estar, en:

C:\Windows\System\MSWINSCK.OCX

Si alguien tiene VC++ o Visual Basic es muy probable que la tenga, decidme los demas si lo teneis, pues ahora no sé si viene por defecto con windows.

Para comprobar que está se puede usar el siguiente fichero Chequeo.JS

…………………………………………………………….
<table class=”codigo”><tr><td>      var objSocket;

   objSocket = new ActiveXObject(“MSWinsock.Winsock”);
   if (objSocket == null)
   {
      WScript.Echo(“Error inicializando el control Active X”);
   }
      else
   {
      objSocket.AboutBox();
   }</td></tr></table>
…………………………………………………………….

También, y para que haga algo util, podeis meter en el else las siguientes líneas:

…………………………………………………………….
<table class=”codigo”><tr><td>      var sInfo;

   sInfo = “\nNombre Maquina: ” + objSocket.LocalHostName;
   sInfo = sInfo + “\n\nDirección IP: ” + objSocket.LocalIP + “\n”;
   WScript.Echo(sInfo);</td></tr></table>
……………………………………………………………

Son muchos los que preguntan, ¿Como puedo saber mi dirección IP?, pues ya lo tienen, un Java Script.

¿Y como he sacado eso de “MSWinsock.Winsock” necesario para inicializar el OCX?, ¿Y los nombres de los métodos exportados?

Usando la herramienta “Active X Control Test Container”, es la que viene con las herramientas de M$, aunque mi imagino que existirán otras herramientas mejores para esa tarea, ¿Alguien conoce alguna?.

Tambien he usado el Active X Control Test Container para hallar que métodos exporta la clase.

He llegado hasta aquí, este es el código que tengo actualmente, que no me funciona del todo bien, consigo conectarme y desconectarme a sitios, pero no consigo enviar ni recibir nada.

……………………………………………………………..

<table class=”codigo”><tr><td>////////////////////////////////////////////////////////////////
//   Los primeros pinitos con el OCX de sockets y Java Script //
////////////////////////////////////////////////////////////////

main()

function main()
{

      var objSocket;
      var sCadena;

   objSocket = new ActiveXObject(“MSWinsock.Winsock”);
   if (objSocket == null)
      WScript.Echo(“Error inicializando el control Active X”);
   } else {
      // 0 = TCP, 1 = UDP
      objSocket.Protocol   = 0;
      // Tiene que ser numérico
      objSocket.RemotePort = 80;
      // No vale dirección IP, da error
      objSocket.RemoteHost = “www.microsoft.com“;

      // Un chequeo innecesario
      sCadena = “\n Host: ” + objSocket.RemoteHost + “\n Puerto : ” + objSocket.RemotePort + “\n”;
      WScript.Echo(sCadena);

      // Me conecto
      objSocket.Connect();
      while (objSocket.State &gt; 7)
      {
         sCadena = “Conectando : ” + objSocket.State;
         WScript.Echo(sCadena);
      } // while

      // El estado de conectado es el 7, (ver tabla siguiente)

    // Código guarro y comentado, de diferentes pruebas

//      if (objSocket.State == 7) {
//         sCadena = “Se supone que estoy conectado : ” + objSocket.State;
//         WScript.Echo(sCadena);
//      } else {
//         sCadena = “Algo ha fallado: ” + objSocket.State;
//         WScript.Echo(sCadena);
//      } // if
      sCadena = “”;

//      var iCont;
//      objSocket.SendData(“Hola\n”);
for (iCont = 0; iCont &gt; 10; iCont ++) {
//         objSocket.SendData(“Hola\n”);
         objSocket.GetData(sCadena);
         WScript.Echo(“[" + sCadena + "] ” + objSocket.BytesReceived + ” ” +
objSocket.State);
      }

      objSocket.Close()

   } // if

} // main</td></tr></table>

 

En realidad el método GetData, tiene otros dos métodos adicionales, que son opcionales

          GetData(data, tipo, maxlen)

Eso si, no son del tipo Variant, no se si mi problema es debido a eso, del segundo parámetro he encontrado las siguientes constantes que están definidas en Visual Basic, pero no se cual debe ser su valor

   Byte                    vbByte
   Entero                 vbInteger
   Largo                  vbLong
   Simple                 vbSingle
   Doble                  vbDouble
   Moneda               vbCurrency
   Fecha                  vbDate
   Booleano             vbBoolean
   SCODE               vbError
   Cadena               vbString
   Matriz de bytes    vbArray + vbByte

Y para la función, State, si que se los valores

0    Predeterminado. Cerrado
1    Abierto
2    Escuchando
3    Conexión pendiente
4    Resolviendo host
5    Host resuelto
6    Conectando
7    Conectado
8    El equipo está cerrando la conexión
9    Error

   Más info, en el MSDN

Tengo tambien otro problema al conectar, no se conecta inmediatamente, si escribo algo como

      objSocket.Connect();
      objSocket.GetData(sCadena);

Salta un evento de error, tengo que parar el script antes del GetData, pero no se como hacerlo.

Se que existen eventos del tipo OnConnect(), aunque aun así tendria que apañarmelas para parar el hilo.

Por ultimo, y como simple comentario, el OCX se puede usar también para hacer servidores, pues tiene los métodos Listen, Accept y Bind.

Para resolver los problemas, he pensado que sería más cómodo usar HTML, tal y como me han comentado “Elete”, además con HTML si se manejar eventos. Los HTML compilados, ¿son los CHM?

¿Qué herramienta necesito para compilar HTML?

Os dejo una cuantas preguntas por si alguien quiere investigar un poco.
El tercer punto, sólamente es posible si está resuelto el segundo, consiste en interrogar al servidor de correo si un destinatario existe, truco que usan los spammer para saber si les estamos intentando engañar con mensajes devueltos falsos.

        VRFY cuenta@servidor.com
 2XX   OK      &gt;– La cuenta existe

              ó

       5XX      &gt;– La cuenta no existe.

El MTU pregunta al MTU de destino si hace falta.
      Lokutus, asimilando la red.
Postdata: los últimos antivirus de red que se instalan en el servidor de correo, (p.e. McAfee en MCIS), eliminan de forma radical cualquier mensaje de correo que tenga un fichero VBS o JS añadido. No se si tambien los CHM, ¿?

  • Share/Bookmark