コード例 #1
0
ファイル: sqlimod.py プロジェクト: skinny21/webhackshl
def isdba(mode):
    if mode == "normalsqli":
        checker.cAmarillo("Comprobando si el usuario actual es root de MySQL ...")
        outp = open("modules/sqlopt/output.txt", "w")
        call(["sqlmap","--tamper=bluecoat","--technique=BEUST","--level",level,"--risk",risk,"-u",url,"--batch","--is-dba"],stdout=outp)
        if 'current user is DBA:    False' in open('modules/sqlopt/output.txt').read():
            print ("El usuario no es root.")
            outp.close()

        elif 'current user is DBA:    True' in open('modules/sqlopt/output.txt').read():
            checker.cVerde("El usuario es root!, esto es fascinante!!.")
            outp.close()
        else:
            checker.cRojo("Resultado inesperado.")
            outp.close()
    elif mode == "postsqli":
        checker.cAmarillo("Comprobando si el usuario actual es root de MySQL ...")
        outp = open("modules/sqlopt/output.txt", "w")
        call(["sqlmap","--tamper=bluecoat","--proxy","socks5://localhost:9050","--technique=BEUST","--level",level,"--risk",risk,"-u",url,"--data",post,"--batch","--is-dba"],stdout=outp)
        if 'current user is DBA:    False' in open('modules/sqlopt/output.txt').read():
            print ("El usuario no es root.")
            outp.close()
        elif 'current user is DBA:    True' in open('modules/sqlopt/output.txt').read():
            checker.cVerde("El usuario es root!, esto es fascinante!!.")
            outp.close()
        else:
            checker.cRojo("Resultado inesperado.")
            outp.close()
    else:
        print ("Modo de inyección desconocido.")
        pass
コード例 #2
0
ファイル: sqlimod.py プロジェクト: skinny21/webhackshl
def postsqlip():
    checker.cAmarillo("\nElige lo que quieres hacer. (IMPORTANTE: Elige una de estas opciones en caso de que la inyección SQLi haya sido exitosa. Si no fue exitosa la inyección, seleccione la opción 'f' e intentelo de nuevo aumentando el --level y el --risk.):")
    print ("""
        a) Extraer todas las tablas de una base de datos.
        b) Extraer todas las columnas de una tabla.
        c) Extraer todo de una o mas columnas.
        d) Dumpear toda la DataBase.
        e) Comprobar si el usuario MySQL es root.
        f) Salir.
        """)
    sel=input("Teclea tu opcion: ")
    if sel == "f":
        print ("Saliendo.")
    elif sel == "a":
        postdb("postsqli")
        postsqlip()
    elif sel == "b":
        posttables("postsqli")
        postsqlip()
    elif sel == "c":
        postcolumns("postsqli")
        postsqlip()
    elif sel == "d":
        dumpall("postsqli")
        postsqlip()
    elif sel == "e":
        isdba("postsqli")
        postsqlip()
    else:
        postsqlip()
コード例 #3
0
def intensescan():
    checker.cRojo("Desea Guardar el logs de la informacion? y/n : ")
    resp = input("Introduce tu Respuesta y/n : ")
    if resp == "y":
        host()
        logsalida = logs.randomarch("nmap-full/", "NMAP-FULL", ".log")
        checker.cRojo(
            "Para este tipo de escaneo necesitas privilegios sudo o root, por favor introduzca su contrasena si no eres root."
        )
        call([
            "sudo", "nmap", "-A", "-T4", "-sS", "-Pn", "-O", "-sV", "-p",
            "1-10000", "-v", target, "-oN", logsalida
        ])
        checker.bspc()
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.cRojo(["Tu log se ha Guardado en la ruta: ", logsalida])
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.bspc()
    elif resp == "n":
        host()
        checker.cRojo(
            "Para este tipo de escaneo necesitas privilegios sudo o root, por favor introduzca su contrasena si no eres root."
        )
        call([
            "sudo", "nmap", "-A", "-T4", "-sS", "-Pn", "-O", "-sV", "-p",
            "1-10000", "-v", target
        ])
