Este blog ya no está activo, sigue informándote aquí:

Mostrando entradas con la etiqueta Script. Mostrar todas las entradas
Mostrando entradas con la etiqueta Script. Mostrar todas las entradas

miércoles, 23 de mayo de 2018

OpenVas Management Scripts

Pues claramente esta entrada va de lo que pone en el titulo, últimamente trabajar con OpenVas esta siendo un horror, pero si tienes claro como extraer los reports y que servicios has de levantar siempre que se te quede pillado. Por eso y para que nuestra faena sea mucho mas fácil, hoy os recomiendo estos simples script que nos ayudarán a llevar, un poco mejor, este calvario. Gracias [Anthony Cozamanis].

Enlace a los Scripts:
Sed Buenos ;) 

domingo, 20 de mayo de 2018

Hobbytruco.- Ping List Batch Script

Muchas veces si hacéis un escaneo por IPs es posible que no obtengáis el hostname de la máquina que vayáis a escanear. Esto pasa por diferentes factores sobretodo por no realizar un escaneo autenticado, pero si aun no tenéis la suficiente confianza en que vuestra infrastructura funcione, siempre os quedará este plan B. 

Si escaneais por ip, de manera no autenticada y el equipo de infraestructuras se os ha puesto muy pesado con que quiere relacionar los hostnames con las ips, pedidles todos los nombres de host que tengas y lanzad el siguiente script.  

Esto lo único que ara leer hostname por hostname de un txt llamado Hostlist.txt, hacer ping a cada máquina y escribir un csv con la ip el nombre de host y el día de este barrido de ping. Muy chulo el CSV por si se ha de presentar a algún jefe. 


Más información:
Sed Buenos ;) 

miércoles, 11 de abril de 2018

Python.- ClickJackingAnalyzer

Hace unos días o comenté varios [Hobbytrucos] para poder detectar si una web es vulnerable a ClickJacking a través de la cabecera HTTP y no me he podido resistir, y he usado la librería requests de Python 3.X permite leer estas cabeceras. Mas fácil imposible, así que me he puesto a jugar con ella y he armado este sencillo script. Lo iba a subir a GitHub pero está tan verde que solo sirve de idea  antes de una versión mejor. 



import requests

def check(data):
    r = requests.get(data)    
    try:
        d = r.headers['X-Frame-Options']
        print ("THAT SITE ISN'T VULNERABLE TO CLICKJACKING")
        print ("HEADER: ", d)
    except:
        p = r.headers
        print ("THAT SITE IS VULNERABLE TO CLICKJACKING")
        print (" X-Frame-Options HEADER: ", p)

if __name__ == "__main__":
    print ("""\
     __________________________
    |                                                     |
    | CLICKJACKING ANLAYZER |
    |                              ver 0.0.1         |
    |__________________________|
     
    """)
    a = input("Web to Analyze: ")
    check(a)
    
Sed Buenos ;)

lunes, 11 de diciembre de 2017

Powershell.- Invoke-WCMDump

hace mucho que no hablamos de Powershell por aquí y la verdad es que esta herramienta la tenemos que tener siempre presente no vaya a ser, que un día nos quiten la cmd y todo se vuelva oscuro y tétrico. Pero no es momento para protestar ya que Powershell es mucho mas potente de lo que una cmd puede llegar a imaginar y ya hemos demostrado en este blog las virtudes de esta.


Así que hoy os traigo un script mas para añadir a nuestro arsenal. Invoke-WCMDump nos permite extraer todas las credenciales que tengamos en nuestro Credential Manager. Muy útil si tenemos poderes de administrador. 

Aquí tenéis el enlace al script  y os recomiendo que le echéis un ojo al código del script, os permitirá aprender un montón.
Sed Buenos ;)




viernes, 9 de junio de 2017

PDO.- Python + Have I been pwned?

Hace mucho que tenia esta idea en la mente. ¿Por qué no me creo un script en Python que consulte a [Have I Been Pwned] (la página esa para ver si tus pass han sido filtradas por algún lado) para que cada día revise si me han Pwneado?

