网络安全渗透初级知识
2021-04-10 11:11:16 5 举报
AI智能生成
该思维导图归纳了网络安全渗透初级知识
作者其他创作
大纲/内容
专业先导课
网络与信息安全导论
基础要求
网络协议
掌握常见网络协议原理
HTTP
HTTPS
DNS
TCP/UDP
IP
ARP
能用抓包工具进行协议分析
Wireshark
编程开发
熟练掌握一到两门编程语言
读懂HTML代码
了解MVC架构
操作系统
Linux
Linux常见命令
创建目录:mkdir
检测图形化界面是否可用 : xclock
关闭防火墙命令
开启:#service iptables start
关闭:#service iptables stop
开启:#service iptables start
关闭:#service iptables stop
查询防火墙的状态:#/etc/init.d/iptables status
安装软件:执行rpm -ivh rpm包名
查看当前目录文件 ls -l(或者 ll)
进入文件编辑模式 : vi 与 vim(vi的升级版)
计算程序的md5码保证安全 : md5sum EcpInstall.exe
文件系统的磁盘空间占用情况 : df -h
查询IP地址命令:ifconfig/ipaddr
查询主机名:hostname 或者 vi /etc/sysconfig/network
修改主机名:vi /etc/hosts
修改后使之生效:source /etc/hosts
修改主机名:vi /etc/hosts
修改后使之生效:source /etc/hosts
复制 : cp 文件 目录
删除 :rm 文件(rm -rf 目录 -->删除目录下所有文件)
修改权限命令 : chmod –R 777 [文件名]
创建一个用户 : # groupadd weboperate
# useradd -g weboperate weblogic
# passwd weblogic
# useradd -g weboperate weblogic
# passwd weblogic
重启Linux机器 : shutdown -r now / reboot
端口号查看某个端口是否被占用 : netstat -anp|grep 8080
掌握web容器Apache/Nginx
掌握LAMP/LNMP架构
Windows
掌握IIS服务器
掌握Windows基础命令
数据库
掌握一门数据库
掌握SQL语句、掌握CRUD操作
技能要求
熟悉Web渗透测试方法、Web安全攻防技术,包括SQL注入、XSS跨站、CSRF伪造请求、命令执行等安全漏洞与防御
熟悉Linux、Windows不同平台的渗透测试,对网络安全,系统安全,应用安全有深入的理解和自己的认识
熟悉国内外主流安全工具,包括Kali Linux、Metasploit、Nessus、Nmap、AWVS、Burp、Appscan等
至少掌握一门编程语言
对WEB安全整体有深刻理解,有一定的代码审计和漏洞分析和挖掘能力
APT攻击
特征
潜伏性:能在用户环境中存在一年甚至更久,不断收集信息
持续性:长达数年,企业管理人员难以察觉
单点隐蔽性:为了躲避传统检测设备,APT更加注重动态行为和静态文件的隐蔽性。例如通过隐蔽通道、加密通道避免网络行为被检测
攻击渠道多样性:社交攻击,0day漏洞利用,物理摆渡等方式层出不穷
针对特定目标:针对特定政府和企业,长期进行有计划性、组织性的窃取情报及破坏行为
APT攻击案例
伊朗"震网"事件特点
针对性:第一款针对工控系统的病毒
不经过互联网:可凭借U盘就可在局域网中传播
4个win 0day:利用了未被软件开发者和反病毒公司发现的漏洞
有截止日期:给自己设定了终止日期2012年6月24日,当进入一台计算机发现晚于这个日期,病毒就会停止感染
WannaCry勒索病毒
原理:利用NSA泄露“永恒之蓝”黑客武器攻击windows系统的445端口
特点
加密用户文件勒索用户赎金
1.0版本加了“URL”请求开关,用来控制病毒扩散,2.0版本更换及取消了开关
丰收行动
攻击目标:科研院校、军事院校、外交官员
目标国家:巴基斯坦为主、中、美、英、奥地利等
关键作用点:个人办公用机
攻击手法:鱼叉式钓鱼
免杀技术:攻击者搭建免杀测试环境包括
漏洞使用情况
工程化能力
攻击源
摩坷草事件
安全事件回顾
鱼叉攻击
概念:针对特定组织的欺诈行为,目的是不通过授权来访问机密数据,最常见的方法是将木马程序作为电子邮件发送给给特定目标,并诱使打开附件
攻击流程
前期准备:邮箱收集,目标习惯收集
邮件制作:编写迷惑性邮件、加入攻击代码、二进制可执行程序、漏洞利用文档、恶意网站链接
邮件投放:投放给目标人群
情报回收:回收窃取情报
水坑攻击
概念:指黑客分析目标的活动规律、率先攻下目标经常访问网站并植入代码,待目标访问该网站时实施攻击
海莲花组织两种“水坑攻击”
A方式:替换目标网站可信程序(捆绑即时通、证书驱动)Windows、为目标网站插入恶意代码(伪造Adobe Flash更新程序)Windows/Mac OS X
B方式:替换目标网站指定链接(新闻公告类信息)Windows
网络安全概念
概述:网络安全是指网络系统的硬件、软件以及系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、篡改、泄露,系统连续可靠正常的运行,网络服务不中断
分类:信息系统(如主机、网络服务器)的安全、网络边界的安全及网络通信的安全
目标:保护网络系统中信息的机密性、完整性、可用性、不可抵赖性和可控性
信息安全三要素(CIA)
机密性:保证信息不能被非授权访问,即使得到信息也不能知晓信息
完整性:指维护信息的一致性,在信息生成、传输、存储和使用过程中不应发送人为或非人为的非授权篡改。包括信息完整性和系统完整性
可用性:指保障信息资源随时可提供服务的能力特性,是对网络总体可用性的要求
网络安全事件分类
有害程序事件
计算机病毒:是编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码
蠕虫:利用网络进行复制和自动传播
特洛伊木马:可执行程序、用来盗取用户个人信息,或远程控制对方的计算机,它不会自我繁殖,也并不“刻意”地去感染其他文件,它通过将自身伪装吸引用户下载执行
僵尸网络:僵尸程序感染互联网上的大量主机,被感染的主机将收攻击者的指令,组成一个僵尸网络
混合攻击程序
网页内嵌恶意代码
其他有害程序
网络攻击事件
分布式拒绝服务攻击
后门攻击
漏洞攻击:硬件、软件、协议的具体实现或系统安全策略存在的缺陷
网络扫描窃听
网络钓鱼:仿冒、伪造
干扰事件
其他网络攻击
信息破坏事件
信息篡改
信息假冒
信息泄露
信息窃取
信息丢失
其他信息破坏
信息内容安全事件
社会舆论敏感热点炒作
违反宪法和法律、行政法规的信息安全事件
串联、煽动集会游行的信息安全事件
其他信息内容安全事件
设施设备故障
软硬件自身故障
外围保障设施故障
人为破坏事故
其他设备设施故障
灾害性事件
其他事件
信息安全法律法规
《宪法》:第二章公民的基本权利和义务第40条:公民的通信自由和通信秘密受法律的保护
《刑法》:第六章妨碍社会管理秩序罪第一节扰乱公共秩序罪
第285条(非法侵入计算机信息系统罪)
286条(破坏计算机信息系统罪)
287条(利用计算机实施犯罪的提示性规定)
《中华人民共和国网络安全法》
制定的背景
2014.2:中央网络安全和信息化领导小组成立,酝酿期
2015.6:十二届全国人大常委会审议了《网络安全法(草案)》
2016.7:二次审议稿,公开征求意见
2016.11.7:最终审议通过
2017.6.1:正式实施
主要内容
网络安全支持与促进
网络运行安全
关键信息基础设施的运行安全
网络信息安全
监测、预警、应急处置
解决的重要基础性问题
1.基本原则:网络空间主权原则、网络安全与信息化发展并重原则、共同治理原则
2.明确了政府各部门的职责权限,完善了网络安全监管体制(第8条)
3.强化网络运行安全,重点保护关键信息基础设施
4.完善网络安全义务与责任,加大了违法惩处力度
5.将监测预警与应急处置措施制度化、法制化
网络运行安全
网络安全等级保护制度
第二十一条规定,国家实行网络安全等级保护制度,安全保护义务包括
1.制定内部安全管理制度和操作流程,确定网络安全负责人,落实网络安全保护责任
2.采取防范计算机病毒和网络攻击、网络侵入等危害网络安全行为的技术措施
3.采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月
4.采取数据分类、重要数据备份和加密等措施
5.法律、行政法规规定的其他义务
网络实名制
网络运营商依法要求用户提供真实信息,用户不提供的,网络运营商不得为其提供相关服务
对实名制规定的已有法律
《反恐怖主义法》
《互联网用户账号名称管理规定》
《移动互联网应用程序信息服务管理规定》
关键基础设施
定义:公共通信和信息服务、能源、交通、水利、金融、公共服务、电子政务等重要行业和领域
数据保护(范围):个人信息保护、用户信息保护、商业秘密保护
数据本地化
网络行为要求
守法要点
网络运营者法律合规要求
产品研发
个人
《治安管理处罚法》
《国家安全法》
《中华人民共和国保守国家秘密法》
《中华人民共和国电子签名法》
《计算机信息系统国际联网保密管理规定》
《计算机信息网络国际联网安全保护管理办法》
《中华人民共和国计算机信息系统安全保护条例》
《信息安全等级保护管理办法》
等级保护
为适应新技术的发展,解决云计算、物联网、移动互联和工控领域信息系统的等级保护工作的需要,从2014年3月,由公安部牵头组织开展了信息技术新领域等级保护重点标准申报国家标准的工作,等级保护正式进入2.0时代
等级保护2.0
2.0时代之前:等级保护包括五个规定动作即定级、备案、建设整改、等级测评和监督检查
在2.0时代:等保的内涵将更加精准化。风险评估、安全监测、通报预警、案事件调查、数据防护、灾难备份、应急处置、自主可控、供应链安全、效果评价、综治考核等这些与网络安全密切相关的措施都将全部纳入等级保护制度并加以实施
5个安全扩展要求
安全通用要求
云计算安全扩展要求
移动互联安全扩展要求
工业控制系统安全扩展要求
大数据系统可参考安全控制措施
等级保护官方文档
GB/T 22239-2019 信息安全技术 网络安全等级保护基本要求
自上而下分别为
类:表示《基本要求》在整体上大的分类,安全通用要求的内容分类包括10大类
控制点:表示每个大类下的关键控制点
项:是控制点下的具体要求项
GB/T 25070-2019 信息安全技术 网络安全等级保护安全设计技术要求
GB/T 28448-2019 信息安全技术 网络安全等级保护测评要求
GB/T 28449-2018 信息安全技术 网络安全等级保护测评过程指南
等级保护测评
等级测评方法和流程
测评准备活动:本活动是开展等级测评工作的前提和基础,是整个等级测评过程有效性的保证。测评准备工作是否充分直接关系到后续工作能否顺利展开。本活动的主要任务是掌握被测系统的详细情况,准备测试工具,为编制测评方案做好准备
方案编制活动:整理测评准备活动中获取的定级对象相关资料,为现场测评活动提供最基本的文档和指导方案
现场测评活动:通过与测评单位进行沟通和协调,为现场测评的顺利开展打下良好基础,依据测评方案实施现场测评工作,将测评方案和测评方法等内容具体落实到现场测评活动中。现场测评工作应取得报告编制活动所需的、足够的证据和资料
报告编制活动:在现场测评工作结束后,测评机构应对现场测评获得的测评结果进行汇总分析,形成等级测评结论,并编制测评报告
测评方法:访谈、检查、测试
测评对象及内容
安全技术
安全管理
测评内容由局部到总体,主要包括单元测试和整体测试两部分
测评对象确定:将系统构成组件分类,再考虑重要性等其他属性;一般定级对象可以直接采用分层抽样方法,复杂系统建议采用多阶抽样方法
等级测评工具
测评工具除了作为技术手段的测试工具,还包括安全配置检查工具,以及测评过程管理、测评文档管理和测评报告编写的辅助工具
必须配置测试工具
漏洞扫描探测工具,包括网络安全漏洞扫描系统和数据库安全扫描系统
木马检查工具,包括专业木马检查工具和进程查看与分析工具
选用配置测试工具
1.漏扫工具:应用安全漏洞扫描工具
软件代码安全分析类
安全攻击仿真工具
网络协议分析工具
系统性能压力测试工具
网络拓扑生成工具
物理安全测试工具
渗透测试工具
安全配置检查工具
等级保护测评管理工具
确定测试接入点
为了有效实施工具测试,测评人员必须对被测系统有充分的了解和熟悉。在测评准备活动中,测评人员已根据被测系统的实际情况,搭建了模拟测试环境,准备好了需要使用的测试工具,并对测试工具进行了必要的测试
确定工具测评的测评对象,主要包括
1.网络设备(互联IP地址、端口使用情况)
2.安全设备(工作状态:透明、路由模式等;IP地址等)
3.主机各设备的类型(操作系统类型、主要应用、IP地址等)
4.目标系统网络拓扑结构(各区域网络地址段划分情况等)
从被测系统边界外接入时,测试工具一般接在系统边界设备(通常为交换设备)上
从系统内部与测评对象不同网段接入时,测试工具一般接在与被测对象不在同一网段的内部核心交换设备上
确定接入点位置的一般原则
1.不同子系统之间的探测
2.同一系统不同功能区域之间要互相探测
3.由外联接口向系统内部探测
4.跨网络隔离设备要分段探测
测评风险与规避
风险规避是指要充分估计测评可能给被测系统带来的影响,向被测系统运营/使用单位揭示风险,要求其提前采取预防措施进行规避。同时,测评机构也应采取与测评委托单位签属委托测评协议、保密协议、现场测评授权书、要求测评委托单位进行系统备份、规范测评活动、及时与测评委托单位沟通等措施规避风险,尽量避免给被测系统和单位带来影响
规避风险的措施还包括
1.要将测评风险书面报告告知被测系统相关人员
2.对于测试过程中的关键步骤、重要证据、要及时利用抓图等工具取证
3.对于测试过程中出现的异常情况要及时记录
4.测试结束后,需要被测方人员确认被测系统状态正常并签字后离场
测评行为管理
等保体系建设
二级系统建设
三级系统建设
安全意识
网络安全与信息安全(概念详细见网络与信息安全导论)
信息安全的范围
1.运行安全
2.人员安全
3.实体安全
5.通信安全
6.信息本身安全
信息安全补充
对突发事件处理的计算机运行安全
物理条件的计算机实体安全
通信与数据库的计算机数据安全
以及不被非法复制、替换、修改、不受病毒侵害的软件安全
4.计算机安全
信息安全常识
个人安全
PC安全
1.安装病毒软件和防火墙软件
2.定期更新操作系统及常用软件
3.不随意安装来历不明的软件
4.关闭不必要的网络通信协议
5.定期备份重要数据
密码安全
邮件安全
上网安全
电信诈骗
社会工程学
操作系统基础
计算机网络基础
PHP编程
Python编程
专业必修课
web安全综述
WEB系统架构
竖向
横向
OWASP(Open Web Application Security Project)开放WEB软件安全项目:开放社群、非营利、致力于web应用与服务的安全性
OWASP TOP10
注入
失效的身份认证和会话管理
敏感信息泄露
XML外部实体
失效的访问控制
安全配置错误
跨站脚本
不安全的反序列化
使用含有已知漏洞的组件
不足的日志记录和监控
HTTP协议
HTTP(HyperText Transfer Protocol)超文本传输协议
规定浏览器和服务器之间相互通信的规则
万维网交互信息的基础
允许将HTML文档从Web服务器传送到Web浏览器
特点
建立在TCP协议的基础之上
协议是无状态的
TCP三次握手
TCP四次挥手
WEB应用请求过程:用户输入URL>DNS域名解析>建立TCP链接>发送HTTP Request>web服务器响应>应用服务器响应>关闭TCP链接>用户浏览器渲染页面
HTTP请求方法
GET:获取资源
POST:传输实体主体
HEAD:返回报文首部
OPTIONS:询问支持方法
PUT:传输文件
DELETE:删除文件
HTTP状态码
HTML基础
会话管理
概述:HTTP是无状态的,一次请求结束,连接断开,服务器再次收到请求时已无法识别该用户,因此需要一种记录用户的方式
SESSION管理方式
存在的问题
在线用户数据较多时,会占据较多服务器内存
集群部署,多台web服务器如何共享session
多应用共享session时,存在跨域问题
COOKIE管理方式
cookie是由HTTP服务器设置的,信息保存在浏览器中
cookie同session:最大的区别:cookie将数据存在客户端,session存储在服务端
存在问题:大小有限制、每次传送cookie,影响访问性能,同样存在跨域问题
TOKEN管理方式
与cookie类似,token在请求都必须通过URL参数或是http header的形式,主动带上token
web漏洞-SQL注入
数据库基础知识
基础概念
DBMS:数据库管理系统
DBS:数据库系统
数据库分类
关系型:数据结构为二元关系,四个基本要素时原子性、一致性、隔离性、持久性
非关系型
数据库接口语言
1.开放式数据接口(ODBC)
2.JAVA数据库连接(JDBC)
3.可扩展标记语言(XML)
4.对象链接与嵌入数据库(OLD DB)
5.ActiceX数据对象(ADO)
识别数据库方法
报错信息
字符串连接方式
数据库版本查询语句
SQL语法基础
数据定义:Create、Drop
数据操纵:Select、Insert、Update、Delete
数据控制:Grant、Revoke
挖掘SQL注入常用语句
SQL注入漏洞
概述:SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息
注入分类
SQL注入:攻击者将SQL命令插入到输入中,后台服务器执行
数字型:输入的参数为整数,如果存在诸如型漏洞则为数字型注入
字符型:输入的参数为字符串
搜索型:在搜索时未过滤搜索参数
命令注入:后端未过滤恶意数据,代码当作系统命令执行
代码注入:一般出现在不安全的使用某些函数
LDAP(轻量级目录访问协议)注入:用户提交的输入不经验证插入LDAP搜索过滤中,攻击者通过提交专门设计的输入修改过滤器的结构,以检索数据或执行未授权操作
XML注入
JSON注入
原理:未过滤用户输入的恶意数据,把输入当作SQL语句执行
原因
动态字符串构建引起
后台存在问题
错误处理不当
不安全的数据库配置
危害
绕过登录验证
获取敏感数据
文件系统操作
注册表操作
执行系统命令
过程
自动化注入工具
手动注入:判断是否存在注入点>判断字段长度>判断字段回显位置>判断数据库信息>查找数据库名>查找数据库表>查找数据库表中所有字段以及字段值>猜解账号密码>登陆管理员后台
注入点
GET方法
POST方法
修改POST包
其他注入点数据
Cookie
Host
User-Agent
使用工具
sqlmap
havij
web漏洞-XSS
概念:(Cross-Site Scripting,XSS),由于WEB应用程序对用户的输入不足而产生的。攻击者利用网站漏洞把恶意的脚本代码(HTML\Javascript)注入到网页之中,其他用户浏览这些网页时就会执行这些代码。主要对用户实施COOKIE资料窃取、会话劫持、钓鱼欺骗等各种攻击
攻击流程
实例
分类
反射型
也称做非持久性、参数型跨站脚本,主要用于将恶意脚本附加到URL地址的参数中
例如:http://127.0.0.1/XSS4.php?name=<script>alert("XSS")</script>
攻击原理
存储型
DOM型
web漏洞-文件上传
文件上传漏洞原理:上传图片、视频、及其他类型文件时,如果未对上传的文件进行严格的验证和过滤,就容易造成文件上传漏洞,上传脚本文件(包括asp、aspx、php、jsp等)
危害:恶意上传行为可能导致网站甚至整个服务器被控制。恶意的脚本文件又被称为Webshell,Webshell具有强大的功能,如查看服务器目录、服务器中文件、执行系统命令等
文件上传的过程是先将文件放在一个临时路径,然后再将其移动到指定位置
文件上传绕过手段
(前端绕过)JS检测绕过
检测原理:调用JS的selectFile()函数,先将文件名转换为小写,然后通过substr获取文件名最后一个点号后面的后缀(包括点号)进行判断
关键代码:var mime = filename.toLowerCase().substr(filename.lastIndexOf("."));
方法
1.通过修改浏览器端源代码,不让检测函数执行实现文件上传绕过
2.使用burpsuite抓包,修改文件后缀后再转发
文件后缀绕过
检测原理:通过函数pathinfo()获取文件后缀,将后缀转为小写判断是不是php
关键代码:$info= pathinfo($_FILES["file"]["name"]);获取文件名;$ext = $info["extension"];获取扩展名;
方法
1.有些中间件允许解析其他文件后缀的,如在httpd.conf配置文件中,配置如下代码,则能解析php、php3、phtml文件,所以上传一个后缀为php3、phtml的文件即可
2.结合Apache文件解析机制,从右向左开始解析文件后缀,若后缀名不可识别,则继续判断直到遇见可解析的后缀为止
3.在程序开发部署的时候,没有考虑到系统的特性会导致限制被绕过,利用Windows特性,可以在后缀名中加“,”或“::$DATA”绕过
文件类型绕过
MIME绕过
检测原理:判断$_FILES["file"]["type"]是不是图片格式(image/gif、image/jpeg、image/pjpeg),不是则不允许上传,$_FILES["file"]["type"]的值是从请求数据包中Content-Type中获取
关键代码:if(($_FILES["file"]["type"] != image/gif))
方法
1.使用burpsuite抓取请求包,修改Content-Type的值来进行绕过
文件幻数检测绕过
检测原理:利用getimagesize()函数获取图片的宽高等信息,如果上传的不是图片,那么则获取不到信息
关键代码:if(getimagesize($_FILES["file"]["tmp_name"])){axit("不允许的文件");}
方法:在脚本文件开头补充图片对应的头部值,或在图片后写入脚本代码
文件截断绕过
检测原理:由于00代表结束符,PHP会把00后面的所有字符删除。截断条件:PHP版本小于5.3.4;magic、quotes、gpc为OFF状态
方法
GET方法中加入00阶段
POST方法中传入%00并截断
文件内容绕过(竞争条件攻击)
检测原理:一些网站文件检测逻辑是先允许上传任意文件,然后检查文件内容是否包含可执行脚本,如果包含则删除
方法:利用成功上传到删除文件的时间差,上传一个.php的文件,在为删除之前立即访问,则会自动生成一个新php文件,新文件不会被删除
web漏洞-文件包含
概念:把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,无需再次编写函数。这一过程被称为包含
分类
本地文件包含
远程文件包含
文件包含漏洞利用
原理:只要符合PHP语法规范,任何扩展名都可以被PHP解析
读取系统敏感信息
访问URL:http://127.0.0.1/include/03/index.php?page = C:\windows-version.txt
远程包含shell:条件是allow_url_fopen开启
访问:http://127.0.0.1/include/03/index.php?page=http://127.0.0.1/include/04/1.txt
关键代码:<?php fputs(fopen('shell.php','w'),'<?php eval($_GET["a"]);?>')?>
本地包含配合文件上传
使用PHP封装伪协议
包含Apache日志文件
截断包含
web漏洞-命令执行
定义:程序应用有时需要调用一些执行系统命令的函数,如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,当用户能控制这些函数中的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击
条件
用户能够控制的函数输入
存在可以执行的危险函数
成因
由于开发人员编写代码时,没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句,并提交服务端执行
命令注入攻击中,web服务器没有过滤类似system、eval和exec等函数,是该漏洞攻击成功的主要原因
危害
继承web服务程序的权限去执行系统命令或读写文件
反弹shell
控制整个网站甚至服务器
进一步内网渗透
实例
<?php echo shell_exec($_GET['a'])?>
相关函数
常见场景
渗透测试流程
渗透测试与入侵的区别
渗透测试:以安全为基本原则,通过攻击者以及防御者的角度去分析目标所存在的安全隐患以及脆弱性,以保护系统安全为最终目标。
入侵:通过各种方法,甚至破坏性的操作,来获取系统权限以及各种敏感信息。
渗透测试的分类
根据测试方法
黑盒测试
白盒测试
灰盒测试
根据测试目标
主机操作系统
数据库系统
应用系统
网络设备
内网渗透
外网渗透
渗透测试的七个阶段
前期交互阶段
情报收集阶段
威胁建模阶段
漏洞分析阶段
渗透攻击阶段
后渗透攻击阶段
报告阶段
明确目标
确定范围:测试目标的范围、ip、域名、内外网、测试账户。
确定规则:能渗透到什么程度,所需要的时间、能否修改上传、能否提权、等等。
确定需求:web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞、等等
信息收集
方式:主动扫描,开放搜索等
开放搜索:利用搜索引擎获得:后台、未授权页面、敏感url、等等
基础信息:IP、网段、域名、端口
应用信息:各端口的应用。例如web应用、邮件应用、等等
系统信息:操作系统版本
版本信息:所有这些探测到的东西的版本。
服务信息:中间件的各类信息,插件信息
人员信息:域名注册人员信息,web应用中发帖人的id,管理员姓名等。
防护信息:试着看能否探测到防护设备
漏洞探测
利用上一步中列出的各种系统,应用等使用相应的漏洞。
方法
漏扫,awvs,IBM appscan等。
结合漏洞去exploit-db等位置找利用。
在网上寻找验证poc。
内容
系统漏洞:系统没有及时打补丁
WebSever漏洞:WebSever配置问题
Web应用漏洞:Web应用开发问题
其它端口服务漏洞:各种21/8080(st2)/7001/22/3389
通信安全:明文传输,token在cookie中传送等
漏洞验证
将上一步中发现的有可能可以成功利用的全部漏洞都验证一遍。结合实际情况,搭建模拟环境进行试验。成功后再应用于目标中
自动化验证:结合自动化扫描工具提供的结果
手工验证:根据公开资源进行验证
试验验证:自己搭建模拟环境进行验证
登录猜解:有时可以尝试猜解一下登陆口的账号密码等信息
业务漏洞验证:如发现业务漏洞,要进行验证
公开资源的利用
exploit-db/wooyun/
google hacking
渗透代码网站
通用、缺省口令
厂商的漏洞警告等等。
信息分析
为下一步实施渗透做准备
精准打击:准备好上一步探测到的漏洞的exp,用来精准打击
绕过防御机制:是否有防火墙等设备,如何绕过
定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标
绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等(免杀)
攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等
获取所需
实施攻击:根据前几步的结果,进行攻击
获取内部信息:基础设施(网络连接,vpn,路由,拓扑等)
进一步渗透:内网入侵,敏感目标
持续性存在:一般我们对客户做渗透不需要。rookit,后门,添加管理账号,驻扎手法等
清理痕迹:清理相关日志(访问,操作),上传文件等
信息整理
整理渗透工具:整理渗透过程中用到的代码,poc,exp等
整理收集信息:整理渗透过程中收集到的一切信息
整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息
形成报告
按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
补充介绍:要对漏洞成因,验证过程和带来危害进行分析
修补建议:当然要对所有产生的问题提出合理高效安全的解决办法
流程总结
渗透测试完整流程图
渗透测试环境搭建
介绍:白帽子是指个体发起的黑客攻击,找到系统潜在的可能被恶意黑客利用的的漏洞或脆弱点。在目标不知情或者没得到授权的情况下发起黑客攻击是非法的。所以通常是建立一个自己的实验室,练习黑客技术。在这个实验室里,你能看到如何创建一个自己的黑客环境,练习各种各样的黑客攻击技术。我们将会探讨不同类型的虚拟系统,构建一个虚拟网络,在虚拟环境中运行试用版的操作系统,搭建一个有漏洞的web应用程序,安装Kali LInux,执行渗透测试。
所需条件
VMware Workstation
Windows XP系统映像
Kali Linux虚拟映像
渗透测试工具使用
ANGRY IP SCANNER:黑客可以通过该工具使用人们的IP地址来对其进行跟踪并窥探其数据。其还被称作”IPScan”,即通过对IP地址和端口的扫描来找到进入用户系统的方法。它是一个开源的跨平台软件,也是目前最有效的黑客工具之一,网管、系统工程师的最爱。
KALI LINUX:2015年8月11日, Kali Linux 最主要的一个版本 Kali Linux 2.0发布。其预装了非常多的渗透测试软件软件,并且在硬件方面也有了很大的提升,支持大量的桌面环境。.Kali Linux是一个以安全为核心理念的操作系统,你可以在任何地方运行CD和USB驱动。通过使用其预装的安全工具,你可以破解Wi-Fi 、伪造网络以及测试漏洞等等。
CAIN & ABEL:Cain & Abeld是由Oxid.it开发的一个针对Microsoft操作系统的免费口令恢复和网络嗅探测试工具。它的功能十分强大,可以网络嗅探,网络欺骗,破解加密口令、解码被打乱的口令、显示口令框、显示缓存口令和分析路由协议,甚至还可以监听内网中他人使用VOIP拨打电话。
Burp Suite Spider:Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。 Spider是其中最重要的组成部分,能够感知应用程序的网络爬虫,可以完整的枚举应用程序的内容和功能。
ETTERCAP:Ettercap是Linux下一个强大的欺骗工具,当然Windows也能用。通过它你能够用飞一般的速度创建和发送伪造的包,并发送从网络适配器到应用软件各种级别的包。绑定监听数据到一个本地端口: 从一个客户端连接到这个端口并且能够为不知道的协议解码或者把数据插进去(只有在以arp为基础模式里才能用)。这是一款非常受欢迎的工具,只要其成功运行,黑客们就可以对目标使用多种不同的攻击方式,对中间人攻击非常有帮助。
JOHN THE RIPPER:John the Ripper是一个免费开源并可以快速进行密码破解的工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。这款工具就像它的名字一样,更为直接且崇尚蛮力,其破解过程完全取决于用户,即只要给它时间,他总会给你一个好的结果。
METASPLOIT:Metasploit是一款开源的安全漏洞检测工具,可以帮助黑客识别安全性问题,验证漏洞的缓解措施,并对管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,密码审计,Web应用程序扫描,社会工程。团队合作,在Metasploit和综合报告提出了他们的发现。
Nmap:是一个开源,免费的网络探测工具,可以用来探测存活主机以及开放的端口等,支持windows,linux,mac等多种操作系统。探测主机存活、扫描端口、探测主机操作系统信息、检测漏洞
Wireshark: Wireshark是全球著名的网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。
Aircrack-ng:Aircrack-ng是一个与802.11标准的无线网络分析有关的安全软件,主要功能有:网络侦测,数据包嗅探,WEP和WPA/WPA2-PSK破解。Aircrack-ng可以工作在任何支持监听模式的无线网卡上(设备列表请参阅其官方网站)并嗅探802.11a,802.11b,802.11g的数据。该程序可运行在Linux和Windows上。Linux版本已经被移植到了Zaurus和Maemo系统平台, 并概念验证可移植到iPhone
Nessus:是目前全世界最多人使用的系统漏洞扫描与分析软件
THC Hydra:是一个网络帐号破解工具,支持多种协议。其作者是van Hauser,David Maciejak与其共同维护。hydra在所有支持GCC的平台能很好的编译,包括Linux,所有版本的BSD,Mac OS, Solaris等
Netcat: 是一款简单的Unix工具,使用UDP和TCP协议。 它是一个可靠的容易被其他程序所启用的后台操作工具,同时它也被用作网络的测试工具或黑客工具。 使用它你可以轻易的建立任何连接。内建有很多实用的工具。
Putty:是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件
0 条评论
下一页