渗透测试面试问题指南

admin 2022年7月17日21:58:38评论81 views字数 9225阅读30分45秒阅读模式

先进攻防社群为粉丝们甄选翻译的一篇安全人员招聘相关的文章~


原文:

https://steflan-security.com/penetration-testing-interview-questions-cheat-sheet/


介绍

当您在面试渗透测试工作时,很可能会被要求回答一些技术问题,这样面试官能很好地了解目前的知识和技能水平。

本指南将尝试涵盖您在渗透面试中可能遇到的常见问题。如果您已经是一个渗透测试人员,或者已经研究渗透测试一段时间了,那么您应该已经非常熟悉这些概念和技术了。

一般问题

面试官可能会首先询问一些与渗透测试的高级流程有关的一般性问题,可以进行的各种类型的渗透测试,可以进行渗透测试的团队类型以及在测试中使用的一些总体概念。

问题 回答
渗透测试生命周期有哪些阶段? 主要阶段是规划和侦察,在此阶段定义目标、时间线和范围,并收集初始信息;枚举(执行主动扫描和测试,以识别任何漏洞);利用(通过执行枚举时发现的漏洞获得访问权限);利用后(努力维持之前通过新用户或后门获得的访问权限,并提高当前的特权和报告);将所有调查结果、风险等级和相关补救措施添加到最终报告中。之后,需要清理删除任何新用户帐户、后门或漏洞。
有哪些类型的渗透测试评估? 一些最常见的渗透测试类型是外部的,通常在场外针对外部网络进行,内部的评估是从目标网络内部进行的。web应用程序测试:目的是通过手动和自动测试找到基于web的应用程序的安全漏洞。社会工程:目的是利用大多数组织中的薄弱环节(即其员工),例如通过网络钓鱼、vishing、尾随、物理测试、媒体丢弃等。
主动侦察和被动侦察的区别 在主动侦察期间,攻击者将执行扫描或测试,这些扫描或测试将与目标计算机交互,可能触发警报或创建日志。在被动侦察期间,攻击者利用开源情报收集有关目标的信息。
渗透测试如何分类? 渗透测试主要分为三种类型:黑盒、白盒和灰盒。在黑盒评估中,测试人员试图模拟真正的攻击,且对目标应用程序或网络几乎一无所知。在白盒评估中,测试人员可以完全访问应用程序源代码、网络图甚至特权帐户的身份验证凭据等内容,这大大增加了可以执行的测试数量。在灰盒评估中,测试人员将具有目标系统的一些先验知识和文档,但不一定具有高特权访问权限。
有哪些类型的渗透测试团队,他们的职责是什么? 主要队伍是红色、蓝色和紫色。红队尽可能地使用网络罪犯使用的工具和技术来模拟真实的攻击。蓝队负责通过各种反制措施(如防火墙、SIEM系统、蜜罐等)保护系统免受红队或真实攻击者的攻击。紫队使用现实生活中的技术和工具来识别漏洞,并应用蓝队框架,以保护组织免受真实的攻击,往往是红蓝队伍的组合,而不是自己的队伍。
攻击者有哪些类型? 脚本小子:使用他人开发的脚本或程序攻击应用程序、网络或设备的无技能的人。高级持续威胁:熟练且隐秘的威胁个体,通常是民族国家或国家资助的团体,设法获得对系统的未经授权的访问,并且长时间不被发现。恶意内部人员:从组织内部对组织构成威胁的恶意个人,例如员工、前雇员或承包商,可能拥有有关组织安全实践、数据和计算机系统的内部信息。
最常见的恶意软件类型有哪些? 病毒:这是最常见的恶意软件类型,它们可以自我复制并可以传播到其他系统,伪装成合法软件的木马。蠕虫:类似于病毒但不需要主机程序来传播。间谍软件:如键盘记录程序,用于窃取敏感信息,例如凭据。广告软件:用于显示广告,通常是无害的。勒索软件:旨在锁定用户的系统,并要求赎金。逻辑炸弹:在特定时间或特定事件发生时激活。rootkit:允许攻击者远程控制系统的后门,特别难以识别和删除。
最常见的漏洞数据库有哪些? 国家漏洞数据库 (NVD)、常见漏洞和披露 (CVE)、漏洞利用数据库、VulDB、Packetstorm、Microsoft 安全公告。
什么是通用漏洞评分系统? 通用漏洞评分系统 (CVSS) 是一个开放框架,用于对软件漏洞的特征和严重性进行分类。它由三个度量组组成:基础、时间和环境。基本指标产生一个从 0 到 10 的分数,然后可以通过对时间和环境指标进行评分来修改该分数。
您如何评价渗透测试期间的漏洞? 为了对漏洞进行评级,需要使用一个风险矩阵,并根据给定问题的可能性和后果计算风险级别。
您将在评估的什么时候开始执行测试? 只有在明确了工作范围和时间表并得到各方同意之后,并且在收到启动测试的授权之后。
最常见的漏洞有哪些? 一些最常见的漏洞是注入、反序列化、文件包含、弱加密、安全错误配置、弱密码策略。
什么是最小特权原则? 最小特权原则 (PoLP) 要求在给定的系统、应用程序或网络中,用户必须只能访问那些在其合法目的下,所必需的信息和资源。


