001-基础

渗透测试方法论:

定义:
渗透测试(penetration testing)是实施安全评估(审计)的具体手段。方法论是在制定,实施信息安全审计方案时,需要遵循的规则、惯例和过程。人们在评估网络、应用和系统或三者组合的安全状况时,不断摸索各种务实的理念和成熟的做法,并总结了一套理论——渗透测试方法论。
渗透测试的对象为网络、应用和系统或三者的组合。其中,网站和APP均属于应用,网站为web应用,APP为终端应用;路由器属于网络,社工

渗透测试分类:

黑盒测试:

在进行黑盒测试时,安全审计员在不清楚被测单位的内部技术构造的情况下,从外部评估网络基础设施的安全性。在渗透测试的各个阶段,黑盒测试借助真实世界的黑客技术,暴露出目标的安全问题,甚至可以揭露尚未被他人利用的安全弱点。其中,网络基础设施就包括网络、应用和系统或三者的组合。

渗透测试人员应能够理解安全弱点,将之分类并按照风险等级(高、中、低)对其进行排序。通常来说,风险等级(级别)取决于相关弱点可能形成危害的大小。老练的渗透测试专家应能够确定可引发的安全事故的所有安全模式。当渗透测试人员完成所有测试工作之后,他们会把测试对象安全状况有关的必要信息进行整理,并使用业务的语言描述这些被识别出来的风险,继而将之汇总为书面报告。黑盒测试的市场报价通常会高于白盒测试。

黑盒测试的例子:直接给一个域名,然后要求渗透测试人员进行测试,渗透测试人员首先需要进行信息收集,收集域名下有哪些资产,如有多少web应用、多少子域名、有多少服务(邮件服务、日志服务器、数据库服务)。

白盒测试:

白盒测试的审计员是可以获取被测单位的各种内部资料甚至不公开资料,所以渗透测试人员的视野更为开阔。若以白盒测试的方法评估安全漏洞,测试人员可以以最小的工作量达到最高的评估精确度。白盒测试从被测系统环境本身出发,全面消除内部安全问题。从而增加了从单位外部渗透系统的难度。黑盒测试起不到这样的作用。白盒测试所需要的步骤数目与黑盒测试不相上下。另外若能将白盒测试与常规的研发生命周期相结合,就可以最早的消除全部安全隐患。这使得白盒测试的时间、成本,以及发现、解决安全弱点的技术门槛都全面低于黑盒测试。

白盒测试的例子:杀毒软件、微软的自动更新。

脆弱性评估与渗透测试:

脆弱性评估通过分析企业资产面临安全威胁的情况和程度,评估内部和外部的安全控制的安全性。这种技术上的信息系统评估,不仅揭露现有防范措施里存在的风险,而且要提出多重备选的补救策略,并将这些策略进行比较。内部的脆弱性评估可保证内部系统的安全性,而外部的脆弱性评估则时验证边界防护的有效性。无论进行内部脆弱性评估还是进行外部脆弱性评估,评估人员都会采用各种攻击模式来严格测试网络的资产的安全性,从而验证信息系统处理安全威胁的能力,进而确定应对措施的有效性。不同类型的脆弱性评估需要的测试流程、测试工具和自动化的测试技术也不相同。这可以通过一体化的安全弱点管控平台(vulnerability management)来实现,现在的安全弱点管理平台带有可自动更新的漏洞数数据库,能够测试不同类型的网络设备,而且不会影响配置管理和变更管理的完整性。简单来说脆弱性评估其实就是漏洞扫描,只是在漏洞扫描的基础上要提出防御策略。
脆弱性评估渗透测试最大的区别就是,渗透测试不仅要识别目标的弱点,它还要设计在目标的系统上进行漏洞利用、权限提升和访问维护。换句话说,脆弱性评价虽然可以充分发现系统里的缺陷,但不会取考虑取衡量这些缺陷对系统造成的危害。另外,相比脆弱性评估,渗透测试更倾向于入侵,会刻意使用各种技术手段利用安全漏洞;所以渗透测试可能对生产环境带来实际的破坏性影响,而脆弱性评估以非入侵的方式,定性、定量得识别已知的安全弱点。简单来说渗透测试就算发现漏洞,并进行漏洞利用

渗透测试流程:

渗透测试执行标准PTES(Penetration Testing Execution Standard)的先驱都是渗透测试行业的精英,渗透测试执行标准包含两个部分:PTES 方法论;PTES 技术指南。这个标准由渗透测试7个阶段的标准组成,可以在任意环境中进行富有成果的渗透测试。官网为http:www.pentest-standard.org/index.php/Main_Page