Pues nada me puse a mirar la página y vi que el servicio de Notify me! en el que te avisan por correo si tu contraseña ha sido filtrada no me convencía, pero al ver el apartado API vino la luz de la inspiración.

Solo hace falta consultar la siguiente URL substituyendo {account} por la dirección de correo que queráis buscar y ya lo tenemos:
  • GET https://haveibeenpwned.com/api/v2/breachedaccount/{account} 
Por lo que lo tenia fácil para preparar mi script en python  así que para jugar primero cree a GAS. Un script que permite buscar cualquier cuenta y te devuelve la confirmación de que estás jodido y las fuentes donde los malos pueden encontrar tu pass. 

Ejemplo de GAS: 


Así que, una vez ya programado GAS lo modifique para crear a PDO (Powned Daemon Oriented) y esta ya podía consultar todas las cuentas de correo que le añada a un txt. Pues esto, fusionado con programarlo para que se ejecute cada vez que abro el equipo ya tengo lo que veníamos a buscar. 
 
Cada día al encender el PC el script monitorizará por mi si mis pass están al alcance de todo Internet y eso me tranquiliza un poco

Ejemplo de como funciona PDO:

 

Es una idea loca y fácil, pero me ha molado hacerla. Aquí tenéis el enlace a mi GitHub para que podáis jugar con los scripts:

Sed Buenos ;)

lunes, 28 de noviembre de 2016

Pss MACchanger a mi ..

Otro día mas sin Wifi y ahora me entero que estamos en la moda de registrar equipos por direcciones MAC ... como no se puede cambiar ... de ninguna manera. Es mas, yo en verano [no subí ningún script] para hacer esto mismo cada vez que queríamos lanzar un ataque. 


Así que me he puesto a pensar y a no ser que con la MAC generen un certificado digital, cualquiera podría probar a cambiarse esta dirección de manera aleatoria hasta conseguir conectarse. Pero aparte de eso, esto me ha hecho darme cuenta de que aparte de usar MACchanger ... no tenia ni idea de hacerlo manualmente. 

Bueno, de esta manera no me iré a dormir sin saber una cosa mas y ya puedo hacerme mi propio MACchanger: 
  • Script para Windows cambiando el 0007 (ver en el registro de windows) por el numero de tu interfaz y el 002622D90EFC por la MAC que quieras poner:
@echo off
netsh interface set interface "Local Area Connection" disable 
 
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0007 /v NetworkAddress /d 002622D90EFC /f  
netsh interface set interface "Local Area Connection" enable

  •  Script para Linux cambiando 02:01:02:03:04:08 por la MAC que queramos:  
ifconfig eth0 down
ifconfig eth0 hw ether 02:01:02:03:04:08 
ifconfig eth0 up
Sed Buenos ;) 

viernes, 25 de noviembre de 2016

Batch para momentos de estrés

Ya sabéis que hay veces, una hora antes de irte de vacaciones se puede armar la de dios y que normalmente no estas asignado a un solo proyecto y no has pasado la información a que necesitan tus compañeros para substituirte, al directorio compartido. Ya que, "no corría tanta prisa", no has trabajado debidamente con la información de ese directorio y ahora te toca correr porque llegas tarde.


Pues hoy me he puesto a pensar en ello y también puede aplicarse a cualquier cataclismo que pueda producirse, como que se caiga la electricidad de la oficina y tengas que depender del la batería de tu portátil y del SAI del CPD. Seguro que todos trabajamos cómodos con vuestros recursos compartidos pero para los que no, aquí tenis un Script en Batch donde el contenido de la carpeta X sera copiado en el directorio compartido que necesitéis. 

He partido de un comentario en el foro de Microsoft cambiando el comando xcopy por el copy normal y revertiendo el proceso. Bueno, por otro lado,  como supongo que las mentes pensantes de vuestra empresa habrán habilitado una especie de Single Sign-On pues una vez logueados en la red no necesitaremos de nuevo usar el comando net con autenticación. Pero por si acaso también tenéis como hacerlo en el foro.

