martes, 4 de octubre de 2016

PHP HARDENING ILUSTRADO - PARTE 3 - PHP Backdoors Scanner Pack



PHP HARDENING ILUSTRADO - PARTE 3 - 
-= PHP Backdoors Scanner Pack =-



Mis estimados amigos seguimos con la serie que eh intitulado PHP Hardening Ilustrado en la cual estamos viendo diferentes scripts, software y técnicas de seguridad básica, Media y avanzadas para proteger nuestro código escrito en el famoso y bien ponderado PHP, se que hoy en día las nuevas generaciones son visuales y les gusta mas que los colegas hagan videos, pero a mi me gusta escribir y pues que le hacemos a escribirle esperando les gusten estos pequeños artículos de seguridad que llevo hechos desde Diciembre del año 2014.

-------------------------------------------------------

Pero antes de empezar quisiera enviarle un saludo a mi HIJO Iván Hernández Santinelli esperando que este bien y recordándole que por acá andamos por cualquier cosa que necesite. 
-------------------------------------------------------

Bueno amigos sin mas preambulos empezemos a escribir sobre un tema que será de gran utilidad para todos los que configuramos, controlamos y analizamos un sistema hecho en PHP y en especial un servidor web que tiene código PHP entre sus paginas web llamado:


-= PHP Backdoors Scanner Pack =-


Nota: Cabe señalar que en este articulo por cuestiones de espacio solo veremos un solo script, pero como lo hemos venido haciendo en otros artículos pondremos un PACK de SCRIPT hechos en diferentes lenguajes para que ustedes los vean, analicen y fiscalizen cual es el mejor a usar y/o seleccionen cual les gusta mas, quisiera pedirles eso si, que si tienen el gusto de comentarme cual para ustedes de los scripts es el mejor y por que les gusto.


Primeramente tenemos que dar una definición de las partes que están involucradas en este tema que son:


QUE ES UN BACKDOOR (sHELL)?

Un Backdoor es la llamada puerta trasera o un código maligno que mediante programación se crea ya sea en PERL, Python, Php, C++, ASM y mas con el cual una vez instalado en el sistema atacado nos podemos saltar muchisimos sistemas de seguridad para acceder a igualmente una gran cantidad de configuraciones como lo es el de autentificación, permisos, descargas, subidas, eliminación, modificación y creación de archivos.

POR QUE O PARA QUE SE CREAN?

Cabe señalar que la mayoría de las veces un BACKDOOR es usado para cosas malignas y por que no también para espiar, pero muchas veces son puestas por los mismos ADMINISTRADORES SIN ÉTICA PROFESIONAL para acceder al sistema en caso de necesitar una entrada secreta.
 
Como dicen los amigos de protección civil, siempre hay que estar prevenido ANTES - DURANTE - y DESPUÉS de cualquier situación NUNCA SABES CUANDO LA NECESITARAS jejejejej .






BACKDOOR (SHELL) MAS CONOCIDOS?
 En si amigos aquí tenemos una gran problema en definir cual sería o cuales serian unas de las mas conocidas, ya que me acabaría el espacio que tengo para escribir, pero les mencionaré algunas.

  • BACKORIFICE
  • NETBUS
  • SUBSEVEN
PACK DE SHELL BACKDOOR LINK

md5: 1edb1ab1a3ed602765037e510973a10a

Cabe señalar que existen muchísimas y en el pack que he reunido desde hace muchos años les dejaré un compendio de mas de 300 shells que pueden usar para su diversión o simplemente análisis O USARLAS PARA LO MAS importante QUE ES  el de configurar tu backdoor scanner para que detecte la mayoría de ellas y así puedas tener un sistema  de detección completo.

QUE TIPOS DE CONEXION HACEN LOS BAKCDOOR?

En este apartado explicare de una forma llana y rápida los dos tipos de conexiones que hacen estas chuladas de código y que realmente me encantan y mas cuando la logro subir a un  servidor jejejejeje ahí van los dos tipos:
 
CONEXION DIRECTA:  Aquí en este tipo de conexión  el atacante que instalo la BACKDOOR se conecta al servidor o sistema infectado.






CONEXION INVERSA: Este tipo de conexión seria para mi la mejor forma de hacer  una conexión con un backdoor, ya que el servidor infectado es el que se conecta al atacante y basados en esta premisa como les decía anteriormente sería lo mejor conexión ya que generalmente los firewall siempre bloquean o  mejor dicho ponen restricciones sobre todos los puertos abiertos o conexiones entrantes y no bloquea todas las conexiones salientes y esto daría la ventaja sobre la conexión directa.

CÓDIGO DE UNA SHELL Y SUS FORMATOS DE CÓDIGO

Ahora amigos veremos un pequeño extracto del código de una shell y una imagen donde mostraremos y describiremos las partes de esta, recordándoles que existen 3 tipos de formatos de codificar por los programadores el script de una shell:

FORMATO NATIVO DE UNA SHELL: La forma nativa la podría describir como el proceso normal de programación y escritura al lenguaje en que se hace la shell.

Ejemplo:





FORMATO OFUSCADO DE UNA SHELL: Este formato si es un poco mas elaborado y lo podría describir como el proceso de que una vez programada la shell en el código deseado por el programador, este la protege o mas bien dicho le inserta mas lineas  de código  y ese proceso lo hace ininteligible y con esto lograr ocultar la funcionalidad.


Este seria un método factible de ocultación para llevar a acabo en una shell y que no sea detectada por los antivirus, pero cabe señalar que no es el mejor ok!.




 

Ejemplo de código nativo de Python seria así:


Este código lo tome de internet para no entreternerme en ofuscar uno mio. :p


Ejemplo del mismo código ofuscado de Python seria así:

Este código lo tome de internet para no entreternerme en ofuscar uno mio. :p


FORMATO ENCRIPTADO:



En si amigos esta es una de las mejores formas de que una shell no sea detectada por los antivirus de forma general.

----------------------------------------------------------------
Nota: siempre tomen en cuenta que hay diferentes profundidades que podemos usar para la ofuscación y encriptación, pero todos los detalles sobre esto los veremos en otro articulo.
----------------------------------------------------------------


BACKDOOR SHELL SCANNER PACK


 QUE ES UN BACKDOOR SCANNER?


Un script o framework encargado de buscar en un servidor web rastros de archivos con código maligno que pueden estar hechas en diferentes tipos de lenguaje de programación como PHP - PERL - PYTHON - ASP - C++ - ASM, las cuales al ser ejecutadas ya sea con una conexión directa o inversa puede tener acceso a un servidor y como habíamos dicho anteriormente tener la facultad de controlar todos los aspectos de permisos, por tal motivo siempre deberemos de usar un backdoor shelle scanner en nuestros servidores para ver si no tenemos una por ahí oculta por que dejenme decirles que son tan comunes que muchisimos servidores importantes en México las tienen instaladas y ni se han dado cuenta y hasta son mas comúnmente encontradas en servidores que usan WordPress, Drupal, Joomla y etc.


COMO FUNCIONA LA MAYORÍA DE LOS BACKDOOR SHELL ESCANNERS?

Normalmente antes de ser ejecutado el escanner  te pide los siguientes datos de configuración como lo son:

  • Folder destino: donde se hará la búsqueda del código maligno.
  • Output File: es el nombre del archivo donde guardara los resultados del escaneo.
  • False Positive files:  Archivo que contiene una lista de nombres de archivo que se presentan como sospechosos, pero deben de ser ignorados por el scanner.
  • Email: El lugar donde configuraremos un correo electrónico donde se enviará el resultado final del escaneo si se encuentra un archivo sospechoso al ejecutar  el archivo sospechoso a código maligno.
  • ROOT Todo escaneador de backdoor debe de ser ejecutado con permisos de root,
  • Strings sospechosos nuevos: Esta opción es para poder agregar nuevos strings que no se encuentren en la base de datos de el backdoor scanner para que puedan ser detectados. 

Amigos en Internet existen una gran cantidad de shells para su uso y además una gran cantidad de utilerías (Scripts) que pueden ser usados como escaneadores de backdoor shells, en siguientes lineas les dejo un pack que contiene 12 scripts que podrán analizar para que vean cual de ellos se acopla a sus necesidades y contiene los siguientes archivos:


4 -> PHP
1 -> C
1 -> C++
1 -> Java
1 -> Lua
1 -> Perl
1 -> PowerShell
1 -> Shell



md5: d744096d50c7fe458aef17f8956aac86
Espero les guste y si necesitan conferencias sobre hacking y seguridad contactenme.
Saludos

Li. Rodolfo H. Baz
www.rodolfohbaz.net
www.ccat.edu.mx





2 comentarios:

Crowdstrike -> Solución de errores de actualización de CrowdStrike con BitLocker habilitado

En este pequeño articulo ver como componer el problema de CROWDSTRIKE cuando esta habilitado el BITLOCKER, cabe resaltar que puede ser una e...