martes, 25 de marzo de 2014

Softonic Hack - Evitar el Descargador de Softonic



Recientemente he creado una pequeña aplicación web que permite descargar software del servidor oficial de Softonic sin necesidad de utilizar su descargador.

El funcionamiento es muy sencillo y se ha descrito ya en algunos blogs.

Si estáis interesados en probarla podéis acceder al sitio utilizando este enlace: http://softonichack.esy.es/

Espero que la aplicación os evite unas cuantas barras nuevas en el navegador, malware y bichería variopinta.

viernes, 1 de noviembre de 2013

Modulo auxiliar metasploit: Webpage to alphanumeric wordlist converter


Metasploit trae algunos módulos y listas de palabras para hacer fuerza bruta, pero lo cierto es que siempre es mejor crearte tus propias listas de palabras.

Me he puesto al desarrollo de un módulo de metasploit para crear listas de palábras ordenas y alfanuméricas a partir de una página web concreta. De esta manera, si necesito probar fuerza bruta contra cierto sitio web, no necesito utilizar scripts ajenos al framework para crear una lista personalizada.

El módulo es muy sencillo. Muy probablemente lo mejore y lo resuba. Os dejo por aquí el código que tengo hecho de momento:


require 'msf/core'
require 'net/http'

class Metasploit3 < Msf::Auxiliary

def initialize
    super(
    'Name'     => 'Webpage to alphanumeric wordlist converter.',
    'Version'     => '$Revision: 0 $',
    'Description'     => 'This module converts a webpage to a sorted alphanumeric wordlist.',
    'Author' =>
    [
    'SnakingMax'
    ],
    'License' => MSF_LICENSE
    )

    register_options(
    [
    OptString.new('WEBSITE', [ true, "Webpage to extract its words", "http://snakingmax.blogspot.com/" ]),
    OptString.new('WORDLIST', [ true, "Output wordlist path", "/opt/metasploit/apps/pro/data/wordlists/website.txt" ])
    ], self.class) 
end

def run()
    puts 'Downloading webpage text...'
    wordsarray = Net::HTTP.get(URI.parse(datastore['WEBSITE'])).split(/\W/)
    sortedarray = wordsarray.uniq.sort
    puts 'Writting your sorted wordlist...'
    File.open(datastore['WORDLIST'], 'w') do |f|
        for i in 0...sortedarray.length
            f.puts sortedarray[i]
        end
    end
    
end

end


Para hacer uso del módulo es muy sencillo:
msf > search snakingmax
Matching Modules
================

   Name                               Disclosure Date  Rank    Description
   ----                               ---------------  ----    -----------
   auxiliary/private/web_to_wordlist                   normal  Webpage to alphanumeric wordlist converter.
msf > use auxiliary/private/web_to_wordlist
msf auxiliary(web_to_wordlist) >


msf auxiliary(web_to_wordlist) > show options
Module options (auxiliary/private/web_to_wordlist):

   Name               Current Setting                                        Required  Description
   ----                  ---------------                                              --------  -----------
   WEBSITE      http://snakingmax.blogspot.com/                          yes       Webpage to extract his words
   WORDLIST  /opt/metasploit/apps/pro/data/wordlists/website.txt  yes       Output wordlist path




Primero editamos (seteamos en anglohispaniólico) el parámetro WEBSITE y le damos el valor del sitio web del cuál vayamos a extraer la lista de palabras.
msf auxiliary(web_to_wordlist) > set WEBSITE http://es.wikipedia.org/wiki/Chuck_Norris
WEBSITE => http://es.wikipedia.org/wiki/Chuck_Norris


Después le decimos en qué archivo debe crear el diccionario (el directorio debe existir sinó petará):
msf auxiliary(web_to_wordlist) > set WORDLIST /opt/metasploit/apps/pro/data/wordlists/chucknorris.txt
WORDLIST => /opt/metasploit/apps/pro/data/wordlists/chucknorris.txt


Con lo que el módulo quedaría preparado de la siguiente manera:
msf auxiliary(web_to_wordlist) > show options
Module options (auxiliary/private/web_to_wordlist):

   Name      Current Setting                                          Required  Description
   ----      ---------------                                          --------  -----------
   WEBSITE   http://es.wikipedia.org/wiki/Chuck_Norris                yes       Webpage to extract his words
   WORDLIST  /opt/metasploit/apps/pro/data/wordlists/chucknorris.txt  yes       Output wordlist path

msf auxiliary(web_to_wordlist) >



Y ya solamente queda lanzarlo:
msf auxiliary(web_to_wordlist) > run
Downloading webpage text...
Writting your sorted wordlist...
[*] Auxiliary module execution completed
msf auxiliary(web_to_wordlist) >


Y el diccionario estará disponible en:
/opt/metasploit/apps/pro/data/wordlists/chucknorris.txt


¡Que lo disfrutéis con salud!