1. 安全漏洞及产生原因
1.2安全漏洞的定义
- 也称脆弱性,是计算机系统存在的缺陷
1.3漏洞的形式
- 安全漏洞以不同形式存在,漏洞数量逐年递增
1.4漏洞产生的技术原因
- 内因:软件复杂性使得漏洞不可避免
- 软件规模增加、功能越来越多、越来越复杂、难以避免缺陷
- 软件模块服用、导致安全漏洞延续
- 缺乏从设计开始安全考虑
- 外因:互联网发展对软件安全的挑战
1.5漏洞产生的经济原因
- 软件开发管理过程中缺乏对安全重视
- 市场和业务要求将交付期和软件功能做主要因素
- 用户方没有提供安全方面的压力
- “劣币驱逐良币”效应,重视安全的公司被淘汰
- 企业管理层对安全开发缺乏了解
- 开发管理人员不了解软件安全开发的管理流程、方法和技巧
- 软件开发人员缺乏将软件安全需求、安全特性和编程方法进行结合的能力
- 测试人员无法以“坏人”的角度来思考软件安全问题
1.6漏洞产生的应用环境原因
- 互联网的发展使软件运行环境从传统的封闭、静态和可控变为开放、动态和难控
- 攻防信息不对称性进一步增强,攻易守难的矛盾进一步凸显
- 强大经济利益推动漏洞挖掘产业化方向发展
2. 信息收集与分析
2.1踩点:信息收集及分析(攻击的前奏)
2.1.1为什么要信息收集?
- 知己知彼百战不殆
- 信息是攻击的基础
- 信息收集可以成为攻击的方式
2.1.2为什么需要分析目标
- 确定收集信息的准确性
- 攻击方式及攻击路径的选择
2.1.3收集什么信息
- 目标IT相关信息
-
目标的域名信息
- 四级域名.三级域名.二级域名.顶级域名(格式一般遵循“功能、机构名称、国家”的规范)
-
目标的网络拓扑结构、安全设备型号、配置
-
目标系统版本、 数量
-
目标应用软件版本、型号、开发语言、开发商等
-
目标的相关Web网页内容
-
- 目标相关公开信息
- 组织机构、地理位置、电话号码、邮件等联系方式
- 近期重大事件
- 员工简历
- 其他可能令攻击者感兴趣的信息
2.1.4信息收集与分析工具
- 系统命令
- nslookup、whois、tracert、ping等
- 专用软件
- kali linux等
- 搜索引擎
- 如:google、百度
- 快速定位
- 某开源软xxxx.jsp脚本存在漏洞,Google 搜索“xxx.jisp"可以找到存在此脚本的Web网站
- 信息挖掘
- 定点采集
- Google搜索".doc+website"挖掘信息
- 隐藏信息
- .mdb、 .ini、 .txt、 .old、 .bak、 .001…
- 后台入口
- 扫描器
- 扫描是对计算机系统或其它网络设备进行安全相关的检测,以找出安全隐患和能被黑客利用的漏洞。
- 通过扫描,能对扫描对象的脆弱性和漏洞进行深入了解,进而给扫描时发现的问题提供一个良好的解决方案。
- 对于黑客来说,扫描是信息获取的重要步骤,通过网络扫描可以进一步定位目标或区域目标系统相关的信息。
- 系统漏洞扫描:nessus等
- web漏洞扫描:appscan等
- 数据库漏洞
2.1.5信息收集与分析
- 网络信息收集
- 公开信息收集防御
- 信息展示最小化原则,不必要的信息不要发布
- 网络信息收集防御
- 部署网络安全设备(IDS、 防火墙等)
- 设置安全设 备应对信息收集 (阻止ICMP)
- 系统及应用信息收集防御
- 修改默认配置(旗标、端口等)
- 减少攻击面
2.2入侵:实施攻击
- 案例背景
- 时间: 2008.01.10
- 目标:北京XX区政府门户网站
- 测试方式:定点采集
- Google搜索“.doc+website"挖掘信息
- 公务员邮箱使用说明:
- 选择公务员邮箱,输入邮箱名,邮箱密码默认为六个1,鼠标单击登陆。例如,选择公务员邮箱,在用户名处输入tjjbgs,密码输入11111, 单击登陆即可进入统计局办公室的邮箱
2.3后门:方便下次进入
2.4痕迹:清除入侵记录
3. 网络攻击实施
3.1 配置缺陷
-
默认账户/口令
-
不合理配置
-
案例:启用匿名(默认)
-
默认匿名身份: iuser_计算机名称
-
配置给予更高权限
3.2 口令破解
3.3 社会工程学攻击
3.4 欺骗攻击(欺骗攻击是一类攻击方式的统称)
-
欺骗攻击(Spoofing) 是指通过伪造源于可信任地址的数据包以使一台机器认证另一台机器的复杂技术
-
电子欺骗的方式
-
ARP欺骗(ARP Spoof)
-
DNS欺骗(DNS Spoof)
-
IP欺骗(IP Spoof)
-
TCP会话劫持(TCP hijack)
-
路由欺骗
3.5 拒绝服务攻击(拒绝服务是一类攻击方式的统称)
-
什么是拒绝服务
-
拒绝服务式攻击(Denial of Service), 顾名思义就是让被攻击的系统无法正常进行服务的攻击方式。
-
拒绝服务攻击方式
-
利用系统、协议或服务的漏洞
-
消耗目标系统服务资源能力(带宽、性能)
-
典型攻击方式
-
SYN Flood
-
UDP Flood
-
Teardrop
-
Ping of death
-
Smurf
-
Land
3.6 缓冲区溢出攻击( 曾经的攻与防的焦点)
-
心脏滴血、想哭勒索软件等都是利用溢出漏洞进行攻击
-
格式化字符串溢出
-
核心:修改堆栈记录中进程的返回地址
3.7 代码注入攻击
-
SQL注入
-
命令注入
-
Xpath注入
3.8 跨站攻击
-
跨站脚本
-
跨渣请求
3.9协议漏洞渗透技术
-
会话侦听
-
劫持技术
3.10其他各类攻击
- 文件上传漏洞
4. 后门设置与痕迹清除
4.1后门可以做什么
- 方便下次直接进入
- 监视用户所有行为、隐私
- 完全控制用户主机
4.2后门方式
4.2.1 系统后门
-
操作系统级后门
-
特洛伊木马程序
-
Rootkit
-
设备驱动
-
应用级后门
-
应用软件模块(Apache model)
-
被篡改的应用软件
4.2.2 脚本后门
-
脚本后门威胁
-
隐蔽性强
-
难以查找
-
脚本后门案例
4.2.3 账号后门
-
隐藏账号
-
已知密码的正常账号
-
超权限账号
4.3痕迹-攻击者的把柄
- 清除/改写日志
- 日志的清除方法
- 日志的改写工具
- 删除中间文件
- 删除创建的用户
4.4日志保护
- 日志设置
- 尽可能多的信息
- 日志时间
- 日志空间
- 日志权限
- 日志存储
- 本地路径及备份方式
- 网络存储(日志服务器)
4.5日志分析重点
- 日期时间(确定攻击的时间)
- 源IP(确定攻击者IP)
- 请求方法(部分情况下要关注post操作)
- 请求链接(查找链接中的特殊字符串)
- 状态代码(了解操作的结果)
- 关注超长的记录
- http协议对URL长度没有限制
- 一般网站正常情况下不需要太长的URL
- 关注记录中的非正常编码
- 关注日志请求链接中的关键字
- cmd、select、 xp_ _cmdshell、 Post等