目录
一、渗透的介绍
渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全,简单来说就是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
二、主要的方法
1.黑盒测试:黑盒测试也称为外部测试。采用这种方式时,渗透测试团队将从一个远程网络位置来评估目标网络基础设施,采用一些攻击技术与工具进行逐步的渗透与入侵,揭示目标网络中一些已知或未知的安全漏洞 ,并评估这些漏洞能否被利用获取控制权或造成业务资产的损失
2.白盒测试:白盒测试也称为内部测试。进行白盒测试的团队将可以了解到关于目标环境的所有内部与底层知识,因此这可以让渗透测试者以最小的代价发现和验证系统中最严重的安全漏洞。白盒测试能够比黑盒测试消除更多的目标基础设施环境中的安全漏洞与弱点
3.灰盒测试:以上两种渗透测试基本类型的组合可以提供对目标系统更加深入和全面的安全审查,这就是灰盒测试,组合之后的好处就是能够同时发挥两种基本类型渗透测试方法的各自优势。
4.主机操作系统渗透测试:对Windows、Solaris、AIX、Linux、SCO、SGI等操作系统本身进行渗透测试。
5.数据库系统渗透测试:对MS-SQL、Oracle、MySQL、Informix、Sybase、DB2、Access等数据库应用系统进行渗透测试。
6、应用系统渗透测试:对渗透目标提供的各种应用,如ASP、CGI、JSP、PHP等组成的WWW应用进行渗透测试。
7、网络设备渗透测试:对各种防火墙、入侵检测系统、网络设备进行渗透测试。
三、渗透的目的
1.发现安全漏洞:渗透测试可以帮助组织发现其系统、网络或应用程序中存在的安全漏洞。通过模拟攻击者的行为,渗透测试人员可以识别并利用系统中的弱点,提前发现并修复潜在的安全风险。
2.评估安全防御能力:渗透测试可以对系统的安全防御能力进行评估。通过模拟不同的攻击场景和方法,测试人员可以检验防御机制的有效性,并提供改进建议以提高系统的安全性。
3.保护重要数据:渗透测试可以帮助组织保护其重要数据的安全。发现和修复潜在的漏洞和弱点可以防止黑客入侵、数据泄露或其他安全事件对组织造成损失。
4、遵守合规要求:许多行业和法规对组织的安全要求进行了规定。进行渗透测试有助于确保组织符合相关的合规要求,并满足安全审计和合规性检查的要求。
5、增强安全意识:通过进行渗透测试,组织的员工和管理层能够更好地了解系统的安全风险和潜在威胁。这可以帮助组织提高对安全问题的敏感性和意识,推动安全文化的建立和持续改进。
四、渗透的基本流程
1、前期交互阶段
该阶段通常涉及搜集客户需求、准备检验方案、定义检验规划与距离、定义业务目标、项目处理与规划等活动。
确定规划:检验目标的规划、IP、域名、内外网、检验账户。
确定规则:能渗透到什么程度,所需求的时间、能否修正上传、能否提权等等。
确定需求:web运用的漏洞、业务逻辑漏洞、人员权限处理漏洞等等。
2、情报搜集阶段
在目标规划确定之后,将进入情报搜集(InformationGathering)阶段,渗透检验团队能够运用各种信息来历与搜集技术方法,检验获取更多关于目标组织网络拓扑、系统配置与安全防护方法的信息。渗透检验者能够运用的情报搜集方法包括揭穿来历信息查询、GoogleHacking、社会工程学、网络踩点、扫描勘探、被迫监听、服务查点等。而对目标系统的情报探查才能是渗透检验者一项十分重要的技术,情报搜集是否充分在很大程度上决议了渗透检验的胜败
信息搜集方法有:
自动扫描,打开查找。
打开查找:运用查找引擎获得后台、未授权页面、活络url等等。
基础信息:IP、网段、域名、端口(Nmap扫描)。
运用信息:各端口的运用。例如web运用、邮件运用等等。
系统信息:操作系统版别。
版别信息:全部这些勘探到的东西的版别。
服务信息:中间件的各类信息,插件信息。
人员信息:域名注册人员信息,web运用中发帖人的id,处理员名字等。
防护信息:试着看能否勘探到防护设备
3.建模阶段
在搜集到充分的情报信息之后,大家聚到一起针对获取的信息进行挟制建模与攻击规划。
漏洞扫描,AWVS,IBM appscan等。
漏洞去exploit-db等方位找运用。
在网上寻觅验证poc。
系统漏洞:系统没有及时打补丁。
websever:websever配置问题。
web运用漏洞:web运用开发问题。
其他端口服务漏洞:各种21、8080、7001、22、3389等。
通信安全:明文传输,token在cookie中传输等
4、漏洞分析阶段
在确定出最可行的攻击通道之后,接下来需要考虑该如何取得目标系统的访问控制权,即漏洞分析阶段。在该阶段,渗透测试者需要综合分析前几个阶段获取并汇总的情报信息,特别是安全漏洞扫描结果、服务查点信息等,通过搜索可获取的渗透代码资源,找出可以实施渗透攻击的攻击点,并在实验环境中进行验证。在该阶段,高水平的渗透测试团队还会针对攻击通道上的一些关键系统与服务进行安全漏洞探测与挖掘,期望找出可被利用的未知安全漏洞,并开发出渗透代码,从而打开攻击通道上的关键路径。
自动化验证:结合自动化扫描工具提供的结果。
手工验证:根据公开资源进行验证。
试验验证:自己搭建模拟环境进行验证。
登录猜解:有时可以尝试猜解一下登录口的账号密码等信息。
业务漏洞验证:如发现业务漏洞,要进行验证。
公开资源的利用:exploit-db、wooyun、Google hacking。渗透代码网站。
通用、缺省口令。厂商的漏洞警告等等。
5、渗透攻击阶段
渗透攻击,在此环节中,渗透检验团队需求运用他们所找出的目标系统安全漏洞,来真正攻击系统傍边,获得拜访控制权。渗透攻击能够运用揭穿途径可获取的渗透代码,但一般在实践运用场景中,渗透检验者还需求充分地考虑目标系统特性来定制渗透攻击,并需求挫败目标网络与系统中施行的安全防护方法,才干成功到达渗透目的。在黑盒检验中,渗透检验者还需求考虑对目标系统检测机制的逃逸,然后避免构成目标组织安全照应团队的警觉和发现。
精准冲击:
准备好上一步勘探到的漏洞exp,用来精准冲击。
绕过防护机制:是否有防火墙等设备,怎么绕过。
定制攻击途径:最佳东西途径,根据薄弱进口,高内网权限方位,终究目标。
绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等(免杀)。
攻击代码:通过试验得来的代码,包括不限于xss代码,sql注入语句等
6、后渗透攻击阶段
后渗透攻击是整个渗透检验进程中最能够表现渗透检验团队创造力与技术才能的环节。前面的环节能够说都是在按部就班地结束十分遍及的目标,而在这个环节中,需求渗透检验团队根据目标组织的业务运营形式、保护资产形式与安全防护方案的不同特点,自主规划出攻击目标,辨认要害基础设备,并寻觅客户组织最具价值和检验安全保护的信息和资产,终究到达能够对客户组织构成最重要业务影响的攻击途径。
获取内部信息:基础设备(网络连接,vpn,路由,拓扑等)。进一步渗透:内网攻击,活络目标。
持续性存在:一般咱们对客户做渗透不需求。rookit,后门,添加处理账号,驻守手法等。
收拾痕迹:收拾相关日志(拜访,操作),上传文件等。
7、撰写报告阶段
渗透测试终究向客户组织提交一份渗透测试报告(Reporting)。这份报告凝聚了之前全部阶段之中渗透测试团队所获取的要害情报信息、勘探和开掘出的系统安全漏洞、成功渗透攻击的进程,以及构成业务影响结果的攻击途径,一起还要站在防护者的角度上,帮助他们分析安全防护系统中的薄弱环节、存在的问题,以及加固方案。
五、相关例题(Bugku渗透测试1未完)
1.在源代码中找到第一个flag
2.使用弱密码,登录进去
3.看到题目提示,可以想到蚁剑连接一句话木马
4.在上传后缀后面加上php
5.点进php教程中,进行测试,发现运行之后会生成文件,于是想到文件上传
6.上传一句话木马
7.用蚁剑连接
8.在提示的home的目录下发现了flag
9.根据后面的提示,想到数据库连接
10.直接在蚁剑上找到database.php再连接数据库
11.连接成功,找到flag,执行之后得到flag