コード例 #4
0
def wordpresscan():
    checker.cRojo("Desea Guardar el logs de la informacion? y/n : ")
    resp = input("Introduce tu Respuesta y/n : ")
    if resp == "y":
        logsdirectory = "/opt/wpscan/modules/logs/wpscan/"
        if not os.path.exists(logsdirectory):
            print("El directorio ", logsdirectory, " no existe, se creará.")
            os.system("sudo mkdir -p /opt/wpscan/modules/logs/wpscan/")
        web = portsmod.host()
        logsalida = logs.randomarch("wpscan/", "WPSCAN", ".log")
        call([
            "sudo", "wpscan", "-u", web, "--enumerate", "p", "--enumerate",
            "t", "--enumerate", "u", "--log", logsalida
        ])
        checker.bspc()
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.cRojo(["Tu log se ha Guardado en la ruta: ", logsdirectory])
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.bspc()
    elif resp == "n":
        web = portsmod.host()
        call([
            "sudo", "wpscan", "-u", web, "--enumerate", "p", "--enumerate",
            "t", "--enumerate", "u"
        ])
    execute()
コード例 #5
0
def execute():
    checker.cAmarillo("Seleccina una de las siguientes opciones:")
    print("""
    a) Obtener informacion del sitio web, servidor, Ip, CMS, Software del servidor y mas.
    b) Buscar vulnerabilidades web usando nikto.
    c) Buscar vulnerabilidades web de sitios web Joomla.
    d) Buscar vulnerabilidades web de sitios web Joomla usando TOR.
    e) Buscar vulnerabilidades web de sitios web con WordPress
    f) Buscar vulnerabilidades web de sitios web con WordPress usando TOR.
    g) Salir.""")
    sel = input("Introduce tu opcion: ")
    if sel == "a":
        whatw()
    elif sel == "b":
        nickscan()
    elif sel == "c":
        joomsc()
    elif sel == "d":
        joomsctor()
    elif sel == "e":
        wordpresscan()
    elif sel == "f":
        wordpresscantor()
    elif sel == "g":
        print("Saliendo.")
    else:
        execute()
コード例 #6
0
def joomsctor():
    web = host = portsmod.host()
    checker.cAmarillo(
        "Buscando vulnerabilidades en el sitio web usando joomlavs usando TOR..."
    )
    call([
        "ruby", "joomlavs/joomlavs.rb", "-u", web, "--proxy",
        "SOCKS5://127.0.0.1:9050", "-a"
    ])
    execute()
コード例 #7
0
def anyhash():
    checker.cAmarillo("\nLa lista de tipos Hash que puede desencriptar es:\n")
    checker.cAmarillo(hashtypelist)
    hashtyp = input(
        "\nIntroduce el tipo de Hash que deseas desencriptar usando John The Ripper: "
    )
    if hashtyp in hashtypelist:
        hashdecrypt(hashtyp)
    else:
        print(
            "El tipo de Hash especificado no es valido, intentalo de nuevo.\n")
        anyhash()
コード例 #8
0
def fastscan():
    checker.cRojo("Desea Guardar el logs de la informacion? y/n : ")
    resp = input("Introduce tu Respuesta y/n : ")
    if resp == "y":
        host()
        logsalida = logs.randomarch("nmap-rapido/", "NMAP-Rapido", ".log")
        call(["nmap", "--open", "-F", target, "-oN", logsalida])
        checker.bspc()
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.cRojo(["Tu log se ha Guardado en la ruta: ", logsalida])
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.bspc()
    elif resp == "n":
        host()
        call(["nmap", "--open", "-F", target])
コード例 #9
0
def detectserv():
    checker.cRojo("Desea Guardar el logs de la informacion? y/n : ")
    resp = input("Introduce tu Respuesta y/n : ")
    if resp == "y":
        host()
        logsalida = logs.randomarch("nmap-servhost/", "SERV-HOST", ".log")
        call(["nmap", "-sP", target, "-oN", logsalida])
        checker.bspc()
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.cRojo(["Tu log se ha Guardado en la ruta: ", logsalida])
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.bspc()
    elif resp == "n":
        host()
        call(["nmap", "-sP", target])