基础设施/操作系统问题

本节涵盖有关基础设施的一般问题,例如网络、服务和保护机制,以及特定操作系统及其安全漏洞。

问题 回答
什么是 OSI 模型,它的层次是什么? 开放系统互连模型(OSI模型)用于将网络系统背后发生的事情分解为七层:物理(电缆)、数据链路(网卡和交换机)、网络(路由器)、传输(TCP/IP) ,会话,会话、表示和应用(最终用户)
TCP和UDP有什么区别? TCP 是一种面向连接的协议,它使用三次握手(SYN、SYN-ACK 和 ACK)。UDP 是一种无连接协议,它的速度比 TCP 快得多。
有哪些最常见的服务?它们在哪些端口上运行? 一些最常见的服务是80端口上的 HTTP、443端口上的 HTTPS、53端口上的 DNS、21端口上的 FTP、22端口上的 SSH、23端口上的 Telnet 和25端口上的 +B60 SMTP。
什么是 DNS? 域名系统 (DNS) 是一种将域名转换为数字IP地址的服务,用于定位和识别计算机服务,如142.250.69.196转换为www.google.com。它在53端口上运行。
什么是ARP? 地址解析协议 (ARP) 用于发现与给定 Internet 层地址关联的 MAC 地址,通常是 IPv4 地址。
什么是 RDP? 远程桌面协议(RDP)是微软开发的一种专有协议,它为用户提供一个图形界面,通过网络连接连接到另一台计算机。它在3389端口上运行。
什么是 MAC 地址? 媒体访问控制 (MAC) 地址是分配给网络接口的唯一标识符,该网络接口需要能够与网络的其余部分进行通信。
什么是防火墙,它是如何工作的? 防火墙是一种网络安全设备,能够根据预定义的规则,监控或过滤传入或传出的网络流量。
IDS 和 IPS 有什么区别? 它们之间的主要区别在于IDS是一个监控系统,而IPS是一个控制系统。IDS 不会以任何方式更改网络数据包,而 IPS 会根据数据包的内容阻止数据包的传递,就像防火墙如何通过 IP 地址阻止流量一样。
什么是蜜罐? 蜜罐是一种硬件或软件机制,用于检测并帮助防止对给定网络、应用程序或设备的未经授权使用。
编码,哈希和加密之间有什么区别? 编码:将明文字符串转换为编码字符串,易于解码,用于保持信息的可用性,例如base64。哈希:将一个明文字符串转换成一个哈希值,它总是相同的长度,无论使用什么明文字符串,它都是单向操作,因此它不能被反转,它用于验证信息完整性或存储敏感数据,例如MD5。加密:使用密钥将明文字符串转换为加密字符串,可以通过知道使用的算法和密钥来反转它,它用于保护机密信息,例如RSA。
列举几种编码、哈希和加密类型 编码:ASCII、HEX、Base64、URL。散列:MD5、SHA-512、NTLM。加密:AES、RSA、3DES。
什么是Salting,它的用途是什么 Salting是一种用于添加随机数据的技术,当对数据进行哈希处理时,随机数据(Salt)被用作额外的输入。在对密码进行哈希处理之前,Salt将会添加到密码中,从而创建一个更长的哈希值,因此,使用Salting(加盐)会使攻击者更难破解哈希值。
破解哈希的最快方法是什么? 破解哈希的最简单方法是通过彩虹表,彩虹表是预先计算的哈希表,它缓存了哈希函数的输出。然后将存储在这些表中的哈希值与目标哈希值进行比较,以便识别它对应的明文值,而不需要对明文字符串列表进行哈希并将它们与该哈希值进行比较。
对称加密和非对称加密的区别 对称加密仅使用一个密钥进行加密和解密。非对称加密 两个密钥,一个用于加密信息,一个用于解密信息。这些密钥称为公钥和私钥。
Windows 和 Linux 哈希以什么格式存储 Windows 哈希使用 NTLM 存储,它们曾经使用 LM 存储。Linux 密码通常使用 SHA-256 或 SHA-512 进行哈希,在旧版本中,它们使用 Blowfish 或 DES 进行哈希。
Windows 和 Linux 哈希存储在哪里,如何检索它们? 在 Linux 中,哈希存储在 /etc/shadow 中,它们曾经存储在 /etc/passwd 下,如果需要,它们仍然可以存储在那里。在 Windows 中,NTLM 哈希存储在 SAM 配置单元中,需要存储在 SYSTEM 配置单元中的引导密钥来获取它们。这些存储在 C:WindowsSystem32config 中。
什么是 Cron 作业/计划任务? Cron 作业/计划任务使用户能够按照预定义的时间或指定的时间间隔安排程序或脚本的启动。
Cron 作业存储在 Windows 和 Linux 中的什么位置? Windows 中的Cron 作业存储存储在 %WINDIR%System32Tasks 中。Linux 中的Cron 作业存储在 /etc/crontab、/var/spool/cron、/var/spool/cron/crontabs/root、/etc/cron.d、/etc/cron.daily、/etc/cron.hourly等等。
Linux 中使用了哪些不同的包管理器,它们在哪里使用? 对于基于 Debian 的操作系统,最常见的包管理器是 Advanced Packaging Tool (APT),它使用 .deb 包。对于基于 RedHat 的操作系统,最常见的包管理器是 Yellowdog Updater, Modified (YUM),它使用 .rpn 包。对于基于 Arch 的操作系统,最常见的包管理器是 Pacman 包管理器。对于基于 OpenSUSE 的操作系统,最常见的包管理器是 Zypper 包管理器 (ZYpp)。
请描述Linux文件系统中使用的权限系统 Linux 文件系统将其权限分为三类:读、写和执行。当查看一个文件或目录时,权限会被提到三次,第一次是指文件的所有者,第二次是指属于该文件组的用户,第三次是指其他所有人。
什么是 SUID 和 sudo? SUID是一种Unix文件权限,允许用户以文件所有者的身份运行命令或脚本,而不是以执行命令的用户的身份。sudo是Unix特性,允许用户以另一个用户(默认为root用户)运行脚本或命令。
什么是 Kerberos,它如何执行身份验证? Kerberos是一种基于票据的身份验证协议,它允许在不安全的网络上通信的节点以安全的方式相互证明其身份。在进行身份验证时,Kerberos使用对称加密和一个被称为密钥分发中心(KDC)的可信第三方。在进行身份验证时,Kerberos将该会话的特定票据存储在用户的机器上,任何Kerberos感知服务将查找此票据,而不是提示用户通过密码进行身份验证。
WEP、WPA和WPA2有什么区别 WEP使用RC4 (Rivest Cipher 4)流密码进行身份验证和加密。该标准最初指定了一个40位的预共享加密密钥,后来出现了一个104位密钥。WPA也基于RC4,尽管它引入了时间密钥完整性协议(TKIP),使用256位密钥加密数据,以及其他关键特性,如每包密钥混合,这使它成为一个更好的选择。WPA2用两种更强的加密和认证机制取代RC4和TKIP:高级加密标准(AES)和计数器模式(Counter Mode)分别使用密码块链接消息认证码协议(CCMP)。WPA2还意味着向后兼容,如果设备不能支持CCMP,它将支持TKIP作为后备。AES由三种对称分组密码组成。每个算法使用128位、192位和256位的密钥对128位的数据块进行加密和解密。
什么是 WPS?为什么不安全? Wi-Fi 保护设置 (WPS) 是许多路由器提供的一项功能,旨在简化从设备连接到无线网络的过程。为了建立连接,WPS 使用需要在设备上输入的八位 PIN 码,这已经比任何其他加密方式更容易破解。此外,路由器不是一次检查整个八位 PIN,而是将前四位与后四位分开检查,这使得破解变得更加容易,因为只有 11,000 个可能的四位密码,一旦暴力破解强制软件正确获取前四位数字,攻击者可以继续使用其余数字。许多路由器默认启用 WPS。制造商用来缓解这种攻击的一种方法是在多次尝试后增加一个超时期限。