Como podréis ver en el script estamos limitados a trabajar con solo una carpeta/directorio y los subdirectorios correspondientes pero ya nos vale. Lo copiamos en un bloc de notas, editamos los campos recurso de red compartido y Directorio a copiar  por el que toque. Lo guardamos como .bat y al hacer doble clic en el veremos como todos los archivos de nuestra carpeta de trabajo se copiarán en el recurso compartido que hayamos editado previamente.
@echo off 
echo ---------------------------
echo Conectando unidad de red
echo ---------------------------
net use z: \\recuso\de_red\Compartido
z:
echo Conectado a la unidad de red
copy "Directorio a copiar" z:
echo Directorio copiado
net use z: /delete 
echo Proceso completado
Y así nos aseguramos de que nuestra información estará siempre duplicada y segura en nuestros directorios compartidos, en casos de extrema necesidad.
Edito,  ahora que lo pienso también podemos programar una tarea que, al arrancar por primera vez el Windows se ejecute el script. Así cada día a primera hora tendremos todos los archivos actualizados en nuestros directorios. 

Sed Buenos ;)

domingo, 2 de octubre de 2016

ONIOFF.- Inspertor de URL .Onion

Este es un Script en Python que me ha llevado mucha gracia, ONIOFF se encarga de inspeccionar si una pagina de la "deepweb" (vamos, una web del estilo "blablabla.onion") esta activa, si ha sufrido algún cambio o no esta habilitada en ese momento.


Fácil, cómodo y para toda la familia,  lo mas chulo en mi opinión seria implementarlo con la distribución Linux Tails la cual [nos permite rellenar un archivo de configuración] para descargar, cada vez que arranquemos dicha distribución, el software que nosotros queramos.  De esta manera siempre podemos asegurarnos que las páginas que visitamos habitualmente no han sufrido ningún cambio o intento de suplantación. 

¿Cómo lo instalo?:
$ git clone https://github.com/k4m4/onioff.git 
$ cd onioff 
$ pip install -r requirements.txt
¿Cómo funciona?:

Fuente y enlace al GitHub del proyecto:

Sed Buenos ;)

viernes, 26 de agosto de 2016

MACchanger, Bash y Alfa

Hace unos meses adquirimos una de esas famosas antenas Alfa y este verano hemos entre fallos y errores ya la hemos amortizado.Aunque el único problema ha sido el adecuar la terminal con MACchanger cada vez queríamos hacer una prueba.


Para los que no sepáis que es MACchanger, solo os diré que es una aplicación para linux que nos deja cambiar la dirección MAC de una tarjeta de red (Bueno mas bien la camufla ya que no podrá cambiar la dirección permanente de estas. 

Instalar MACchanger:
  • sudo apt-get install macchanger
Gracias a la función random de MACchanger podemos darle una MAC aleatoria cada vez que iniciamos el script. Así que con un poco de paciencia para crear un "acceso directo" o "lanzador" en Kali podemos cambiar la mac cada vez que queramos experimentar con algo. 

Aunque es una tonteria que se ha ma ocurrido hoy y puede estar mejor programado, aquí os dejo el Bash.

#!/bin/bash
ifconfig wlan1 down
macchanger -r wlan1
ifconfig wlan1 up
read -p "Esta es tu nueva dirección MAC, pulsa ENTER para iniciar la terminal"
#invocamos a la terminal de gnome
gnome-terminal

Sed Buenos ;)

martes, 26 de julio de 2016

/run, Lua y World of Warcraft

Hace unos días me vi la película de Warcraft y recode de aquellos días pescando cerca de un pueblecito de Ventormenta en su juego de rol online. Pocos porque quien me conoce sabrá que el WoW nos es gusto mi paladar, pero siempre animaba jugar con amigos, irte de aventuras y echar unas risas que para eso están los videojuegos. 


Bueno,  porque no sabía de la existencia del comando /run RemoveExtraSpaces=RunScript ni que el sistema de interfaz del WoW utilizara el lenguaje de programación [Lua]. Traduciendo un poco /run es un comando que interpreta el siguiente texto en lenguaje Lua, RemoveExtraSpaces es una función incorporada la cual borra espacios de texto innecesarias y RunScript es la función encargada de ejecutar el texto como código Lua.

