0


护网面试总结

怎么确定一个网站是不是站库分离

(1)查询web服务器名

LENOVO-GH*****—select @@servername;

(2)查询数据库服务器名

DESKTOP-1HV****—select host_name();

对比两个查询结果,即可判断。相同则同站同库,不同就是站库分离

知道那些防火墙设备

常见的 HW 设备有:公安部网防G01、K01、360网康/网神防火墙、微步威胁情报、安恒云-Web应用防火墙(玄武盾)、默安蜜罐、知道创宇蜜罐、山石防火墙
NGAF/NGFW:下一代 Web 应用防火墙(Next Generation Application Firewall,通防火墙和下一代防火墙的区别),聚合了以下功能

IDS
HIDS:基于主机的入侵检测系统
NIDS:基于网络的入侵检测系统
HIDS+NIDS:基于混合数据源的入侵检测系统
IPS:入侵防御系统
AV:反病毒系统
EDR:主机安全管理\终端检测和响应

EDR 实时监测终端上发生的各类行为,采集终端运行状态,在后端通过大数据安全分析、机器学习、沙箱分析、行为分析、机器学习等技术,提供深度持续监控、威胁检测、高级威胁分析、调查取证、事件响应处置、追踪溯源等功能,可第一时间检测并发现恶意活动,包括已知和未知威胁,并快速智能地做出响应,全面赋予终端主动、积极的安全防御能力

简单来说就是给内网环境中所有主机安装管理软件终端,可以在管理平台集中管理和数据分析过滤,基本所有安全厂商都有自己的 EDR 产品

运维审计和管理平台(堡垒机)

DAS:数据库安全审计平台

LAS:日志审计安全平台

AC:上网行为管理系统

伪装欺骗系统(蜜罐、蜜网)

SIP:安全态势感知平台

这个算是让整套系统性能得到提升的灵魂了,定位为客户的安全大脑,是一个集检测、可视、响应处置于一体的大数据安全分析平台。产品以大数据分析为核心,支持主流的安全设备、网络设备、操作系统等多源数据接入,利用大数据、关联分析、告警降噪等技术,实现海量数据的统一挖掘分析

防火墙报警如何确定是不是误判

一般情况下,真实攻击不可能只持续一次,它一定是长时间、周期性、多 IP 的进行攻击

比如数据包或者日志,你的分析思路是什么,以及你会用到哪些工具或者那些网站进行查询?

用流量监测的安全设备,比如天眼,查看报文,分析报文里和 host 和网站目录路径,查看是否可疑,使用微步查询 host 是否为恶意,使用 wireshark 对数据包深度分析

看一下请求的网站路径,源 IP 与目的 IP 地址,host 字段的值以及发包内容等

工具有 wireshark,网站的话微步在线等威胁情报中心

文件上传和命令执行,有看过相关日志吗

文件:可能在系统有上传功能或者有文本编辑器,看一下是否有 base64 加密或者 url 加密,解码验证一下是否有恶意代码

系统日志:有没有 web 容器做了一些危险行为,比如 bash 反弹 shell 等

网络应用日志:有没有异常的网站文件,类似 webshell 等,就有可能是命令执行

windows日志分析工具

Event Log Explorer

给你一个比较大的日志,应该如何分析

攻击规则匹配,通过正则匹配日志中的攻击请求
统计方法,统计请求出现次数,次数少于同类请求平均次数则为异常请求
白名单模式,为正常请求建立白名单,不在名单范围内则为异常请求
HMM 模型,类似于白名单,不同点在于可对正常请求自动化建立模型,从而通过正常模型找出不匹配者则为异常请求
借助日志分析工具,如 LogForensics 腾讯实验室 https://security.tencent.com/index.php/opensource/detail/15

设备出现了误报如何处置(日志)

先去查看设备的完整流量日志等信息。在护网过程中如果确实存在异常流量应当及时进行上报,确认是误报后做好事件记录

nmap 扫描基础命令

-sT TCP (全)连接扫描,准确但留下大量日志记录
-sS TCP SYN (半)扫描,速度较快,不会留下日志
-sN null 扫描,标志位全为 0,不适用 Windows
-sF FIN 扫描,标志位 FIN=1,不适用 Windows
-O 查看目标主机系统版本
-sV 探测服务版本
-A 全面扫描