常用技术和攻击问题

面试官可能会询问有关渗透测试可能需要执行的特定技术或攻击的问题。

即使您不知道如何执行其中一些攻击,了解这些攻击是如何发生的、潜在的后果是什么以及如何补救这些攻击也是至关重要的。

问题 回答
攻击者如何利用 DNS 和 ARP? ARP欺骗或ARP缓存中毒是指攻击者向局域网内发送(被欺骗的)ARP (Address Resolution Protocol)消息。通常,目的是将攻击者的MAC地址与另一个主机(如默认网关)的IP地址关联起来,从而导致针对该IP地址的任何流量被发送给攻击者。这种攻击只适用于使用ARP的网络,并且要求攻击者能够直接访问被攻击的本网段。DNS欺骗,也称为DNS缓存中毒,是一种攻击形式,在这种攻击中,损坏的域名系统数据被引入DNS解析器的缓存,导致名称服务器返回一个错误的IP地址,它可以被攻击者利用,并允许他们接收不是原本不属于他们的信息。
什么是 DDoS? 分布式拒绝服务(DDoS)攻击是一种恶意尝试,通过使用目标服务器、应用程序或网络无法处理的大量流量来破坏目标服务器、应用程序或网络的正常流量。这种攻击的目标是为了破坏可用性,而不是机密性或完整性。
什么是缓冲区溢出? 缓冲区溢出是指程序在向缓冲区写入数据时溢出缓冲区边界并覆盖相邻内存位置的异常现象。攻击者可以有意地提供缓冲区无法存储的输入,并覆盖保存可执行代码的区域,用自己的代码替换它,从而在目标系统上执行任意代码。有两种主要类型的缓冲区溢出:基于堆栈的,更常见且更容易执行;基于堆的,不常见且更难执行。
什么是包检测? 包检测是一种对通过计算机网络发送的数据进行详细检查的技术,常用于检测恶意活动或识别敏感信息。
什么是权限提升?举几个例子 权限提升允许攻击者通过利用漏洞或错误配置来提升他们的权限并获得对系统上未经授权的资源的访问权限。例如,可以通过存储在历史文件中的明文密码,或者通过安装在目标系统上的易受攻击的应用程序。
暴力攻击和字典攻击有什么区别? 暴力攻击根据预定义的规则尝试在攻击期间生成的可能密码列表,而字典攻击使用存储在文件中的已知或常用密码列表。
什么是金票攻击? Golden Ticket 攻击允许攻击者从被入侵的服务帐户(称为 krbtgt)创建 Kerberos 身份验证票证。通过使用受感染帐户的 NTLM 哈希,攻击者可以创建欺诈性的金票。这些票证似乎已预先授权执行攻击者想要的任何操作,而无需任何真正的身份验证。
FTP 和 SMB 的常见错误配置是什么? FTP 的一个常见错误配置是匿名登录,如果启用,它可以允许任何用户对服务器进行身份验证,而无需输入凭据。SMB 的一个常见错误配置是空会话身份验证,它可以允许任何用户通过提供空用户名和密码来对 SMB 共享进行身份验证。


