【实训】实训日记
7.5 上午 01 国内外信息安全行业发展状况
02 信息安全就业方向及状况
7.5 下午 03 信息安全技术介绍
CIA:完整性、保密性、可用性
原因:内在因素、外界因素
安全分类:系统安全、动态安全、无边界的安全、非传统的安全
态势感知
访问控制(概念、模型)
Windows的访问控制(ACL)
Linux的访问控制
操作系统安全(身份鉴别、访问控制、监督系统运行的安全性、保证自身的安全性)
标识与鉴别(标识符,Windows:SID)
鉴别(备份账户和密码——>做比对账户密码):远程鉴别(SMB、LM、NTLM)+本地鉴别
权限管理
Windows系统特权管理(UAC)
Linux系统特权管理
限制对root使用,su及sudo命令
信息收集与情报分析
收集1.信息系统 2.组织资料 3.令攻击者感兴趣的任何信息
公开信息收集——搜索引擎
快速定位、信息挖掘
信息收集与分析
网络信息收集(正常服务、系统功能)、系统信息
信息收集与分析的防范
系统攻击——缓冲区溢出
防范:用户(补丁+防火墙)、开发人员(编写安全代码+使用安全函数)、系统(缓冲区不可执行技术+虚拟化技术)
恶意代码
防范(增强安全意识、减少漏洞)
应用安全威胁
应用客户端、应用协议、应用服务端、数据库
Web应用安全(服务器、客户端、协议)
HTTP协议
工作机制:请求响应模式
请求数据包+响应数据包
安全问题:信息泄漏、弱验证、缺乏状态跟踪
Web服务端软件安全问题
服务支撑软件安全问题
软件自身安全漏洞
软件配置缺陷
应用软件安全问题
Web安全防护技术
Web防火墙
工作在应用层
基本功能(审计并拦截HTTP数据流、Web应用访问控制、Web应用加固)
网页防篡改
监控Web服务器上的页面文件,防止被篡改
机制:备份文件对比、摘要文件对比、删除操作触发、系统底层过滤
典型注入攻击——SQL注入
7.6 上午 04 云计算安全
安全事件
Amazon云安全事件
Dropbox云安全事件
Facebook云安全事件
微软云安全事件
Google云安全事件
CloudFare云安全事件
腾讯云安全事件
向云中安全迁移
数据安全、
云计算安全的相关标准规范
7.6 下午 05 物联网安全
WiFi安全
WiFi与802.11标准
体系结构
无线拒绝网络服务攻击
应用层和物理层
7.7 上午 06 路由交换及用户网络日常排错
OSI模型、TCP/IP模型
TCP/IP(五层)
应用层;----HTTP、DNS、FTP、TFTP、SNMP、POP3、DHCP、SMTP、telnet···-防火墙/IDS/IPS--单位:PDU
传输层;----TCP、UDP--单位:段
网络层;----IP、icmp(网络控制信息协议)、arp--路由器、三层交换机--单位:包
数据链路层;----ethernet(双绞线)、HDCL、PPP、FR--交换机--单位:帧
物理层;----ethernet/V.24、V.25(同轴电缆)/G.703/G.707--集线器/中继器--传输单位:比特
OSI(七层)
应用层;表示层;会话层;传输层;网络层;数据链路层;物理层
TCP/IP(四层)
应用层;传输层;网络层(际);网络接口层
交换机
1、工作于数据链路层
2、功能
学习:基于源MAC地址学习;
转发:基于目的MAC地址转发;
单播:已知单播(根据目的MAC地址查MAC地址表,直接转发);未知单播(泛洪);组播:组类泛洪;广播:泛洪(每个接口发送一个相同副本)。
路由器
1、工作于网络层;
2、作用:用于网络层的寻址和路由;
3、特点:
基于模块化的网络设备;
具有丰富的广域网接口类型,但是接口数目较少;
可以实现不同访问介质间的互连:
可以实现不同子网间的互连;
4、工作原理:根据数据报文的目的IP地址,查路由表;(最长掩码匹配原则);如果收到了未知数据包,丢弃。
VLAN
VLAN全称:虚拟局域网;
定义:在一台物理交换机上,通过VLAN的划分,使之形成逻辑上独立的几个交换机
作用:分割广播域、业务隔离、增强安全性;
划分方式:基于端口划分、基于MAC地址划分(不常用)、基于协议划分(不常用)、基于子网划分(不常用)
access模式
进接口打标记,出接口拆标记
VLAN号的范围:0,4095 保留
2-1001,1006-4094 普通VLAN
1002-1005 思科有特殊用途,用于FDDI,其他厂商用作普通
trunk模式
1、中继协议(干道协议)
2、特点:同一trunk接口可以承载多个VLAN的流量和数据
3、默认情况只允许已经创建好的VLAN通过(思科和锐捷设备);华为华三只允许VLAN1(本地VLAN)通过,必须手动放行;
4、工作原理:默认情况下“无为而治”(既不打标记,又不拆标记)
VLAN配置命令
[Huawei]vlan 10 //建立VLAN 10
[Huawei-vlan10]quit
[Huawei]vlan 20 //建立VLAN 20
[Huawei-vlan20]quit
[Huawei]int vlan 10
[Huawei-Vlanif10]ip add 192.168.10.1 255.255.255.0 //设置VLAN 10 的IP地址
[Huawei-Vlanif10]int vlan 20
[Huawei-Vlanif20]ip address 192.168.20.2 255.255.255.0 //设置VLAN 20 的IP地址
[Huawei]interface g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type access //接口设置为access模式
[Huawei-GigabitEthernet0/0/1]port default vlan 10 //接口绑定VLAN 10
[Huawei-GigabitEthernet0/0/1]quit
[jieru2]int g0/0/1
[jieru2-GigabitEthernet0/0/1]port link-type trunk //接口设置为trunk模式
[jieru2-GigabitEthernet0/0/1]port trunk allow-pass vlan all //允许所有的VLAN通过
dis this//查看当前的一些信息
sysname//修改名字
un in en//设置不弹消息提示
路由的概念
要实现路由路由器必须知道:
目的地址
源地址
所有可能的路由路径
最佳路由路径
管理路由信息
1、直接路由
路由器接口直接的网段;(最优先)
2、静态路由
网络管理员手动配置的针对非直连网段的走向
3、动态路由
通过动态路由协议自动学习、计算、维护的路由条目;(RIP、OSPF、BGP)
静态路由优缺点
优点
对路由器CPU没有管理性开销
在路由器间没有带宽占用
增加安全性
缺点
必须真正了解网络
对于新添网络配置繁琐
对于大型网络工作量巨大
静态路由配置命令
配置IP地址
ip add .... 24
dis ip routing-table //查看路由表
添加路由格式:ip route-static 目的网段 子网掩码 下一条IP地址
如:[jieru1]ip route-static 192.168.30.0 24 10.0.1.1
删除路由格式:undo ip route-static 目的网段 子网掩码 下一条IP地址
如:[jieru1]undo ip route-static 192.168.30.0 24 10.0.1.1
缺省路由格式:[jieru1]ip route-static 0.0.0.0 0.0.0.0 10.0.1.1
ACL
访问控制列表
Access Control List
应用在交换机和路由器接口上的指令列表
制定哪些数据包可以接收,哪些需要拒绝ACL的操作过程
入站访问控制
出站访问控制
出站访问控制操作示意图
标准ACL
扩展ACL
ACL逻辑测试过程
标准ACL配置命令
[kexin]acl 2000
[kexin-acl-basic-2000]rule 10 deny source 192.168.30.2 0
[kexin-acl-basic-2000]int g0/0/3
[kexin-GigabitEthernet0/0/3]traffic-filter inbound acl 2000
扩展ACL配置命令
[jieru1]acl 3000
[jieru1-acl-adv-3000] rule 12 deny icmp source 192.168.10.1 0 destination 192.168.100.1 0
[jieru1-acl-adv-3000] rule 15 deny tcp source 192.168.10.2 0 destination 192.168.100.1 0
[jieru1]int g0/0/5
[jieru1-GigabitEthernet0/0/5]traffic-filter inbound acl 3000
实验拓展图
不能上网涉及到技术有哪些
主机数据封装;交换机原理;路由器工作原理;VLAN、trunk、网关;DHCP、DNS;路由协议(静态、动态);ACL、NAT;防火墙工作原理;应用程序;
7.8 上午 07 企业级网络规划与部署
公有地址和私有地址
私有地址是指内部网络(局域网内部)的主机地址,而公有地址是局域网的外部地址(在因特网上的全球唯一的IP地址)。因特网地址分配组织规定以下的三个网络地址保留用做私有地址:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
NAT基本概念
NAT(Network Address Translator)
- 网络地址转换,即改变IP报文中的源或目的地址的一种处理方式;
- 使一个局域网中的多台主机使用少数的合法地址访问外部资源,也可以按照要求设定内部的WWW、FTP、TELNET的服务提供给外部网络使用;
- 有效的隐藏了内部局域网的主机IP地址,起到了安全保护的作用。
NAT技术实现了私网与公网的互访,为私网提供了安全保障,也给公网带来了安全隐患。
NAT的基本工作方式
NAT-一对一的地址转换
PAT-多对一的地址转换
NPAT-多对多的地址转换
NAT方式
在出方向上转换IP报文头中的源IP地址,而不对端口进行转换
在私有网络地址和外部网络地址之间建立一对一映射,实现比较简单
只转换IP报文头中的IP地址,所以适用于所有IP报文转换
PAT方式
PAT(Port Address Translation)方式的地址转换利用了TCP/UDP协议的端口号,进行地址转换
PAT方式的地址转换是采用了“地址+端口”的映射方式,因此可以使内部局域网的许多主机共享一个IP地址访问Internet。在私有网络地址和外部网络地址之间建立多对一映射
不同的内部网地址,转换时采用相同的公网地址,并依靠不同的端口号来区分每一个内部网主机
NAAPT方式
NPAT(Nat & Port Address Translation)方式的地址转换也是利用了TCP/UDP协议的端口号,进行地址转换
私网地址和公网地址之间建立了多对多的映射关系
NPAT方式也是采用“地址+端口”的映射关系,因此可以使内部局域网的多个主机共享多个IP地址访问Internet
内部服务器
内部服务器是一种反相的地址转换
地址转换屏蔽了内部网络中的主机,而内部服务器可以提供外部网络访问内部网络的服务。可以配置WWW、FTP、Telnet等服务。
内部服务器映射表是由NAT SERVER命令配置的,在转换时,根据用户的配置查找外部数据包的目的地址,如果是访问内部的服务器,则转换成相应的内部服务器的目的地址和端口,达到访问内部服务器的目的。还原时对源地址进行查找,判断是否是从内部服务器出去的报文,如果是将源地址转换成相应的外部地址
NAT配置示例
[Huawei] interface g0/0/0
[Huawei-g0/0/0] nat static enable -> 开启静态NAT
[Huawei]nat static global 200.1.1.1 inside 192.168.1.100
****************************************************************************************
[Huawei]acl 2000
[Huawei-acl-basic-2000]rule 1 permit source 192.168.1.0 0.0.0.255
[Huawei]nat address-group 1 200.1.1.2 200.1.1.3
[Huawei-GigabitEthernet0/0/1]nat outbound 2000 address-group 1
****************************************************************************************
[Huawei-GigabitEthernet0/0/1]nat server protocol tcp global 200.1.1.4 www inside 192.168.1.222 www
实验拓扑图
7.9 上午 操作系统安全配置及应急响应
01 操作系统安全配置
身份鉴定
账户:禁用缺省用户、添加管理账户
密码:密码长度、密码复杂度、密码生存周期、口令重复次数
登陆失败处理:限制口令登录失败次数
连接:限制匿名用户连接
hydra暴力破解账户密码
hydra -L users.txt -P pass.txt –V rdp://172.16.3.131
hydra –l root -P pass.txt –V ssh://192.168.1.1
-L 指定一个帐号字典
-P 指定一个密码字典
-l 指定一个用户
-p 指定一个密码
-V 现实爆破测试的详细过程
访问控制
检查共享控制、远程关机授权、本地关机
文件权限指派、授权用户登录、授权账户从网络访问
共享文件授权、修改RGD、禁用CTRL+ALT+DEL登录
开启防火墙、禁用高危端口135、137、138、139、445等
安全审计
NTP服务
登录日志记录
系统日志检查
资源控制
登录超时管理
远程登录超时配置
剩余信息保护
不显示上次的用户名
关机前清除虚拟内存页面
禁用可还原的加密存储密码
屏幕保护
02 应急响应
什么是应急响应
应急响应指的是在系统或者网站遭到黑客入侵后,我们需要对攻击事件的类型进行定义,对攻击发生的原因进行溯源分析,查找黑客入侵的方式以及是否留有后门,所以应急响应是一项十分重要的工作
事件分类
攻击事件发生后,首先要对事件进行分类,分析攻击属于哪种类型以便针对性的进行处置,
常见的攻击事件如下:
WEB入侵:挂马、篡改、Webshell等
系统入侵:系统异常、RDP爆破、SSH爆破、主机漏洞
病毒木马:远控、后门、挖矿、勒索软件
信息泄漏:脱裤、数据库登录(弱口令)、管理后台登录
排查思路
1、定义攻击类型
2、事件范围
3、文件分析
4、进程分析
5、系统分析
6、日志分析
7、关联分析
8、推理总结
文件分析排查
01 按照文件日期、新增文件、可疑或异常文件、最近使用文件、浏览器下载文件进行排查
02 排查和分析webshell
03 核心应用的关联目录文件分析(敏感目录文件)
进程分析
01 当前活动进程和远程连接
02 启动进程和计划任务
net user//查看用户
net user test2$ /add //添加用户
系统信息
01 账号信息、环境变量
02 History
03 系统配置文件
日志分析
系统日志
Windows:事件查看器(eventvwr)
Linux:/var/log
应用日志
Access.log
Error.log
思路整理
1、碎片化信息关联分析
2、事件线串联蛛丝马迹
3、利用日志查找痕迹
4、利用检测工具进行检测
7.12 上午 防火墙技术与威胁发现
01 初始防火墙
基本功能
1、划分网络的边界
2、加固内网的安全
防火墙外部转换:200.100.1.101-200.100.1.110
内部地址:20个网段、500个主机
安全检测功能
反病毒、文件过滤、入侵威胁检测、邮件过滤、URL过滤、应用行为管理、内容过滤
会话日志记录功能
防火墙分类
1、包过滤型防火墙
2、状态检测防火墙
状态化表项
3、代理型防火墙
02 入侵检测系统 IDS
入侵检测系统基础组件
1、事件产生器
2、事件分析器
3、响应单元
4、事件数据库
可防御的方面
1、病毒、木马、蠕虫
2、DDOS
3、扫描
4、SQL注入
5、XSS
6、缓冲区溢出
7、欺骗劫持
账号:admin
密码:Admin@123
7.13 上午 漏洞基础知识讲解
01 漏洞的定义
官方定义:
漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的下访问或破坏系统
基本理解:
漏洞是协议在生命周期的各个阶段(设计、实现、运维等过程)中产生的某类问题,这些问题会对系统的安全(机密性、完整性、可用性)产生影响。
BUG与漏洞
漏洞与Bug并不等同:大部分的Bug影响功能性,并不涉及安全性,也就不构成漏洞;大部分的漏洞来源于Bug,但并不是全部,它们之间只是有一个很大的交集。
02 软件漏洞的产生来源
不是安装的时候的结果 也不是永久后的结果而是编程人员的人为因素,在程序编写过程,为实现不可告人的目的,在程序代码的隐蔽处保留后门,或受编程人员的能力、经验和当时安全技术所限,在程序中难免会有不足之处,轻则影响程序效率,重则导致非授权用户的权限提升。
某个程序(包括操作系统).在设计时未考虑周全,当程序遇到一个看似合理,但实际无法处理的问题时,引发的不可预见的错误
漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统
出现频率最高的依次是: 设计错误 -> 输入验证错误-> 意外情况处理错误 -> 边界条件错误 -> 环境错误 -> 访问验证错误
缓冲区溢出
缓冲区溢出:代码写入的数据超过了缓冲区的边界;是软件安全漏洞的主要来源;是一种比较常见的编码错误,特别是在字符串处理过程中。
危害:
程序直接崩溃,除了用户体验也没什么大损失
错误的写入覆盖了其他敏感数据,造成数据的丢失
执行恶意代码,因为数据写入越界,恶意代码可以将原先正常的函数修改为自己的代码,从而获得整个软件的执行权。
CVE-2017-11882
影响流行的所有Office版本,可通过这个漏洞执行任意代码(偷摸弹出计算器)
未验证输入
各种类型的输入都有可能是非法的,甚至是恶意的,所以针对所有类型的输入,应用都要进行检验,确保输入的数据是符合程序要求的,合理的,合法的数据。
- 输入的数据大于接收缓冲,会造成缓冲溢出
- 格式化字符串注入,对这些字符串进行处理时,如果不小心会造成程序的崩溃,或某些敏感数据被篡改
- URLSchema中的命令为恶意命令,执行了恶意的命令
- 代码注入,输入的URL或命令中带有脚本、代码等恶意片段
竞争条件
如果一个任务的完成需要几个特定的子任务以特定的顺序完成来完成,那么这个任务就是存在竞争条件这个漏洞的。黑客可以通过修改事件完成的顺序来改变应用的行为。
处理信号的过程中,是随时可以被另一个信号的处理打断的,如果在处理一个信号的过程中另一个信号到来,那么这个过程会被马上中断,这样,系统就会处于一种未知的状态。
应用运行的过程中,在某个操作之前,比如写文件,都会检查一下文件是否存在,在检查与真正的写入之间的间隔就是一个可以被利用的,恶意软件可以将用户检查的文件替换成自己的文件,这样数据就泄露了。
进程间通信
进程间通信采用的方法很多,共享内存,管道,油槽等,由于通信管道两端的应用的不同,那么,有可能存在这钟管道被恶意利用的肯能性
进程间通信也是软件漏洞的一个来源,当与另一个应用通信的时候,要默认此应用是不安全的,要对通信的内容进行安全方面的验证。
不安全的文件操作
应用对文件进行处理时,若果没有进行进行有效的验证,那么有可能处理的文件已经是被恶意软件修改过的,是不安全的。所以,进行有效的验证是安全处理文件的重要保证。
- 读取或写入一个位于其他应用也拥有读写权限路径下的文件。
- 对文件信息,例如权限等信息没有进行有效验证便进行处理
- 对文件操作的返回结果没有进行有效利用
- 假定一个拥有本地文件名的文件就是真正的本地文件。
权限控制问题
每个应用都有与其匹配的权限,应用申请的权限应该物尽其用,不能申请超过自身需求的权限,而很多的软件漏洞就是因为应用申请了超过自身需求的权限,比如root权限,然后被恶意软件利用,也就有了对整个系统执行所有操作的权限。
社会工程
用户往往是安全保证机制中那薄弱的一环。即使提供再强大的安全保全机制,如果用户安全意识薄弱,同样会出现问题。很简单的例子,比如用户将密码设置的非常复杂,服务器端数据库的安全保证也很周全,黑客完全无法通过技术手段窃取用户密码,可黑客一个伪装客服的电话就完全有可能将用户的密码从用户的口中骗取到
03 漏洞的基本分类
程序逻辑结构漏洞、开放式协议造成的漏洞、人为因素造成的漏洞
已知漏洞、未知漏洞、0day
形成原因
程序逻辑结构漏洞
- 这种类型的漏洞有可能是编程人员在编写程序时,因为程序的逻辑设计不合理或者错误而造成的程序逻辑漏洞。
如:微软的Windows 2000用户登录的中文输入法漏洞。非授权人员可以通过登录界面的输入法的帮助文件绕过Windows的用户名和密码验证而取的计算机的最高权限。 - 这种类型的漏洞也有可能是合法的程序用途被黑客利用去做不正当的用途。
如:Winrar的自解压功能,程序设计者的本意是为了方便用户的使用,使得没有安装Winrar的用户也可以解压经过这种方式压缩的文件。但是这种功能被黑客用到了不正当的用途上。
程序设计错误漏洞
- 编程人员在编写程序时由于技术上的疏忽造成的漏洞。这种类型的漏洞最典型的是缓冲区溢出漏洞,它也是被黑客利用得最多的一种类型的漏洞。
人为因素造成的漏洞
- 一个系统如果本身设计得很完善,安全性也很高,但管理人员安全意识淡薄,同样的会给系统留下漏洞。譬如说,系统本身非常完备安全,但系统登录所需要的管理 员帐户或口令,可是因为设置过于得简单而被黑客猜解出来了,那么其他的环节再安全也没有丝毫意义;再或者虽然管理员设置了很复杂的密码,可是他把密码写在 一张纸上,并随手扔到废纸篓里,那么也同样有可能造成密码泄露而导致系统被黑客入侵。
掌握情况
已知漏洞
已知漏洞是指已经被人们发现,并被人们广为传播的公开漏洞。
未知漏洞
未知的漏洞则是指那些已经存在但还没有被人发现的漏洞,这种类型漏洞的特征是虽然它们没有被发现,但它们在客观上已经存在了
0day漏洞
所谓0day漏 洞是指已经被发掘出来,但还没有大范围传播开的漏洞,也就是说,这种类型的漏洞有可能掌握在极少数人的手里。
04 OWASP top 10
OWASP(开放式Web应用程序安全项目)的工具、文档、论坛和全球各地分会都是开放的
总结了Web应用程序最可能、最常见、最危险的十大漏洞,是开发、测试、服务、咨询人员应知应会的知识。
对所有致力于改进应用程序安全的人士开放,其最具权威的就是“10项最严重的Web 应用程序安全风险列表”
注入injection
将不安全的命令作为命令发送给解析器,会产生类似于SQL注入、NoSQL注入、OS注入和LDAP注入(轻量目录访问协议) 的缺陷,攻击者可以构造恶意数据通过注入缺陷的解析器执行没有权限的非预期命令或访问数据。
失效的身份认证
通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌,或者暂时或永久的冒充其他用户的身份。
敏感数据泄露
这个比较好理解,一般我们的敏感信息包括密码、财务数据、医疗数据等,由于web应用或者API未加密或不正确的保护敏感数据,这些数据极易遭到攻击者利用,攻击者可能使用这些数据来进行一些犯罪行为,因此,未加密的信息极易遭到破坏和利用,我们应该加强对敏感数据的保护,web应用应该在传输过程中数据、存储的数据以及和浏览器的交互时的数据进行加密,保证数据安全。
外部实体(XXE)
XXE 全称为XML External Entity attack 即XML(可扩展标记语言) 外部实体注入攻击,早期或配置错误的XML处理器评估了XML文件外部实体引用,攻击者可以利用这个漏洞窃取URI(统一资源标识符)文件处理器的内部文件和共享文件、监听内部扫描端口、执行远程代码和实施拒绝服务攻击。
失效的访问控制
通过身份验证的用户,可以访问其他用户的相关信息,没有实施恰当的访问权限。攻击者可以利用这个漏洞去查看未授权的功能和数据,eg:访问用户的账户、敏感文件、获取和正常用户相同的权限等.
安全配置错误
安全配置错误是比较常见的漏洞,由于操作者的不当配置(默认配置,临时配置,开源云存储,http标头配置,以及包含敏感信息的详细错误),导致攻击者可以利用这些配置获取到更高的权限,安全配置错误可以发生在各个层面,包含平台、web服务器、应用服务器、数据库、架构和代码。
跨站脚本(xss)
xss攻击全称为跨站脚本攻击,当应用程序的新网页中包含不受信任的、未经恰当验证、转义的数据或可以使用HTML、JavaScript的浏览器API更新的现有网页时,就会出现xss漏洞,跨站脚本攻击是最普遍的web应用安全漏洞,甚至在某些安全平台都存在xss漏洞。xss会执行攻击者在浏览器中执行的脚本,并劫持用户会话,破坏网站或用户重定向到恶意站点,使用xss还可以执行拒绝服务攻击。
不安全的反序列化
不安全的反序列化可以导致远程代码执行、重放攻击、注入攻击或特权升级攻击
使用含有已知漏洞的组件
组件(eg:库、框架或其他软件模块)拥有应用程序相同的权限,如果应用程序中含有已知漏洞,攻击者可以利用漏洞获取数据或接管服务器。同时,使用这些组件会破坏应用程序防御,造成各种攻击产生严重的后果。
不足的日志记录和监控
这个和等保有一定的关系,不作介绍,不足的日志记录和监控,以及事件响应缺失或无效的集成,使攻击者能够进一步攻击系统、保持持续性的或攻击更多的系统,以及对数据的不当操作。
7.14 上午 面对政企的网络安全态势感知平台
网络安全态势感知的理解
上午 渗透基础
7.15 上午 网络安全相关法律法规
7.15 下午 等保2.0
7.16 上午 基础攻防培训
暴力破解
Sniper:一对一
Battering ram:多对一
Pitchfork:一对一
Cluster bomb:一对多
SQL注入
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句
1.条件:用户能控制输入且输入的内容被带到数据库去执行
2.原理:对用户输入过滤不严谨。
3.位置:select语句,insert语句
4.类型:布尔盲注,报错注入,延时注入,回显注入,堆叠注入
布尔盲注:是(1)和否(0)
语句:' and 1=1--+
报错注入:
and updatexml(1,concat(0x7e,(select user())),1)#
and extractvalue(1,concat(0x3a,(select user())))#
select exp(~(select * from (select user())x))#
延时注入:
if(({判断语句}),sleep(3),1)
case when (判断语句) then (select 1 from (select sleep(3))x) else 1 end
堆叠注入(sqlserver)
开启xp_cmdshell:
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
利用:exec master..xp_cmdshell "whoami"
文件上传
文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力
iis6.0
1.目录解析
创建maomao.asp目录,放在这个目录下的所有文件都会以前asp允许(常与编辑器漏洞一起用)
/maomao.asp/1.jpg
2.文件解析
分号后的不被解析
maomao.asp;.jpg就等于maomao.asp
3.畸形后缀名解析(iis7.0,7.5也存在)
/maomao.asa
/maomao.cdx
/maomao.cer
4.apache(常被设置后缀黑名单)
从右向左开始判断解析,如果不可识别,就再向左判断
maomao.php.zzz
经验:php|php3|phtml都会被apache解析
5.iis 7.0/7.5/8.5/10.0/nginx<8.03畸形解析漏洞(只有php格式才存在)
在文件后面加上/.php就会把前面文件当做php执行
maomao.jpg/.php
6.nginx<8.03空字节代码执行漏洞
0.5,0.6,0.7<=0.7.65,0.8<=0.8.37
nginx在图片中嵌入代码然后通过访问
maomao.jpg%00.php来执行其中的代码
7.htaccess文件解析
在apacha中.htaccess可被执行,且可被上传,可以尝试在.htaccess中写入:
<FilesMatch "x.jpg">SetHandler application/x-httpd-php</FilesMatch>
之后上传的x.jpg,将被解析未php文件
8.nginx未经过url编码空格加截断绕过后缀名现实中
nginx 0.8.41~1.4.3,1.5~1.5.7
在服务器上上传一个'mao.html '文件html后存在空格
然后访问/mao.html...jpg在burp拦截后将第一个.改为20(空格的ascii),第二个.改为00(截断)。
服务区会把‘mao.html ’解析为jpg格式
9、phpstudy文件解析漏洞(<=8.1.0.7 windows)
上传一个带木马的图片文件1.jpg
然后访问/1.jpg/.php
会把1.jpg当做php解析
10、上传突破目录限制:在服务器不改变文件名时,客户端修改文件名为../1.asp(dedecms存在)
php <5.3.4突破后缀:maomao.php%00.jpg解析为maomao.php
11、后缀黑名单绕过:
修改后缀大小写
通过解析漏洞,改成畸形文件名:.asa/.cer/.cdx
12、后缀白名单绕过:
利用解析漏洞
突破上传目录限制,修改上传名为../1.asp
XSS
跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的
<script>alert(1)</script>
<img src=1 onerror=alert(1)>
7.19 反序列化
序列化在内部没有漏洞,漏洞产生是应该程序在处理对象、魔术函数以及序列化相关的问题导致的当传给unserialize()的参数可控时,那么用户就可以注入payload,进行反序列化的时候就可能触发对象中的一些魔术方法。
(需要反序列利用链)
魔术方法:
__construct()构造方法,当一个对象创建时被调用。当反序列化的时候,构造方法不会被调用
__destruct()当一个对象销毁时调用
__toString()当一个对象被当作字符串时调用
__sleep()在对象被序列化之前调用
__wakeup()在对象被反序列化之后调用
方法修饰:
public 全局
private 同一个类的可以访问
protected 继承的类可以访问
代码执行
用户输入的数据,被当做后端代码进行执行
代码执行函数
eval
assert
create_function
preg_replace
call_user_function/call_user_function_array
array_map
array_filter
usort/uasort
命令执行函数
system()
exec()
shell_exec()
passthru()
pcntl_exec()
&& || & |
1.eval()把字符串当成php代码
eval("echo 123;");
2.assert()判断表达式是否成立,参数为字符串时当成php代码执行
assert("echo 123");
3.create_function匿名函数
$fo=create_function('$temp','echo $temp."world";');
$fo(123);
相当于:
function fo($temp){
echo $temp."world";
}
利用:
<?php
$a=$_GET['a'];
$fo=create_function('$a','echo $a."world";');
?>
url?a=;}phpinfo();/*
4.preg_replace()/e 正则表达式/e执行代码
echo "{${phpinfo()}}";//phpinfo将会被执行
在php中,双引号里面如果包含有变量,php解释器会将其替换为变量解释后的结果;单引号中的变量不会被处理。
注意:双引号中的函数不会被执行和替换。
<?php
function test($str){
echo preg_replace("/s*[php](.+?)[/php]s*/ies", 'test("\1")', $_GET["h"]);//tests() 中必须是双引号,且\1为第一个匹配值
?>
利用
url?h=[php]{${phpinfo()}}[/php]
5.call_user_function/call_user_function_array回调函数
6.array_map()
array_map(func ,array[]):数组中的每一元素都执行函数
7.array_filter()
array_filter(array[],func):数组中的每一元素都执行函数
8.usort(array,func):数组中的每一元素都执行函数>=php 5.6
利用1:usort(...$_GET);//GET获得的3个参数
利用1:url?1[]=1-1&1[]=eval($_POST['X'])&2=assert
利用2:usort($_GET,"asse"."rt");//GET获得的3个参数
利用2:url?1=1+1&2=eval($_POST['X'])
SSRF
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)
SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。利用的是服务端的请求伪造。ssrf是利用存在缺陷的web应用作为代理攻击远程和本地的服务器
curl
flie_get_contents
gofo
1. php://filter/read=convert.base64-encode/resource=demo1.php //读源文件
7.20 信息收集
子域名
站长之家、企查查、天眼查等平台
子域名=证书透明度
Google hacking
site:xxx.com
inurl:login.jsp
filetype:doc
intitle:管理|后台|登录
网络资产搜索引擎
Fofa、zoomeye、shodan
工具
layer子域名挖掘机
sub
真实IP
CDN:内容分发网络
1、通过域名查找,有些网站FQDN做了CDN,但是域名不会做
2、通过国外访问,很多网络cdn只做国内节点,通过国外访问可访问域名
C段及端口
nmap、masscan、御剑、goby
敏感文件、目录
御剑、Dirb、Dirsearch、github、码云
社工初体验
社工库、Reg007、HIBP
收集邮箱、手机号、员工姓名、用于爆破
渗透考试:OSCP
msfconsole
use auxiliary/scanner/smb/smb_ms170 tab
参数设置
options选项
扫描网段 set rhots 。。。。/24
exploit
建立线程threads
set threads 50
攻击正式开始
第一步:use exploit/windows/smb/ms17_010_eternalblue(切换到攻击模块)
第二步:set rhost 192.168.3.38(设置存在445漏洞的PC电脑IP)
第三步:exploit/run(执行攻击)
第四步:攻击完成,并且自动返回一个shell控制台
shell whoami
远程控制软件:cobalt strike
7.21 渗透测试
菜刀、蚁剑:网站后门
御剑:扫描网站目录
netsh:操作防火墙
注册表
7.22 CTF基础
护网行动、净网行动、等级保护
夺旗赛:flag{xxxxxxxxx}
竞赛模式
解密挑战
攻防对抗
混合模式
常见题型
Web:渗透测试
PHP安全特性
SQL注入
XSS
命令执行
代码注入
代码审计
文件上传
文件包含
反序列化
PWN:二进制爆破
利用buffer overflow、format string、命令执行
CTF-逆向
CTF-MISC:杂项、混合体
CTF-CRYPTO:密码
CTF示例
信息收集:AWVS、御剑、APPScan、dirsearch
工具安装