Con lo cual tenemos barra libre para hacer mas o menos lo que queramos dentro de World of Warcraft. Como por ejemplo enviar un mensaje a otro jugador a través de un "popup" del juego. 

De este ejemplo y otros podréis encontrar el código en la fuente de esta noticia:

Yo me voy a aprender un poco de código Lua que me ha picado la curiosidad. 

Sed Buenos con esto 0;) 

domingo, 17 de julio de 2016

BruteXSS.- Cross-Site Scripting Bruteforcer

Hace unos días os recomendé un Cheat Sheet de XSS muy chulo pero, ¿Como podemos automatizar el procedimiento de búsqueda de vulnerabilidades XSS? Pues hoy os voy a recomendar Brute XSS un Script en Python, al cual podremos pasarle una lista con dorks/payloads de Cross-Site Scripting por un parámetro en exclusiva.

 
BruteXSS inyecta múltiples payloads desde una lista de palabras especifica y las dispara a los parámetros especificados y escana si alguno de los parámetros es vulnerable a la vulnerabilidad XSS. BruteXSS soporta peticiones POST y GET que hacen que sea compatible con las aplicaciones web modernas.
Usage (GET):
  • COMMAND: python brutexss.py 
  • METHOD: g 
  • URL: http://www.site.com/?parameter=value WORDLIST: wordlist.txt
Usage (POST):
  • COMMAND: python brutexss.py 
  • METHOD: p 
  • URL: http://www.site.com/file.php 
  • POST DATA: parameter=value&parameter1=value1 
  • WORDLIST: wordlist.txt

 Enlace al script:
 Sed Buenos ;)  

miércoles, 15 de junio de 2016

Windows.- Hijacking ShortCuts

Hoy ha salido el boletín de vulnerabilidades de Windows así que espero que hayáis actualizado vuestros equipos. No obstante y como no puede ser de otra manera Microsoft no para de sorprendernos con su bugs, en esta ocasión Windows 8.1 nos permite suplantar o secuestrar Shortcuts.

Los archivos .lnk pueden estar asociados a una tecla de acceso directo. Normalmente, [un archivo .lnk permite asignar sólo combinaciones] de  ctrl + alt + <tecla>. Sin embargo existe una solución con Powershell para asignar cualquier tecla de acceso directo que nosotros queramos, incluso Ctrl + V o Ctrl + C.

Jerry Gambli, que es el que ha dado con esta vulnerabilidad ha publicado una PoC muy chula adjuntado hasta el código para que cualquiera podamos jugar con el. Además se ha grabado en vídeo.


Por si queréis los scripts y mas información visitad la fuente que se lo ha currado:
Sed Buenos ;) 

martes, 5 de abril de 2016

Bloquea TOR a tus Sistemas

Ayer en la lista de la RootedCON empezó una conversación muy interesante sobre como bloquear debidamente los nodos TOR que se conecten a nuestros sistemas. Esta conversación se extiende a dia de hoy y si tenéis oportunidad de pillarla es realmente recomendable. 


Entre todos los comentarios el amigo Kinomakino aportaba a la discusión [un enlace a su blog] y un sencillo script para este cometido en un firewall CSF (ConfigServer Security & Firewall) Este script hace uso de la página [https://check.torproject.org/cgi-bin/TorBulkExitList.py] pasa saber que nodos tienen salida a nuestras ips y así poderlas bloquear. 

El script que expone Kinomakino es el siguiente:

wget -q https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=TUIP -O -|sed '/^#/d' |while read IP
do
      /usr/sbin/csf -td ${IP} 24h TOR
done


Knomakino da unas pequiñas recomendaciones para e uso del script, ero eso ya lo tendreis que leer en su blog ya que es la fuente de esta entrada: 

Sed Buenos ;) 

lunes, 14 de marzo de 2016

Securityheaders y Su Script

