CSRF跨站请求伪造攻击/客户端请求伪造
原理:利用一个可以发起网络请求的服务当作跳板来攻击内部其他服务。
常出现在:1.能够对外发起网络请求的地方 2.请求远程服务器资源的地方 3.数据库内置功能 4.邮件系统 5.文件处理 6.在线处理工具
各种区别:
xss与csrf区别
XSS:跨站脚本攻击;利用站点内的信任用户盗取cookie
CSRF:跨站请求伪造攻击;通过伪装成信任用户请求信任的网站
CSRF与SSRF区别
CSRF(跨站/客户端请求伪造) => 浏览器因为JS偷偷发送数据包
SSRF(服务器端请求伪造)=> 服务器因为你传的参数偷偷发送数据包
C or S => C客户端(client)s服务端(server)
0x04文件上传
原理:由于程序员在对用户文件上传部分的控制不足或者处理缺陷,
而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件,
并通过此脚本文件获得了执行服务端命令的能力。
0x05 各大中间件、框架
shiro:
Shiro就是一个Java安全框架
shiro550:提供了记住密码的功能,用户信息存储在cookie中,利用方法:构造恶意cookie的payload触发Java反序列化,导致远程命令执行漏洞。
shiro721:rememberMe字段存在漏洞,通过构造恶意的rememberMe字段进行反序列化,重进请求网站,进行反序列化,最终导致任意代码执行
log4j2*:***
log4j是Java的日志软件。
漏洞利用:允许lookup去查看日志和读取相关配置,在Log4j日志输出时,未对输入的字符合法性进行严格的限制,造成JNDI协议加载的远程恶意脚本被执行,从而造成RCE。
fastjson*:***
Fastjson 是一个 Java 库,支持autoType来实例化一个类。
漏洞利用:简单来讲就是由于rmi服务器执行了构造伪站点的类文件,从而造成漏洞
weblogic*:***
一个基于JAVAEE架构的中间件,默认通信协议是T3协议
漏洞利用:T3协议缺陷实现了Java虚拟机的远程方法调用rmi,能够进行调用远端代码去反弹shell
JBoss*:***
基于J2EE的开放源代码的应用服务器
常见漏洞:未授权访问漏洞、反序列化漏洞
漏洞利用:漏洞原理在/invoker/readonly路径下,攻击者可以构造序列化代码传入服务器进行反序列化,由于没有对反序列化操作进行任何检测,导致攻击者可以执行任意代码
tomcat*:***
中间件
常见漏洞:文件上传,文件包含,弱口令
文件上传:Tomcat配置文件/conf/web.xml 配置了可写(readonly=false),导致可以使用PUT方法上传任意文件,攻击者将精心构造的payload向服务器上传包含任意代码的 JSP 文件。之后,JSP 文件中的代码将能被服务器执行。
0x06 流量特征
菜刀
使用了base64的方式加密了发送给“菜刀马”的指令,其中的两个关键payload z1和z2,这个名字是可变的,请求包中:ua头为百度,火狐,请求体中存在eavl,base64等特征字符。
蚁剑
默认的USER-agent请求头 是 antsword xxx,
但是可以通过修改:/modules/request.js 文件中请求UA 绕过其中流量最中明显的特征为@ini\_set(“display\_errors”,“0”);
这段代码基本是所有 WebShell客户端链接PHP类WebShell都有的一种代码蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以“\_0x…=”这种形式(下划线可替换),
所以以\_0x开头的参数名也很可能就是恶意流量
冰蝎
1、Accept头有application/xhtml+xmlapplication/xmlapplication/signed- exchange属于弱特征(UA头的浏览器版本很老)
2、特征分析Content-Type: application/octet-stream 这是一个强特征查阅资料可 知octet-stream的意思是,只能提交二进制,
而且只能提交一个二进制,如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组);很少使用
冰蝎2特征:
默认Accept字段的值很特殊,而且每个阶段都一样冰蝎内置了十余种UserAgent ,每次连接 shell 会随机选择一个进行使用。但都是比较老的,r容易被检测到,
但是可以在burp中修改ua头。Content-Length: 16, 16就是冰蝎2连接的特征
冰蝎3特征:
冰蝎3取消动态密钥获取,目前很多waf等设备都做了冰蝎2的流量特征分析,所以3取消了动态 密 钥获取;
哥斯拉
1、强特征:cookie字段,最后一个cookie的值出现;
2、payload特征:jsp会出现xc.pass字符和Java反射,base64加解码等特征
cs
基础特征:心跳包,请求特征:下发的指令,url路径,老版本固定ua头,源码特征:checksum8
默认端口:50050
MSF
端口号:msf默认使用4444端口作为反向连接端口,数据内容: msf数据包通常包含特定字符串:meterpreter、revshell等
0x07 常见端口
21端口:FTP文件传输协议端口,用来捕获黑客的FTP爆破行为
22端口:SSH端口 链接Linux主机SSH服务的端口,用来捕获黑客的SSH爆破行为
23端口:Telnet服务,命令执行服务,用来探测黑客对于telnet的爆破
80端口/443端口:WEB服务的端口,用来捕获黑客的WEB攻击行为特征
1521端口:oracle数据库开放端口,捕获黑客的oracle爆破行为,UDF命令执行等行为
3306端口:MYSQL端口,用来捕获黑客对于mysql数据库的爆破行为,UDF命令执行等行为
3389端口:Windows远程桌面端口,用来捕获黑客的爆破行为
6379端口:REDIS端口,捕获黑客REDIS未授权访问的攻击,黑客利用redis写ssh秘钥,写webshell,执行计划任务等的攻击
445端口:SMB服务端口-黑客利用永恒之蓝Enternalblue的攻击行为,黑客的SMB账号爆破(通俗简单理解,爆破windows账号密码)
1433端口:Microsoft SQLserver端口,用来捕获黑客爆破1433端口的行为,并且查看黑客利用sqlserver xp\_cmdshell,sp\_cmdshell等组件命令执行的操作,存储过程的利用
135、139端口:捕获黑客的利用RPC共享的攻击(当蜜罐部署在内网)
比如在8080端口,部署一个假的vpn页面,吸引黑客攻击
0x08 Windows入侵排查排查思路
收集信息:收集与系统安全相关的信息,包括日志文件、进程列表、网络连接、系统配置等。
分析信息:对收集到的信息进行分析,确定异常行为和潜在威胁。
确认威胁:确认系统存在威胁,并确定其类型和程度。
阻止攻击:采取相应的措施,尽快阻止攻击并减少损失。
恢复系统:对受到攻击的系统进行恢复,确保其正常运行。
具体来说,可以采取以下几种方法进行入侵排查:
使用防病毒软件:定期使用防病毒软件扫描系统,及时发现并清除潜在的威胁。
定期更新系统:定期更新系统和安全补丁,以确保系统的安全性。
监控网络连接:监控网络连接情况,及时发现异常连接和流量,以及非法访问尝试。
分析日志文件:分析日志文件,了解系统的使用情况和异常行为,及时发现威胁。
使用安全工具:使用安全工具,如入侵检测系统、网络监控系统等,帮助发现和阻止威胁。
加强用户教育:加强用户教育,提高用户安全意识,减少人为因素对系统安全的影响。
总之,入侵排查需要综合运用多种工具和方法,不断加强系统的安全性和监控能力,以保障系统的安全运行。
0x09 Linux入侵排查思路
收集基础信息:收集系统的版本、配置文件和日志等信息,了解系统的正常运行状态。
分析异常行为:通过比较正常状态与异常状态的差异,分析系统上出现的任何异常行为,例如不寻常的进程、网络流量或文件更改。
确认入侵点:确定攻击者可能入侵的方式,并检查是否存在未修复的漏洞。
隔离受感染的系统:及时隔离受感染的系统,以限制损害并避免进一步传播。
恢复系统:清除恶意代码并修复受损部分,通过备份恢复数据和配置文件,确保系统安全。
收集证据:收集入侵事件的详细信息,包括攻击的时间、入侵的方式、影响范围、损失情况等,以便后续追踪和定位攻击者。
在实际操作中,需要结合专业的工具和技能进行排查,例如使用抓包工具Wireshark分析网络流量、使用进程监控工具ps、top、htop等查看进程运行情况。同时,还需要不断学习更新各种安全相关的技能和知识,以提高排查入侵事件的能力。
0x10 常见相应状态码
- 404**:**404 状态码表示请求资源不存在,即表示攻击失败;
- 200**:**200 状态码表示请求成功,但是请求成功并不代表攻击成功,具体需要结合请求与 响应进行判断;如下图攻击中,攻击者尝试利用 Struts2 远程代码执行漏洞(S2-045)对目标 系统进行攻击,响应状态码为 200。该漏洞攻击载荷在 HTTP 请求头部的 Content-Type,分 析该攻击载荷,如果漏洞存在的话会在响应的头部添加 testvuln 字段,值为 1234x1234 即 1522756。分析响应的头部,并未发现存在 testvuln 字段,因此研判该漏洞攻击未成功。
- 401**:**401 状态表示未授权状态。该状态码返回常见于 HTTP 的 Basic 认证。
- 500**:**500 状态码表示服务器内部错误,通常漏洞攻击也会导致出现 500 错误,但是出现 500 错误并不表示攻击失败,需要根据实际情况研判。
- 301:本状态码将浏览器【永久重定向】到另外一个在Location消息头中指定的URL。以后客户端应使用新URL替换原始URL。
- 302:本状态码将浏览器【暂时重定向】到另外一个在Location消息头中指定的URL.客户端应在随后的请求中恢复使用原始URL.
0x11 溯源反制
1.攻击源捕获
安全设备报警,如扫描IP、威胁阻断、病毒木马、入侵事件等
日志与流量分析,异常的通讯流量、攻击源与攻击目标等
服务器资源异常,异常的文件、账号、进程、端口,启动项、计划任务和服务等
邮件钓鱼,获取恶意文件样本、钓鱼网站 URL 等
蜜罐系统,获取攻击者 ID、电脑信息、浏览器指纹、行为、意图的相关信息
2.溯源反制手段
IP 定位技术
根据IP定位物理地址–代理 IP
ID 追踪术
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
zYIL1V-1715453564410)]
[外链图片转存中…(img-EEAJ6Qli-1715453564410)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!