赞
踩
本文仅供学习交流,篇幅有限,欢迎各位补充
护网蓝队(初中级)
主要是会看各种攻击payload,注意常见的payload练习各种漏洞的利用方法,学会看利用漏洞的请求长什么样,payload长什么样,payload长什么样,给个请求包,能不能认出来是攻击流量,是的话是什么漏洞的利用;
蓝队(初级):基本漏洞扫描和渗透能力 日志分析 安全设备告警分析 能看懂安全产品
SQL注入
失效的身份认证
敏感数据泄露
XML外部实体(XXE)
失效的访问控制
安全配置错误
跨站脚本(XSS)
不安全的反序列化
使用含有已知漏洞的组件
不足的日志记录和监控
分类:
联合查询注入是一种常见的SQL注入攻击方式。其原理主要是攻击者通过构造特定的SQL语句,利用数据库的联合查询功能,将多个查询的结果合并在一起,支持在页面有回显的情况下查询数据。
它利用数据库管理系统在遇到语法错误时的错误处理机制来获取信息。在正常情况下,DBMS在遇到SQL语句中的语法错误时会返回一个错误信息。报错注入的原理是通过在SQL查询中故意制造语法错误,迫使DBMS执行错误处理逻辑,从而在错误信息中泄露敏感数据,解决页面无回显但有报错信息的情况下,执行数据查询。
解决无回显状态下的数据查询。布尔盲注根据页面返回状态的真/假执行判断。时间盲注根护
页面返回状态的延时执行判断。
攻击者在没有获得任何错误回显消息的情况下,通过使用一系列的布尔型或时间型查询,逐渐推断出数据库中的敏感信,旨在解决Windows系统上,页面无回显的问题,且不会导致向服务器端发送大量请求。
宽字节注入是利用了MySQL在处理GBK编码时的特定行为,即当遇到两个字节组合成一个汉字时,会将这两个字节视为一个整体,而不是单独的字符。这样,攻击者就可以通过构造特定的输入来绕过服务器的转义机制,执行未经授权的SQL操作,解决存在单引号过滤或magic_quotes_gpc开启的问题。
原理:XSS攻击,全称跨站脚本攻击(Cross-Site Scripting),是一种常见的网络安全漏洞。XSS攻击通过在网页中注入恶意脚本,使得攻击者可以获取用户的敏感信息,如cookie、session tokens等,通过拼接恶意的html代码,利用js语句来执行攻击,实现对用户浏览器的攻击
类型:
反射型:攻击代码在url里,输出在http响应中
存储型:把用户输入的数据存储在服务器上
DOM型:通过修改页面的DOM结点形成xss
XSS绕过:
1.大小写
2.js伪协议
3.没有分号
4.Flash
5.Html5新标签
6.Fuzz进行测试
了解不同类型xss的区别和特征。
CSRF跨站请求伪造攻击/客户端请求伪造
原理:利用一个可以发起网络请求的服务当作跳板来攻击内部其他服务。攻击者通过诱导用户访问恶意网站或点击恶意链接,利用用户已经登录的受信任网站的身份,发送非预期的请求到其他网站,执行非法的操作。
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)
原理:由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制导致的漏洞
原理:由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件,并通过此脚本文件获得了执行服务端命令的能力。
原理:程序员开发的时候没有对包含的文件进行严格的过滤,攻击者可以构造自己的图片木马文件当做PHP执行
常见包含函数:
include():找不到被包含的文件时只会产生警告,脚本将继续运行。
include\_once():找不到被包含的文件时只会产生警告,脚本将继续运行。如果该文件中的代码已经被包含,则不会再次包含,即程序只调用一次。
require():找不到被包含的文件时会产生致命错误,并停止脚本运行。
require\_once():找不到被包含的文件时会产生致命错误,并停止脚本运行。如果该文件中的代码已经被包含,则不会再次包含,即程序只调用一次。
原理:(在变量可控并且进行了unserialize操作的地方注入序列化对象,实现代码执行)未对用户输入的序列化字符串进行检测,
导致攻击者可以控制反序列化过程,从而导致代码执行,SQL注入,目录遍历等不可控后果。
在反序列化的过程中自动融发了某些魔术方法。当进行反序列化的时候就有可能会触发对象中的一些魔术方法。
序列化函数 :serialize():将对象转换成字符串
反序列化函数:unserialize():将字符串转换成对象
1.取证,登录服务器,备份,检查服务器敏感目录,查毒(搜索后门文件-注意文件的时间, 用户,后缀等属性),调取日志(系统,中间件日志,WAF日志等);
2.处理,恢复备份(快照回滚最近一次),确定入侵方法(漏洞检测并进行修复)
3.溯源,查入侵IP,入侵手法(网路攻击事件)的确定等
4.记录,归档--------预防-事件检测-抑制-根除-恢复-跟踪-记录通用漏洞的应对等其他 安全应急事件
1、检查系统账号安全查看服务器是否有弱口令,远程管理端口
是否公开查看服务器是否有可疑账号:cmd输入lusrmgr.msc命令查看服务器是否存在隐藏账号、克隆账号结合日志,查看管理员登录时间,用户名是否存在异常
2、检查异常端口、进程检查端口连接情况,是否有远程连接、可疑连接:a、netstat -ano查看目前的网络连接,
定位可疑的ESTABLISHEDb、根据netstat 定位出的pid,再通过tasklist命令进行进程定位 tasklist \| findstr “PID”
3、检查启动项、计划任务、服务win+r:输入msconfig,查看异常启动项win+r:输入regedit,打开注册表,查看开机启动项
4、检查系统相关信息win+r:输入systeminfo查看系统信息
5、日志分析win+r:输入eventvwr.msc,打开事件查看器导出应用程序日志,安全日志,系统日志,利用log parser分析
判断威胁情报是否有误,就看wireshark,进行流量分析判断是否为正常业务操作
判断自己是否给getshell(就是给用D盾查杀)
查web日志,分析攻击流量
扫webshell
排查网站目录,查看最近更改的文件
shell:
查看未知端口,未知进程
排查恶意流量,锁定感染进程
有安全设备就看安全设备
查日志,查服务,查进程,查看是否有可疑登陆,新增账号
首先就要是地位到具体的那一台机器,既然报警那就说明知道了具体的漏洞类型,加相应的补丁打上,
以linux为主(一般都会问linux的),查看/var/log/secure系统日志,查看登录失败的记录,还有Linux历史命令-->home目录的bash\_histor,查看执行过的命令。
在利用webshell或者是shell查杀工具查杀,查看tmp目录下是非有带有免杀的木马。彻底清除。再到全流量分析的机子上看,是非有经过其他的机器。
拿到攻击ip之后到线上的一些网站查看主机类型,比如360或者微步上,查看是非是傀儡机,vps跳板,
(思路是应急响应;加固;溯源)
被攻击后日志文件或者木马文件被删除排查:lsof恢复被删除的文件,然后查日志,查服务,查进程,查看是否有新增的账号
安全设备进行报警如何看是否是外界的攻击,即是否是误报,或是内部人员进行的操作:查看报警日志,对报警的数据进行分析,看是不是内部人员的操作,还是真实的攻击
分析流量数据包,可以用wireshark,分析流量是不是正常的业务操作
从日志流量文件开始,先定位位置查看敏感目录tmp usr/sbin etc/ssh ,对新创建文件,修改文件等进行查看,找特殊权限文件比如777 。
流量的话从ua和playload去分析。比如菜刀连jsp木马:第一个参数是a-q,这个是不会变的,第二个是编码,第三个是playload。日志的话从找到的shell时间点去关联分析,可以还原攻击手法
快速定位就是看进程和内存看占用时间长和占用率高的
先看ip,如果ip是公司内部的再看内部人员有没有相关操作,如果不是公司人员业务的操作那就是攻击了,
然后分析payload,分析它写的payload安全设备能否它进行过滤拦截,如果它确实能绕过,那就应该攻击成功了,
成功的话赶紧上报,做应急响应,做出相应处理,添加过滤规则,修改数据库中能修改的数据比如管理员账号密码啥的
蜜罐:就是一台全是漏洞的靶机,吸引黑客来进攻蜜罐系统,然后掌握黑客的信息 (就类似于诱饵)诱捕红队的攻击,让其认为自己攻击到了真实内网。
在线收集:在线的网站、https://phpinfo.me/domain/、 https://www.t1h2ua.cn/tools/、 https://dnsdumpster.com/、 https://hackertarget.com/find-dns-host-records/、https://site.ip138.com/baidu.com/domain.htm
工具收集:使用工具设置字典进行暴力穷举、Layer子域名挖掘机、SubDomainBrute、
Sublist3r、mydomin、OneForAll
搜索引擎:百度、谷歌、必应、fofa、zoomeye、shodan、
端口开放信息
端口范围:1-65535
masscan扫描端口、nmap端口扫描、御剑端口扫描脚本、fscan、goby
在线端口扫描:http://coolaf.com/tool/port
敏感信息收集
Cms识别
在线识别:云悉、潮汐指纹、在线cms指纹识别、
工具识别:御剑cms、whatcms
真实ip
判断cdn:超级ping,多地ping
绕过cdn找真实ip
旁站、c段
Fofa、shodan
网站信息
获取中间件信息、插件信息、js脚本、cms类型
敏感目录和文件
通过字典穷举文件和目录
文件发现
目录扫描工具:御剑扫描、BBscan、gobuster、dirBster
移动端
社会工程学
步骤:签署渗透测试授权书、信息收集、漏洞发现、漏洞利用、提权、内网、后门、输出报告、总结
遇到过滤如何处置?
(1)过滤*关键字*使用大小写绕过,双写绕过,URL编码绕过
(2)过滤*特殊字符*,*空格*使用URL编码绕过
(4)过滤*注释*使用添加一个闭合方式绕过,逻辑运算绕过
(5)过滤*单引号*使用宽字符绕过(前提PHP使用GBK编码)
(6)过滤*明码数据*使用burpsuite加密发送数据绕过
代替空格:/\*\*/、%0a、%0b、%a0
如何写shell:利用日志写shell:
root权限,GPC关闭,知道文件路径 的前提
日志路径:var/log/mysqld.sql
select '一句话' into outfile '路径'
select '一句话' into dumpfile '路径'
取得了sql权限之后,要怎么获取系统权限
Mysql\_UDF 提权 利用了root高权限,创建一个可以调用 cmd 的函数的 udf.dll 动态链接库,
导出 udf.dll 文件后,我们就可以直接在命令框输入 cmd
为何一个mysql数据库的站,只有一个80端口开放:
1、更改了数据库端口,没有扫描出来。
2、站库分离。
3、3306 端口不对外开放
sqlmap如何获取webshell的参数
sqlmap的--os-shell参数取得shell
本质:写入两个 php 文件,其中的一个可以让我们用来执行命令,而另外一个可以让我们可以上传文件。
执行条件有三个:
1)网站必须是root权限
2)攻击者需要知道网站的绝对路径
3)GPC为off,php主动转义的功能关闭
XSS如何绕过:
1.大小写
2.js伪协议
3.没有分号
4.Flash
5.Html5新标签
6.Fuzz进行测试
7.双层标签绕过
xss修复防御措施:
1.对输出内容实体化编码,对JavaScript的事件进行过滤
2.对重要的cookie设置httpOnly, 防止客户端通过document.cookie读取 cookie,此 HTTP头由服务端设置。
3.csp防范xss
存储型XSS的危害
此类型的XSS漏洞是由于恶意攻击代码被持久化保存到服务器上,然后被显示到HTML页面之中。
这类漏洞经常出现在用户评论的页面,攻击者精心构造XSS代码,保存到数据库中,当其他用户再次访问这个页面时,就会触发并执行恶意的XSS代码,从而窃取用户的敏感信息
CSRF与SSRF区别
CSRF(跨站/客户端请求伪造) => 浏览器因为JS偷偷发送数据包
SSRF(服务器端请求伪造)=> 服务器因为你传的参数偷偷发送数据包
C or S => C客户端(client)s服务端(server)
菜刀 蚁剑 冰蝎 cs msf哥斯拉 流量特征
菜刀特征
使用了base64的方式加密了发送给“菜刀马”的指令,其中的两个关键payload z1和z2,这个名字是可变的
cs流量特征:
基础特征:心跳包,请求特征:下发的指令,url路径,老版本固定的ua头,源码特征:checksum8(92L93L)
A端口号:50050
MSF流量特征:
端口号:msf默认使用4444端口作为反向连接端口,数据内容:msf数据包通常包含特定字符串:(“meterpreter"、“revshell"等),开始目标机器会发送一些空的get请求到攻击机多攻击机那边执行了命令之后,就会变成post 请求,并且携带加密的数据包
蚁剑特征
默认的USER-agent请求头 是 antsword xxx,
但是可以通过修改:/modules/request.js 文件中请求UA 绕过其中流量最中明显的特征为<span class="label label-primary">@ini\_set(</span>"display\_errors","0");
这段代码基本是所有 WebShell客户端链接PHP类WebShell都有的一种代码蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以“\_0x......=”这种形式(下划线可替换),
所以以\_0x开头的参数名也很可能就是恶意流量
冰蝎看包没有发现什么特征,但是可以发现它是POST请求的
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取消了动态密钥获取;
php抓包看包没有发现什么特征,但是可以发现它是POST请求的
1)Accept头application/xhtml+xmlapplication/xmlapplication/signed- exchange属于弱特征
2)ua头该特征属于弱特征。通过burp可以修改,冰蝎3.0内置的默认16个userAgent都比较老。
现实生活中很少有人使用,所以这个也可以作为waf规则特征jsp抓包特征分析Content-Type: application/octet-stream 这是一个强特征查阅资料可知 octet-stream的意思是,
只能提交二进制,而且只能提交一个二进制,如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组);很少使用
冰蝎2.0和3.0区别:1,加密方式不同,一个是RC4加密,一个AES加密。2,编写语言不同,2.0采用的是c++,3.0采用的是ava。3,冰蝎流量检测,无论是get请求还是post请求,content-type为application/octet-stream。
冰蝎4.0特征:
流量分析:1,十种ua头,可关键字拦截ua头进行匹配拦截。2,流量特征accept字段Content-type:Application/x-www-form-urlencoded3Accept:application/json.textjavascript.*/*:q=0.01
如果一台服务器被入侵后,你会如何做应急响应?
查日志,查服务,查进程,查看是否有可疑登陆,新增账号
如何判断是否有部署cdn?如何查找真实ip
多地ping,如果是国内的cdn就用国外ping,访问子域名,查看历史域名解析记录
dos将资源耗尽,访问真实ip
如何判断攻击是否是真实攻击
看流量特征、响应包,看关联流量和访问ip是不是恶意,借助响应包,关联事件,结合会话日志(http访问日志和会话日志,判断攻击是否成功)
Url或数据中看到恶意payload,如何判断是否是真实攻击
综合判断来源ip,看过往流量
如何判断是手工还是漏扫
查看流量来源,检测流量频率和规律,观察流量的请求路径和参数,分析流量的响应状态码和长度
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。