1、此时你负责等保测评几台服务器设备,没有相关权限,客户不愿意提供,你如何处理
答:
梳理相关服务器的测评流程,让客户按测评流程走一遍,你看着他们操作,或者录屏等方式,如果这种方式也不接受,不给予通过。
2、如果无法通过漏洞攻击,通过什么方法?
答:
社工方式,近源渗透。社工主要方式以钓鱼为主,近缘以网络设备为主。
3、通过邮件攻击,使用过哪些邮件?通过邮件里的什么?邮件里的东西用什么编写
答:
(1)木马邮件、恶意链接邮件
(2)spf邮件安全机制配置漏洞,可以进行邮件伪造,因为spf记录配置是~all 需要更改成-all
(3)python或者C编写免杀木马,基本能绕过绝大多数windows查杀软件
4、漏洞扫描用什么工具?你这弱口令问题是怎么扫出来的?用的什么工具哪个品牌?
答:
(1)AWVS、Nessus、Appscan
(2)Web端的话就是Burp抓包爆破,系统、mysql等可以使用SNETCracker进行爆破。
(3)SNETCracker超级弱口令检查工具、Hydra、Burp
5、数据库schema怎么备份的?具体步骤说说?
答:
这个问题应该是安全运维
在SQL Server Management Studio或其他数据库管理软件中选中数据库,右键选择任务然后选择备份,进入备份界面后选择备份存放的路径以及设置好备份文件名称即可进行备份。此外还可以通过生成脚本的方式单表备份或者通过Select Into语句将一个表快速备份到一个临时新表中等方法进行操作。
6、有没有了解过等保?
答:
等保测评就是根据安全信息等级保护来对企业进行等级保护测评,等保2.0还是什么级别根据相关企业来判定,医院、公安、金融等级保护要求高,根据具体企业的要求去对他们的服务器以及应用进行全面检测,一般都有一个筛查项的表,按照表来进行一项一项的筛查,发现内部系统或业务的安全隐患,严格度也是根据企业业务等保要求来定。
7、如果网络中禁止不在白名单内的TCP协议外联,请问还可以用什么方式反弹shell?分值1分
答:
可以先利用工具建立隧道
(1)HTTP隧道,可以将shell数据封装在http请求或响应中绕过
(2)DNS隧道,可以将shell数据封装在DNS查询中
(3)ICMP隧道,可以将shell数据封装在ICMP请求或响应中
(4)其他协议的UDP、SMTP隧道等
8、如果木马上传,文件生成了但没有内容,可能是什么原因?
答:
(1)WAF杀掉敏感操作
(2)命令没有完整执行LINES TERMINATED BY看具体语句
(3)web没有权限访问
9、php 的 %00 截断的原理是什么?
答:
因为在 C 语⾔中字符串的结束标识符 %00 是结束符号,⽽ PHP 就是 C 写的,所以继承了 C 的特性,所以判断为%00 是结束符号不会继续往后执⾏
条件:PHP<5.3.29,且 GPC 关闭
10、列举你了解或使用过的钓鱼攻击的手法,可以着重说明偏门或使用的手法。
答:
(1)钓鱼网页:做一个与真实网站外观相似的假冒网站,诱导用户输入敏感信息泄露等,再传到自己服务器数据库,如果做完善一点做一个弹窗密码错误再进行跳转真实页面的操作,可以让客户无感跳转
(2)钓鱼邮件!短信:通过钓鱼邮件或者短信,声称是知名公司的福利回馈等,诱导用户点击恶意链接或者恶意附件等操作
(3)URL欺骗:这个算手法,但我认为属于钓鱼邮件/短信啊这种一个更完善的技巧而已
(4)WIFI钓鱼:这个说简单一点就可以背无密码的一个无线网卡,去你想入侵目标的内网地址,或者某咖啡店,公共场所,进行无密码的连接,未造成地点的名称 比如某咖啡店某图书馆某酒店等,这也属于近缘渗透,修改成某公司真实的无线名称且没有密码,进行流量收集,回去慢慢进行流量分析,如有加密进行解密等操作。
(5)恶意广告:这可以在广告平台发布恶意网站或恶意下载连接,也可以伪造成某正常软件的外貌,诱导用户进行恶意软件的下载
11、介绍⼀下⾃认为有趣的挖洞经历
答:
挖洞也有分很多种类型,⼀种是以渗透、⼀种是以找漏洞为主,如果是前者会想各种办法获取权限继⽽获取想要的的东⻄完成渗透⽬标,这类跟 HW 类似,⽬标各种漏洞不算,要有Shell,服务器权限才给分,这才是最接近实战渗透,跟某部⻔有合作的话也是属于这种打击⽹络犯罪获得权限、传销数据、组织架构,服务器权限、等…(可以把自己准备的项目分享出来就可以)
12、你平时使⽤哪些⼯具? 以及对应⼯具的特点?
答:
AWVS、Masscan、BurpSuite、Appscan、Nessus等
AWVS 常规漏洞扫描,masscan 快速查找端⼝,burp 重复提交数据包
想知道是否有⾃⼰开发⼯具,如果没有你对每个安全⼯具有哪些独特的⻅解以及别⼈不知道的技巧⽤法。如:awvs 如何批量扫描?burpsuite 如何爆破 401、脱库等、等等…
13、如果要使用 Python 编写 POC,你会怎么做?
答:
编写 Python POC(Proof of Concept,概念验证)时,可以按照以下步骤进行:
(1)确定目标:首先明确你要验证的漏洞或安全问题,并确定需要编写 POC 的目标。
(2)收集信息:收集有关目标系统的信息,包括版本号、配置、漏洞细节等。这些信息对于编写有效的 POC 非常重要。
(3)编写代码:根据目标漏洞或安全问题的特点,使用 Python 编写相应的代码。可以使用相关的库或框架来简化开发过程,如 requests、BeautifulSoup、Scapy 等。
(4)验证漏洞:编写的 POC 代码应能触发目标系统中的漏洞或安全问题,并在验证过程中收集相关的证据和输出。
(5)调试和测试:在开发过程中,进行适当的调试和测试,确保 POC 的功能和准确性。
(6)文档和报告:编写详细的文档,包括 POC 的使用说明、漏洞描述、验证过程和结果等。这将有助于其他人理解和复现你的工作。
对反序列化漏洞是否了解,说说其工作机制和原理
14、反序列化漏洞是指攻击者利用目标应用程序中存在的不安全的反序列化操作,执行恶意代码或导致未授权的访问。其工作机制和原理如下:
答:
(1)序列化和反序列化:在编程中,对象可以被序列化为一种可传输或可存储的格式(如JSON、XML、二进制等),然后可以通过反序列化恢复为原始对象。
(2)反序列化漏洞原理:反序列化漏洞通常发生在目标应用程序对来自不可信源的序列化数据进行反序列化操作时。攻击者可以构造恶意的序列化数据,其中包含可触发恶意代码执行的操作,如调用系统命令、访问敏感数据、创建恶意对象等。
(3)攻击过程:攻击者通常会利用目标应用程序中的反序列化操作,构造恶意的序列化数据,并将其发送给目标应用程序。一旦目标应用程序对恶意数据进行反序列化,攻击者的恶意代码就会被执行,从而导致攻击成功。
(4)影响和风险:反序列化漏洞可能导致远程代码执行、拒绝服务、敏感数据泄露等安全问题。攻击者可以通过利用这些漏洞来获取系统权限、篡改数据、执行任意操作等。
防范反序列化漏洞的措施包括:
- 更新和修复:及时更新和修复使用的反序列化库和框架,以获取最新的安全修复。
- 输入验证和过滤:对反序列化的输入数据进行验证和过滤,确保只接受可信的数据源。
- 权限控制:限制反序列化操作的权限,仅允许受信任的实体进行操作。
- 白名单机制:使用白名单机制,限制允许反序列化的类和对象类型。
- 安全配置:配置反序列化库和框架的安全选项,如关闭自动类型推断、禁用危险的反序列化器等。
15、如何确认一个系统是否使用了 CDN?如何获取其真实 IP?
答:
(1)DNS查询:使用命令行工具如nslookup或dig,查询系统的域名解析记录。如果域名的解析记录指向了CDN提供商的IP地址,那么系统很可能使用了CDN。
(2)Traceroute:使用traceroute命令追踪数据包的路径。如果数据包经过了CDN提供商的网络节点,那么系统很可能使用了CDN。
(3)HTTP响应头:使用浏览器的开发者工具或命令行工具如curl,查看HTTP响应头中的"Server"字段。如果"Server"字段显示CDN提供商的名称,那么系统很可能使用了CDN。
获取IP:
(1)DNS查询:使用命令行工具如nslookup或dig,查询系统的域名解析记录。如果域名的解析记录指向了CDN提供商的IP地址,那么该IP地址是CDN的服务器IP地址,而不是真实服务器的IP地址。
(2)HTTP响应头:使用浏览器的开发者工具或命令行工具如curl,查看HTTP响应头中的"X-Cache"字段。有时候该字段会包含真实服务器的IP地址。
(3)安全漏洞:有时候系统可能存在某些安全漏洞,攻击者可以利用这些漏洞获取服务器的真实IP地址。但是,请注意,这种方式是非法的,并且不被推荐使用。
16、木马有哪些种类,一般都是如何工作的?
答:
以下是一些常见的木马种类:
(1)远程访问木马(RAT):远程访问木马是一种允许攻击者远程控制受感染系统的木马。攻击者可以执行各种操作,如文件管理、执行命令、监视用户活动等。
(2)信息窃取木马:信息窃取木马旨在窃取用户敏感信息,如登录凭据、银行账号、个人身份信息等。这些木马通常通过键盘记录、屏幕截图、网络嗅探等方式来获取信息。
(3)拒绝服务木马(DDoS Trojan):拒绝服务木马旨在通过向目标系统发送大量恶意流量或请求,耗尽目标系统的资源,导致系统崩溃或无法正常工作。
(4)下载器木马:下载器木马用于下载和安装其他恶意软件,如勒索软件、密码窃取软件等。这些木马通常会在受感染系统上下载并执行其他恶意软件。
(5)后门木马:后门木马旨在在受感染系统上创建一个隐蔽的入口,允许攻击者随时访问系统。攻击者可以使用后门木马来执行任意操作,而不需要再次入侵系统。
(6)偷渡木马:偷渡木马是一种隐藏在合法软件中的恶意代码。当用户下载和安装该软件时,偷渡木马会被激活并执行恶意操作。
一般情况下,木马的工作原理如下:
(1)伪装:木马通常会伪装成合法的程序、文件或链接,以欺骗用户下载、安装或点击它们。
(2)植入:一旦用户执行了木马,它会将自身植入受感染的系统中,并在系统中创建相应的文件和注册表项。
(3)启动:木马在系统启动时会自动启动,并开始执行恶意操作。
(4)通信:木马与攻击者的服务器建立通信通道,以接收命令、上传数据、发送信息等。
(5)恶意操作:木马根据攻击者的指令执行恶意操作,如窃取信息、控制系统、下载其他恶意软件等。
为了保护系统免受木马的攻击,用户应该采取以下措施:
- 安装和及时更新可靠的安全软件,如防病毒软件和防火墙。
- 谨慎下载和安装软件,只从官方和信任的来源获取软件。
- 不要打开或下载来历不明的电子邮件附件或链接。
- 定期备份重要数据,并确保备份存储在安全的位置。
17、面对一个系统,需要进行渗透,但是通过初步确认发现完全没有切入点,你接下来打算怎么办?
答:
面对一个系统没有明显的切入点时,可以采取以下策略:
(1)重新评估系统:回顾之前的初步确认,确保没有遗漏任何潜在的切入点。检查系统的各个组成部分,包括网络设备服务器、应用程序等,以确定是否有可能存在漏洞或弱点。
(2)扩大渗透范围:尝试从其他方面进入系统,例如社交工程、物理访问等。社交工程是通过欺骗、诱导或胁迫人员来获取系统访问权限的技术手段。物理访问是指直接进入系统所在的物理环境,例如通过物理接口、无线网络等。
(3)利用外部资源:寻求外部资源的帮助,例如与其他团队或渗透测试专家合作,共同探索系统的潜在漏洞和弱点。他们可能具有不同的视角和经验,能够提供新的切入点或建议。
(4)深入研究系统:深入研究系统的技术架构、组件和相关文档,以了解系统的内部运作方式和潜在的漏洞。通过对系统的深入了解,可能会发现新的切入点或漏洞。
(5)更新渗透测试策略:重新审视渗透测试策略和方法,根据新的情况进行调整和改进。尝试使用不同的工具、技术和方法,以发现系统中可能存在的弱点。
总之,面对一个没有明显切入点的系统,需要保持耐心和创造力,灵活调整渗透测试策略,寻找新的切入点和漏洞。
18、是否了解木马免杀的技术?能谈谈其实现原理吗?
答:
是的,我了解一些木马免杀的技术。木马免杀是指通过各种技术手段,使得恶意软件(木马)能够逃避杀毒软件的检测和防御。实现木马免杀的主要原理包括以下几个方面:
(1)加密和混淆:通过对恶意代码进行加密和混淆,使其在静态分析和特征检测时难以被识别。这可以包括使用加密算法对恶意代码进行加密,或者使用代码混淆技术改变其结构和逻辑。
(2)动态加载:将恶意代码分为多个部分,只有在运行时才进行动态加载和组装。这可以使得杀毒软件难以在静态分析阶段获得完整的恶意代码,从而避免被检测。
(3)反调试和反虚拟机:通过检测调试器或虚拟机环境的存在,木马可以采取相应的措施来防止被动态分析。这可以包括检测调试器的存在、监测代码执行的速度和行为等。
(4)0day漏洞利用:利用未被公开或未被修复的漏洞,木马可以绕过杀毒软件的防御。这种方式通常是最难被检测和防御的,因为杀毒软件没有相关的特征或规则来识别和阻止这些未知的漏洞利用。
(5)社交工程和针对性攻击:通过针对特定目标的社交工程和定制攻击,木马可以绕过杀毒软件的防御。这种方式通常是通过欺骗用户或利用特定的漏洞来传播和植入木马。
19、cs 与 msf 的区别,如何用 MSF 生成木马,如何用 CS 生成木马
答:
CS和MSF最大的区别是 CS支持异地团队合作
MSF是一个开源的渗透测试框架,提供了大量的渗透测试工具和漏洞利用模块。MSF的木马生成可以使用Meterpreter,它是MSF的一种后渗透利用载荷,可以提供强大的远程控制功能。生成Meterpreter木马通常涉及以下步骤:
(1)选择合适的漏洞利用模块:MSF提供了各种漏洞利用模块,可以根据目标系统的漏洞选择适当的模块。
(2)配置漏洞利用模块:根据目标系统的IP地址、端口号和其他必要的参数,配置漏洞利用模块。
(3)生成木马载荷:使用MSF生成木马载荷,可以选择生成不同类型的木马,如反向TCP连接、HTTP连接等。
(4)传递木马给目标系统:将生成的木马传递给目标系统,可以使用社会工程学手段、漏洞利用等方式。
CobaltStrike如何生成木马:
Cobalt Strike(CS)是一款商业化的渗透测试工具,用于模拟高级持久性威胁(APT)攻击。它提供了一套强大的功能,包括生成木马。
在Cobalt Strike中,生成木马主要涉及以下步骤:
(1)启动Cobalt Strike控制台:打开Cobalt Strike控制台,输入您的许可证信息并登录。
(2)选择生成木马:在控制台上,通过“Attacks”菜单选择“Package Manager”。在Package Manager中,您可以选择不同的木马生成选项,如“Windows Executable”或“Macro Document”。
(3)配置木马选项:根据您的需求和目标环境,选择合适的木马选项。您可以设置监听器、生成木马的位置、混淆等。
(4)生成木马:根据您的配置,使用Cobalt Strike生成木马。生成的木马文件将被保存到指定的位置。
20、如何在内网构建通信隧道,有哪些隧道通信方式?
答:
在内网构建通信隧道可以帮助您实现内网与外部网络之间的安全通信。以下是几种常见的隧道通信方式:
(1)VPN(Virtual Private Network,虚拟专用网络):VPN是一种通过公共网络(如互联网)构建安全连接的方式。它可以在内网和外网之间建立加密的通信隧道,使得内网资源可以安全地访问。
(2)SSH隧道:SSH隧道是通过SSH协议进行加密的通信隧道。您可以使用SSH客户端将本地端口与远程主机的端口进行转发,从而实现内网和外部服务器之间的通信。
(3)HTTP隧道:HTTP隧道是通过HTTP协议进行通信的方式。您可以使用工具如Chisel、ProxyTunnel等,将内网流量通过HTTP请求转发到外部服务器,以实现内网与外部网络之间的通信。
(4)DNS隧道:DNS隧道是通过DNS协议进行通信的方式。它利用DNS请求和响应的特性,将内网流量封装在DNS报文中,并通过DNS服务器进行转发。
(5)ICMP隧道:ICMP隧道是通过ICMP协议进行通信的方式。它利用ICMP报文的特性,将内网流量封装在ICMP报文中,并通过ICMP协议进行转发。
21、了解 MYSQL 提权方式吗?具体如何做的?
答:
MySQL 提权方式包括以下几种:
(1)利用已知的 MySQL 版本漏洞:通过利用已知的 MySQL 版本漏洞,可以提升当前用户的权限。例如,通过使用已知的 SQL 注入漏洞或者其他已知的漏洞来提权。
(2)利用用户自身权限:如果当前用户具有足够的权限,可以通过修改用户的权限或者创建新的用户来提权。例如,通过修改用户的权限,将其从普通用户提升为管理员用户。
(3)利用操作系统漏洞:如果 MySQL 服务器运行在操作系统上,可以尝试通过利用操作系统的漏洞来提权。例如,通过利用操作系统的漏洞获取管理员权限,然后再通过 MySQL 服务器来提权。
(4)利用系统配置不当:如果 MySQL 服务器的配置不当,可能会导致权限提升的漏洞。例如,如果 MySQL 服务器配置了弱密码或者没有启用安全选项,攻击者可能可以通过暴力破解密码或者其他手段来提权。
22、当你访问一个目标系统时,迎面而来一个登陆框,别的什么功能都没有,你打算如何下手?
答:
当面对一个只有登录框的目标系统时,以下是一些可能的下手方式:
(1)尝试常见的默认用户名和密码:有些系统的默认用户名和密码是公开的,例如admin/admin、root/root等。可以尝试使用这些默认的用户名和密码进行登录。
(2)尝试常见的弱密码:很多用户使用弱密码,例如123456、password、qwerty等。可以尝试使用一些常见的弱密码进行登录。
(3)尝试已知的用户名和密码组合:如果你了解目标系统的用户信息,例如通过社交工程、渗透测试等方式获取到了一些用户名和密码,可以尝试使用这些已知的用户名和密码组合进行登录。
(4)尝试常见的漏洞利用:有些登录框可能存在一些常见的漏洞,例如SQL注入、XSS等。可以尝试通过输入一些特殊字符或者恶意代码来利用这些漏洞进行登录。
(5)收集目标系统信息:首先,收集关于目标系统的信息,包括系统类型、版本、开放的服务等。这可以通过端口扫描、网络侦察等方式获取。这些信息可以帮助你了解目标系统的弱点和可能的攻击面。
(6)进行社交工程攻击:通过与目标系统的用户或管理员进行交流,尝试获取他们的用户名和密码,例如通过钓鱼邮件、伪装成技术支持人员等方式。
(7)扫描URL:查看是否存在敏感信息泄露等
(8)框架漏洞:通过信息收集尝试利用框架漏洞进行webshell
23、了解 SSRF 漏洞吗?你如何利用 SSRF 漏洞?
答:
SSRF原理:
SSRF-(Server-SideRequest Forgery) 服务器端请求伪造
由于目标站的参数可控,使攻击者–>‘伪造’ 服务器端 -->向另外站点/页面/服务器发请求
CSRF:伪造客户端往服务器发请求
SSRF的危害:
- 可以对【外网、服务器所在内网、本地】进行端口扫描,获取一些服务信息
- 利用file/http/https/php伪协议等协议读取本地文件、访问敏感目标、反弹等高危操作
- 利用dict/gopher协议对内网web应用进行指纹识别,通过访问shell默认文件实现
- 攻击运行在本地或内网的应用程序(如溢出)
- 攻击内外网的web应用,主要是使用GET参数就可以实现的攻击(如struts漏洞利用、SQL注入等)
利用一:读取文件和信息
post-payload:
url=file:///etc/passwd 绝对路径读取文件
url=file:///../../../../../../../../etc/passwd 目录穿越读取文件
url=http://192.168.150.187/ 访问其他站点信息
url=php://filter/read/convert.base64-encode/resource=ssrf.php 读取PHP源码-base64编码格式
利用二:内网扫描信息收集—此时,目标服务器作为内网中的一个跳板,当攻击者访问目标服务器,再由目标服务器向其他内网位置发起请求,探测存活主机与端口信息
post-payload:
url=http://127.0.0.1 探测本机
url=http://127.0.0.1:82 (加端口号)探测端口
url=http://192.168.150.184 探测其他主机
利用三:指纹获取 —此时,可根据扫描结果,进一步实现内网访问,进而获取服务器指纹信息等
post-payload:
url=dict://127.0.0.1:6379/info 收集redis信息 以及一些操作系统信息
url=gopher://127.0.0.1:3306 获取mysql信息利用四:进一步执行操作命令 可以跟上redis的指令 登录+操作
post-payload:
url=dict://192.168.150.188:6379/auth:123456
url=dict://192.168.150.188:6379/set:woniu:123
url=dict://192.168.150.188:6379/get:woniu
24、说出至少三种业务逻辑漏洞,以及修复方式?
答:
密码找回漏洞中存在:
(1)密码允许暴力破解
(2)存在通用型找回凭证
(3)可以跳过验证步骤
(4)找回凭证可以拦包获取等方式来通过厂商提供的密码找回功能来得到密码。
身份认证漏洞中最常见的是:
(1)会话固定攻击
(2) Cookie 仿冒只要得到 Session 或 Cookie 即可伪造用户身份。
验证码漏洞中存在:
(1)验证码允许暴力破解
(2)验证码可以通过 Javascript 或者改包的方法来进行绕过