Web安全之《SSH暴力破解》

SSH暴力破解》作业

课程名称:《Web安全(一)》

【要求】

  1. 概念越详细越好;
  2. 验证过程必要有截图和文字说明;
  3. 防护措施必须超过6条以上;
  4. 其余部分均可配文字简介叙述;
  5. 作业模板在此基础上可以自由发挥设计;
  6. 熟悉虚拟机的使用,了解渗透测试工具的使用方法和Linux命令

【SSH服务简介描述】

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 主要由三部分组成:

传输层协议 [SSH-TRANS]

提供了服务器认证,保密性及完整性。此外它有时还提供压缩功能。 SSH-TRANS 通常运行在TCP/IP连接上,也可能用于其它可靠数据流上。 SSH-TRANS 提供了强力的加密技术、密码主机认证及完整性保护。该协议中的认证基于主机,并且该协议不执行用户认证。更高层的用户认证协议可以设计为在此协议之上。

用户认证协议 [SSH-USERAUTH]

用于向服务器提供客户端用户鉴别功能。它运行在传输层协议 SSH-TRANS 上面。当SSH-USERAUTH 开始后,它从低层协议那里接收会话标识符(从第一次密钥交换中的交换哈希H )。会话标识符唯一标识此会话并且适用于标记以证明私钥的所有权。 SSH-USERAUTH 也需要知道低层协议是否提供保密性保护。

连接协议 [SSH-CONNECT]

将多个加密隧道分成逻辑通道。它运行在用户认证协议上。它提供了交互式登录话路、远程命令执行、转发 TCP/IP 连接和转发 X11 连接。

从客户端来看,SSH提供两种级别的安全验证。

第一种级别(基于口令的安全验证)

只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

第二种级别(基于密匙的安全验证)

需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。

第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。

 

传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”的攻击方式, 就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道"。

 

【弱口令及弱口令漏洞】

  弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。弱口令指的是仅包含简单数字和字母的口令,例如“123”、“abc”等,因为这样的口令很容易被别人破解,从而使用户的计算机面临风险,因此不推荐用户使用

  在当今很多地方以用户名(帐号)和口令作为鉴权的世界,口令的重要性就可想而知了。口令就相当于进入家门的钥匙,当他人有一把可以进入你家的钥匙,想想你的安全、你的财物、你的隐私。因为弱口令很容易被他人猜到或破解,所以如果你使用弱口令,就像把家门钥匙放在家门口的垫子下面,是非常危险的。

  口令是网络系统的第一道防线。当前的网络系统都是通过口令来验证用户身份、实施访问控制的。口令攻击是指黑客以口令为攻击目标,破解合法用户的口令,或避开口令验证过程,然后冒充合法用户潜入目标网络系统,夺取目标系统控制权的过程。
  如果口令攻击成功黑客进入了目标网络系统,他就能够随心所欲地窃取、破坏和篡改被侵入方的信息,直至完全控制被侵入方。所以,口令攻击是黑客实施网络攻击的最基本、最重要、最有效的方法之一。
  口令攻击的主要方法
  1、社会工程学(social Engineering),通过人际交往这一非技术手段以欺骗、套取的方式来获得口令。避免此类攻击的对策是加强用户意识。
  2、猜测攻击。首先使用口令猜测程序进行攻击。口令猜测程序往往根据用户定义口令的习惯猜测用户口令,像名字缩写、生日、宠物名、部门名等。在详细了解用户的社会背景之后,黑客可以列举出几百种可能的口令,并在很短的时间内就可以完成猜测攻击。
  3、字典攻击。如果猜测攻击不成功,入侵者会继续扩大攻击范围,对所有英文单词进行尝试,程序将按序取出一个又一个的单词,进行一次又一次尝试,直到成功。据有的传媒报导,对于一个有8万个英文单词的集合来说,入侵者不到一分半钟就可试完。所以,如果用户的口令不太长或是单词、短语,那么很快就会被破译出来。
  4、穷举攻击。如果字典攻击仍然不能够成功,入侵者会采取穷举攻击。一般从长度为1的口令开始,按长度递增进行尝试攻击。由于人们往往偏爱简单易记的口令,穷举攻击的成功率很高。如果每千分之一秒检查一个口令,那么86%的口令可以在一周内破译出来。
  5、混合攻击,结合了字典攻击和穷举攻击,先字典攻击,再暴力攻击。
  避免以上四类攻击的对策是加强口令策略。
  6、直接破解系统口令文件。所有的攻击都不能够奏效,入侵者会寻找目标主机的安全漏洞和薄弱环节,饲机偷走存放系统口令的文件,然后破译加密的口令,以便冒充合法用户访问这台主机。
  7:网络嗅探(sniffer),通过嗅探器在局域网内嗅探明文传输的口令字符串。避免此类攻击的对策是网络传输采用加密传输的方式进行。
  8:键盘记录,在目标系统中安装键盘记录后门,记录操作员输入的口令字符串,如很多间谍软件,木马等都可能会盗取你的口述。
  9:其他攻击方式,中间人攻击、重放攻击、生日攻击、时间攻击。
  避免以上几类攻击的对策是加强用户安全意识,采用安全的密码系统,注意系统安全,避免感染间谍软件、木马等恶意程序。
  口令攻击的防护手段
  要有效防范口令攻击,我们要选择一个好口令,并且要注意保护口令的安全。
  1、好口令是防范口令攻击的最基本、最有效的方法。最好采用字母、数字、还有标点符号、特殊字符的组合,同时有大小写字母,长度最好达到8个以上,最好容易记忆,不必把口令写下来,绝对不要用自己或亲友的生日、手机号码等易于被他人获知的信息作密码。
  2、注意保护口令安全。不要将口令记在纸上或存储于计算机文件中;最好不要告诉别人你的口令;不要在不同的系统中使用相同的口令;在输入口令时应确保无人在身边窥视;在公共上网场所如网吧等处最好先确认系统是否安全;定期更改口令,至少六个月更改一次,这会使自己遭受口令攻击的风险降到最低,要永远不要对自己的口令过于自信。

 

 