Ayer, entre que me entretenía a buscar entradas antiguas en este blog y pensar en una nueva, descubrí la pagina SecurtiyHeaders.  

 
Una [página que al buscar por la url de una web, analiza la respuesta Http] de esta y le da una nota basándose en los siguientes "elementos" de seguridad (En algunos discrepo un poco): 
  • Access Control Allow Origin
  • Content Security Policy
  • Cross Domain Meta Policy
  • NoSniff
  • Server Information
  • Strict Transport Security
  • UTF-8 Character Encoding
  • X-Frame-Options
  • X-Powered-By
  • X-XSS-Protection 
Lo mejor de esta pagina es que cuanta con su propio script en bash para poder hacer una búsqueda rápida y podemos colaborar en su GitHub.  Espero que os sea útil:
 Sed Buenos ;) 

miércoles, 10 de febrero de 2016

Maybe que si, Maybe que no

Hace unos das que vi esta herramienta pero la verdad es que no sabia por donde pillarla y tras mirar y remirar el código me quedó menos claro aún. Así que gracias a la entrada de Hackplayers referente  a la herramienta Maybe por fin aprendido para que servía. Bueno, hay días que se está mas lucido que otros. 

"maybe es una utilidad que permite validar las funciones que realiza un comando antes de llevarlas a cabo. Para ello ejecuta procesos bajo el control de ptrace (con la ayuda de la biblioteca Python-ptrace). Cuando se intercepta una llamada al sistema que está a punto de realizar cambios en el sistema de archivos, registra esa llamada y luego modifica los registros de la CPU para que redireccione la llamada a un ID de syscall no válido (convirtiéndolo así en un no-op) y devuelve el valor de esa llamada no-op a uno que indica el éxito de la llamada original."
Si queréis descargar la herramienta ver el código y para que plataformas es os recomiendo que vayáis a la entrada de Hackplayers que allí lo explican de maravilla:
Sed Buenos ;) 

martes, 22 de diciembre de 2015

¡Que No Te Den Liebre por Nodo Tor!

Hace un par de días jugando con la nueva versión de la distribución Tails y como ya sabes, está orientada al anonimato y utiliza Tor por un tubo. Así que y sabiendo como funciona Tor, ¿Como podemos estar 100% seguros que cada nodo por el que saltamos en la red Tor es confiable y no nos depara ninguna sorpresa?


Según el paper Spoiled Onions: Exposing Malicious Tor Exit Relays, existen muchísimos nodos de salida que tienen un propósito malicioso ya que hayan sido vulnerados por terceros o que el mismo propietario lo haya preparado para fastidiar a todo aquel que no se haya enterado. 

Así que para automatizar este proceso Marco Ramilli ha creado un script en Python el cual,[según podíamos leer ayer en Hackplayers], es capaz de comprobar las siguentes tecnicas:
  • Envenenamiento DNS: Esta técnica consiste en redirigir las llamadas DNS relacionadas con sitios web conocidos a páginas falsas que normalmente contienen exploit kits.
  • Parcheo de archivos: Esta técnica consiste en alterar el archivo solicitado de vuelta a su destino mediante la adición de contenido malicioso: esto sucede directamente en el ExitPoint/Relay antes de ser entregado al solicitante original.
  • Sustitución de certificados (SSL-MITM). Esta técnica consiste en la sustitución del certificado de sitio web real por uno falso con el fin de ser capaz de descifrar el flujo de comunicación e interceptar las credenciales y parámetros.

Así que ahora es muy fácil hacernos con una lista de nodos y poder ver cuales de ellos son sospechosos y reportarlos directamente reiniciar nuestra conexión hasta que nos sintamos seguros para poder operar.

Mucha mas información sobre como funciona el script, de donde descargarlo y como aportar al su github, en la fuente de esta noticia:
Sed Buenos ;) 

domingo, 19 de julio de 2015

Script.- Actualizar Ubuntu Al Inicar Sesión.

Los que me seguís en el twitter o la gente a la que la he pedido consejo ya sabrá que desde hace unos días estoy jugando con el sistema operativo Ubuntu para aprender un poco mas.  Para los que no estéis en el Grupo del blog podréis [encontrar una guía para el Hardening de Ubuntu] si os unís.