渗透测试7个阶段如下:
(1) 事前互动
(2) 情报搜集
(3) 威胁建模
(4)漏洞分析
(5) 漏洞利用
(6) 深度利用
(7) 报告阶段

通用渗透测试框架
从技术管理的角度来看,遵循正规的测试框架对安全测试极为重要。通用渗透测试框架涵盖了典型的审计测试工作和渗透测试工作会涉及到的各个阶段。相关阶段如下:
(1) 范围界定
(2) 信息搜集
(3) 目标识别
(4)服务枚举
(5) 漏洞映射
(6) 社会工程学
(7)漏洞利用
(8)权限提升
(9) 访问维护
(10) 文档报告

前期范围界定
在开始技术性安全评估之间,务必要观察、研究目标环境的被测范围 。同时还要了解,这个范围牵扯多少个单位,是单个单位还是多个单位会参与到安全评估的工作中来,在范围界定阶段,需要考虑的典型因素如下:

  • 取得授权。
  • 测试对象是什么?
  • 应当采取何种测试方法?
  • 有哪些在测试过程中需要满足的条件?
  • 哪些因素可能会限制测试执行的过程?
  • 需要多久才能完成测试?
  • 此次测试应当达成什么样的任务目标?
  • 是否是复测?

专业名词

1、渗透测试:指专业安全测试人员使用黑客技术手段对网络和应用程序进行安全性评估的过程。

2、端口扫描:指通过发送各种类型的数据包到目标计算机来确定该计算机上哪些端口处于打开状态。

3、漏洞扫描:指通过自动化工具对目标系统进行扫描,发现其中存在的漏洞。

4、社会工程学攻击:指利用心理学和社交工程学的方法来欺骗、诱骗或迷惑目标,从而获得对目标系统的访问权限。

5、木马:指一种隐藏在计算机程序或文件中的恶意软件,能够给攻击者提供对被攻击计算机的控制。

6、根目录访问:指攻击者成功地获取了目标计算机的管理员权限,从而能够访问该计算机上的所有文件和文件夹。

7、会话劫持:指攻击者通过某种方式获取到受害者的会话ID,从而能够在受害者退出该会话后继续访问该会话。

8、SQL注入:指利用特殊的SQL语句来绕过Web应用程序的安全机制,从而访问、修改或删除该应用程序中的数据库信息。

9、XSS攻击:指通过向Web页面注入恶意代码来攻击Web应用程序的一种方式。

10、CSRF攻击:指攻击者伪造一个请求,然后将该请求发送给受害者,从而利用受害者的权限来执行某种操作。

11、POC : (Proof of concept)”观点证明”

12、EXP : (Exploit) “漏洞利用”

13、Payload : 中文 ‘ 有效载荷 ‘,指成功exploit之后,攻击代码释放的具有攻击能力的能够实现攻击者目的的代码。

14、Shellcode : Shellcode 维基上被定义为一段用于利用软件漏洞而执行的代码,这段代码通常的功能是获得一个shell,因此得名Shellcode。

15、漏洞利用:指攻击者利用已知漏洞来进一步入侵目标系统。

16、拒绝服务攻击(DoS攻击):指攻击者通过向目标系统发送大量请求或无效数据来占用系统资源,导致系统无法正常工作。

17、缓冲区溢出:指攻击者向目标系统发送超出预期输入长度的数据,导致系统崩溃或受到攻击者的控制。

18、反向Shell:指攻击者通过在目标系统上安装恶意软件来获取对该系统的控制,使其成为攻击者的“僵尸”计算机。

19、嗅探:指攻击者拦截和监视网络流量,以获取敏感信息,如登录凭据、密码等。

20、密码破解:指攻击者使用字典攻击、暴力破解等技术来获取目标系统的密码。

21、物理安全评估:指渗透测试人员评估目标设施的物理安全性,包括入侵检测、视频监控、门禁等方面。

22、网络安全评估:指渗透测试人员评估目标网络的安全性,包括网络拓扑、设备配置、网络协议等方面。

23、应用程序安全评估:指渗透测试人员评估目标应用程序的安全性,包括Web应用程序、移动应用程序等方面。

24、红队演习:指模拟实际攻击的场景,对目标系统进行测试和评估,以发现和修复安全漏洞。

参考文章与工具:
像风一样的9文章链接:https://blog.csdn.net/m0_64378913/article/details/124063400
渗透测试常用术语总结:https://www.cnblogs.com/sunny11/p/13583083.html
渗透测试常用命令:https://blog.csdn.net/weixin_43303273/article/details/83029138
文件下载命令一键生成:https://forum.ywhack.com/bountytips.php?download
反弹shell命令一键生成:https://forum.ywhack.com/reverse-shell/