DOE AGORA Qualquer valor

[BlackOwl] ferramenta OSINT | Pesquise por subdomínios

Black Owl


Buenas a todos! Les comparto una nueva herramienta creada por You are not allowed to view links. Register or Login para la recolección de información de sitios web, dominios, emails, etc. Esta escrita en python 2.7 y basada en You are not allowed to view links. Register or Login.

La herramienta contiene los siguientes modulos:
  • CMS Gathering - Detecta CMS (wordpress, joomla, magento, ...)
  • Email to Domain - Obtiene dominios registrados con 'x' email
  • Hackedmail - Verifica si se a hackedo 'x' email
  • IP Geolocation - geolocalizacion de IP
  • Namech_k - Obtiene informacion sobre un nombre de usuario
  • Subdomain Search - Busqueda de subdominios
  • Whois Domain - Se obtiene informacion de un dominio

Instalación: (GNU/Linux, OSX)
Código: Bash
  1. $ git clone https://github.com/qqwaszx/blackowl.git ; cd blackowl
  2. $ pip install -r requirements.txt
  3. $ python main.py
  4.  
  5. # Para ver los comandos disponibles ejecutamos:
  6. : blackowl > help
  7.  

Uso:
Mostrare el uso del modulo subdomain_search, que creo es uno de los mas interesantes, una vez iniciada la herramienta ejecutamos lo siguiente:
Código: Bash
  1. # si presionamos TAB se autocompleta el nombre del modulo o comandos disponibles
  2. : blackowl > use subdomain_search
  3.  
  4. # Se carga el modulo, para ver las opciones ejecute:
  5. : blackowl(core/modules/subdomain_search) > show_options
  6.  -  domain     : No value [Is required]
  7.  !  limit_search : No value
  8.  
  9. # a continuación veremos que es necesario dar valor a la opción domain y limit_search:
  10. : blackowl(core/modules/subdomain_search) > set domain=google.com
  11. : blackowl(core/modules/subdomain_search) > set limit_search=30
  12.  
  13. # Ahora ya podemos correr el modulo
  14. : blackowl(core/modules/subdomain_search) > run
  15. [...]
  16.  
  17. # Se pueden exportar los resultados obtenidos
  18. : blackowl(core/modules/subdomain_search) > export
  19. : blackowl(export file name ?) > file.txt
  20. [+] Writing 'file.txt' file.
  21. [+] File writed : export/file.txt
  22.  


De esta manera he obtenido 30 subdominios de 'x' dominio, cabe mencionar que si no se da valor a la opción limit_search, la herramienta devolvera todos los subdominios que encuentre.

Crear mi modulo:
Esta herramieta ofrece la posibilidad de crear y agregar nuestros propios modulos, esto de la siguiente manera:

Código: Bash
  1. : blackowl > new_module
  2. : blackowl(New module name ?) > mi_modulo
  3. : blackowl(New module description ?) > este es mi primer modulo
  4. [+] Module has been written core/modules/mi_modulo.py
  5.  -  Now add argument on 'self.require' & write your code in 'def main()'.
  6.  

Ahora deberemos editar el modulo (core/modules/mi_modulo.py), de la siguiente manera:
En este caso estoy utilizando VIM, pero usted puede utilizar cualquier otro editor de codigo
Código: You are not allowed to view links. Register or Login
vim core/modules/mi_modulo.py
A continuación veremos el codigo del modulo:
Código: Python
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #description:este es mi primer modulo.
  4.  
  5. from core.lib import colors
  6. from core.lib import completer
  7. import readline
  8.  
  9. #colors
  10. C = colors.Palette()
  11.  
  12.  
  13. class module_element(object):
  14.  
  15.     def __init__(self):
  16.         self.title = "Example\n"
  17.         self.require = {
  18.             'enterprise':{'value':'', 'required':'yes'},
  19.             'function':{'value':'', 'required':'no'}
  20.         }
  21.  
  22.         self.export = []
  23.  
  24.         #completer
  25.         comp = completer.Module(self.require)
  26.         readline.parse_and_bind("tab: complete")
  27.         readline.set_completer(comp.complete)
  28.  
  29.  
  30.     def get_options(self, name):
  31.         if name in self.require:
  32.             return self.require[name]['value']
  33.         else:
  34.             return False
  35.  
  36.  
  37.     def main(self):
  38.         print "{}{} Running module: {}{}".format(C.OK, C.GREEN, self.title, C.END)
  39.  
  40.         # ------------------------------- #
  41.         # delete this and write your code #
  42.         # ------------------------------- #
  43.         enterprise = self.get_options('enterprise')
  44.         function = self.get_options('function')
  45.         print " Enterprise: {}\n Function: {}\n\n Passwords fond:".format(enterprise, function)
  46.         passwords = [
  47.                 'user:123456 :: pass:12345',
  48.                 'user:qwerty :: pass:uiop',
  49.                 'user:qwaszx :: pass:xzsawq'
  50.         ]
  51.         for line in passwords:
  52.             print " - " + line
  53.             self.export.append(line)
  54.         print "\n Please execute: export"
  55.  

Ahora editamos el codigo segun sean nuestras necesidades:
Código: Python
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #description:este es mi primer modulo.
  4.  
  5. from core.lib import colors
  6. from core.lib import completer
  7. import readline
  8.  
  9. #colors
  10. C = colors.Palette()
  11.  
  12.  
  13. class module_element(object):
  14.  
  15.     def __init__(self):
  16.         self.title = "Example\n"
  17.         self.require = {
  18.             # aqui se definen las opciones p. ej. dominio, email, website, etc.
  19.             'user':{'value':'', 'required':'no'}
  20.         }
  21.  
  22.         self.export = []
  23.  
  24.         #completer
  25.         comp = completer.Module(self.require)
  26.         readline.parse_and_bind("tab: complete")
  27.         readline.set_completer(comp.complete)
  28.  
  29.  
  30.     def get_options(self, name):
  31.         if name in self.require:
  32.             return self.require[name]['value']
  33.         else:
  34.             return False
  35.  
  36.  
  37.     def main(self):
  38.         print "{}{} Running module: {}{}".format(C.OK, C.GREEN, self.title, C.END)
  39.         # Aqui escribimos el codigo que queramos
  40.         # Para obtener los valores de las opciónes usamos la funcion get_options()
  41.         user = get_options('user')
  42.         print "Name user: " + user
  43.  


Ahora podemos guardar y ejecutar nuestro propio modulo :)


Aunque la herramienta aun tiene pocos modulos algunos de ellos son interesantes (hackedmail, subdomain_search), no hace falta decir que es nueva por lo que puede presentar fallas.

Les dejo el video de demostración de la herramienta, donde se muestra el uso de algunos de los otros modulos You are not allowed to view links. Register or Login


Espero les sea de ayuda. Saludos!

Comentários

Ebook

Postagens mais visitadas