コード例 #10
0
ファイル: sqlimod.py プロジェクト: skinny21/webhackshl
def execute():
    checker.cAmarillo("Selecciona tu opcion:")
    print ("""
    a) Sqli usando sqlmap sin proxy.
    b) Sqli usando sqlmap con TOR.
    c) Sqli usando post inyeccion.
    d) Sqli usando post inyeccion con TOR.
    """)
    selec=input("Teclea tu opcion: ")
    if selec == "a":
        sqlinorm()
    elif selec == "b":
        sqlitor()
    elif selec == "c":
        sqlipost()
    elif selec == "d":
        sqlipostor()
    else:
        execute()
コード例 #11
0
def escanport():
    checker.cRojo("Desea Guardar el logs de la informacion? y/n : ")
    resp = input("Introduce tu Respuesta y/n : ")
    if resp == "y":
        host()
        port()
        logsalida = logs.randomarch("nmap-puertorango/", "PUERTORANGO", ".log")
        call(["nmap", "-p", portnumber, target, "-oN", logsalida])
        checker.bspc()
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.cRojo(["Tu log se ha Guardado en la ruta: ", logsalida])
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.bspc()
    elif resp == "n":
        host()
        port()
        call(["nmap", "-p", portnumber, target])
コード例 #12
0
def menu():
    checker.cAmarillo("Por favor selecciona una de las siguientes opciones")
    print("""
    a) Escaneo full de un host (Lento pero el mas completo).
    b) Escaneo rapido de un host.
    c) Detectar servidores corriendo de un host.
    d) Detectar versiones de los servicios corriendo en un host.
    e) Escanear un puerto especifico o un rango de puertos.
    f) Detectar el sistema operativo de un host.
    g) Enumerar los DNS de un host.
    h) Bypassear cloudflare.
    i) Salir.
    """)
    sel = input("Introduce tu opcion: ")
    if sel == "a":
        intensescan()
        menu()
    elif sel == "b":
        fastscan()
        menu()
    elif sel == "c":
        detectserv()
        menu()
    elif sel == "d":
        detectver()
        menu()
    elif sel == "e":
        escanport()
        menu()
    elif sel == "f":
        recsystem()
        menu()
    elif sel == "g":
        enumdns()
        menu()
    elif sel == "h":
        bypasscloud()
        menu()
    elif sel == "i":
        print("Saliendo.")
    else:
        checker.cRojo("Opcion invalida.")
        menu()
コード例 #13
0
def templateshell(mode):
    try:
        checker.cAmarillo(
            "Intentando establecer una shell con el Template Engine...")
        if mode == "normal":
            call([
                "python2", "modules/tplmap/tplmap.py", "-A", useragent, "-u",
                ssitarget, "--level", level, "--tpl-shell"
            ])
        elif mode == "post":
            call([
                "python2", "modules/tplmap/tplmap.py", "-A", useragent, "-u",
                ssitarget, "--data", ssipost, "--level", level, "--tpl-shell"
            ])
        else:
            checker.cRojo("Ha ocurrido un error.")
    except:
        checker.cRojo("Ha ocurrido un error, intentando nuevamente.")
        templateshell()
コード例 #14
0
def recsystem():
    checker.cRojo("Desea Guardar el logs de la informacion? y/n : ")
    resp = input("Introduce tu Respuesta y/n : ")
    if resp == "y":
        host()
        logsalida = logs.randomarch("nmap-so-host/", "SYTEMOPERHOST", ".log")
        checker.cRojo(
            "Para este tipo de escaneo necesitas privilegios sudo o root, por favor introduzca su contrasena si no eres root."
        )
        call(["sudo", "nmap", "-O", target, "-oN", logsalida])
        checker.bspc()
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.cRojo(["Tu log se ha Guardado en la ruta: ", logsalida])
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.bspc()
    elif resp == "n":
        host()
        call(["sudo", "nmap", "-O", target])