Web 应用程序漏洞和攻击问题

如今,大多数应用程序在 Web 浏览器上运行并托管在云中,因此对 Web 应用程序执行测试的需求急剧增加。

因此,成功渗透至关重要的是要非常熟悉可能影响 Web 应用程序的所有主要漏洞和错误配置、可能的后果和补救措施。

问题 回答
什么是 XSS,有哪些类型的 XSS,成功攻击的后果是什么以及如何预防 XSS? 跨站脚本(XSS)是一种安全漏洞,攻击者可以利用该漏洞将客户端脚本或代码注入其他用户查看的网页中。XSS的类型有:Reflect(反射),即恶意代码在当前HTTP请求中;Stored(存储),即恶意代码存储在网站的数据库中或网页本身中,且基于dom,即漏洞存在于客户端而不是服务器端应用程序代码中。它可能导致攻击者访问敏感数据,如用户的会话或凭据,或完全控制目标应用程序。通过在发出请求之前过滤输入、在HTTP响应中对输出进行编码、使用Content-Type和X-Content-Type-Options头或转义某些特殊字符,可以防止这种情况的发生。
什么是SQL注入,不同的类型和例子,如何预防? SQL注入是一个漏洞,它允许攻击者干扰应用程序对其数据库的查询,并注入定制查询来检索非预期的数据或执行非预期的操作。SQL注入主要有三种类型:in - band,即攻击者使用相同的平台来执行攻击并收集其输出;Blind,即攻击者在一个平台上执行攻击,但该平台不返回任何输出,这使得很难确定漏洞是否真的存在,因此依赖于响应时间或应用程序的某些模式来利用。当攻击者不能使用相同的平台来执行攻击并收集输出时,或者当服务器太慢或不稳定,无法执行这些操作时,就会执行带外SQL注入。可以通过使用输入验证、字符白名单、编码或转义来防止SQL注入。
Secure和 HTTPOnly 标志? Secure 和 HTTPOnly 是可以针对会话 cookie 设置的标志。Secure标志确保 cookie 信息仅通过 HTTPS 通道传输。HTTPOnly 标志确保 cookie 信息只能由 Web 服务器访问,而不能由客户端脚本访问,这限制了 XSS 对受害者用户的损害。
什么是 CSRF,它意味着什么以及如何预防? 跨站点请求伪造 (CSRF) 是一种 Web 安全漏洞,允许攻击者使用恶意制作的 Web 请求诱使用户执行他们不打算执行的操作。它可以允许攻击者导致受害者用户执行意外操作,例如更改他们的电子邮件地址、密码或转移资金。这可能会导致受害者帐户被全面入侵。通过使用 CSRF 令牌可以防止 CSRF 攻击,这可以确保最终用户发出的请求是真实的,并且使攻击者无法制造恶意 HTTP 请求供最终用户执行。为了有效,CSRF 令牌需要是不可预测的,与用户的会话相关联,并在执行每个用户操作时进行验证。
什么是 IDOR,它的后果是什么?如何预防? 不安全的直接对象引用 (IDOR) 是一种访问控制漏洞,当应用程序使用用户提供的输入直接访问对象时会出现这种漏洞。如果该漏洞存在,它们可以允许攻击者访问数据库上的非预期数据(包括密码等敏感信息)从而可能获得对 Web 服务器的完全访问权限。可以通过输入验证或使用间接引用来防止它。
什么是 LFI 和 RFI,这些攻击的后果是什么?如何预防? 本地文件包含(LFI)和远程文件包含(RFI)发生在 Web 应用程序在其代码中包含文件,以便使用其中的功能,并且没有适当的输入验证时。通过本地文件包含,攻击者可以潜在地访问 Web 服务器中不对外公开的文件。而通过远程文件包含,攻击者可以包含远程文件,因此可能执行托管在 Web 服务器上的恶意脚本。防止 LFI 和 RFI 攻击的最简单方法是不以用户可以操纵的方式包含文件,否则可以使用输入清理。
如何保护传输中的数据? 端口 443 上的 HTTPS 协议可用于通过 TLS 或 SSL 加密来保护客户端和服务器之间传输的数据。