【信息收集】

  • 测试对象

 

 

设备名称

域名

IP地址

1.

OWASP Broken Web Apps v0.94OWASP Broken Web Apps v0.94

10.10.10.129

10.10.10.129

 

二、测试工具

 

工具名称

描述

  1.  

kali-linux-2017.3-vm-amd64

Kali Linux预装了许多渗透测试软件,包括nmap Wireshark John the Ripper,以及Aircrack-ng

  1.  

Nmap

Network Mapper Linux下的网络扫描和嗅探工具包. nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting

  1.  

metasploit

Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程

 

三、被测设备信息情况

1.基本信息

 

IP

操作系统

1.

10.10.10.128

OWASP Broken Web Apps v0.94OWASP Broken Web Apps v0.94

2.端口开放情况

 

 

端口号

服务

产品版本

1.

21/tcp

ftp 

vsftpd 2.2.2

2.

22/tcp

ssh

OpenSSH 5.3p1 Debian 3ubuntu4 (Ubuntu Linux; protocol 2.0)

3.

80/tcp

http 

Apache httpd 2.2.14 ((Ubuntu) mod_mono/2.4.3 PHP/5.3.2-1ubuntu4.

4

139/tcp

netbios-ssn

Samba smbd 3.X - 4.X (workgroup: WORKGROUP)

5

143/tcp

imap

Courier Imapd (released 2008)

6

445/tcp

netbios-ssn

Samba smbd 3.X - 4.X (workgroup: WORKGROUP)

7

5001/tcp

java-rmi

Java RMI

8

8080/tcp

http

Apache Tomcat/Coyote JSP engine 1.1

 

【验证过程】

1.首先打开Kali Linux 以及OWASP系统

2.打开Kali系统的nmap工具,即网络扫描和嗅探工具包。

运行指令: nmap -sP 10.10.10.0/24

(查看有多少主机存在于同一网段)

Web安全之《SSH暴力破解》_第1张图片

运行指令: nmap –o 10.10.10.129

Web安全之《SSH暴力破解》_第2张图片

查看改网络地址的各个信息,例如端口,MAC地址等

 

运行指令: nmap -sV -Pn 10.10.10.129

Web安全之《SSH暴力破解》_第3张图片

(查看改网络的端口信息)

 

运行: msfconsole 出现如下界面:

(打开metasploit工具)

Web安全之《SSH暴力破解》_第4张图片Web安全之《SSH暴力破解》_第5张图片

 

 

Web安全之《SSH暴力破解》_第6张图片

 

 

输入指令: search ssh

(启动ssh服务)

 

Web安全之《SSH暴力破解》_第7张图片

 

找到下面的文件

Web安全之《SSH暴力破解》_第8张图片

 

运行指令: use auxiliary/scanner/ssh/ssh_login

(进入ssh_login)_

Web安全之《SSH暴力破解》_第9张图片

 

 

 

 

 

运行 show options

(得到ssh_login服务的各类信息)

 

Web安全之《SSH暴力破解》_第10张图片

3.接下来使用品轩字典生成器V0.3生成用户名字典以及密码字典

Web安全之《SSH暴力破解》_第11张图片Web安全之《SSH暴力破解》_第12张图片

 

生成如下两个文件

 

设置两个文件为爆破文件

Web安全之《SSH暴力破解》_第13张图片Web安全之《SSH暴力破解》_第14张图片

Web安全之《SSH暴力破解》_第15张图片

设置其他参数

4.开始爆破

Web安全之《SSH暴力破解》_第16张图片Web安全之《SSH暴力破解》_第17张图片

 

 

由上图可知,得到 root:owaspbwa 以及 user:owaspbwa 两组账号密码

 

【防护措施】

安全口令

1.不使用空口令或系统缺省的口令,因为这些口令众所周知,为典型的弱口令。

2.口令长度不小于8个字符。

3.口令不应该为连续的某个字符(例如:AAAAAAAA)或重复某些字符的组合(例如:tzf.tzf.)。

4.口令应该为以下四类字符的组合,大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符。每类字符至少包含一个。如果某类字符只包含一个,那么该字符不应为首字符或尾字符。

5.口令中不应包含本人、父母、子女和配偶的姓名和出生日期、纪念日期、登录名E-mail地址等等与本人有关的信息,以及字典中的单词。

6.口令不应该为用数字或符号代替某些字母的单词。

7.口令应该易记且可以快速输入,防止他人从你身后很容易看到你的输入。

8.至少90天内更换一次口令,防止未被发现的入侵者继续使用该口令。

注意事项

1.在笔记本或其它地方不要记录口令。

2.向他人透露口令,包括管理员和维护人员。当有人打电话来向你索要口令时,你就该保持警惕了。

3.e-mail或即时通讯工具中不透露口令。

4.离开电脑前,启动有口令保护的屏幕保护程序

5.在多个帐户之间使用不相同的口令。

6.在公共电脑不要选择程序中可保存口令的功能选项。

切记,不要使用弱口令,以及保护好你的口令。

同时要注意,改过的口令一定要牢记。很多人因常改口令而遗忘,造成很多不必要的麻烦。

修改默认的端口号

将默认端口22修改为自定义的2020端口    

[root@localhost ~]# vi /etc/ssh/sshd_config

[root@localhost ~]# grep Port /etc/ssh/sshd_config

Port 2020   

#GatewayPorts no

在防火墙中加入2020端口的策略
       [root@localhost ~]# vi /etc/sysconfig/iptables

[root@localhost ~]# grep 2020 /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 2020 -j ACCEPT

  •  
  1. 重启防火墙策略
  • [root@localhost ~]# /etc/init.d/iptables restart
  • iptables: Setting chains to policy ACCEPT: nat filter     
  • iptables: Flushing firewall rules:                       
  • iptables: Unloading modules:                              
  • iptables: Applying firewall rules:                       
  •  
  1. 重启sshd服务
  • [root@localhost ~]# /etc/init.d/sshd restart
  • Stopping sshd:                                
  • Starting sshd:                                 

不使用root账号登录

1.修改登录shell:将 /bin/bash 改为 /sbin/nologin

2.修改sshd配置文件:将PermitRootLogin 设置为no

3.将普通用户提升为系统管理员:将UIDGID改为0,一般情况这个就可以解决了暴力破解的问题了。

教程下载地址:https://download.csdn.net/download/qq_38162763/10594267

 

end

你可能感兴趣的:(渗透测试,Kali,Linux,web安全,漏洞分析,病毒,编程,虚拟机)