当前位置:   article > 正文

全是干货!24hvv行动蓝初知识点汇总_深蓝hvv蓝初

深蓝hvv蓝初

24hvv知识点汇总

本文仅供学习交流,篇幅有限,欢迎各位补充

护网蓝队(初级)
主要是会看各种攻击payload,注意常见的payload练习各种漏洞的利用方法,学会看利用漏洞的请求长什么样,payload长什么样,payload长什么样给个请求包,能不能认出来是攻击流量,是的话是什么漏洞的利用;

蓝队(初级):基本漏洞扫描和渗透能力 日志分析 安全设备告警分析 能看懂安全产品

一、前置知识:

owasp top 10漏洞

常见漏洞:

SQL注入
失效的身份认证
敏感数据泄露
XML外部实体(XXE)
失效的访问控制
安全配置错误
跨站脚本(XSS)
不安全的反序列化
使用含有已知漏洞的组件
不足的日志记录和监控

基础漏洞:

sql注入漏洞
原理(口头语言):用户的输入嵌入到SQL语句中,然后被当做代码执行
成因:未对用户输入的数据做验证或者处理(预编译)
防御:预编译(能够防止SQL注入,但是不能处理%和\_特殊字符)
黑名单:对特殊字符进行转义过滤替换或者删除、
白名单:对用户输入进行限制(正则表达式限制)、
规范编码和字符集(编码不同可能会导致宽字节注入)、
参数化查询(原理):不会把参数的内容当做sql语句执行,完成编译后套用参数运行

分类:

联合查询注入:

联合查询注入是一种常见的SQL注入攻击方式。其原理主要是攻击者通过构造特定的SQL语句,利用数据库的联合查询功能,将多个查询的结果合并在一起,支持在页面有回显的情况下查询数据。

报错注入:

它利用数据库管理系统在遇到语法错误时的错误处理机制来获取信息。在正常情况下,DBMS在遇到SQL语句中的语法错误时会返回一个错误信息。报错注入的原理是通过在SQL查询中故意制造语法错误,迫使DBMS执行错误处理逻辑,从而在错误信息中泄露敏感数据解决页面无回显但有报错信息的情况下,执行数据查询。

盲注:

解决无回显状态下的数据查询。布尔盲注根据页面返回状态的真/假执行判断。时间盲注根护

页面返回状态的延时执行判断。

Dnslog注入:

攻击者在没有获得任何错误回显消息的情况下,通过使用一系列的布尔型或时间型查询,逐渐推断出数据库中的敏感信旨在解决Windows系统上,页面无回显的问题,且不会导致向服务器端发送大量请求。

宽字节注入:

宽字节注入是利用了MySQL在处理GBK编码时的特定行为,即当遇到两个字节组合成一个汉字时,会将这两个字节视为一个整体,而不是单独的字符。这样,攻击者就可以通过构造特定的输入来绕过服务器的转义机制,执行未经授权的SQL操作解决存在单引号过滤或magic_quotes_gpc开启的问题。

Xss

原理: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

CSRF跨站请求伪造攻击/客户端请求伪造
原理:利用一个可以发起网络请求的服务当作跳板来攻击内部其他服务。攻击者通过诱导用户访问恶意网站或点击恶意链接,利用用户已经登录的受信任网站的身份,发送非预期的请求到其他网站,执行非法的操作。

SSRF

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)

原理:由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制导致的漏洞

文件上传

原理:由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件,并通过此脚本文件获得了执行服务端命令的能力。

文件包含

原理:程序员开发的时候没有对包含的文件进行严格的过滤,攻击者可以构造自己的图片木马文件当做PHP执行
常见包含函数:
include():找不到被包含的文件时只会产生警告,脚本将继续运行。
include\_once():找不到被包含的文件时只会产生警告,脚本将继续运行。如果该文件中的代码已经被包含,则不会再次包含,即程序只调用一次。
require():找不到被包含的文件时会产生致命错误,并停止脚本运行。
require\_once():找不到被包含的文件时会产生致命错误,并停止脚本运行。如果该文件中的代码已经被包含,则不会再次包含,即程序只调用一次。