渗透测试工具问题

了解最常见的渗透测试工具以及如何使用它们是所有渗透测试人员的关键技能,因为这些工具将极大地帮助自动化攻击和枚举,以及执行手动测试。

问题 回答
您将使用什么工具来执行端口扫描? 最流行的端口扫描工具是 Nmap。端口扫描也可以通过脚本来完成,例如使用 Python。
您会使用哪些工具来检查网络数据包? 最常用的数据包检查工具是 Wireshark 和 Dig。
你会使用什么工具来暴力破解密码(在线和离线)? Hydra 和 Patator 用于在线破解,而 John the Ripper 和 Hashcat 用于离线破解。
您将使用什么工具来自动化 SQL 注入攻击? SQLMap 是一种开源渗透测试工具,可自动检测和利用 SQL 注入攻击。
您将使用什么工具来执行 ARP 欺骗攻击? 用于 ARP 欺骗的主要工具是 Arpspoof、Ettercap 和 Responder。
您将使用哪些工具来针对 WiFi 网络执行测试 Aircrack-ng是一套用于评估WiFi网络安全性和测试各种漏洞的完整工具。
什么工具可以帮助生成恶意可执行文件? Metasploit MSFvenom 工具是 Msfpayload 和 Msfencode 的组合,将这两个工具放入单个框架实例中。它允许生成编码恶意载荷。
您将使用哪些工具来扫描网络以查找已知漏洞? Nessus 或 OpenVAS 等工具可用于扫描网络中已知的漏洞。
您将使用什么工具来检查主机和目的地之间的路由? Traceroute 或 tracert 是一种网络诊断工具,用于识别确切的路由和跃点,用于主机连接到给定目的地,并测量任何数据包传输延迟。