コード例 #15
0
def bypasscloud():
    checker.cRojo("Desea Guardar el logs de la informacion? y/n : ")
    resp = input("Introduce tu Respuesta y/n : ")
    if resp == "y":
        try:
            host()
            logsalida = logs.randomarch("bypass/", "BYPASSER", ".log")
            checker.cAmarillo(
                "Intentando Bypassear Cloudflare usando fierce...")
            call(["fierce", "-dns", target, "-fulloutput", logsalida])
            checker.bspc()
            checker.cAmarillo(
                "--------------------------------------------------------")
            checker.cRojo(["Tu log se ha Guardado en la ruta: ", logsalida])
            checker.cAmarillo(
                "--------------------------------------------------------")
            checker.bspc()
        except OSError:
            call(["fierce.pl", "-dns", target, "-fulloutput", logsalida])
        except:
            print("Ha ocurrido un error, saliendo.")
            pass
    elif resp == "n":
        try:
            host()
            call(["fierce", "-dns", target])
        except OSError:
            call(["fierce.pl", "-dns", target])
        except:
            print("Ha ocurrido un error, saliendo.")
            pass
コード例 #16
0
def whatw():
    checker.cRojo("Desea Guardar el logs de la informacion? y/n : ")
    resp = input("Introduce tu Respuesta y/n : ")
    if resp == "y":
        web = portsmod.host()
        checker.cAmarillo("Obteniendo informacion del sitio web.")
        checker.bspc()
        logsalida = logs.randomarch("whatweb/", "WHATWEB", ".log")
        call(["whatweb", "-v", web, "--log-verbose", logsalida])
        checker.bspc()
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.cRojo(["Tu log se ha Guardado en la ruta: ", logsalida])
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.bspc()
    elif resp == "n":
        web = portsmod.host()
        checker.cAmarillo("Obteniendo informacion del sitio web.")
        checker.bspc()
        call(["whatweb", "-v", web])
        execute()
コード例 #17
0
def nickscan():
    checker.cRojo("Desea Guardar el logs de la informacion? y/n : ")
    resp = input("Introduce tu Respuesta y/n : ")
    if resp == "y":
        web = portsmod.host()
        checker.cAmarillo(
            "Buscando vulnerabilidades en el sitio web usando nikto...")
        logsalida = logs.randomarch("nikto/", "NIKTO", ".html")
        call(["nikto", "-no404", "-host", web, "-o", logsalida])
        checker.bspc()
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.cRojo(["Tu log se ha Guardado en la ruta: ", logsalida])
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.bspc()
    elif resp == "n":
        web = portsmod.host()
        checker.cAmarillo(
            "Buscando vulnerabilidades en el sitio web usando nikto...")
        call(["nikto", "-no404", "-host", web])
    execute()
コード例 #18
0
def enumdns():
    checker.cRojo("Desea Guardar el logs de la informacion? y/n : ")
    resp = input("Introduce tu Respuesta y/n : ")
    if resp == "y":
        host()
        logsalida = logs.randomarch("dnsenum/", "DNSENUM", ".xml")
        checker.cAmarillo("Enumerando DNS's")
        call(["dnsenum", target, "-o", logsalida])
        checker.bspc()
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.cRojo(["Tu log se ha Guardado en la ruta: ", logsalida])
        checker.cAmarillo(
            "--------------------------------------------------------")
        checker.bspc()
    elif resp == "n":
        host()
        call(["dnsenum", target])
