定义
渗透测试(Penetration test)
通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。此过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。提供渗透测试服务的安全公司或组织都需要职业化渗透测试者组成的专业团队,一般称其为渗透测试工程师
特点
是一个渐进的并且逐步深入的过程;使用不影响业务系统正常运行的攻击方法进行的测试。
相关基础
常用名词
APT(Advanced Persistent Threat)
:高级持续性威胁。利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式CNNVD
:中国国家漏洞库,由中国信息安全测评中心维护CNVD
:中国国家信息安全漏洞共享平台,由国家计算机网络应急技术处理协调中心维护CVE(Common Vulerability and Exposures)
:此漏洞库为每个确认的公开披露安全漏洞提供了索引CVE编号,此编号作为安全业界该漏洞的标准索引号NSA(National Security Agency)
:美国国家安全局,又称国家保密局。是美国政府机构中最大的情报部门,专门负责手机和分析外国及本国通讯资料,隶属于美国国防部OWASP(Open Web Application Security Project)
:作为非营利组织,不附属于任何企业或财团。因此,OWASP提供和开发的所有设施和文件都不受商业因素的影响网站后门(WebShell)
:一个命令执行环境,可以上传、下载文件,查看数据库,命令执行等Shellcode
:最初指溢出程序和蠕虫病毒的核心,实际上是指利用一个漏洞所执行的代码。Exploit
:通常表示完整编写好的漏洞利用工具或程序,exploit往往包含shellcodePOC(Proof Of Concept)
:一段证明漏洞存在的程序代码片段0Day
:指一些未被公布补丁的漏洞,或仍未被漏洞发现者公布出来的漏洞利用工具,对网络安全具有巨大威胁性1Day
:与0Day不同,指一些漏洞刚被公开不久,还未被修补
渗透测试分类
黑盒测试
设计为模拟一个对客户组织一无所知的攻击者所进行的渗透测试
白盒测试
渗透测试者在拥有客户组织所有知识的情况下进行的的渗透测试
过程环节
前期交互
通常与客户组织进行讨论,确定渗透测试的范围和目标。此阶段关键为需要使客户组织明确清晰地了解渗透测试将涉及哪些目标。也提供了机会,说服客户走出全范围渗透测试的理想化愿景,选择更加现实可行的渗透测试目标来进行实际实施
信息收集
利用一切可利用方法,尝试收集更多关于目标网站、服务器、管理员等信息
可以用的情报搜集方法包括公开来源信息查询、Google Hacking、社会工程学、网络踩点、扫描探测、被动监听、服务查点等。而对目标系统的情报探查能力是渗透测试者一项非常重要的技能,情报是否充分很大程度上决定渗透测试的成败。
威胁建模
使用在情报搜集阶段获取的信息,标识出目标系统上可能存在的安全漏洞与弱点。
在进行威胁建模时,将所确定为最为高效的攻击方法、所需进一步获取的信息、以及从哪攻破目标系统。此阶段通常需要将客户组织作为敌手看待,然后以攻击者视角与思维尝试利用目标系统的弱点
漏洞分析
综合前几个环节获取到的信息,特别是安全漏洞扫描结果、服务查点信息等,通过搜索可获取的渗透代码资源,找出可实施渗透攻击的攻击点,并在实验环境中进行验证。从中分析与理解哪些攻击途径是可行的。在确定出最可行的攻击通道后,需考虑如何获取目标系统的访问控制权
此阶段,高水平渗透测试团队还会针对攻击通道上的一些关键系统与服务进行安全漏洞探测与挖掘,期望找出可被利用的未知安全漏洞,并开发出渗透代码,从而打开攻击通道上的关键路径
渗透攻击
最后是基本确信特定渗透攻击会成功时,才真正对目标系统实施此次渗透攻击,当然在目标系统中,可能催在一些未曾预期到的安全防护措施,使得此次渗透攻击无法陈公公。但需铭记,在尝试触发一个漏洞时,需清晰地了解在目标系统上存在特定漏洞
后渗透攻击
是整个渗透测试过程中最为体现渗透测试团队创造力与技术能力的环节。此环节需根据目标组织的业务经营模式、保护资产形式与安全防御计划的不同特点,自主设计出攻击目标,识别关键基础设施,并寻找客户组织最具价值和尝试安全保护的信息和资产,最终达成能对客户组织造成最重要业务影响的攻击途径
在不同渗透测试场景中,攻击目标与途径千变万化,而是否准确并可行,也取决于团队自身的创新意识、知识范畴、实际经验和技术能力
报告
渗透测试过程最终向客户组织提交,凭借渗透测试报告取得认可并成功获得合同付款。此报告凝聚了之前所有阶段中渗透测试团队所获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻击的过程以及造成业务影响后果的攻击途径,同时还需站在防御者的角度,帮助客户组织分析安全防御体系中的薄弱环节、存在的问题、以及修补与升级技术方案
补充
端口服务爆破
burp suite 的 intruder 模块:登陆,web登陆界面
hydra:端口,ftp ssh mysql mssql 3389 oracle
基本格式
hydra -l 用户名 -p 密码 协议://ip
例如:1
2
3hydra -l root -p root ssh://xxx.xxx.xxx.xxx
hydra -l root -p root xxx.xxx.xxx.xxx ssh
hydra -L 用户名.txt -P 密码.txt xxx.xxx.xxx.xxx ssh
提权方法
提权方法1
查看所有用户:
net user
Administrator
修改用户密码
net user Administrator root123
远程桌面:
windows+R mstsc 登陆桌面
获取桌面flag.txt内容:
xxllxx_safedog_tiquan
获取网络根目录flag.txt内容:
xxllxx_www_heheda
提权方法2:
粘滞键提权
copy c:\windows\system32\cmd.exe c:\windows\system32\sethc.exe
远程桌面:
windows+R mstsc
登陆界面连按5下shift键,弹出cmd
输入contrl进入桌面