欢迎各位彦祖与热巴畅游本人专栏与博客
你的三连是我最大的动力
以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]
专栏跑道一
➡️网络空间安全——全栈前沿技术持续深入学习
专栏跑道二
➡️ 24 Network Security -LJS
专栏跑道三
➡️ MYSQL REDIS Advance operation
专栏跑道四
➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]
专栏跑道五
➡️RHCE-LJS[Linux高端骚操作实战篇]
专栏跑道六
➡️数据结构与算法[考研+实际工作应用+C程序设计]
专栏跑道七
➡️RHCSA-LJS[Linux初级及进阶骚技能]
上节回顾
面试过程及回答
- 自我介绍
- 这里就如实回答的工作经历,参与的项目,尽量简短的把你参与的项目和成果说出来就行
使用过哪些设备,出现误报怎么办
- 天眼、EDR、全流量告警、态势感知、APT、蜜罐设备先去查看设备的完整流量日志等信息确认是否为误报,误报那就是规则问题,上报处置,提供规则优化建议
1. 调整设备配置:检查设备的配置,确保其适应组织的网络环境和特定需求。根据实际情况,调整设备的敏感度和规则,以减少误报的发生。
2. 更新设备软件和规则:定期更新设备的软件和规则,以获取最新的安全威胁情报和修复程序。这有助于减少误报,并提高设备的准确性。
3. 调查和验证:对于每个警报,进行仔细的调查和验证,以确定是否是真正的威胁。使用其他安全工具和技术进行验证,例如网络流量分析、日志分析和行为分析等。
4. 优化工作流程:建立有效的工作流程和响应机制,以处理误报。确保团队成员了解如何处理误报,包括记录和报告误报,并及时进行修复。
5. 培训和意识提升:提供培训和意识提升活动,使安全团队和相关人员了解设备的功能、限制和误报问题,并教授如何正确处理误报
怎么判断攻击是否真实,是否攻**击成功**
- 分析请求包、响应包,分析攻击特征,payload和告警不匹配,多数为误报,也可以查看攻击方向,如果是内对内,多半就是误报,也要具体去分析流量,看响应包内容,请求包如果有执行whoami命令,响应包有root那肯定执行成功了,如果有大批量告警,可以看有没有特殊的响应包判断,重点关注200的数据包,实在无法判断是否攻击成功,自己去复现一下
webshell流量特征(可以百度下常见webshell管理工具流量特征)
- 首先通过一些高危的函数判断是否为webshell,会有频繁的HTTP请求,异常的请求方法,base64编码的数据
- 菜刀:使用HTTP协议通信,请求的payload为base64编码,UA中存在百度或者火狐,大多为POST请求,请求的地址为webshell地址,请求体中有固定字符QGluaV9zZXQo
"QGluaV9zZXQo" 是 "eval_set()" 函数的base64编码形式。在菜刀木马中,攻击者使用该函数来执行任意的PHP代码。它的作用是将接收到的数据作为PHP代码进行解码和执行。 - 蚁剑:很多代码源于菜刀,流量也会比较相似,使用AES算法进行加密,使用的UA是固定的,请求中比较明显的特征为@ini_set("display_errors","0"),加密后的参数多数是0x=这种形式
1. "@ini_set("display_errors","0")":这个特征是蚁剑木马在注入到受感染的Web服务器时常用的一种方式。该特征通过设置 PHP 配置指令 "display_errors" 的值为 "0",来禁用错误显示。这样可以确保攻击者在执行恶意操作时不会在服务器上产生错误信息,从而提高攻击的隐蔽性。
2. 加密后参数多数为 "0x=":蚁剑木马使用 AES 算法对通信数据进行加密,其中加密后的参数往往以 "0x=" 开头。这是因为 "0x" 是表示十六进制数的前缀,用于标识后面的字符是以十六进制形式表示的数据。蚁剑使用这种格式来传递加密后的数据,以隐藏真实的命令和敏感信息。 - 冰蝎:老版本的话会有个密钥协商过程,这个过程是明文传输的,响应包就会有16位的密钥,新版本各种语言的webshell中都会存在16位数的连接密码,默认变量为K,像Content-type、Accept为固定的
webshell检测思路
- 通过匹配特征码,特征值,危险函数来查找webshell ,webshell如果传到服务器了,在执行函数时这些对于系统调用、系统配置、数据库、文件的操作动作都是可以作为判断依据,Linux下就是nobody用户起了bash,Windows下就是IIS User启动 cmd,这些都是动态特征。再者如果黑客反向连接的话,那很更容易检测了,Agent 和IDS都可以抓现行,Webshell总有一个 HTTP 请求,如果我在网络层监控 HTTP,并且检测到有人访问了一个从没访问过的文件,而且返回了 200,则很容易定位到webshell。使用webshell一般不会在系统日志中留下记录,但是会在网站的 web日志中留下webshell页面的访问数据和数据提交记录·
补充:Agent的主要功能包括:
1. 文件系统监控:Agent会定期扫描服务器的文件系统,检查是否存在可疑的文件和目录。它会检查文件的属性、权限、大小、修改时间等,并与已知的Webshell特征进行比对。如果发现可疑的文件,Agent会触发警报或采取相应的阻止措施。
2. 网络流量监控:Agent会监听服务器的网络流量,特别是HTTP和HTTPS流量。它会分析请求和响应的数据包,检查是否存在异常的请求模式、URL路径、参数、User-Agent字符串等。如果发现可疑的流量,Agent会触发警报或阻止进一步的通信。
3. 异常行为检测:Agent会监控服务器的系统行为,检测异常的进程、网络连接、文件操作和系统调用等。它会识别非常规的进程名称、进程行为、网络连接到非常规端口、文件上传和下载等异常行为。如果发现可疑的行为,Agent会触发警报或采取相应的阻止措施。
4. 实时警报和响应:Agent会实时监控服务器的活动,并通过警报和通知的方式向安全管理员报告可疑的Webshell活动。这使得管理员可以及时采取措施,阻止攻击并进行进一步的调查和修复。Agent通常是作为一种轻量级的软件组件运行在服务器上,可以与其他安全工具和系统集成,如入侵检测系统(IDS)、入侵防御系统(IPS)、防火墙等。它可以根据特定的检测规则和策略进行配置和定制,以适应不同的环境和需求。
应急响应流程
- 收集信息:收集告警信息、客户反馈信息、设备主机信息等
- 判断类型:判断攻击的类型,是ddos还是被挂马了还是被控制了
- 控制范围:隔离目标网络不让危害扩大
- 寻找原因:还原攻击者的攻击链,溯源攻击者的整个过程
- 修复防御:直接封掉攻击者ip,对于产生的原因进行对应防御
- 恢复业务:将业务恢复正常
- 写报告:总结整个过程,反思不足之处,优化应急方案
溯源有哪些思路
- 通过分析设备的告警、钓鱼邮件 、木马病毒找到攻击者IP,先去一些威胁情报平台搜索相关信息,判断攻击者为代理服务器还是跳板机还是国内的云服务器,查一查相关注册信息,对攻击者进行反向渗透,针对攻击者去搭建蜜罐,如果是云服务器,可以寻找到相关厂商,联系客服说自己忘记密码了,看看能不能获取到云服务器购买者信息,对于获取到的信息可以通过各种社工库搜一搜,各大搜索引擎去搜索看看能不能获取到更多信息,也可以直接把服务器厂商打下来,肯定就可以知道购买者的信息了,如果把跳板机拿下就可以去查看桌面的敏感信息,登录日志,历史执行命令这样一步一步去获取更多的信息。
怎么防范邮件钓鱼
- 定期组织员工安全讲座,提供员工的安全意识,企业内邮件系统使用可信赖的邮件服务,员工企业邮箱不得使用弱口令等,如果被感染了也要让大家清楚该做什么,例如直接拔网线等操作
. 邮件过滤和反垃圾邮件技术:使用可靠的邮件过滤和反垃圾邮件技术,通过黑名单、白名单、关键词过滤等方式,过滤掉大部分垃圾邮件和恶意邮件。这可以减少员工接收到的钓鱼邮件数量。
3. 验证发件人身份:在收到可疑邮件时,验证发件人的身份。检查邮件头部信息,确保发件人的域名和邮件地址与正常的邮件发送者一致。如果有疑问,可以通过其他渠道与发件人确认邮件的真实性。
4. 警惕链接和附件:不轻易点击邮件中的链接或打开附件。在接收到可疑邮件时,不要轻信其中的链接和附件,尤其是来自未知或不信任的发件人。可以将鼠标悬停在链接上,查看链接的真实地址,判断是否与邮件内容相符。
5. 使用强密码和多因素身份验证:确保在邮件服务和相关账户上使用强密码,并启用多因素身份验证。这可以防止攻击者通过猜测密码或暴力破解的方式获取账户访问权限。
6. 及时更新和安装安全补丁:保持操作系统、邮件客户端和安全软件的更新,及时安装安全补丁。这可以修复已知的漏洞和弱点,减少攻击者利用的机会。
7. 定期备份数据:定期备份重要的邮件和数据,以防止数据丢失或被勒索。备份数据应存储在安全的离线环境中,以防备份数据也被攻击者访问和损坏。
8. 监测和响应:设置监测机制,及时检测和响应可疑邮件和攻击行为。使用安全事件和信息管理系统(SIEM)等工具来监控邮件流量和检测异常行为,以便及时采取措施应对攻击。
针对dnslog的反制
- 对于常见的dnslog平台,直接屏蔽,如果是自己搭建的dnslog平台,批量的去ping,恶意制造各种垃圾dnslog数据,让他无法获取到有效的信息,具体可以写一个脚本进行批量探测存活,httplog也一样,使用爬虫批量进行request请求
1. 配置防火墙:通过配置防火墙规则,限制对DNSlog的访问。可以根据DNSlog的特征,如域名或IP地址,禁止或限制与DNSlog服务器的通信。
2. DNS过滤:使用DNS过滤工具,如DNS Sinkhole或DNS黑名单,阻止恶意域名解析到DNSlog服务器。这些工具可以根据恶意域名的特征,将其解析请求重定向到其他地方,从而阻止攻击者获取DNSlog数据。
3. 安全审计:监控和分析DNS流量,检测异常行为。通过实时监测DNS请求和响应,可以识别出恶意域名解析或异常的DNS查询行为,并及时采取措施防止攻击。
4. 域名监控:定期检查域名的解析记录,及时发现异常解析。如果发现域名解析到DNSlog服务器,可以及时采取措施修复漏洞或阻止攻击。
5. DNSSEC:使用DNSSEC(DNS安全扩展)技术对域名进行签名和验证,确保DNS解析的完整性和安全性。DNSSEC可以防止DNS劫持和欺骗攻击,从而有效防止DNSlog的滥用。
6. 加密通信:使用加密通信协议,如DNS over TLS(DoT)或DNS over HTTPS(DoH),保护DNS查询的隐私和安全。这样可以防止攻击者窃取DNSlog数据或篡改DNS查询结果。
7. 安全域名解析服务:使用可信赖的域名解析服务提供商,确保域名解析的安全性。选择具有良好信誉和安全性保障的服务提供商,可以减少遭受DNSlog攻击的风险。
(例如:
1. Cloudflare DNS: - Cloudflare提供了1.1.1.1和1.0.0.1作为其安全DNS服务器。 - 它支持DNS over TLS和DNS over HTTPS,并且旨在提供更快的解析速度和更高的隐私保护。
2. Google Public DNS: - Google提供了8.8.8.8和8.8.4.4作为其公共DNS服务器。 - 它支持DNS over TLS和DNS over HTTPS,并且具有高可靠性和广泛的全球覆盖。
3. Quad9: - Quad9的DNS服务器地址为9.9.9.9和149.112.112.112。 - 它是一个非营利组织,致力于提供安全、隐私保护的域名解析服务。 - Quad9还提供了恶意网站和域名的阻止功能,以增加安全性。
4. OpenDNS: - OpenDNS提供了208.67.222.222和208.67.220.220作为其公共DNS服务器。 - 它提供了一些额外的安全功能,如恶意软件和成人内容的过滤。
5. DNS.WATCH: - DNS.WATCH的DNS服务器地址为84.200.69.80和84.200.70.40。 - 它支持DNS over TLS,并致力于提供快速、安全的域名解析服务。)
网络基线加固思路
- 制定安全策略:首先需要明确网络的安全目标和要求,结合组织的需求制定相应的安全策略。安全策略应包括访问控制、密码策略、安全审计、事件响应等方面的规定。
强化身份验证:采取多因素身份验证措施,如使用强密码、实施双因素认证等,以防止未经授权的访问。同时,禁用或删除未使用的账户,定期更改密码。
网络设备安全配置:对网络设备(如防火墙、路由器、交换机)进行安全配置,关闭不必要的服务和端口,限制远程管理访问,启用日志记录和监控功能。
操作系统安全配置:对服务器和终端设备的操作系统进行安全配置,确保应用最新的补丁和安全更新,禁用或移除不必要的服务和功能,限制用户权限。
网络流量监测与入侵检测:部署入侵检测系统(IDS)和入侵防御系统(IPS),监测网络流量并检测异常行为,及时发现和阻止潜在的攻击。
数据加密与传输安全:使用安全协议和加密算法,如TLS/SSL,对敏感数据的传输进行加密保护,防止数据在传输过程中被窃取或篡改。
访问控制和权限管理:设置适当的访问控制策略,包括网络访问控制列表(ACL)、身份验证和授权策略,限制用户和设备的访问权限。
安全审计和日志管理:开启安全审计功能,记录关键事件和安全相关的日志信息,定期审查和分析日志,及时发现异常活动和安全事件。
员工安全培训:加强员工的安全意识培训,教育员工识别和应对常见的网络威胁和攻击手段,减少人为因素导致的安全漏洞。
定期漏洞扫描和安全评估:定期进行漏洞扫描和安全评估,发现网络中存在的漏洞和风险,及时修复和加固系统。 - 先看防护软件有没有升级,先升级最新版本,进行全盘扫毒,查看高危端口,高危服务,查看主机有没有被爆过漏洞的软件
- windows:重命名administrator账户、禁用GUEST账户、清理系统无效账户、配置密码策略账户锁定策略
- Linux:删除无用账号、检查特殊账号、添加口令策略、禁止root直接登录、设置隐藏文件属性、关闭不必要服务、更改ssh端口号防爆破
怎么修改TTL值
- windows下是修改Default注册表文件,linux是修改etc/sysctl.conf文件
网页被挂马了,可能有哪些原因
- 服务器已经被拿下了、通过漏洞修改了前端文件、存储型XSS、可能被上传了木马病毒
怎么排查java内存马
- 直接利用内存马检测工具去找,github也有很多检测脚本,手工的话可以分析web日志,filter或者listener类型的内存马,会有大量路径相同参数不同的url请求,或者页面不存在但是返回200的请求,分析web.xml文件,内存马的Filter是动态注册的,web.xml是没有配置的,也有可能是中间件漏洞通过代码执行加载内存马,这就可以去排查中间件的错误日志,像哥斯拉和冰蝎的内存马也会有跟webshell相似的特征,分析特殊的classloader加载,攻击者喜欢利用TemplatesImpl和bcel加载内存马,因为内存马是驻留在内存里的,本地无class文件,通过检测Filter对应的ClassLoader目录下是否存在class文件来判断,也可以把内存中所有的Filter的class dump出来,使用工具分析是否存在恶意代码
补充:
- 1. Filter类型的内存马: - Filter是Web应用程序中处理请求和响应的组件之一。 - 内存马利用了Filter的动态注册功能,通过注入恶意代码来修改或篡改请求和响应。 - 恶意代码可能会捕获用户的敏感信息、劫持会话、修改请求参数或响应内容等。 - 内存马通常会在Filter的初始化方法中注入恶意代码,以便在每个请求到达时执行恶意操作。
- 2. Listener类型的内存马: - Listener是Web应用程序中用于监听Web容器事件的组件。 - 内存马利用了Listener的动态注册功能,通过注入恶意代码来监听和修改Web容器事件。 - 恶意代码可能会拦截用户会话、窃取凭据、篡改请求等。 - 内存马通常会在Listener的初始化方法中注入恶意代码,以便在特定事件发生时执行恶意操作。
- 1. TemplatesImpl加载内存马: - TemplatesImpl是Java XML解析器Xalan中的一个类,通常用于处理XSLT模板。 - 攻击者可以利用TemplatesImpl类的漏洞来加载恶意代码,实现内存马的注入。 - 攻击者通常会构造恶意的XSLT模板,其中包含恶意代码,然后使用TemplatesImpl类加载并执行这个模板。 - 这种方式可以绕过安全检查,将恶意代码加载到内存中,并在运行时执行。
- 2. bcel加载内存马: - bcel(Byte Code Engineering Library)是一个用于分析、修改和生成Java字节码的类库。 - 攻击者可以使用bcel来动态生成和加载恶意的Java字节码,从而实现内存马的注入。 - 攻击者通常会编写包含恶意代码的Java类,并使用bcel库将其转换为字节码。 - 然后,攻击者可以使用自定义的ClassLoader加载这些字节码,并在运行时执行恶意代码。这些方法都利用了Java的动态加载和执行功能,以加载恶意代码并在内存中执行。
攻击者喜欢使用这些技术的原因有以下几点:- 内存马驻留在内存中,不会在磁盘上留下明显的痕迹,难以被发现和清除。- TemplatesImpl和bcel等类库提供了强大的动态加载和执行功能,使攻击者能够更灵活地注入和执行恶意代码。- 攻击者可以使用这些技术来绕过一些传统的安全检查和防御机制,增加攻击的成功率。
win登录日志怎么看,判断是否登录成功
- 事件查看器里面有windows日志文件,在下面安全性就可以看到很多日志,登录成功的话就会有对应的事件id,登录失败就会有不同的事件id
反弹shell的原理是什么
- 利用TCP协议传了一个bash环境
反弹Shell是一种攻击技术,它允许攻击者通过远程命令执行与目标系统建立交互式会话。下面是反弹Shell的工作原理的详细解释:
1. 攻击者在目标系统上部署一个恶意程序或利用已知的漏洞获取对目标系统的访问权限。
2. 攻击者在目标系统上执行一个命令,将一个网络套接字(socket)绑定到一个指定的端口上,并监听该端口。
3. 攻击者在自己的控制机上运行一个监听程序,该程序连接到目标系统上的指定端口。
4. 目标系统上的恶意程序与控制机上的监听程序建立连接,形成一个通信管道。
5. 一旦连接建立,攻击者可以通过该通信管道在目标系统上执行命令,并获取命令的输出结果。
6. 攻击者可以通过该通信管道与目标系统进行交互,执行任意命令、上传/下载文件等操作。
反弹Shell的原理基于网络套接字和通信管道的建立。攻击者利用目标系统上的恶意程序在目标系统和控制机之间建立一个网络连接,使得攻击者可以远程控制目标系统并执行命令。
需要注意的是,反弹Shell是一种攻击技术,应该被视为非法行为。在实施网络安全措施时,应该采取适当的防御措施来防止反弹Shell攻击,例如:
- 及时更新和修补系统和应用程序,以修复已知的漏洞。
- 使用防火墙和入侵检测/防御系统来监控和阻止恶意网络连接。
- 限制对网络服务和端口的访问权限,只开放必要的服务。
- 使用强密码和多因素身份验证来保护系统登录凭据。
- 定期进行安全审计和渗透测试,以发现和修复潜在的安全漏洞。
总之,反弹Shell利用网络套接字和通信管道建立远程控制通道,使攻击者能够在目标系统上执行命令和操作。保护系统免受反弹Shell攻击的关键是实施适当的安全措施和防御机制。
Linux有哪些提权思路
- 常用的就内核提权、sudo滥用提权、suid提权、一些高权限运行的应用服务提权,例如mysql、python、vi、定时任务提权、etc/passwd滥用提权
说一下Linux利用passwd提权
- 这个需要对passwd有写入权限,正常root用户的uid为0,如果自己写进去一个用户把它的uid改为0的话,用这个用户登录,系统就会切到root用户了
Linux后门排查哪些东西
- 查看用户信息相关的文件,看看有没有多余的账户、特权账户、隐藏账户、可以远程登录的账户、sudo权限的账户,检查一下网络连接、异常进程,检查定时任务、开机启动、服务、端口、可疑的文件,检查系统日志
在Linux系统中排查后门时,需要综合考虑多个方面,包括系统日志、进程、网络连接、文件系统等。以下是一些常见的排查方法和工具:
1. **系统日志审查:** 查看系统日志以发现异常活动。可以使用命令`dmesg`、`/var/log/messages`、`/var/log/syslog`等查看系统日志文件,寻找不明确的异常信息。特别要关注登录记录、系统启动记录以及其他重要事件的日志。
2. **进程审查:** 使用命令`ps`、`top`等查看当前正在运行的进程,并注意检查不明进程或者与已知进程不符合的情况。也可以使用专门的进程监控工具如`lsof`、`pstree`、`htop`等来深入分析进程情况。
3. **网络连接审查:** 使用命令`netstat`、`ss`、`lsof`等来检查系统的网络连接状况,寻找不明的网络连接或监听端口。特别要关注是否存在未经授权的远程连接或者异常的网络活动。
4. **文件系统审查:** 审查系统关键目录(如/bin、/sbin、/usr/bin、/usr/sbin等)下的可疑文件,使用`find`命令来查找最近被修改的文件或者权限异常的文件。还可以使用工具如`tripwire`、`AIDE`等对文件完整性进行监控和比对。
5. **用户账户审查:** 检查系统中的用户账户,特别留意是否存在未经授权的用户账户。可以使用`/etc/passwd`、`/etc/shadow`等文件来检查用户账户情况。
6. **定时任务审查:** 使用`crontab`命令查看系统中的定时任务,查找不明定时任务的存在。同时还应该审查`/etc/cron.d/`、`/etc/cron.daily/`等目录下的定时任务设置。
7. **安全工具使用:** 使用专门的安全工具来扫描系统,如rkhunter、chkrootkit等,以便发现潜在的后门或者恶意软件。还可以使用其他安全扫描工具来进行漏洞扫描和安全审核。
8. **审查系统配置文件:** 审查系统的重要配置文件,例如`/etc/hosts`、`/etc/rc.local`、`/etc/sudoers`等,确保其中没有异常的配置或恶意修改。
综合以上方法和工具,可以帮助发现潜在的后门或恶意活动。然而,值得注意的是,后门可能采取隐蔽的方式进行隐藏,因此排查过程需要细心和耐心,有时可能需要结合专业的安全团队或专家来进行深入分析。
Linux怎么查看程序调用了哪些文件
- lsof -c 指定的程序,查看多个程序的话直接在后面加就可以
SQL注入特征,误报原因,怎么处理告警
- 肯定会有sql语句,一些关键字select、where、order、union、update、delete,还有一些常见的函数if、user、sleep、substr、ascii等,误报的话就是正常的流量被识别成攻击流量了,可能用户误输入了一些特殊字符触发了告警根据数据包回显内容,响应时间判断是否攻击成功,如果只是一直在进行扫描,封掉ip然后上报
文件上传怎么绕过
- 因为是黑盒测试,你不知道它的检测规则是怎么样的,看看对哪方面做了检测,有可能只是前端检测,再针对的去绕过,一般的话我先根据后端语言去跑一遍后缀名字典,然后去尝试各种方法,例如变换大小写,插入各种特殊字符像%00、单引号、换行符,去构造一些畸形的数据包
SSRF用哪些协议、函数,怎么绕过,修复
- file、dict、ldap、gopher,可以利用curl函数、file_get_contents()函数、fsockopen()绕过:使用短网址、进制转换、302跳转、DNS重绑修复:禁止不需要的协议、设置URL白名单、统一返回信息、限制请求的端口
LDAP协议基于客户端-服务器模型,客户端通过LDAP协议与目录服务器进行通信。LDAP协议使用TCP/IP作为传输层协议,并默认使用389端口。
LDAP协议定义了一组操作(Operation),客户端可以使用这些操作来对目录服务进行查询和修改。一些常见的LDAP操作包括:
1. Bind操作:用于身份验证和建立与目录服务器的会话。客户端需要提供用户名和密码,以便服务器验证身份并授权访问。
2. Search操作:用于查询目录服务中的条目。客户端可以指定搜索的基准DN(Distinguished Name)和搜索过滤器来过滤结果。
3. Add操作:用于向目录服务中添加新的条目。
4. Delete操作:用于从目录服务中删除现有的条目。
5. Modify操作:用于修改目录服务中的条目。攻击者可以利用LDAP协议来发起SSRF攻击,通过在请求中指定恶意的LDAP URL来访问目标服务器上的敏感信息或执行未授权的操作。例如,攻击者可以构造一个LDAP URL,将其作为参数传递给受影响的应用程序,使应用程序将该URL作为LDAP请求发送到目标服务器。
为了防止LDAP协议被滥用而导致SSRF漏洞,应采取以下防护措施:1. 输入验证和过滤:对于用户提供的输入,进行严格的验证和过滤,确保只接受有效的LDAP URL。2. 白名单限制:限制服务器可以访问的LDAP服务器范围,只允许访问受信任的LDAP服务器。3. 隔离访问权限:将服务器与敏感资源隔离,并限制服务器的出站连接。
SSRF(Server-Side Request Forgery)漏洞
- 是指攻击者能够在服务器端发起伪造的HTTP请求,从而获取内网的敏感信息或者攻击内网系统。在实际攻击中,攻击者通常会利用一些特定协议或者函数来绕过防御措施,以下是SSRF攻击中常见的协议和函数及其绕过和修复方法:
1. **协议**
- HTTP/HTTPS:默认情况下服务器会允许使用HTTP和HTTPS协议,如果攻击者得到了服务器的IP地址,就可以通过URL中的IP地址实现SSRF攻击。例如,攻击者可以构造一个URL:“http://192.168.1.1”,让服务器向内网主机发送HTTP请求。
- FILE:攻击者可以使用FILE协议访问本地文件系统,例如“file:///etc/passwd”可以读取/etc/passwd文件的内容。
- FTP:攻击者可以使用FTP协议获取内网中的敏感文件,例如“ftp://192.168.1.1/secret.txt”可以获取内网中的secret.txt文件。
- SMTP:攻击者可以使用SMTP协议发送邮件,例如“smtp://192.168.1.1”可以发送邮件到内网中的SMTP服务器。
2. **函数**
- curl:curl函数可以实现各种网络操作,包括获取HTTP/HTTPS、FTP等协议的内容。攻击者可以使用curl构造恶意请求,例如“curl http://192.168.1.1”可以获取内网中的HTTP服务。
- file_get_contents():file_get_contents函数可以获取文件内容,攻击者可以构造带有file协议的URL,例如“file:///etc/passwd”,并使用file_get_contents函数获取该文件内容。
- get_headers():get_headers函数可以获取HTTP响应头信息,攻击者可以使用get_headers函数检测内网中的主机是否开放了HTTP服务。
- fsockopen():fsockopen函数可以打开一个网络连接,攻击者可以使用fsockopen函数实现各种网络操作,例如获取内网中的HTTP服务。
3. **绕过方法**
- URL编码绕过:攻击者可以将URL编码后提交到服务器,例如“http%3A%2F%2F192.168.1.1”,服务器会解码后请求192.168.1.1。
- DNS Rebinding绕过:攻击者可以使用DNS Rebinding技术绕过SSRF防御措施,通过DNS解析返回不同的IP地址,从而绕过服务器的白名单验证。
- 端口扫描绕过:攻击者可以使用端口扫描工具,扫描内网中的主机是否开放了HTTP服务,然后再进行SSRF攻击。
4. **修复方法**
- 验证输入数据:对所有用户输入的数据进行验证和过滤,禁止用户提交恶意URL。
- 白名单验证:对所有可访问的URL进行白名单控制,只允许访问特定IP地址和域名。
- 使用DNS解析库:使用DNS解析库来解析URL,禁止直接使用字符串解析URL。
- 权限控制:限制服务器访问权限,只允许访问必要的资源和服务,减少受到攻击的风险。 - xss可以使用哪些标签
- 这个太多了,常用的就rrdrrrrr
- <script><a<iframe<EMBED<svg<body <object<form<img
了解哪些中间件漏洞
- IIS有解析漏洞,PUT任意文件写入漏洞,短文件漏洞,
- Apache也有解析漏洞,然后目录遍历遇到的比较多,
- Tomcat的话war后门部署、远程代码执行,
- jBoss和WebLogic的话就反序列化漏洞,weblogic还有ssrf漏洞,任意文件上传
struts2有哪些漏洞,有什么特征
- 文件上传、命令执行、ognl表达式注入
- 比较明显的就是访问的目录为.action或者.do,content-Type的值是默认的,返回的页面也可能会有struts2等字样,ognl表达式注入就会使用ognl语法,请求参数会有${},%{}字符
jboss反序列化漏洞特征,判断是否攻击成功
- 攻击者请求了JBOSS漏洞页面,请求体中有相关llections.map.LazyMap、keyvalue.TiedMapEntry攻击链特征,包含了命令执行语句,如果返回了500,页面报错内容有命令执行的结果那肯定就是攻击成功了
在描述的攻击场景中,攻击者利用了JBoss应用服务器中的反序列化漏洞,并通过构造恶意的序列化数据来触发远程代码执行。在请求体中包含了相关的恶意对象类型`Collections.Map.LazyMap`和`keyvalue.TiedMapEntry`,这两个类型通常用于构造反序列化漏洞的攻击链。
1. **`Collections.Map.LazyMap`:** `LazyMap`是Apache Commons Collections库中的一个类,它会延迟执行某些操作,通常被攻击者用来构造恶意的序列化数据链。攻击者可以利用`LazyMap`来触发恶意代码执行,实现远程命令执行等攻击。
2. **`keyvalue.TiedMapEntry`:** `TiedMapEntry`也是Apache Commons Collections库中的一个类,它通常与`LazyMap`一起使用来构建攻击链。攻击者可以利用`TiedMapEntry`作为`LazyMap`的键值对,构成反序列化攻击链的一部分,最终导致远程代码执行。
当攻击者构造了包含`LazyMap`和`TiedMapEntry`等恶意对象类型的序列化数据,并发送给受影响的JBoss应用服务器时,如果服务器返回了HTTP状态码500(Internal Server Error),并且页面报错内容中包含了命令执行的结果,那么可以初步判断该攻击是成功的。因为500错误通常表示服务器内部发生了异常,可能是由于远程代码执行引起的异常。
log4j有什么特征,怎么判断是否攻击成功
- payload为${jndi:ldap://***}格式,如果攻击成功,目标主机会加载攻击者指定的恶意类,查看有没有相关流量,如果有源ip与dnslog或者ldap服务的外联日志记录那大概率是攻击成功了
补充1:
要判断是否受到 Log4j 漏洞攻击成功,可以关注以下几个特征:
请求中包含恶意的 JNDI 地址: 攻击者会尝试通过构造恶意的 JNDI(Java Naming and Directory Interface)地址来触发 Log4j 的漏洞。这些恶意 JNDI 地址可能会出现在 HTTP 请求的参数、头部或者其他位置。
触发特定的 Log4j 漏洞 Payload: 攻击者可能会发送包含特定 Payload 的请求,例如触发 JNDI 查找的 Payload,以利用 Log4j 漏洞。
系统日志中出现异常的 Log4j 调用栈: 监控系统日志,特别是应用程序的日志文件,查看是否有异常的 Log4j 调用栈。攻击者成功利用 Log4j 漏洞可能会在日志中留下异常的痕迹。
网络流量异常: 监控网络流量,查看是否有大量的异常请求发送至系统。攻击者可能会尝试发送恶意请求来利用 Log4j 漏洞,因此异常的网络流量可能是攻击的迹象之一。
补充2:当攻击者成功利用 Log4j 漏洞时,他们通常会构造特定的 Payload,其中包括类似 ${jndi:ldap://***} 这样的 JNDI 地址。这样的 Payload 旨在利用 Log4j 2.x 中的 JNDI 注入漏洞,通过远程加载恶意类或执行恶意代码。
具体来说,${jndi:ldap://***} 这样的 Payload 将会触发 Log4j 尝试通过 JNDI 查找指定的 LDAP(轻型目录访问协议)服务器上的对象。攻击者可以通过在 LDAP 服务器上放置恶意的类或代码来控制目标系统。当目标系统试图加载这些恶意类时,会向 LDAP 服务器发出请求,其中包含了攻击者控制的恶意代码。这个请求的源 IP 地址通常是目标系统的 IP 地址。
CS攻击流量特征
- UA头里面可能会有相关特征,http请求中可能包含与C2服务器通信的命令,会有心跳包,每隔几分钟传输一个信息,请求的地址是一个Jquery js文件,不同指令的心跳包也都有相关的特征,SSL证书流量也有特征,不同的becon特征也不一样
补充:(1)CS攻击(Command and Control Server Attack)是一种网络安全攻击,通常是指恶意软件(如僵尸网络、木马、勒索软件等)通过控制服务器与受感染的计算机或设备进行通信,以实施进一步的攻击或数据窃取。CS攻击流量特征主要包括以下几个方面:
1. 高频率流量:CS攻击通常会表现为高频率的通信活动,因为恶意软件需要与控制服务器保持通信,以接收指令或上传被窃取的数据。
2. 异常端口和协议:CS攻击通常会利用非标准的端口或协议进行通信,以避免被网络安全系统检测和阻止。例如,使用非常见的端口号或加密通信协议。
3. 长时间活动:CS攻击通常会展现出长时间的活动,因为控制服务器需要不间断地与受感染的设备进行通信,以保持对其的控制。
4. 反复连接尝试:恶意软件可能会不断地尝试连接到多个潜在的控制服务器,以寻找可用的服务器进行通信。
5. 大量数据传输:CS攻击流量可能会包含大量的数据传输,例如从受感染设备向控制服务器上传窃取的数据、下载更新的恶意指令等。
6. 模式识别:CS攻击流量可能具有明显的模式,例如固定时间间隔的通信、特定数据包格式或数据结构等,这些模式可以被用来进行流量分析和检测。
综上所述,CS攻击流量的特征主要包括高频率、异常端口和协议、长时间活动、反复连接尝试、大量数据传输和明显的模式识别。网络安全人员可以通过监控和分析流量特征来识别和应对CS攻击。
- 1. SSL证书流量特征:
- 加密算法和密钥长度:SSL证书流量中会包含加密算法和密钥长度的信息,这些信息可以用来确定加密通信的强度和安全性。
- 证书颁发者和有效期:SSL证书中包含颁发者和有效期等信息,这些可以用于验证证书的合法性和真实性。
- 域名匹配:SSL证书中的域名与请求的域名是否匹配也是重要的特征,可以用于检测可能的欺骗或中间人攻击。
2. 不同的beacon特征:
- 数据大小和频率:不同类型的beacon通信可能具有不同的数据大小和传输频率,这可以帮助检测异常的通信模式。
- 加密和编码:beacon通信可能会使用不同的加密和编码方法来隐藏其内容,这些方法可能成为检测异常活动的线索。
- 目标地址和端口:不同的beacon通信可能会连接到不同的目标地址和端口,这可以用来识别潜在的C2服务器或恶意通信。
综上所述,SSL证书流量和不同的beacon特征都提供了重要的线索,可以帮助网络安全专业人员识别潜在的威胁和恶意活动。通过分析这些特征,可以建立有效的安全策略和检测机制,以保护网络免受恶意攻击。
psexec和wmic区别
- psexec会有大量的日志,wmic就不会
Psexec和Wmic是两个常用的Windows系统管理工具,它们之间有以下区别:
1. 功能:Psexec是Sysinternals Suite中的一部分,它允许远程执行命令或程序,以便在远程计算机上执行各种任务。它可以通过网络连接到远程计算机,并在远程计算机上启动进程。Wmic是Windows Management Instrumentation Command-line工具的缩写,它提供了一种命令行方式来访问和管理Windows操作系统中的各种管理信息和功能。
2. 远程执行:Psexec专注于远程执行命令或程序。您可以使用Psexec在远程计算机上启动命令提示符、运行脚本、执行程序等。Wmic也可以远程执行命令,但它更专注于系统管理和监控,可以通过Wmic查询和修改远程计算机上的各种系统信息和配置。
3. 命令语法:Psexec的命令语法相对简单,您只需要指定远程计算机的IP地址或主机名以及要执行的命令或程序。Wmic的命令语法更为复杂,它使用WMI查询语言(WQL)来查询和修改系统信息。您需要学习WQL语法才能有效使用Wmic。
4. 功能范围:Psexec可以执行各种命令和程序,包括批处理脚本、可执行文件、PowerShell脚本等。它可以在远程计算机上执行几乎任何命令或程序。Wmic主要用于系统管理和监控,您可以使用Wmic查询和修改各种系统信息,如进程、服务、网络配置、硬件信息等。
总结起来,Psexec适用于远程执行命令和程序,而Wmic适用于系统管理和监控。选择使用哪个工具取决于您的具体需求和任务。
PTT有哪些攻击方法
- MS14-068、金票、银票
PTT(Pass-the-Ticket)是一种利用Windows Kerberos身份验证协议中的票据传递功能的攻击方法。攻击者可以通过获取有效的票据(Ticket)来伪装成合法用户,并在网络中进行未授权的活动。以下是PTT攻击中常见的攻击方法的详细解释:
1. MS14-068:MS14-068是指微软在2014年发布的一个安全公告,其中披露了Windows Kerberos协议中的一个严重漏洞。该漏洞允许攻击者在不知道用户密码的情况下,通过伪造票据来获取域控制器的访问权限。攻击者可以利用该漏洞来提升自己的权限,访问敏感资源或者在网络中进行横向移动。
2. 金票(Golden Ticket):金票是指通过获取域控制器的加密密钥(KRBTGT账户的NTLM哈希值),并使用它来生成伪造的域控制器票据(TGT)。一旦攻击者获得了金票,他们可以伪装成任何用户,并且具有永久的访问权限,无需再次获取用户的密码。这种攻击方法对于域控制器被入侵的情况特别有用。
3. 银票(Silver Ticket):银票是指通过获取服务账户的加密密钥(服务账户的NTLM哈希值),并使用它来生成伪造的服务票据(Service Ticket)。攻击者可以使用银票来访问受信任的服务,而无需提供有效的用户凭据。这种攻击方法常用于横向移动和在网络中进行进一步的渗透。
为了防止PTT攻击,可以采取以下防护措施:
- 及时安装补丁:确保系统及时安装最新的安全补丁,以修复已知的漏洞。
- 强化身份验证:使用多因素身份验证(MFA)来增加用户身份验证的强度,减少被攻击者利用的可能性。
- 监控和检测:实施安全监控和事件响应系统,及时检测和响应异常活动。
- 限制权限:使用最小权限原则,确保用户只能访问他们所需的资源,减少攻击者利用的机会。
- 定期更换密钥:定期更换域控制器和服务账户的密钥,以减少攻击者获取有效票据的时间窗口。
综上所述,PTT攻击包括MS14-068漏洞、金票和银票等方法,攻击者可以通过伪造票据来获取未授权的访问权限。为了防止PTT攻击,应及时安装补丁、强化身份验证、监控和检测、限制权限以及定期更换密钥。
详细讲一下金票以及需要的信息
- AS认证中返回的TGT是由krbtgt用户的密码Hash加密的,有krbtgt的密码hash就可以自己制作任意的TGT需要域名、域SID、要模拟的用户名、krbtgt的hash
TGT是用于在Kerberos认证中获取服务票据(Service Ticket)的票据。当用户在Kerberos认证中进行身份验证时,他们会向域控制器发送其密码的哈希值以及域名和用户名等信息。域控制器会使用这些信息来生成TGT,并使用krbtgt用户的密码hash来对TGT进行加密。然后,TGT会被返回给用户,用户可以使用TGT来获取访问其他服务的服务票据。
如果攻击者能够获取到krbtgt用户的密码hash,他们可以使用该密码hash来生成伪造的TGT。为了生成伪造的TGT,攻击者需要知道域名、域SID、要模拟的用户名以及krbtgt的密码hash。
读hash读取不到怎么办
- 用工具把lsass进程dump下来,然后本地去读,或者转储sam文件,AD数据库的话可以用dcsync的方式转出来
lsass(Local Security Authority Subsystem Service)是 Windows 系统中一个重要的系统进程,负责处理本地安全策略、验证用户的登录凭据以及管理安全性相关的功能。lsass 进程存储了包括用户凭据在内的敏感信息,因此成为攻击者进行凭据盗取的目标之一。攻击者可以通过各种手段获取 lsass 进程的内存转储(dump),然后在本地分析这些数据以获取未加密的凭据信息。
AD(Active Directory)数据库是 Windows 网络环境中的核心组件,它存储了包括用户账户、计算机对象、组策略等在内的各种信息。攻击者可以利用 DCSync 技术从域控制器中提取 AD 数据库中的信息,包括凭据哈希等敏感信息。
攻击者可以使用各种工具来获取 lsass 进程的内存转储或者提取 AD 数据库中的信息,例如 Mimikatz、ProcDump、PowerSploit 等。这些工具可以帮助攻击者在获取这些敏感信息后进行离线分析,以获取明文凭据或者进行密码破解。
对于企业来说,保护 lsass 进程和 AD 数据库中的信息至关重要。企业可以通过以下方式来加强保护:
1. 实施严格的权限控制,限制对 lsass 进程和域控制器的访问权限,防止未授权的访问和操作。
2. 加强网络安全防御,包括入侵检测系统(IDS)、入侵防御系统(IPS)、防火墙等,及时发现并阻止攻击者对 lsass 进程和域控制器的攻击行为。
3. 部署安全监控和日志审计系统,及时发现异常行为并采取相应的响应措施。
4. 定期进行安全漏洞扫描和渗透测试,及时发现并修复潜在的安全风险。
总的来说,lsass 进程和 AD 数据库中存储的信息对于企业安全非常重要,保护这些信息需要综合考虑技术、流程和人员等方面的措施。
dcsync的利用条件
- 需要配置两个ACL的权限就可以了
DCSync是一种ba利用Windows域控制器(Domain Controller)的特权操作,从而获取域中其他用户密码哈希值的攻击技术。攻击者可以使用DCSync来获取域中任意用户的NTLM哈希值,然后通过离线破解的方式获取明文密码。以下是DCSync攻击的利用条件的详细解释:
1. 特权访问:DCSync攻击需要攻击者具有足够的特权访问域控制器。通常,攻击者需要拥有域管理员或企业管理员等高权限的账户,以便执行DCSync操作。
2. 域控制器访问权限:攻击者需要能够访问域控制器,以执行DCSync操作。这意味着攻击者需要在网络中获得对域控制器的访问权限,例如通过物理访问、远程桌面、钓鱼等方式。
3. 两个ACL的权限配置:DCSync攻击利用了Windows域控制器中的域复制功能。攻击者需要通过修改两个ACL(访问控制列表)的权限来允许非特权用户执行域复制操作。这两个ACL分别是“Domain Object”和“Domain DNS Object”。
- Domain Object ACL:攻击者需要在域对象的ACL中添加“Replicating Directory Changes All”权限,以允许非特权用户执行域复制操作。
- Domain DNS Object ACL:攻击者需要在域DNS对象的ACL中添加“Replicating Directory Changes All”权限,以允许非特权用户执行域复制操作。
通过修改这两个ACL的权限,攻击者可以模拟域控制器,从而获取域中其他用户的NTLM哈希值。
为了防止DCSync攻击,可以采取以下防护措施:
- 限制特权访问:限制域管理员和企业管理员等高权限账户的使用,并确保只有必要的人员拥有这些特权。
- 强化访问控制:严格控制域对象和域DNS对象的ACL权限,确保只有授权的用户可以执行域复制操作。
- 监控和检测:实施安全监控和事件响应系统,及时检测和响应异常活动,例如检测到非特权用户执行域复制操作的情况。
综上所述,DCSync攻击需要攻击者具有特权访问和域控制器访问权限,并且需要配置两个ACL的权限来允许非特权用户执行域复制操作。为了防止DCSync攻击,应限制特权访问、强化访问控制,并实施监控和检测措施。
详细讲一下ACL
- ACL就是访问权限,windows下不同的用户组有默认的ACL配置,你也可以单独添加权限,这样就算普通用户也可以给他添加向域管组添加用户的权限
ACL(Access Control List)是一种用于控制对象(如文件、文件夹、注册表项等)访问权限的列表。ACL定义了哪些用户或用户组可以访问对象以及他们可以执行的操作。在Windows操作系统中,ACL被广泛应用于文件系统、注册表、域控制器等。
ACL由一系列访问控制条目(ACE)组成,每个ACE指定了一个用户或用户组以及他们被授予的权限。ACE包含以下三个主要组成部分:
1. 安全标识符(SID):SID是一个唯一标识符,用于标识用户或用户组。每个用户和用户组在系统中都有一个唯一的SID。
2. 权限:权限定义了用户或用户组对对象的访问权限。常见的权限包括读取、写入、执行、修改权限等。不同的对象类型可能支持不同的权限。
3. 访问控制类型:访问控制类型指定了权限是允许还是拒绝。常见的访问控制类型有允许(Allow)和拒绝(Deny)。
在Windows操作系统中,每个对象都有一个默认的ACL配置。不同的用户组(如管理员组、用户组、访客组等)拥有不同的默认ACL配置。例如,管理员组通常具有对系统中所有对象的完全访问权限,而用户组只具有对一些普通文件和文件夹的有限访问权限。
除了默认的ACL配置,管理员可以根据需要单独添加或修改ACL。通过修改ACL,管理员可以为特定的用户或用户组添加或移除权限,从而精确控制对象的访问权限。例如,管理员可以将普通用户添加到域管组中,以赋予他们更高的权限。
需要注意的是,权限是累积的。如果一个用户同时属于多个用户组,他将继承这些用户组的所有权限。此外,如果对同一个对象设置了多个ACL条目,系统会按照一定的顺序进行权限判断,例如先应用拒绝权限,再应用允许权限。
总结起来,ACL是一种用于控制对象访问权限的列表。它由一系列访问控制条目组成,每个条目指定了用户或用户组以及他们被授予的权限。ACL可以用于精确控制对象的访问权限,管理员可以根据需要添加或修改ACL。