基于场景的问题

面试官很可能会问一些基于场景的问题,这些问题将测试你在某些情况下的批判性思维,比如你可能需要利用某个漏洞或提出补救建议,但答案可能不那么直接。对于这些问题,不一定有正确或错误的答案,只要你能想出一个有效的创造性方法,它就能证明你具备所需的条件。

试着想想你在渗透测试中可能遇到的其他可能需要额外思考的场景。

问题 回答
如何远程访问只能从内部网络中访问的服务? 端口转发是一种用于将通信请求从一个地址和端口号组合重定向到另一个的技术。例如,如果端口 80 只能从内部网络访问,但端口 443 可以远程访问,则可以创建端口转发规则,将端口 443 上的所有传入流量转发到端口 80。
如何允许普通用户以根用户身份运行bash脚本?哪种方式最安全? 最好的方法是使用 cron 作业,只要用户无权修改正在运行的脚本,或者可以添加 SUDO 规则以允许用户以 sudo 身份运行脚本。
如果您能够获得 NTLM 哈希但无法解密它,您将如何使用这些知识来获得对目标主机的访问权限? 传递哈希是一种黑客技术,它允许攻击者通过使用用户密码的 NTLM 或 LM 哈希来验证远程服务器,而不需要明文密码。
你会采取什么措施来防止暴力破解? 可以通过使用帐户锁定机制、验证码、多因素身份验证和基于 IP 的限制来防止密码暴力破解。


结论

参加渗透测试或网络安全面试时,尽量保持冷静,不要惊慌。你的答案应该是彻底而简洁的,请记住,作为一名渗透测试人员,你需要能够用简单的术语向非技术人员解释困难的概念。

虽然面试官不会期望你知道所有的问题,因为做研究也是成为渗透测试员的一部分,但当然,你能回答的越多越好。

如果您不知道某些问题的答案,请尝试跳出固有思维,并提出自己的答案和解决方案,而不是根本不回答。这将表明你对工作有正确的心态和态度。


渗透测试面试问题指南点击左下角“阅读原文”,加入先进攻防社群

原文始发于微信公众号(赛博攻防悟道):渗透测试面试问题指南

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月17日21:58:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透测试面试问题指南http://cn-sec.com/archives/1182393.html

发表评论

匿名网友 填写信息