纯个人总结,有什么不对的地方欢迎指正。
笔记根据个人学习进度持续更新…
一、 认识Kali
基础了解
Kali是一套基于Debian发行版的一款操作系统。(这里讲一个误区,我以前一直以为kali就属于deepin下的操作系统,但是我知道deepin是属于国产的,而kali并不,所以他们本身并无关联,不知道会不会有人和我一样有过这种想法。)
Kali Linux预装了许多渗透测试软件,包括nmap 、Wireshark 、John the Ripper等等。 用户可通过硬盘、live CD或live USB运行Kali Linux。Kali Linux既有32位和64位的镜像。可用于x86 指令集。同时还有基于ARM架构的镜像,可用于树莓派和三星的ARM Chromebook。
目前Kali Linux的最新版本为2019.1,增加了对RTL8812AU网卡的支持.
前身
Kali的前身是BackTrack(BT),Kali相当于BackTrack的儿子。但BackTrack经过了多年的发展后早已不再维护。(BackTrack是基于Ubuntu的自启动运行光盘,它包含了一套安全及计算机取证工具,宗旨在帮助网络安全人员对网络骇客行为进行评估。不论您是否把它做为常用系统,或是从光盘或移动硬盘启动,它都可以定制各种安全包,包括内核配置、脚本和补丁,以用于入侵检测。)
二、 理论
-
两个容易混淆的概念
- 漏洞评估
- 渗透测试
-
渗透测试常见分类
- 黑盒测试 黑帽子
- 白盒测试 白帽子
web工作原理
web应用通常包含三层:
- 表示层(web浏览器或呈现引擎)
- 逻辑层(php,java,c#,asp等编程语言)
- 存储层(mysql、oracle、sql server等数据库)
web表示层向逻辑层层发送请求,逻辑层通过查询,更新存储层来响应该请求
参考资料:sql注入攻击与防御第一章(笔记) - 校花大王
什么是DNS
我个人理解,其实就是IP地址和域名的双向绑定管理的一个数据库。一般IP不容易被人记忆,所以它出现了。
工具:dnsenum
dnsenum cisco.com
命令可以看到它的域名、子域名等等。
┌──(kali㉿kali)-[~]
└─$ dnsenum cisco.com
dns爆破命令:dnsenum -f Desktop/dns.txt cisco.com
因为是爆破所以爆破时的速度也是比较快的。爆破时需要配合爆破字典,如上Desktop/dns.txt
就是爆破字典的位置。理论上来说,只要爆破字典够强大,没有什么是破不了的。
工具:dnsmap
dnsmap-bulk.sh Desktop/domain.txt
大概就是可以用于批量查询域名。
神器:maltego
不过多赘述,maltego key注册地址:https://www.paterva.com/web6/community/maltego/index.php,免费的。
目标发现
目标机器的识别
- ping
- arping
使用方法:arping 192.168.1.1
,主要在局域网内用的比较多。 - nbtscan
使用方法:nbtscan 192.168.1.0/24
,主要用于扫描网段内的存活主机。 - fping
使用方法:fping ‘cat Desktop/domain.txt’ | grep alive > Desktop/alive.txt
,查询domain.txt
文件中存活的主机,将存活主机保存到alive.txt
内。
操作系统识别
- p0f
被动式(不会主动发起)截取数据报进行分析(不易被发现)。 - xprobe2
扫描主机。 - nmap
可以扫描出当前主机的系统信息等。
nmap
nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。从扫描类型一节可以得到细节。nmap还提供了一些高级的特征,例如:通过TCP/IP协议栈特征探测操作系统类型,秘密扫描,动态延时和重传计算,并行扫描,通过并行ping扫描探测关闭的主机,诱饵扫描,避开端口过滤检测,直接RPC扫描(无须端口影射),碎片扫描,以及灵活的目标和端口设定。
常用的参数
-sT 4 常用扫描类型
-sP 扫描在线主机 ——例如:nmap -sP 192.168.1.0/24
iL 文件名 导入IP扫描 ——例如:nmap -iL Desktop/ip.txt -sT 4
-oN 输出到文件 ——例如:nmap -iL Desktop/ip.txt -F -oN Desktop/report.txt
-F 快速扫描
-O 操作系统指纹识别
-p- 扫描全部端口 ——例如:nmap -p- 192.168.1.1
-p 端口号 扫描指定端口 ——例如:nmap -p 22,3306,3396 192.168.1.1
–scan_delay 时间 扫描延时 这个容易理解 就不演示了
-vv 扫描详细信息
-v 扫描信息
-oN 输出到文件
漏洞脚本
漏洞脚本的位置:ls /usr/share/nmap/scripts
通过脚本来运行 示例如下:
nmap --script=smb2-vuln-uptime
nmap 192.168.1.0/24 --script=smb2-vuln-uptime
漏洞评估
漏洞映射
是一个识别和分析目标环境中的关键安全缺陷的过程,这个术语有时也称为漏洞评估
或漏洞挖掘
。这是漏洞管理的重要领域之一,他通过针对性的分析已知和未知的漏洞,实现对IT基础设施的安全控制。完成信息收集、发现和枚举后就可以对目标设置中可能存在的漏洞进行分析,系统经常需要在加密措施、完整性和业务系统可用性之间做出折中处理,这往往是漏洞产生的缘由。
漏洞产生的类型大致分为三类: 设计类
、实施类
、操作类
。
漏洞本质两种:本地漏洞
、远程漏洞
。(这两种漏洞都可以是以上的三种类型)
需要绕过上述问题,可以用到两个工具:sqlmap
、burpsuite
。(在windows上也可以运行,kali仅做集成处理)
sqlmap
使用实例:
sqlmap -u baodu.com --dbs
sqlmap -u baodu.com --data "id=1&key=10"
sqlmap -u baidu.com--data "key=1&x=23&y=4" -D security -T users --columns //猜解表段
sqlmap -u http://www.zjyingsong.com/product.asp --data "key=1&x=23&y=4" --tables //猜解表段
sqlmap -u http://www.zjyingsong.com/product.asp --data "key=1&x=23&y=4" --columns -T 表段 //猜解字段
sqlmap -u http://www.zjyingsong.com/product.asp --data "key=1&x=23&y=4" --dump C "内容,内容," -T 刚才的表段 //猜解内容
爆数据库的方式:sql -u 链接 --dbs