信息收集
1、扫描的价值
对攻击者来说:根据扫描结果,来决定进一步的攻击行动;
能够更有针对性地选择攻击方法、攻击工具,节省攻击时间
对防护者来说:根据扫描结果,判断应采取什么样的安全策略;
封堵漏洞、加固系统、完善访问控制
2、nmap
Network Mapper,一款开源的网络探测器
-采用原始报文方式,可以快速扫描单个主机或大型网络
-识别目标的服务类型、程序版本、防火墙等
1)nmap 命令格式
nmap [扫描类型] [选项] <扫描目标>
2)指定扫描类型
-sS:TCP半开扫描(只发SYN包,不会产生会话日志),速度快
-sT:TCP全开扫描(尝试全连接),结果更准确
-sU:UDP扫描
-sP:使用ICMP扫描,仅用于探测目标是否在线
-O 扫描操作系统
-sV 扫描端口对应的服务版本
3)指定目标端口
-p 3389 :扫描指定接口
-p 20-80 :扫描连续的接口
-p 22,80 :扫描多个指定接口
4)端口状态
open : 开放的
filtered :探测报文被目标服务器的防火墙过滤和阻止了
closed :关闭的
探测逻辑
1、探测存活的主机:nmap -sP 192.168.10.0/24; nmap -sS 192.168.10.0/24
2、探测目标主机的端口号:nmap -sS -p 端口列表 主机列表
3、探测目标主机端口对应的软件信息:nmap -sV -p 端口 主机
4、探测目标主机操作系统信息:nmap -O 主机
5、进一步攻击:密码爆破、漏洞利用、拒绝服务攻击
密码暴力破解
1、什么是暴力破解
密码破解指攻击者猜解目标密码或用户名的攻击行为
暴力破解,也称为“密码穷举”,列出各种可能的密码,用来尝试去访问目标系统,理论上任何密码都可以用这种方法来破解,不过越复杂的密码破解耗时也越长
字典破解,实施破解时采用“可能”的密码,比如生日、单词、常用数字,可手动或通过工具编写,也可以通过分享获取社工密码库(最常见的密码是“password”、“123456”、“123456789”)
[全球最常用的密码名单公布:“password”“123456”前二 (baidu.com)]
测试密码有多安全?
[https://www.security.org/how-secure-is-my-password/]
(https://www.security.org/how-secure-is-my-password/)
2、crunch密码字典工具
基本用法:crunch 最小长度 最大长度 素材字符
示例1:crunch 6 6 0123456789 //随机组成6位纯数字密码
示例2:crunch 6 8 Abc1234 //由Abc1234随机组成的6~8位密码
示例3:crunch 8 8 -t A%% -o pass.txt // 以A开头2位数字组成的3位密码,保存为pass.txt文件
特殊匹配字符:
@ --> 代表小写字母
, --> 代表大写字母
% --> 代表数字
^ --> 代表标点及特殊字符
十八年窖藏的密码字典
[https://wwi.lanzoup.com/ivqUz0phft5c](https://wwi.lanzoup.com/ivqUz0phft5c)
3、hydra暴力破解
hydra:海德拉,一款功能强大的开源密码攻击工具,支持多种协议的破解
格式:hydra [选项] 目标地址 服务类型
-l 指定用户名
-L 指定用户名字典文件
-P 指定密码字典文件
-o 将结果输出到指定文件
-v 显示破解过程
-t 同时执行的任务数,默认16个
示例1:破解windows靶机远程桌面密码
第一步:生成密码字典
┌──(rootkali)-[~]
└─# crunch 7 7 -t pwd%%%% -o p1.txt //产生开头pwd后面4位数字的长度7位密码
第二步:执行暴力破解(使用RDP-3389进行爆破)
┌──(rootkali)-[~]
└─# hydra -l Administrator -P p1.txt 192.168.10.145 rdp
[DATA] attacking rdp://192.168.10.145:3389/
[3389][rdp] host: 192.168.10.145 login: Administrator password: pwd1234
第三步:在kali系统中远程登录windows-2008
┌──(rootkali)-[~]
└─# rdesktop 192.168.10.145
输入: yes
示例2:破解Linux靶机SSH登录密码
第一步:编写密码字典
┌──(rootkali)-[~]
└─# vim pass.list
第二步:执行暴力破解
┌──(rootkali)-[~]
└─# hydra -l msfadmin -P pass.list 192.168.10.143 ssh -t 4 //同时4个任务
[22][ssh] host: 192.168.10.143 login: msfadmin password: msfadmin
爆破ssh密码时可能因对方SSH配置,需要限制破解任务数量 -t 4
第三步:在kali系统中,远程另外一台kali 主机
┌──(rootkali)-[~]
└─# ssh [email protected]
4、防暴破
1)设置黑客想不到的(防字典破解),设置够长够复杂的(防暴力破解),定期修改密码,不要用老密码
2)禁用管理员账号或改名,如:Administrator、root
3)做系统加固,设置登录次数限制、启用账户锁定阈值(针对普通用户)
4)修改端口号
5)指定哪些IP地址可以远程连接到本电脑
拒绝服务
1、什么是拒绝服务:
通过各种手段,最终导致目标系统崩溃、失去响应,从而使目标系统不能为正常的用户提供资源或对应的功能(拒绝服务)
常见的DoS攻击方式:
SYN Flood泛洪
Ping Flood泛洪
UDP Flood泛洪
2、hping3测试工具
可向目标主机发送任意TCP/IP协议数据包的一款开源的安全工具,也用于扫描/防火墙测试/路由追踪/协议分析等场景
格式: hping3 主机 [选项]
常用选项:
--syn:设置SYN标记(-S)
-p:指定目标端口
-a:伪造源地址欺骗
-d: 指定数据包的大小
--flood:泛洪,尽最快发送数据包,不显示回复
--rand-source:随机源地址模式
3、DoS攻击案例
测试机:kali,使用hping3工具
靶机:windows靶机,开启3389远程桌面服务
场景演示:针对靶机的3389端口发起攻击,使其失去响应
第一步:正常访问Windows靶机远程桌面
第二步:kali 主机对windows靶机发起攻击
┌──(rootkali)-[~]
└─# hping3 192.168.10.145 --syn --flood -p 3389
HPING 192.168.10.145 (eth0 192.168.10.145): S set, 40 headers + 0 data bytes
hping in flood mode, no replies will be shown
//需要停止时,按Ctrl + C快捷键
第三步:验证:在攻击过程中,远程windows-2008,发现无法连接远程
第四步:再次验证
备注:停止攻击,稍等1分钟,可以正常远程
4、DDoS,分布式拒绝服务( Distributed Denial of Service)
1)什么是分布式拒绝服务:
一种典型的流量攻击,放大版的DoS攻击,攻击方的主机数量呈现规模化;
通常由分布在不同网络、不同位置的成千上万的主机组成攻击方(通常称为botnet僵尸网络),被同一发起者所控制,攻击强度更大,防御的难度也更大。
2)如何防御DoS/DDoS攻击:
1)提高服务方的交付能力
减少服务配置的等待时间
优化单一客户机的并发响应策略
更换高性能设备
增加网络带宽
负载均衡架构
部署CDN内容分发网络
2)部署专用软硬件防御产品
冰盾防火墙
流量清洗、 DDoS高防IP
IDS入侵检测设备
抗DDoS专用防火墙设备
识别源IP,植入黑名单
渗透测试流程
1、渗透测试是什么
-是一种通过模拟攻击的技术与方法,打破目标系统的安全防御,并获得目标系统控制访问权的安全测试方法.
2、渗透测试的目标分类
-针对主机操作系统渗透:Windows、Linux···
-针对数据库系统渗透:MySQL、MS-SQL···
-针对应用系统渗透:PHP组成的网站···
-针对网络设备渗透:防火墙、路由器、交换机···
3、渗透测试的7个阶段
1)前期交互
2)信息收集
3)威胁建模
4)漏洞分析
5)渗透攻击
6)后渗透攻击
7)渗透报告