[Python][PHP] Shell Finder

  • 5 Respuestas
  • 4368 Vistas

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

Desconectado blackdrake

  • *
  • Co Admin
  • Mensajes: 1967
  • Actividad:
    33.33%
  • Country: es
  • Reputación 16
    • Ver Perfil

[Python][PHP] Shell Finder

  • 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: 34
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Re:[Python][PHP] Shell Finder

  • 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: 1967
  • Actividad:
    33.33%
  • Country: es
  • Reputación 16
    • Ver Perfil

Re:[Python][PHP] Shell Finder

  • en: Julio 11, 2015, 04:01:11 pm
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

Re:[Python][PHP] Shell Finder

  • 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

Re:[Python][PHP] Shell Finder

  • 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. Register or Login
File "shel.py", line 17
    import os
    ^
IndentationError: unexpected indent
[[email protected] ~]$

Desconectado Jimeno

  • *
  • Ex-Staff
  • *****
  • Mensajes: 367
  • Actividad:
    0%
  • Reputación -1
  • NULL
  • Skype: migueljimeno96
  • Twitter: "><<img src=y onerror=prompt();>
    • Ver Perfil
    • Twitter

Re:[Python][PHP] Shell Finder

  • 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. Register or Login
Me da este error en la linea 17 en la de import
Código: You are not allowed to view links. Register or Login
File "shel.py", line 17
    import os
    ^ :)
IndentationError: unexpected indent
[[email protected] ~]$
Contacto: @migueljimeno96 -

 

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

Iniciado por [email protected]

Respuestas: 0
Vistas: 3156
Último mensaje Agosto 04, 2015, 03:30:46 am
por [email protected]
Como subir shell en Wordpress

Iniciado por AΞRCRΞA

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