渗透测试的工作吗

首先信息收集,收集子域名、Whois、C段、旁站、Web 系统指纹识别,然后测试 web 系统的漏洞

你还用过其他态势感知的产品吗?

ips,ids,hids,堡垒机等

命令行工具用的什么比较多

xshell、xftp、finalshell

你用过微步吗?

微步在线是一个威胁情报中心,可以通过 ip 或域名查询其是不是恶意的,对于判断恶意链接具有一定的参考性,他还有一个插件可以在页面选中就能进行查询,还是一个比较好用的工具

横向越权漏洞的修复

横向越权:横向越权指的是攻击者尝试访问与他拥有相同权限的用户的资源

纵向越权:纵向越权指的是一个低级别攻击者尝试访问高级别用户的资源

对于纵向越权,我们可以通过设置用户角色,为不同的角色提供不同的权限来避免

为了防止横向越权,我们可以使用缓存来进行辅助,当登录成功或者进行操作时,我们在缓存中存储一对由用户名和一个唯一的数字组成的数据(token),然后返回放入的唯一数据在重置密码时我们的参数不仅需要用户名和密码还需要前面生成的唯一数字,根据用户名在缓存中取出对应的数字,如果取出的数字和参数中传入的想等,则证明重置的当前用户的密码,否则不是,且不予以重置

如何反爬

后台对访问进行统计,如果单个 IP 访问超过阈值,予以封锁

后台对访问进行统计,如果单个 session 访问超过阈值,予以封锁

后台对访问进行统计,如果单个 userAgent 访问超过阈值,予以封锁

以上的组合

如何发现钓鱼邮件

发现途径如下:

邮件系统异常登录告警、员工上报、异常行为告警、邮件蜜饵告警

推荐接入微步或奇安信的情报数据。对邮件内容出现的 URL 做扫描,可以发现大量的异常链接

钓鱼邮件处置

屏蔽办公区域对钓鱼邮件内容涉及站点、URL 访问

根据办公环境实际情况可以在上网行为管理、路由器、交换机上进行屏蔽

邮件内容涉及域名、IP 均都应该进行屏蔽

对访问钓鱼网站的内网 IP 进行记录,以便后续排查溯源可能的后果

屏蔽钓鱼邮件

屏蔽钓鱼邮件来源邮箱域名

屏蔽钓鱼邮件来源 IP

有条件的可以根据邮件内容进行屏蔽

删除还在邮件服务器未被客户端收取钓鱼邮件

处理接收到钓鱼邮件的用户

根据钓鱼邮件发件人进行日志回溯

此处除了需要排查有多少人接收到钓鱼邮件之外,还需要排查是否公司通讯录泄露。采用 TOP500 姓氏撞库发送钓鱼邮件的攻击方式相对后续防护较为简单。如果发现是使用公司通讯录顺序则需要根据通讯录的离职情况及新加入员工排查通讯录泄露时间。毕竟有针对性的社工库攻击威力要比 TOP100、TOP500 大很多

通知已接收钓鱼邮件的用户进行处理

删除钓鱼邮件

系统改密

全盘扫毒

后续:溯源、员工培训提升安全意识

遇到.exe文件如何处理?

首先看它的来源和去向,然后可以下载但不运行,放入微步沙箱中,看是否有后门,若有后门,就用 IDA 反汇编得到恶意攻击者的有用信息,再进一步描绘出攻击者画像进行溯源

Log4j

log4j 是 javaweb 的日志组件,用来记录 web 日志