Sinceramente después de instalas las actualizaciones me hacían falta para que Ubuntu funcionara correctamente, que he de decir que ha ido mas rapido que Windows 10, y de algún que otro problema al leer dvds originales con vlc. Pensé en que seria muy facil hacer un script en Bash para que cada día se actualizasen las aplicaciones y no tener que estar pendiente del apt-get update y upgrade cuando saliera una vulnerabilidad importante. Así cada día se instalará las actualizaciones correspondientes. 

Aquí teneis el script: 

#!/bin/bash

# Actualizar el listado de paquetes disponibles
 
sudo apt-get update -y && echo ""

#Actualizar todos los paquetes del sistema, instalando o desinstalando los paquetes que sean necesarios para resolver las dependencias que pueda generar la actualización de algún paquete

sudo apt-get dist-upgrade && echo ""

#Actualizar solo los paquetes ya instalados que no necesitan, como dependencia, la instalación o desinstalación de otros paquetes

sudo apt-get upgrade -y && echo ""


#Para mantener el sistema limpio de bibliotecas inútiles

sudo apt-get autoremove -y && echo ""

#Para limpiar los paquetes viejos que ya no se usan

sudo apt-get autoclean -y && echo ""


Copia y pégalo en un nuevo documento y guárdalo como .sh. Para provarlo solo hace falta ejecutar el siguiente comando.
  • sh ruta/nombredelarchivo.sh 
Ahora que ya sabemos que funciona lo copiamos a la carpeta init.d
  • sudo mv /ruta/nombredelarchivo.sh  /etc/init.d/   
Cambiamos los permisos del script copiado.
  • sudo chmod +x /etc/init.d/nombredelarchivo.sh 
Y por último actualizamos el rc.d con la configuración por defecto.
  •   sudo update-rc.d nombredelarchivo.sh defaults
Bueno también he incluido el && echo"" para poder ver el proceso y si hay algún error, espero que os guste y que os sirva. A mi me ha encantado jugar esta tarde con esto ;)

Sed Buenos ;)

miércoles, 8 de abril de 2015

Python A Lo Macarra.- ¡Magic Numbers or File!

Hace unos días que estoy enganchado a leer write-ups de CTFs y una regla habitual de muchos participantes cuando reciben un archivo es pasarle el comando file para saber de que tipo de archivo se trataba o para verificar que no les estaban tomando el pelo con la extensión. Ademas de ser una idea genial para la realización de un peritaje, por aquellas cosas de que al copiar el disco algún archivo misteriosamente no lleva la extensión correspondiente. 

Así que, file me pareció un comando genial pero, como no podía ser de otra manera, todos los comandos chulos no están disponibles para Windows. Lo cual me ha hecho tener ganas de programarlo en Python ya que es una cosa que no existía y que siempre que encontraba una librería esta tiraba de algún port de file para Windows. De esta manera es como me he decidido aprender, un poco por encima, que son los Magic Numbers y como podía buscarlos. 


Para los que estabais igual que yo, los Números Mágicos son un conjunto de caracteres alfanuméricos que identifican un archivo que, en un principio, se registran en  2-bytes al principio del archivo. Ademas de haber gente genial que los ha ido recopilando en tablas separando el valores hexadecimal del ASCII y catalogados por productos y extensiones. 

Ejemplos de tablas: 
Sabiendo que tenemos los valores en hexadecimal de un montón de extensiones y que python puede leer e imprimir el código binario de cualquier archivo en 4 lineas de codigo solo necesitaba la maner a de convertirlo a hexadecimal y compararlo con el Magic Number que yo quisiera. 

Buscando buscando, recordé que hace tiempo estaba jugando con binascii, una librería que contiene una serie de métodos para convertir representaciones binarias en varias codificaciones ASCII y que gracias a ella ahora tenia el metodo para poder realizar mi script. 
  • binascii.hexlify(data):
    • Return the hexadecimal representation of the binary data. Every byte of data is converted into the corresponding 2-digit hex representation. The returned bytes object is therefore twice as long as the length of data.
Aquí os dejo el Script/PoC super-esbozado ya que solo busca por el numero mágico de un pdf: 

