⑴ 什么是kali linux web 渗透测试
就是用Kali Linux上面的工具对某个Web网站进行渗透,这个渗透的过程是一个完整的入侵的过程,从而测试Web网站是否有被入侵的可能,并找出网站所存在的漏洞,最后可能还要向对方提交一份渗透测试报告。
⑵ kali linux 可以做什么
kali Linux官方的说法是渗透测试,大致分为Web渗透(针对网站)、无线渗透(测试WIFI的安全性,安全性低的wifi渗透后可以得到wifi密码,进而进行ARP欺骗、嗅探、会话劫持)、主机渗透(就是根据主机漏洞进行渗透,主要用nessus和Metasploit)。此外还可以进行密码破解,一般都是字典爆破(破passwd哈希、MD5、rar密码、各种口令)。还有社工工具(比较着名的是SET)和信息收集工具也很多。
⑶ 作为小白如何学习Kali linux渗透测试技术
这个要根据个人的实际情况来决定的,比如你先要去了解什么是渗透测试:
1、渗透测试属于信息安全行业,准确的说是网络计算机/IT行业
2、现在你知道了它的行业属性,那么你是否具备一些这个行业的知识呢?
3、具备的话学习起来比较简单,直接去学习渗透测试实战就行,不具备接着往下看
4、现在知道它行业属性,你大概就能清楚需要些什么样的基础知识了;下面是我从非计算机网络相关专业的同学想要学习渗透测试必须掌握的知识。
5、前期入门大概需要掌握或者说了解以下知识点:
1)了解基本的网络知识,例如什么是IP地址(63.62.61.123)去掉点是扣扣学习群,IP地址的基本概念、IP段划分、什么是A段、B段、C段等2)广域网、局域网、相关概念和IP地址划分范围。
3)端口的基本概念?端口的分类?
4)域名的基本概念、什么是URL、了解TCP/IP协议、
5)了解开放式通信系统互联参考模型(OSI)
6)了解http(超文本传输协议)协议概念、工作原理
7)了解WEB的静态页面和WEB动态页面,B/S和C/S结构
8)了解常见的服务器、例如、Windows server2003、Linux、UNIX等
9)了解常见的数据库、MySQL、Mssql、、Access、Oracle、db2等
10)了解基本的网络架构、例如:Linux + Apache + MySQL + php
11)了解基本的Html语言,就是打开网页后,在查看源码里面的Html语言
12)了解一种基本的脚本语言、例如PHP或者asp,jsp,cgi等
然后你想学习入门,需要学习以下最基础的知识:
1、开始入门学习路线
1)深入学习一种数据库语言,建议从MySQL数据库或者SQL Server数据库、简单易学且学会了。
其他数据库都差不多会了。
2)开始学习网络安全漏洞知识、SQL注入、XSS跨站脚本漏洞、CSRF、解析漏洞、上传漏洞、命令执行、弱口令、万能密码、文件包含漏洞、本地溢出、远程溢出漏洞等等
)工具使用的学习、御剑、明小子、啊D、穿山甲(Pangolin)、Sqlmap、burpsuite抓包工具等等
2、Google hacker 语法学习
3、漏洞利用学习、SQL注入、XSS、上传、解析漏洞等
4、漏洞挖掘学习
5、想成为大牛的话、以上都是皮毛中的皮毛,但前提是以上的皮毛都是最基础的。
6、Linux系统命令学习、kali Linux 里面的工具学习、Metesploit学习
7、没事多逛逛安全论坛、看看技术大牛的文章、漏洞分析文章等
⑷ 网络安全干货知识分享 - Kali Linux渗透测试 106 离线密码破解
前言
最近整理了一些 奇安信&华为大佬 的课件资料+大厂面试课题,想要的可以私信自取, 无偿赠送 给粉丝朋友~
1. 密码破解简介
1. 思路
目标系统实施了强安全措施
安装了所有补丁
无任何已知漏洞
无应用层漏洞
攻击面最小化
社会 工程学
获取目标系统用户身份
非授权用户不受信,认证用户可以访问守信资源
已知用户账号权限首先,需要提权
不会触发系统报警
2. 身份认证方法
证明你是你声称你是的那个人
你知道什么(账号密码、pin、passphrase)
你有什么(令牌、token、key、证书、密宝、手机)
你是谁(指纹、视网膜、虹膜、掌纹、声纹、面部识别)
以上方法结合使用
基于互联网的身份验证仍以账号密码为主要形式
3. 密码破解方法
人工猜解
垃圾桶工具
被动信息收集
基于字典暴力破解(主流)
键盘空间字符爆破
字典
保存有用户名和密码的文本文件
/usr/share/wordlist
/usr/share/wfuzz/wordlist
/usr/share/seclists
4. 字典
1. 简介
键盘空间字符爆破
全键盘空间字符
部分键盘空间字符(基于规则)
数字、小写字母、大写字符、符号、空格、瑞典字符、高位 ASCII 码
2. crunch 创建密码字典
无重复字符
crunch 1 1 -p 1234567890 | more
1
必须是最后一个参数
最大、最小字符长度失效,但必须存在
与 -s 参数不兼容(-s 指定起始字符串)
crunch 4 4 0123456789 -s 9990
读取文件中每行内容作为基本字符生成字典
crunch 1 1 -q read.txt
1
字典组成规则
crunch 6 6 -t @,%%^^ | more
-t:按位进行生成密码字典
@:小写字母 lalpha
,:大写字母 ualpha
%:数字 numeric
^:符号 symbols
输出文件压缩
root@kali:~# crunch 4 5 -p dog cat bird
1
-z:指定压缩格式
其他压缩格式:gzip、bzip2、lzma
7z压缩比率最大
指定字符集
root@kali:~# crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha-numeric-all-space -o w.txt -t @d@@ -s cdab
1
随机组合
root@kali:~# crunch 4 5 -p dog cat bird
1
crunch 5 5 abc DEF + !@# -t ,@^%,
在小写字符中使用abc范围,大写字符使用 DEF 范围,数字使用占位符,符号使用!@#
占位符
转义符(空格、符号)
占位符
root@kali:~# crunch 5 5 -t ddd%% -p dog cat bird
1
任何不同于 -p 参数指定的值都是占位符
指定特例
root@kali:~# crunch 5 5 -d 2@ -t @@@%%
1
2@:不超过两个连续相同字符
组合应用
crunch 2 4 0123456789 | aircrack-ng a.cap -e MyESSID -w -
crunch 10 10 12345 –stdout | airolib-ng testdb -import passwd -
3. CUPP 按个人信息生成其专属的密码字典
CUPP:Common User Password Profiler
git clone https://github.com/Mebus/cupp.git
python cupp.py -i
4. cewl 通过收集网站信息生成字典
cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt
-m:最小单词长度
-d:爬网深度
-e:收集包含email地址信息
-c:每个单词出现次数
支持基本、摘要 身份认证
支持代理
5. 用户密码变型
基于 cewl 的结果进行密码变型
末尾增加数字串
字母大小写变化
字母与符号互相转换
字母与数字互相转换
P@$w0rd
6. 使用 John the Ripper 配置文件实现密码动态变型
2. 在线密码破解
1. hydra
简介
密码破解
Windows 密码破解
Linux 密码破解
其他服务密码破解
图形化界面
xhydra
HTTP表单身份认证
密码破解效率
密码复杂度(字典命中率)
带宽、协议、服务器性能、客户端性能
锁定阈值
单位时间最大登陆请求次数
Hydra 的缺点
稳定性差,程序时常崩溃
速度控制不好,容易触发服务屏蔽或锁死机制
每主机新建进程,每服务新建实例
大量目标破解时性能差
2. pw-inspector
Hydra 小工具 pw-inspector
按长度和字符集筛选字典
pw-inspector -i /usr/share/wordlists/nmap.lst -o p1.lst -l
pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u
pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u -m 3 -M 5
3. mesa
Mesa 的特点
稳定性好
速度控制得当
基于线程
支持模块少于hydra(不支持RDP)
WEB-Form 支持存在缺陷
查看支持的模块
参数
-n:非默认端口
-s:使用SSL连接
-T:并发主机数
mesa -M ftp -q
3. 离线密码破解
1. 简介
身份认证
禁止明文传输密码
每次认证使用HASH算法加密密码传输(HASH算法加密容易、解密困难)
服务器端用户数据库应加盐加密保存
破解思路
嗅探获取密码HASH
利用漏洞登陆服务器并从用户数据库获取密码HASH
识别HASH类型
长度、字符集
利用离线破解工具碰撞密码HASH
优势
离线不会触发密码锁定机制
不会产生大量登陆失败日志引起管理员注意
2. HASH 识别工具
1. hash-identifier
进行 hash 计算
结果:
进行 hash 识别
2. hashid
可能识别错误或无法识别
3. HASH 密码获取
1. sammp2
Windows HASH 获取工具
利用漏洞:Pwmp、fgmp、 mimikatz、wce
物理接触:sammp2
将待攻击主机关机
使用 Kali ISO 在线启动此主机
发现此 windows 机器安装有两块硬盘
mount /dev/sda1 /mnt
将硬盘挂载
cd /mnt/Windows/System32/config
切换目录
sammp2 SYSTEM SAM -o sam.hash
导出密码
利用 nc 传输 HASH
HASH 值:
2. syskey 工具进行密码加密
使用 syskey 进行加密(会对 SAM 数据库进行加密)
重启需要输入密码才能进一步登录
使用 kali iso live
获取到 hash 值
hashcat 很难破解
使用 bkhive 破解
使用 Bootkey 利用RC4算法加密 SAM 数据库
Bootkey 保存于 SYSTEM 文件中
bkhive
从 SYSTEM 文件中提取 bootkey
Kali 2.0 抛弃了 bkhive
编译安装 :http://http.us.debian.org/debian/pool/main/b/bkhive/
在windows的 kali live 模式下,运行
sammp2 SAM key (版本已更新,不再支持此功能)
建议使用 Kali 1.x
1. Hashcat
简介
开源多线程密码破解工具
支持80多种加密算法破解
基于CPU的计算能力破解
六种模式 (-a 0)
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.txt pass.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
掩码动态生成字典
使用
生成文件
计算 hash 类型
结果 MD5
查看 MD5 代表的值
进行破解
2. oclhashcat
简介
号称世界上最快、唯一的基于GPGPU的密码破解软件
免费开源、支持多平台、支持分布式、150+hash算法
硬件支持
虚拟机中无法使用
支持 CUDA 技术的Nvidia显卡
支持 OpenCL 技术的AMD显卡
安装相应的驱动
限制
最大密码长度 55 字符
使用Unicode的最大密码长度 27 字符
关于版本
oclHashcat-plus、oclHashcat-lite 已经合并为 oclhashcat
命令
3. RainbowCrack
简介
基于时间记忆权衡技术生成彩虹表
提前计算密码的HASH值,通过比对HASH值破解密码
计算HASH的速度很慢,修改版支持CUDA GPU
https://www.freerainbowtables.com/en/download/
彩虹表
密码明文、HASH值、HASH算法、字符集、明文长度范围
KALI 中包含的 RainbowCrack 工具
rtgen:预计算,生成彩虹表,时的阶段
rtsort:对 rtgen 生成的彩虹表行排序
rcrack:查找彩虹表破解密码
以上命令必须顺序使用
rtgen
LanMan、NTLM、MD2、MD4、MD5、SHA1、SHA256、RIPEMD160
rtgen md5 loweralpha 1 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
密码破解
r crack *.rt -h
rcrack *.rt -l hash.txt
4. John
简介
基于 CPU
支持众多服务应用的加密破解
支持某些对称加密算法破解
模式
Wordlist:基于规则的字典破解
Single crack:默认被首先执行,使用Login/GECOS信息尝试破解
Incremental:所有或指定字符集的暴力破解
External:需要在主配配文件中用C语言子集编程
默认破解模式
Single、wordlist、incremental
主配置文件中指定默认wordlist
破解Linux系统账号密码
破解windows密码
Johnny 图形化界面的john
5. ophcrack
简介
基于彩虹表的LM、NTLM密码破解软件
彩虹表:http://ophcrack.sourceforge.net/tables.php