PHP序列化和反序列化


原理:(在变量可控并且进行了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盾查杀)


webshell:

查web日志,分析攻击流量
扫webshell
排查网站目录,查看最近更改的文件
shell:
查看未知端口,未知进程
排查恶意流量,锁定感染进程
有安全设备就看安全设备

如果一台服务器被入侵后,你会如何做应急响应?

查日志,查服务,查进程,查看是否有可疑登陆,新增账号

内网报警处理方式

首先就要是地位到具体的那一台机器,既然报警那就说明知道了具体的漏洞类型,加相应的补丁打上,
以linux为主(一般都会问linux的),查看/var/log/secure系统日志,查看登录失败的记录,还有Linux历史命令-->home目录的bash\_histor,查看执行过的命令。
在利用webshell或者是shell查杀工具查杀,查看tmp目录下是非有带有免杀的木马。彻底清除。再到全流量分析的机子上看,是非有经过其他的机器。
拿到攻击ip之后到线上的一些网站查看主机类型,比如360或者微步上,查看是非是傀儡机,vps跳板,
(思路是应急响应;加固;溯源)

被攻击后日志文件或者木马文件被删除排查:lsof恢复被删除的文件,然后查日志,查服务,查进程,查看是否有新增的账号
安全设备进行报警如何看是否是外界的攻击,即是否是误报,或是内部人员进行的操作:查看报警日志,对报警的数据进行分析,看是不是内部人员的操作,还是真实的攻击


流量分析是否是误报:

分析流量数据包,可以用wireshark,分析流量是不是正常的业务操作

服务中了webshell 怎样从日志找webshell位置,被拿shell后怎么应急,怎样快速定位shell

从日志流量文件开始,先定位位置查看敏感目录tmp usr/sbin etc/ssh ,对新创建文件,修改文件等进行查看,找特殊权限文件比如777 。
流量的话从ua和playload去分析。比如菜刀连jsp木马:第一个参数是a-q,这个是不会变的,第二个是编码,第三个是playload。日志的话从找到的shell时间点去关联分析,可以还原攻击手法
快速定位就是看进程和内存看占用时间长和占用率高的

设备报警,SQL注入的报警,能看到攻击时间,攻击ip,payload,如何判断是误报还是真是攻击,如果是真实攻击,怎么判断他攻击是否成功,如果成功怎么处理

先看ip,如果ip是公司内部的再看内部人员有没有相关操作,如果不是公司人员业务的操作那就是攻击了,
然后分析payload,分析它写的payload安全设备能否它进行过滤拦截,如果它确实能绕过,那就应该攻击成功了,
成功的话赶紧上报,做应急响应,做出相应处理,添加过滤规则,修改数据库中能修改的数据比如管理员账号密码啥的

关于蜜罐

蜜罐:就是一台全是漏洞的靶机,吸引黑客来进攻蜜罐系统,然后掌握黑客的信息 (就类似于诱饵)诱捕红队的攻击,让其认为自己攻击到了真实内网。

三、各种流程

1、信息收集流程

域名,子域名收集

在线收集:在线的网站、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

移动端

社会工程学

渗透测试基本流程

步骤:签署渗透测试授权书、信息收集、漏洞发现、漏洞利用、提权、内网、后门、输出报告、总结

四、常见面试题

Sql常见问题:

遇到过滤如何处置?
(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常见问题:

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代码,从而窃取用户的敏感信息

XSS CSRF SSRF区别:
xss与csrf区别
XSS:跨站脚本攻击;利用站点内的信任用户盗取cookie
CSRF:跨站请求伪造攻击;通过伪装成信任用户请求信任的网站

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,看过往流量

如何判断是手工还是漏扫

查看流量来源,检测流量频率和规律,观察流量的请求路径和参数,分析流量的响应状态码和长度

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/695930
推荐阅读
相关标签
  

闽ICP备14008679号