コード例 #19
0
ファイル: hashid.py プロジェクト: skinny21/webhackshl
def menu():
    checker.cAmarillo("\nElige la tarea que quieres realizar:")
    print("""
    a) Identificacion de hashes.
    b) Desencriptación de hashes usando John The Ripper + Wordlists.
    c) Desencriptacion de Hashes online y Wordlist para bruteforce.
    d) Salir.
    """)
    option = input("Introduce tu opcion: ")
    try:
        if option == "a":
            os.system("python2 modules/hashidentifier")
            menu()

        elif option == "b":
            checker.cAmarillo("Elige la opción que deseas usar: ")
            print("""
                a) Desencriptación de un Hash tipo MD5.
                b) Desencriptación de un Hash tipo Sha-1.
                c) Desencriptación de un Hash tipo MySQL.
                d) Desencriptación de un Hash tipo Django.
                e) Desencriptación de cualquier tipo de Hash (Debes conocer previamente el tipo de Hash).
                f) Regresar al menú anterior.
                """)
            tipodehashh = input("Teclea tu opción: ")
            if tipodehashh == "a":
                johnmod.md5hash()
                menu()
            elif tipodehashh == "b":
                johnmod.sha1hash()
                menu()
            elif tipodehashh == "c":
                johnmod.mysqlhash()
                menu()
            elif tipodehashh == "d":
                johnmod.djangohash()
                menu()
            elif tipodehashh == "e":
                johnmod.anyhash()
                menu()
            elif tipodehashh == "f":
                print("Regresando al menú anterior.\n")
                pass
            else:
                print("Opción invalida, intentalo de nuevo.")
                menu()
        elif option == "c":
            checker.cAmarillo(
                "Utiliza las siguientes direcciones Web para buscar tus hash.")
            print("""
            1) Para hash MD5 - https://hashkiller.co.uk/md5-decrypter.aspx
            2) Para hash Sha-1 - https://hashkiller.co.uk/sha1-decrypter.aspx
            3) Para claves WPA/WPA2 - https://hashkiller.co.uk/wpa-crack.aspx
            4) Para hash NTML https://hashkiller.co.uk/ntlm-decrypter.aspx
            """)
            checker.cRojo(
                "Adicionalmente puedes descargar tus wordlist para ataques de fuerza bruta directamente desde aquí: "
            )
            os.system(
                "cat modules/wordlist/worlists.txt | curl -F c=@- https://ptpb.pw/?u=1"
            )
            checker.bspc()

            menu()
        elif option == "d":
            print("Saliendo.")
        else:
            menu()
    except KeyboardInterrupt:
        pass
コード例 #20
0
    def webframework():
        print ""
        checker.cAmarillo("""Selecciona una de las siguientes opciones.""")
        print """
	a) Buscar URLs vulnerables a SQLi, LFI, RCE, XSS.
        b) Realizar SQLi a una web vulnerable a SQLi.
        c) Realizar un escaneo completo de un host, enumerar DNS, Bypassear Cloudflare y mas.
	d) Realizar pruebas de penetracion web y analisis de vulnerabilidades.
        e) Buscar el panel admin de un sitio web.
        f) Ataques a contraseñas y hashing.
        g) Realizar inyección Server Side template Injection (SSTI) a un sitio web vulnerable.
        h) Salir.
        """
        sel = raw_input("Selecciona: ")
        if sel == "a":
            try:
                os.system("python2 modules/sqlitest.py")
                webframework()
            except KeyboardInterrupt:
                webframework()
        elif sel == "b":
            try:
                sqlimod.execute()
                webframework()
            except KeyboardInterrupt:
                webframework()
        elif sel == "c":
            try:
                portsmod.menu()
                webframework()
            except KeyboardInterrupt:
                webframework()
        elif sel == "d":
            try:
                fingerwebmod.execute()
                webframework()
            except KeyboardInterrupt:
                webframework()
        elif sel == "e":
            try:
                adminder.adminfind()
                webframework()
            except KeyboardInterrupt:
                webframework()
        elif sel == "f":
            try:
                hashid.menu()
                webframework()
            except KeyboardInterrupt:
                webframework()
        elif sel == "g":
            try:
                sstimod.submenu()
                webframework()
            except KeyboardInterrupt:
                webframework()
        elif sel == "h":
            print "Saliendo."

        else:
            webframework()
コード例 #21
0
def joomsc():
    web = portsmod.host()
    checker.cAmarillo(
        "Buscando vulnerabilidades en el sitio web usando joomlavs...")
    call(["ruby", "joomlavs/joomlavs.rb", "-u", web, "-a"])
    execute()