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

[Python][PHP] Shell Finder

  • 5 Respuestas
  • 2476 Vistas

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado blackdrake

  • *
  • Co Admin
  • Mensajes: 1883
  • Actividad:
    6.67%
  • Reputación 14
    • Ver Perfil
« en: Julio 10, 2015, 07:12:23 am »

Hola @Underc0de, he hecho un script en python para que se encarga de buscar todo tipo de backdoors en el directorio que le indiquemos (por defecto será /var/www/), no he podido dedicarle todo el tiempo que me gustaría, pero creo que funciona bastante bien y es muy sencillo añadirle más valores de búsqueda.

Soy consciente de que el código no es el idóneo para realizar este tipo de búsquedas, pero como dije arriba, por falta de tiempo no puedo reestructurarlo.

Usar sudo, si se van a escanear directorios que no pertenecen al usuario que lo ejecuta.



Código: Python
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # Author: @alvarodh5 | Blackdrake
  4.  
  5.     #########################################################################################################
  6.     #                                            Shell Finder Python                                        #
  7.     #                                                                                                       #
  8.     #                                        coded by Blackdrake for Underc0de                              #
  9.     #                                                                                                       #
  10.     #                                                05/06/2015                                             #
  11.     #                                                                                                       #
  12.     #                                     Underc0de.org | twitter.com/alvarodh5                             #
  13.     #                                                                                                       #
  14.     #                                           Run this tool as root                                       #
  15.     #########################################################################################################
  16.  
  17. import os
  18.  
  19. class color:
  20.    PURPLE = '\033[95m'
  21.    CYAN = '\033[96m'
  22.    DARKCYAN = '\033[36m'
  23.    BLUE = '\033[94m'
  24.    GREEN = '\033[92m'
  25.    YELLOW = '\033[93m'
  26.    RED = '\033[91m'
  27.    BOLD = '\033[1m'
  28.    UNDERLINE = '\033[4m'
  29.    END = '\033[0m'
  30.  
  31. print color.BLUE + " __ _          _ _     ___ _           _" + color.END        
  32. print color.BLUE + "/ _\ |__   ___| | |   / __( )_ __   __| | ___ _ __ "+ color.END
  33. print color.BLUE + "\ \| '_ \ / _ \ | |  / _\ | | '_ \ / _` |/ _ \ '__|"+ color.END
  34. print color.BLUE + "_\ \ | | |  __/ | | / /   | | | | | (_| |  __/ | "+ color.END
  35. print color.BLUE + "\__/_| |_|\___|_|_| \/    |_|_| |_|\__,_|\___|_| "+ color.END  
  36. print ""
  37. print color.YELLOW + "By Blackdrake (@alvarodh5) para Underc0de" + color.END
  38. print ""
  39. print color.GREEN + "Asegurese que los ficheros que detecta son ilegitimos antes de eliminarlos" + color.END
  40. print color.GREEN + "Tenga en cuenta, que dependiendo de la cantidad de ficheros que tenga en su servidor, el script tardara mas o menos" + color.END                                          
  41. raw_input("[Pulse INTRO para continuar]")
  42. print color.GREEN + "Introduzca ruta del directorio donde aloja sus ficheros (Pulsa Intro para utilizar por defecto, /var/www/)" + color.END
  43. directorio = raw_input ("")
  44. if (directorio == ""):
  45.         directorio = "/var/www/"
  46. else:
  47.         longitud = len(directorio) - 1
  48.         if not(directorio[longitud] == "/"):   
  49.                 directorio += "/"
  50.  
  51. print color.BLUE + "Buscando Shells conocidas" + color.END + "" + color.RED
  52. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible R57 [PHP] --> rm -rf " $2}\'| uniq')
  53.  
  54. os.system('find ' + directorio + ' -name "*".txt  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible R57 [TXT] --> rm -rf " $2}\' | uniq')
  55.  
  56. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep c99 | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible C99 [PHP] --> rm -rf " $2}\' | uniq')
  57.  
  58. os.system('find ' + directorio + ' -name "*".txt  -type f -print0  | xargs -0 grep c99 | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible C99 [TXT] --> rm -rf " $2}\' | uniq')
  59.  
  60. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep c100 | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible C100 [PHP] --> rm -rf " $2}\' | uniq')
  61.  
  62. os.system('find ' + directorio + ' -name "*".txt  -type f -print0  | xargs -0 grep c100 | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible C100 [TXT] --> rm -rf " $2}\' | uniq')
  63.  
  64. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep c98 | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible C98 [PHP] --> rm -rf " $2}\' | uniq')
  65.  
  66. os.system('find ' + directorio + ' -name "*".txt  -type f -print0  | xargs -0 grep c98 | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible C98 [TXT] --> rm -rf " $2}\' | uniq')
  67.  
  68. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep SE3lRVER | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible WEEVELY SHELL [PHP] --> rm -rf " $2}\' | uniq')
  69.  
  70. print color.END + color.BLUE + "Otros posibles casos de Shell" + color.END + "" + color.YELLOW
  71.  
  72. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep shell | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible Shell [PHP] --> rm -rf " $2}\' | uniq')
  73.  
  74. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep backdoor | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible Shell [PHP] --> rm -rf " $2}\' | uniq')
  75.  
  76. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep stealth | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible Shell [PHP] --> rm -rf " $2}\' | uniq')
  77.  
  78. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep exec | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible Shell [PHP] --> rm -rf " $2}\' | uniq')
  79.  
  80. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep popen | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible Shell [PHP] --> rm -rf " $2}\' | uniq')
  81.  
  82. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep proc_open | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible Shell [PHP] --> rm -rf " $2}\' | uniq')
  83.  
  84. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep symlink | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible Shell [PHP] --> rm -rf " $2}\' | uniq')
  85.  
  86. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep passthru | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible Shell [PHP] --> rm -rf " $2}\' | uniq')
  87.  
  88. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep system | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible Shell [PHP] --> rm -rf " $2}\' | uniq')
  89.  
  90. os.system('find ' + directorio + ' -name "*".php  -type f -print0  | xargs -0 grep milw0rm | uniq -c  | sort -u  | cut -d":" -f1  | awk \'{print "Posible Shell [PHP] --> rm -rf " $2}\' | uniq')
  91.  
  92. print color.END + color.GREEN + "Escaner finalizado, siguenos! @underc0de @alvarodh5 " + color.END