import binascii
import re 
archivo = 'aaaa.pdf'
with open(archivo, 'rb') as m:
    contenido = m.read()

d= str(binascii.hexlify(contenido))
print (d)
o1 = re.search("25504446",d)
if o1:
    print ("Es un pdf como una casa Adobe Portable Document Format and Forms Document file")
else:
    print (" Pues, será otra cosa")

Lo he probado con y sin extensión y pasandole un archivo que no sea un pdf. Funciona y nunca me he alegrado tanto de ver código hexadecimal imprimiéndose en mi pantalla. 


Ahora solo hace falta introducir mas Magic Numbers y hacer que el mismo programa analice y encuentre los archivos sin extensión de cualquier directorio. Ya os he dicho que para temas Forenses esta idea tenia futuro. 

Espero que os haya gustado. 

Sed Buenos ;) 

martes, 17 de febrero de 2015

Python.- Búsqueda Pasiva De Vulnerabilidades XSS.

Hace tiempo que os hablé de XSSpose, un repositorio de vulnerabilidades XSS y hasta hice un script en Python para buscar en las diferentes paginas. Pero no servia para nada ya que era demasiado lento y tenias que escribir la pagina web perfecta para que lo encontrara.


Así que me he puesto a crear un script que utilizara la barra de búsqueda de la pagina y me lo guarde todo en un .txt por lineas la mar de mono. Ademas, lo he preparado para cuando conozca algún otro repositorio similar pueda hacer el parseo correspondiente.

Espero que os guste, os dejo el código aquí, OJO esta escrito en Python 3.4:

import urllib.request
import re

def XSSearch(query):
    data = "https://www.xssposed.org/search/?search="+ query +"&type=host"
    web = urllib.request.urlopen(data)
    d = str(web.read())
    d1 =  re.search(r"</h3>(.*)XSS mirror", d)
    d2 =  re.search(r"",d)
    print ("--> " + d1.group(1) + "Vulnerabilidades encontradas en "+"%s" % query)
    print ("    + " + data + "\n")
    reporte =  open("VXss.txt", "a+")
    reporte.write("XSSposed:")
    reporte.write("--> " + d1.group(1) + "Vulnerabilidades encontradas en "+"%s" % query)
    reporte.write("    + " + data + "\n")

if __name__ == "__main__":
 
    webs = []
    while True:
        busqueda =  input("Web a buscar: ")
        webs.append(busqueda)
        if busqueda == "":
            print ("XSSposed:")
            for web in webs:
                if not web == "":
                    XSSearch(web)
            input("El resultado de estas busquedas tambien ha sido guardado en VXss.txt, dale a [Enter] para salir:")
            break
             
        print ("Listado de Webs a buscar: ")      
        print (webs)

Seguro que se podría mejorar y lo primero que se me ocurre es añadirle webs que vayamos recopilando desde un .txt, que lea las filas y las añada a la lista para ser buscadas a luego. 

Algo así:

webs = []
webd = open("Webdic.txt","r")
lineas = webd.readlines()
webd.close()
for line in lineas:
    print (line)
    webs.append(line)
print (webs)


Si conocéis mas repositorios XSS decidmelo que tengo ganas de que esto tire para adelante por favor. 

Sed Buenos ;) 

martes, 21 de octubre de 2014

ShellShock's PoC y en Python

Ya hablamos largo y tendido de esta vulnerabilidad y dije que aun había mucho por descubrir. Así que hoy poniéndome al día con los blogs que sigo en [flu-project] justamente el 15 de octubre explicaron el funcionamiento de una Prueba de concepto (PoC) utilizando la vulnerabilidad Shellshock, añadiéndole un payload y utilizando Python, que es lo mejor. 


Esta PoC puede ser armada con dos payloads uno bind y otro reverse: 



Aunque la forma de configurarla nos es tan userfriendly como con metasploit tampoco cuesta mucho de configurar. Solo hace falta leer un poco el código y seguir las instrucciones y los ejemplos. 


Si queréis ver el script completo aquí tenéis el enlace: 

Espero que os guste y os lo reviséis si os interesa. Para mas información y fuente de la entrada: