目录

身份认证攻击

简介

简单网络服务认证攻击

1)纯字典攻击

2)混合攻击

3)完全暴力攻击

破解密码字典

密码字典简单介绍

使用python编写一个生成字典程序


身份认证攻击

简介

所谓身份认证就是我们在不同的地方,使用应用时候,只要有一台计算机可以上网,就可以轻而易举地通过身份认证后使用这些应用。但是这些应用必须有一种可靠的身份验证模式,这种模式指的是计算机对其操作者身份的确认过程,从而确定该用户是否具有某种资源的访问和使用权限,一般常见的身份认证模式采用的仍然是“用户名+密码”的方式,用户自行设定密码,在登陆时如果输入正确的密码,计算机就会认为操作者是合法的用户。这种认证方式存在的缺陷很明显,如何保证密码不被泄露,以及不被破解是网络安全的最大问题之一。

本系列文章将从以下几个部分展开。

简单网络服务认证攻击

使用python编写字典工具

使用python编写各种服务认证的破解模块

使用BrupSuite对网络认证服务的攻击

简单网络服务认证攻击

网络上常见的应用都采用了密码认证的模式,例如FTP、Telnet、SSH等,这些应用被广泛地应用在各种网络设备上,如果这些认证模式出现了问题,那就意味着网络中大量设备将会沦陷。

针对网络中的简单的网络服务认证,可以采用一种“暴力破解”的方法。这种方法的思路很简单,就是把所有可能的密码都尝试一边,通常可以将这些密码保存为一个字典文件。实现起来的思路如下:

1)纯字典攻击

这种思路就是我们只需要利用攻击工具将用户名和字典文件中的密码组合起来,一个个进行枚举即可。破解的成功概率很依赖字典,因为目标用户通常不会选用无意义的字符组合作为密码,所以一般对目标用户有一定的了解可以更好的选择字典。

2)混合攻击

现在的各种应用对密码的复杂程度都有要求,例如,在注册过程中,通常都不允许纯数字或者纯英文的组合。而混合攻击则是依靠一定的算法对字典文件中的单词进行处理之后再使用。一个最简单的算法就是在这些单词前面或者后面添加常见数字。例如一个单词“test”,经过算法处理后就变成“test1""test2"等等

3)完全暴力攻击

这种是最粗暴的攻击方式,并不需要字典,而是由攻击工具将所有的密码穷举出来,效果不是很理想。

破解密码字典

密码字典简单介绍

之前提到了字典文件,常见的字典文件一般是txt或者dic格式,类似于这种

在kali中,词典文件的来源一共有如下三个。

1)使用字典生成工具来制造自己的字典。

2)kali中自带的字典文件,保存在/usr/share/wordlists/目录下, 如图

3)从互联网下载热门字典。

推荐个网站:https://wiki.skullsecurity.org/index.php?title=Passwords 记得挂梯子上不然访问速度太慢了。

生成字典至少要指定如下两项。

1)字典中密码的长度

2)字典中包含词汇所使用的字符。要生成的密码包含的字符集(大小写字符、数字、符号),这个选项是可选的,如果不写这个选项,将使用默认字符集。

使用python编写一个生成字典程序

首先需要介绍一个新模块:itertools。这个模块是python内置的,功能十分强大使用也很简单。

介绍一下这个模块的函数,最基础的是三个无穷循环器。

1)count()函数:这个函数的作用是产生一个递增的序列,例如count(1,5),生成从1开始的循环,每次增加5,即1,6,11....

2)cycle()函数:这个函数的作用是重复序列中的元素,例如cycle('hello'),将序列中的元素重复,即h,e,l,l,o,h...

3)repeat()函数:这个函数的作用是重复元素,构成无穷循环器,例如Repeat(100),即100,100,100...

还有一些用来实现循环器组合操作的函数。

product()函数:这个函数可以用来获得多个循环器的笛卡儿积,例如product('xyz',[0,1]),得到的结果就是x0,x1,x2,y0,y1,y2。

permutation('abcd',2):从‘abcd’中挑选两个元素,例如:ab,ac....,并且将所有结果排序,返回为新的循环器。这些组合是有顺序的,同时可以生成cd,dc。

combinations('abc',2):从‘abcd’中挑选两个元素,例如:ab,ac....,并且将所有结果排序,返回为新的循环器。这些组合是没有顺序的,同时可以生成cd。

有了itertools这个库,就可以很轻松的生成一个字典文件。

接下来介绍一个简单的字典文件生成过程。

第一步:导入itertoos库

import itertools

第二步:指定生成字典的字符,这是举例用英文字符和数字,没考虑大小写和特殊字符

words = "1234567890abcdefghijklmnopqrstuvwxyz"

第三步:使用itertools中的循环器来生成字典文件,这里根据需求不同,仅仅用permutations,即考虑选项又考虑顺序,考虑到效率问题,仅仅设置为2来进行演示。

temp = itertools.permutations(words,2)

第四步:打开一个用于保存结果的记事本文件。

passwords = open("dic.txt","a")

第五步:使用一个循环将生成的密码写入到一个记事本文件即可。

for i in temp:
    passwords.write("".join(i))
    passwords.write("".join("\n"))

完整的程序如下:

import itertools
words = "1234567890abcdefghijklmnopqrstuvwxyz"
temp = itertools.permutations(words,2)
passwords = open("dic.txt","a")
for i in temp:
    passwords.write("".join(i))
    passwords.write("".join("\n"))