Espero que os guste y si alguien lo termina, por favor, que me lo comunique.

Un saludo.
« Última modificación: Julio 10, 2015, 07:13:55 am por blackdrake »



Desconectado Decode

  • *
  • Underc0der
  • Mensajes: 60
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #1 en: Julio 10, 2015, 01:35:36 pm »
No has probado hacer un shell finder en php? sería muy bueno..

Saludos.

Desconectado blackdrake

  • *
  • Co Admin
  • Mensajes: 1883
  • Actividad:
    6.67%
  • Reputación 14
    • Ver Perfil
« Respuesta #2 en: Julio 11, 2015, 04:01:11 pm »
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
No has probado hacer un shell finder en php? sería muy bueno..

Saludos.

Se podría hacer, pero creo que consumiría más recursos, igualmente cuando tenga un hueco lo haré :D


Saludos.



Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« Respuesta #3 en: Julio 11, 2015, 07:04:24 pm »
yo hice algo asi en perl creo que se llamaba "destroyer shell" , pero este script buscaba mediante un array predeterminado , lo tuyo parece mas preciso.

Desconectado Baxtar

  • *
  • Underc0der
  • Mensajes: 43
  • Actividad:
    0%
  • Reputación 0
  • NEVER ITS
    • Ver Perfil
    • Email
« Respuesta #4 en: Julio 22, 2015, 02:49:57 am »
Me da este error en la linea 17 en la de import
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
File "shel.py", line 17
    import os
    ^
IndentationError: unexpected indent
[kiev@ft ~]$

Desconectado Jimeno

  • *
  • Underc0der
  • Mensajes: 367
  • Actividad:
    0%
  • Reputación -1
  • NULL
    • Ver Perfil
    • Twitter
  • Skype: migueljimeno96
  • Twitter: "><<img src=y onerror=prompt();>
« Respuesta #5 en: Julio 22, 2015, 06:48:14 am »
Has hecho mal el copia y pega, elimina las tabulaciones y espacios sobrantes al inicio de cada línea
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Me da este error en la linea 17 en la de import
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
File "shel.py", line 17
    import os
    ^ :)
IndentationError: unexpected indent
[kiev@ft ~]$
Contacto: @migueljimeno96 -

 

¿Te gustó el post? COMPARTILO!



Script en Python + Perl para explotar la vulnerabilidad ASP.net Relleno Oracle.

Iniciado por M@rkd0wn

Respuestas: 0
Vistas: 1393
Último mensaje Agosto 04, 2015, 03:30:46 am
por M@rkd0wn
Como subir shell en Wordpress

Iniciado por AΞRCRΞA

Respuestas: 1
Vistas: 3696
Último mensaje Noviembre 13, 2013, 03:14:53 am
por alexander1712