去指定下载文件的 url 在搜索框或者搜索的 url 里面,加上 ${jndi:ldap://127.0.0.1/test} ,log4j 会对这串代码进行表达式解析,给 lookup 传递一个恶意的参数指定,参数指的是比如 ldap 不存在的资源 $ 是会被直接执行的。后面再去指定下载文件的 url,去下载我们的恶意文件。比如是 x.class 下载完成后,并且会执行代码块

修复:升级 Log4j 到最新版本,根据业务判断是否关闭 lookup

WAF有哪些防护方式?

Web基础防护

可防范常规的 web 应用攻击,如 SQL 注入攻击、XSS 跨站攻击等,可检测 webshell,检查 HTTP 上传通道中的网页木马,打开开关即实时生效

CC 攻击防护

可根据 IP、Cookie 或者 Referer 字段名设置灵活的限速策略,有效缓解 CC 攻击

精准访问防护

对常见 HTTP 字段进行条件组合, 支持定制化防护策略如CSRF防护,通过自定义规则的配置,更精准的识别恶意伪造请求、保护网站敏感信息、提高防护精准性

IP 黑白名单

添加终拦截与始终放行的黑白名单 IP,增加防御准确性

地理位置访问控制

添加地理位置访问控制规则,针对来源 IP 进行自定义访问控制

网页防篡改

对网站的静态网页进行缓存配置,当用户访问时返回给用户缓存的正常页面,并随机检测网页是否被篡改

网站反爬虫

动态分析网站业务模型,结合人机识别技术和数据风控手段,精准识别爬虫行为

误报屏蔽

针对特定请求忽略某些攻击检测规则,用于处理误报事件

隐私屏蔽

隐私信息屏蔽,避免用户的密码等信息出现在事件日志中

防敏感信息泄露

防止在页面中泄露用户的敏感信息,例如:用户的身份证号码、手机号码、电子邮箱等
在这里插入图片描述

webshell分析思路

1.基于webshell特征检测
常见webshell函数

(1)存在系统调用的命令执行函数,如eval、system、cmd_shell、assert等;

(2)存在系统调用的文件操作函数,如fopen、fwrite、readdir等;

(3)存在数据库操作函数,调用系统自身的存储过程来连接数据库操作;

(4)具备很深的自身隐藏性、可伪装性,可长期潜伏到web源码中;

(5)衍生变种多,可通过自定义加解密函数、利用xor、字符串反转、压缩、截断重组等方法来绕过检测;

基于webshell工具特征的检测

webshell的访问特征

1)少量的IP对其发起访问

2)总的访问次数少

3)该页面属于孤立页面

webshell防御

1.建议用户通过ftp来上传、维护网页,尽量不安装asp的上传程序。

2.对asp上传程序的调用一定要进行身份认证,并只允许信任的人使用上传程序。

3.asp程序管理员的用户名和密码要有一定复杂性,不能过于简单,还要注意定期更换。

4.到正规网站下载程序,下载后要对数据库名称和存放路径进行修改,数据库名称要有一定复杂性。

5.要尽量保持程序是最新版本。

6.不要在网页上加注后台管理程序登陆页面的链接。

7.为防止程序有未知漏洞,可以在维护后删除后台管理程序的登陆页面,下次维护时再通过上传即可。

8.要时常备份数据库等重要文件。

9.日常要多维护,并注意空间中是否有来历不明的asp文件。

10.尽量关闭网站搜索功能,利用外部搜索工具,以防爆出数据。

11.利用白名单上传文件,不在白名单内的一律禁止上传,上传目录权限遵循最小权限原则。

windows日志位置

Windows系统日志都是在“事件查看器”下面的。

具体步骤如下:

我的电脑 - 右键单击 - 管理 - 计算机管理 - 系统工具 - 事件查看器 - Windows日志;
Linux系统日志都是放在“/var/log”下面的,

应急

6.应急:
Linux入侵排查思路; 1账号安全,2历史命令,3检查异常端口,4检查异常进程,
5检查开机启动项,6检查定时任务,7检查服务,8检查异常文件,9检查系统日志
windows
1 检查系统账号安全2.检查异常端口、进程3.检查启动项、计划任务、服务
4.日志分析
(1. 日志中搜索关键字:如:union,select等
2. 分析状态码:

  • 1xx information
  • 200 successful
  • 300 redirection
  • 4xx client error
  • 5xx server error
  1. 查找可疑文件,webshell
  2. 分析文件修改日期
  3. 系统日志分析)

常见的应急响应事件分类:
web入侵:网页挂马、主页篡改、Webshell
系统入侵:病毒木马、勒索软件、远控后门
网络攻击:DDOS攻击、DNS劫持、ARP欺骗

