Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: MichBukana en 22 Agosto 2013, 14:01 pm



Título: Hacer webshell indetectables parte I de III
Publicado por: MichBukana en 22 Agosto 2013, 14:01 pm
Una web shell es una herramienta común entre los defacers una vez que se ha logrado subir algún fichero a un servidor web para de este modo sea mas cómodo curiosear en el servidor, entre las web shell hay una muy reconocida que lleva muchos años en la red es la llamada C99 que se puede encontrar en infinidad de servidores.
Sé va a enseñar como hacer indetectable para saltarse la detección del Avira Antivirus en su versión free.
Una vez descargada y analizada por el antivirus es detectada como PHP/C99Shell.B
(http://windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image002_5F00_thumb_5F00_085615DA.jpg)
Imagen 1: Web Shell sin codificar

Lo siguiente será encodear la web shell y que siga funcional y para ello es necesario realizar algunos cambios como cerrar los tags php y abrirlos quedando de la siguiente forma:
¿><?php ...c99....?><?php
Para codificarla es necesario apoyarse en alguna aplicación que lo codifique en base64, en el ejemplo se ha utilizado una aplicación gratuita disponible en http://www.base64encode.org/
(http://windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image004_5F00_thumb_5F00_6D0D970B.jpg)
Imagen 2: tags añadidos al final y al principio – codificada

Con el resultado codificado lo siguiente será crear un archivo php en mi caso lo he llamado C992.php y volcar allí el código en base64 quedando de la siguiente forma
(http://windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image006_5F00_thumb_5F00_220A006F.jpg)
Imagen 3: Web Shell encodeada en base64

Una vez comprobado que sigue funcional, hay que probar si el antivirus sigue detectándolo antes de seguir. Y como se puede ver sigue alertando Avira pero con una variante en este caso la firma en vez de llamarse PHP/C99Shell.B ha cambiado la B por una A
(http://windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image008_5F00_thumb_5F00_6CAE8BE9.jpg)
Imagen 4: Avira con c99 en base64

Y aquí es donde entra un método común entre los modders de malware y no es otro que el AVFuck, se trata de buscar en el caso de un fichero binario el offsets donde cae la firma que el antivirus le ha puesto al fichero supuestamente dañino, lo que en vez de offsets y un binario se hará a caracteres de un fichero de texto de tal modo que rompa la firma.
Tras hacer varias pruebas cambiando caracteres de la string en base64 que es en lo que básicamente se basa el método AVFuck se logró haciendo dos simples salto de línea antes y después de un carácter dejarla indetectable a Avira quedando de la siguiente forma.
(http://windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image010_5F00_thumb_5F00_3D12A9B0.jpg)
Imagen 5: firma rota

Quedando de esta forma indetectable y funcional.
Conclusión:
Los antivirus siguen utilizando las mismas técnicas ineficaces con los binarios y los archivos de texto plano. En la próxima entrada se desarrollará una aplicación para facilitar el proceso del método AVFuck

Fuente: http://code-disaster.blogspot.com (http://code-disaster.blogspot.com)