dic.close()

为了更方便输入特定字符,变动如下:

import sys
import itertools
if len(sys.argv) != 3:
    print('input: <The char of passwords><The length of pass>')
    sys.exit(1)
words = sys.argv[1]
n=sys.argv[2]
temp = itertools.permutations(words,n)
passwords = open("dic.txt","a")
for i in temp:
    passwords.write("".join(i))
    passwords.write("".join("\n"))
dic.close()

设置如下:

运行结果如图:

这就是我们自己生成的密码字典。

菜鸟渗透日记35---python渗透测试编程之身份认证攻击1-密码字典相关推荐

  1. Python渗透测试编程技术--------身份认证攻击(一)

    Python渗透测试编程技术 身份认证攻击 目前最为常见的身份验证模式采用的仍然是"用户名+密码"的方式,用户自行设定密码在登录时如果输入正确的密码,计算机就会认为操作者是合法用户 ...

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

    Kali渗透测试:身份认证攻击 1.1 简单网络服务认证的攻击 网络上很多常见的应用都采用了密码认证的方式,如SSH.Telnet.FTP等.这些应用被广泛应用在各种网络设备上,如果这些认证模式出现问 ...

  3. “人生苦短,我用Python“——身份认证攻击

    身份认证攻击 身份认证攻击 简单网络服务认证攻击 FTP暴力破解模块 SSH暴力破解模块 Web暴力破解模块 身份认证攻击 目前最常见的身份认证模式采用的仍然是"用户名+密码"的方 ...

  4. web渗透测试----11、身份认证漏洞

    文章目录 一.什么是身份认证? 1.身份认证三要素 2.身份认证和授权的区别 二.身份验证漏洞如何产生? 三.身份认证常见的漏洞 1.基于密码的登录漏洞 2.双因子身份验证中的漏洞 3.其他身份验证机 ...

  5. python aes 128 gcm 防沉迷身份认证

    python aes 128 gcm 最近防沉迷的api用到aes 128 gcm python 3版本 import json from Crypto.Cipher import AES impor ...

  6. 菜鸟渗透日记30---python渗透测试编程之信息收集2-端口扫描

    书接上文 菜鸟渗透日记29---python渗透测试编程之信息收集1-主机发现 目录 端口概念简介 基于TCP全开的端口扫描技术 TCP全开端口扫描原理 设计一个基于TCP全开的完整端口扫描程序 基于 ...

  7. 渗透测试-Python安全工具编程基础

    python渗透测试安全工具开发锦集 第一章 Python在网络安全中的应用 第一节 Python黑客领域的现状 第二节 我们可以用Python做什么 第三节 第一章课程内容总结 第二章 python ...

  8. 关于《Python黑帽子:黑客与渗透测试编程之道》的学习笔记

    本篇文章是学习<Python黑帽子:黑客与渗透测试编程之道>的笔记,会持续地将书上的代码自己敲一遍,从而让自己对Python的安全编程有更多的了解,同时希望各位可以给给建议,不足之处太多了 ...

  9. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(三):scapy——网络的掌控者

    目录 前言 1.窃取email认证 2.ARP缓存投毒 3.PCAP文件处理 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书中源码,并自己将其中一些改写成P ...

  10. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(九):自动化攻击取证

    目录 前言 1.Volatility配置 2.抓取口令的哈希值 3.直接代码注入 4.插入shellcode 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书 ...

最新文章

  1. 购物中心定位分析、调整方案及租金建议
  2. 转:Unity3D研究院之提取游戏资源的三个工具支持Unity5(八十四)
  3. VC6.0显示代码行号
  4. 登录样式:log4j 2,上下文,自动清除…全部不附加任何字符串!
  5. php 获取字符串中的url,php使用正则表达式获取字符串中的URL
  6. 《现代操作系统》笔记 2 线程
  7. OpenCV-理想高通低通滤波器(C++)
  8. CDH-5.13.1离线安装教程
  9. Python判断文件是否存在、访问
  10. dojo省份地市级联之地市Dao接口类(四)
  11. android nfc 启动流程,android-NFC-如何使用NDEF_DISCOVERED启动应用程序
  12. CubieBoard6(S500,armhf)安装ROS过程
  13. SAT数学解题方法介绍
  14. Raptor软件与学习资料
  15. Macbook双系统多分区的解决方案
  16. java字符串与数值型相互转换
  17. SQL查询cross join 的用法(笛卡尔积)
  18. RHCS基本理論(台湾人写的不错的文章)
  19. 为什么说学计算机更有远见,“孩子,我为什么逼你读书”:有远见的父母,都有点心狠...
  20. 从欧洲旅游到买房移民希腊的考察全记录!

热门文章

  1. 程序员的自我修养_之四_曾国藩是如何脱胎换骨的
  2. 流浪四十年,中国科幻撒点野
  3. 内存卡坏了怎么修复?内存卡恢复也不难
  4. dropbox 怎么使用_如何在一台PC上使用多个Dropbox帐户
  5. python大众点评霸王餐_划重点:如何报名大众点评霸王餐?怎么做才能中奖?
  6. H.265流媒体播放器EasyPlayer.js的属性、方法及事件的调用汇总
  7. Android 加速度感应器检测手机摇晃
  8. 详说ArcGIS之重采样技术图文解析
  9. Jmeter如何控制取样器执行顺序
  10. 数据交换平台-初步设计