CDN绕过

  1. 子域名入手 某些企业业务线众多,有些站点的主站使用了CDN,或者部分域名使用了CDN,某些子域名可能未使用。查询子域名的方法就很多了:subDomainsBrute、Sublist3r、Google hack等

2.利用网站漏洞
如果目标站点存在漏洞,这就没办法避免了。例如phpinfo敏感信息泄露、Apache status和Jboss status敏感信息泄露、网页源代码泄露、svn信息泄露信、github信息泄露等。

若存在web漏洞,服务器主动与我们发起请求连接,我们也能获取目标站点真实ip。例如xss、ssrf、命令执行反弹shell等。
历史DNS记录
查询ip与域名绑定历史记录,可能会发现使用CDN之前的目标ip。查询网站有:
网络空间引擎搜索法
zoomeye、fofa、shodan

通过这些公开的安全搜索引擎爬取得历史快照,主要得一些特征总结如下:

特有的http头部(如server类型、版本、cookie等信息)、

特定keyword(如title、css、js、url等)、

特定的IP段搜索(如fofa支持C段搜索),

有些时候爬取的时候不一定含有上面那些特征,但是我们仍然需要仔细排查。

MySQL默认库

默认数据库分类:

information_schema

performance_schema

mysql

test

informance_schema

保存了MySQl服务所有数据库的信息。

具体MySQL服务有多少个数据库,各个数据库有哪些表,各个表中的字段是什么数据类型,各个表中有哪些索引,各个数据库要什么权限才能访问。
mysql

保存MySQL的权限、参数、对象和状态信息。

如哪些user可以访问这个数据、DB参数、插件、主从

performance_schema

主要用于收集数据库服务器性能参数

提供进程等待的详细信息,包括锁、互斥变量、文件信息;

保存历史的事件汇总信息,为提供MySQL服务器性能做出详细的判断;

对于新增和删除监控事件点都非常容易,并可以随意改变mysql服务器的监控周期,例如(CYCLE、MICROSECOND)

test

常见端口号 几个数据库的端口

在这里插入图片描述
在这里插入图片描述

网页状态码

403 (禁止) 服务器拒绝请求。
404 (未找到) 服务器找不到请求的网页。
301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。

PHP一句话木马

<?php @eval($_POST['shy']);?>

冰鞋哥斯拉特征:

菜刀:
识别:

(1)执行函数:@eval,@assert 等;

(2)base64_decode(

     P
    
   
   
    O
   
   
    S
   
   
    T
   
   
    [
   
   
    Z
   
   
    0
   
   
    ]
   
   
    )
   
   
    ,
   
  
  
   _POST[Z0]),
  
 
P​OST[Z0]),_GET,$_REQUEST

(3)截取参数z0,进行base64_decode后 ,

@ini_set(“display_errors”,“0”);@set_time_limit(0);@set_magic_quotes_runtime(0)等
蚁剑:
可以对流量进行加密、混淆。但是有些关键代码没有被加密,如:PHP中的ini_set;ASP中的OnError,response等

蚁剑PHP类WebShell链接流量

对php中的某些代码没有加密,例如ini_set,set_time_limit。比较容易被识别

蚁剑ASP类WebShell

OnError ResumeNext,response等没有被加密,是明文的形式,比较容易识别

execute在蚁剑中被打断混淆了,变成了拼接形式Ex"&cHr(101)&"cute

蚁剑绕过特征流量

蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以“_0x…=”这种形式

冰蝎:
accept
ua头
长链接
Cookie:冰蝎的机制是需要从set-cookie中去取值,所以在发包中即使是有了cookie,他的接收包中都会有setcookie,除去第一个包没有。
哥斯拉:
哥斯拉页面配置中header中有三个固定值,user-agent,accept,accept-language。
是基于流量、HTTP全加密的webshell工具

哥斯拉全部类型的shell 能绕过市面所有静态查杀

哥斯拉流量加密 能绕过市面全部流量waf


本文转载自: https://blog.csdn.net/shayebudon/article/details/124285953
版权归原作者 shayebudon 所有, 如有侵权,请联系我们删除。

“护网面试总结”的评论:

还没有评论