应急响应

106 阅读11分钟

[TOC]

应急响应工具

QDoctor

下载

下载地址:github.com/QAX-Anti-Vi…

主要功能

  1. ⼀键导出各个标签⻚下的结构化数据(包括涉及⽂件的哈希值)。
  2. ⼀键导⼊由其他机器导出的数据,⽅便排查问题。
  3. 单⽂件同时⽀持X86、X86_64系统,系统⽀持较为全⾯。
  4. 对部分有对抗性的样本具备穿透能⼒。

传统的ARK⼯具常⻅功能:

  • 基本系统信息:系统MAC地址、系统版本等信息。
  • ⾃启动项⽬:注册表常⻅启动项、计划任务、服务、驱动、WMI。
  • 进程:查看进程、线程、模块、内存、句柄、内核回调; 暂停进程或线程执⾏、查杀进程或线程、
  • 卸载模块或内存、关闭句柄、签名验证、Hook扫描。
  • 内核:驱动模块、已卸载模块、系统回调函数、微过滤驱动、Sfilter过滤驱动、NDIS回调、SSDT表、ShadowSSDT表、DPC定时器、FSD驱动、对象信息、内核⼯作队列、设备栈、对象⽬录、键盘驱动、消息钩⼦。
  • ⽹络:查看各个进程的⽹络连接情况,⽀持IPv4&IPv6的TCP&UDP连接。
  • 系统补丁:查看当前系统安装的补丁状况。
  • 软件列表:查看当前系统安装的软件列表,内容等价于系统“添加删除程序”中显示的内容。
  • 系统⽇志:应⽤程序⽇志、安全⽇志、Setup⽇志、系统⽇志。
  • ⽂件系统:简易⽂件管理器,可以查看系统各个盘(包括映射到本地的⽹络位置)下的内容以及强制删除⽂件。
  • 其他:环境变量、共享⽂件夹信息。

注意事项

  1. 由于ARK⼯具的特殊性,任何使⽤场景都有蓝屏⻛险,请注意保存数据

  2. 由于微软已经停发sha1签名,因此Windows 7、Windows 8系统上,请打对应签名补丁或直接禁⽤驱动签名认证,否则程序初始化会提示失败。

    www.microsoft.com/zh-cn/downl…

使用

先运行补丁再运行软件

image-20251124210122220.png

HawkEye

本⼯具为安全分析、应急响应、事件响应、DFIR、安全服务等岗位从业⼈员设计的⼀个图形化Windows安全分析⼯具,涵盖常⻅Windows安全分析场景,能够有效的发现Windows主机存在的安全威胁。

下载地址:github.com/mir1ce/Hawk…

使用

进程签名信息查看:

image-20251124213958651.png

账户信息:(查找隐藏账户)

image-20251124214730744.png

木马扫描:

image-20251124214257362.png

查看启动项:

image-20251124221810840.png

查看计划任务:

image-20251124223948592.png

WindowsLog_Check

基于Go编写的windows⽇志分析⼯具

下载地址:github.com/Fheidt12/Wi…

image-20251125170546469.png

火绒剑独立版

使用

打开火绒剑,进程查看,关注没有签名信息的进程。

image-20251125171149944.png

分析进程:

image-20251125171237358.png

查看启动项:

image-20251125171507821.png

应急响应介绍

常见事件

Web⼊侵:⽹⻚挂⻢、主⻚篡改、Webshell 系统⼊侵:病毒⽊⻢、勒索软件、远控后⻔ ⽹络攻击:DDOS 攻击、DNS 劫持、ARP 欺骗

Window入侵排查

入侵排查思路

检查系统账号安全

  1. 检查系统账号安全

  2. 查看服务器是否存在可疑账号、新增账号。

    打开 cmd 窗⼝,输⼊ lusrmgr.msc 命令,查看是否有新增/可疑的账号

image-20251125164104711.png

  1. 查看服务器是否存在隐藏账号、克隆账号。

  2. 结合⽇志,查看管理员登录时间、⽤户名是否存在异常。

image-20251125164116853.png

检查异常端口、进程

  1. 检查端⼝连接情况,是否有远程连接、可疑连接。

    • netstat -ano 查看⽬前的⽹络连接,定位可疑的ESTABLISHED

    image-20251125165510703.png

    • 根据netstat 定位出的pid,再通过 tasklist 命令进⾏进程定位 tasklist | findstr “PID”

    image-20251125165639556.png

    • 可以使用工具:TCPView

    TCPView 是⼀个 Windows 程序,可向你显示系统上所有 TCP 和 UDP 终结点的详细列表,包括本地和远程地址以及 TCP 连接的状态。 TCPView 还会报告拥有该终结点的进程的名称。TCPView 解压后⽂件夹中包括 Tcpvcon,这是具有相同功能的命令⾏版本。

    image-20251125170050822.png

    右键查看进程位置或者杀死进程

    image-20251125170308937.png

  2. 进程

    • 打开火绒剑,进程查看,关注没有签名信息的进程。

    image-20251125171149944.png

检查启动项、计划任务、服务

使用工具(同上)

检查系统相关信息

  1. 查看系统版本以及补丁信息
    • 检查⽅法:单击【开始】>【运⾏】,输⼊systeminfo,查看系统信息
  2. 查找可疑⽬录及⽂件

自动化查杀

用安全软件全面查杀

日志分析

使用 WindowsLog_Check 分析。

在线病毒扫描网站

www.virustotal.com // 集成多家病毒扫描引擎 www.virscan.org //多引擎在线病毒扫描⽹v1.02,当前⽀持 41 款杀毒引擎 habo.qq.com //腾讯哈勃分析系统 virusscan.jotti.org //Jotti恶意软件扫描系统 www.scanvir.com //针对计算机病毒、⼿机病毒、可疑⽂件等进⾏检测分析

病毒动态

www.virustotal.com // 集成多家病毒扫描引擎 www.virscan.org //多引擎在线病毒扫描⽹v1.02,当前⽀持 41 款杀毒引擎 habo.qq.com //腾讯哈勃分析系统 virusscan.jotti.org //Jotti恶意软件扫描系统 www.scanvir.com //针对计算机病毒、⼿机病毒、可疑⽂件等进⾏检测分析

webshell查杀

D盾_Web查杀:www.d99net.net/index.asp 河⻢webshell查杀:www.shellpub.com 深信服Webshell⽹站后⻔检测⼯具:edr.sangfor.com.cn/backdoor_de… Safe3:www.uusec.com/webshell.zi…

Linux入侵排查

入侵排查思路

账号安全

1、⽤户信息⽂件/etc/passwd
root:x:0:0:root:/root:/bin/bash
account:password:UID:GID:GECOS:directory:shell
⽤户名:密码:⽤户ID:组ID:⽤户说明:家⽬录:登陆之后的shell
注意:⽆密码只允许本机登陆,远程不允许登陆

2、影⼦⽂件/etc/shadow
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQ
St.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
⽤户名:加密密码:最后⼀次修改时间:最⼩修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

image-20251125180433302.png

who  查看当前登录⽤户(tty 本地登陆pts 远程登录)
w  查看系统信息,想知道某⼀时刻⽤户的⾏为
uptime  查看登陆多久、多少⽤户,负载状态

image-20251125180514016.png

入侵排查

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 ⽬录⼀并删除

image-20251125180940182.png

历史命令

通过 .bash_history ⽂件查看账号执⾏过的系统命令

1、查看当前⽤户的历史命令
histroy

2、打开/home 各账号⽬录下的.bash_history,查看普通账号执⾏的历史命令。
为历史的命令增加登录的IP地址、执⾏命令时间等信息:
1)保存1万条命令
sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile
2)在/etc/profile的⽂件尾部添加如下⾏数配置信息:
######jiagu history xianshi#########
USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
export HISTTIMEFORMAT="%F %T $USER_IP `whoami` "
shopt -s histappend
export PROMPT_COMMAND="history -a"
######### jiagu history xianshi ##########
3)source /etc/profile 让配置⽣效
⽣成效果:1 2023-12-10 19:45:39 192.168.204.1 root source /etc/profile

3、历史操作命令的清除:history -c
但此命令并不会清除保存在⽂件中的记录,因此需要⼿动删除.bash_profile ⽂件中的记录。

⼊侵排查

进⼊⽤户⽬录下,导出历史命令。
cat .bash_history >> history.txt

image-20251125183016073.png

检查异常网络连接

使⽤ netstat ⽹络连接命令,分析可疑端⼝、IP、PID

netstat -antlp
查看pid 所对应的进程⽂件路径:
运⾏ls -l /proc/$PID/exe 或file /proc/$PID/exe($PID 为对应的pid 号)

image-20251125183417629.png

检查异常进程

使⽤ ps 命令,分析进程

ps aux | grep pid
  • ps 是⽤来显示系统中正在运⾏的进程信息的命令。
  • a 显示所有⽤户的进程(包括其他⽤户的进程)。
  • u 显示⽤户信息(例如,进程所属⽤户)。
  • x 显示所有进程,包括没有控制终端的进程(通常是守护进程)。

检查开机启动项

Linux系统有7个系统运⾏级别(runlevel)

运⾏级别0:系统停机状态,系统默认运⾏级别不能设为0,否则不能正常启动 运⾏级别1:单⽤户⼯作状态,root权限,⽤于系统维护,禁⽌远程登陆 运⾏级别2:多⽤户状态(没有NFS) 运⾏级别3:完全的多⽤户状态(有NFS),登陆后进⼊控制台命令⾏模式 运⾏级别4:系统未使⽤,保留 运⾏级别5:X11控制台,登陆后进⼊图形GUI模式 运⾏级别6:系统正常关闭并重启,默认运⾏级别不能设为6,否则不能正常启动

查看运⾏级别命令 runlevel

开机启动配置⽂件:

/etc/rc.d/rc.local
/etc/rc.d/rc[0~6].d

当我们需要设置开机启动的脚本时,只需要将可执⾏脚本放在/etc/init.d ⽬录下,然后在 /etc/rc.d/rc*.d ⽬录下建⽴软链接即可。

注:这⾥的 * 代表 0,1,2,3,4,5,6 这七个等级

⼊侵排查:

#启动项文件
/etc/rc.d/rc.local
/etc/rc.d/rc[0~6].d
ls -l /etc/rc.d/rc3.d/

常⽤命令:

chkconfig 是⼀个在基于 Red Hat 系列的 Linux 发⾏版(如 CentOS、RHEL、Fedora)中⽤于管理系统服务的命令。它主要⽤于启动和关闭系统服务,以及设置服务在不同运⾏级别下的启动⾏为。

chkconfig --list[name]     #服务列表[可根据实际需要,停掉不⽤服务]
chkconfig --add[name]     #服务添加[如缺省,则从缺省的init脚本⾃动建⽴]
chkconfig --del[name]     #服务删除[并把相关符号连接从/etc/rc[0-6].d删除]

检查定时任务

crontab 基本命令

crontab -l  列出某个⽤户定时任务的详细内容

Tips:默认编写的crontab⽂件会保存在(/var/spool/cron/⽤户名 例如: /var/spool/cron/root)

crontab -r  删除每个⽤户cron任务(谨慎:删除所有的计划任务)

crontab -e  使⽤编辑器编辑当前的crontab⽂件

*/1 * * * * echo "hello world" >> /tmp/test.txt #每分钟写⼊⽂件

利⽤ anacron 命令实现异步定时任务调度

检查服务

RPM包安装的服务

chkconfig --list  查看服务⾃启动状态,可以看到所有的RPM包安装的服务
ps aux | grep crond  查看当前服务

检查系统⽇志

⽇志默认存放位置:/var/log/

查看⽇志配置情况:more /etc/rsyslog.conf

⽇志⽂件说明
/var/log/cron记录了系统定时任务相关的⽇志
/var/log/cups记录打印信息的⽇志
/var/log/dmesg记录了系统在开机时内核⾃检的信息,也可以使⽤dmesg命令直接查看内核⾃检信息
/var/log/mailog记录邮件信息
/var/log/message记录系统重要信息的⽇志
/var/log/btmp记录错误登录⽇志,这个⽂件是⼆进制⽂件,不能直接vi查看,⽽要使⽤lastb命令查看
/var/log/lastlog记录系统中所有⽤户最后⼀次登录时间的⽇志,同上
/var/log/wtmp永久记录所有⽤户的登录、注销信息,同时记录
系统的启动、重启、关机事件。同上
/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

2、定位有哪些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

3、爆破⽤户名字典是什么?
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}' | uniq -c | sort -nr

4、登录成功的IP有哪些: 
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

5、登录成功的⽇期、⽤户名、IP:
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

工具

Rootkit查杀

chkrootkit⽹址:www.chkrootkit.org

使⽤⽅法:
wget ftp://ftp.chkrootkit.org/pub/seg/pac/chkrootkit.tar.gz
tar zxvf chkrootkit.tar.gz
cd chkrootkit-0.58b
make sense
#编译完成没有报错的话执⾏检查
./chkrootkit

image-20251126154915476.png

image-20251126154902545.png

image-20251126155051965.png

rkhunter⽹址:rkhunter.sourceforge.net

使⽤⽅法:
wget https://twds.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.6/rkhunter-1.4.6.tar.gz
tar -zxvf rkhunter-1.4.6.tar.gz
cd rkhunter-1.4.6
./installer.sh --install
rkhunter -c

image-20251126155738619.png

image-20251126155841401.png

Linux安全检查脚本

Github 项⽬地址: github.com/grayddq/GSc… github.com/ppabc/secur… github.com/T0xst/linux

日志分析

Windows日志分析

Windows主要有以下三类⽇志记录系统事件:应⽤程序⽇志、系统⽇志和安全⽇志。

系统日志

记录操作系统组件产⽣的事件,主要包括驱动程序、系统组件和应⽤软件的崩溃以及数据丢失错误等。

默认位置:

%SystemRoot%\System32\Winevt\Logs\System.evtx

应用程序日志

如果某个应⽤程序出现崩溃情况,那么我们可以从程序事件⽇志中找到相应的记录,也许会有助于你解决问题。

默认位置:

%SystemRoot%\System32\Winevt\Logs\Application.evtx

安全日志

记录系统的安全审计事件,包含各种类型的登录⽇志、对象访问⽇志、进程追踪⽇志、特权使⽤、帐号管理、策略变更、系统事件。

默认设置下,安全性⽇志是关闭的,管理员可以使⽤组策略来启动安全性⽇志,或者在注册表中设置审核策略,以便当安全性⽇志满后使系统停⽌响应。

默认位置:

%SystemRoot%\System32\Winevt\Logs\Security.evtx

审核策略与事件查看器

Windows Server 2008 R2 系统的审核功能在默认状态下并没有启⽤ ,建议开启审核策略,若⽇后系统出现故障、安全事故则可以查看系统的⽇志⽂件,排除故障,追查⼊侵者的信息等。

设置1:开始 → 管理⼯具 → 本地安全策略 → 本地策略 → 审核策略

image-20251126162451242.png

查看系统⽇志⽅法

按 "Window+R",输⼊ ”eventvwr.msc“ 可以直接进⼊“事件查看器”

image-20251126162618522.png

事件⽇志分析

利⽤eventlog事件来查看系统账号登录情况

  1. 在事件查看器中,单击“安全”,查看安全⽇志;

  2. 在安全⽇志右侧操作中,点击“筛选当前⽇志”,输⼊事件ID进⾏筛选。

    4624 --登录成功 4625 --登录失败 4634 -- 注销成功 4647 -- ⽤户启动的注销 4672 -- 使⽤超级⽤户(如管理员)进⾏登录

利⽤eventlog事件来查看计算机开关机的记录

  1. 在系统⽇志右侧操作中,点击“筛选当前⽇志”,输⼊事件ID进⾏筛选。

  2. 我们输⼊事件ID:6005-6006进⾏⽇志筛选,发现了两条在2018/7/6 17:53:51左右的记录,也就是我刚才对系统进⾏重启的时间。

    其中事件ID6005、ID 6006 、ID 6009就表示不同状态的机器的情况(开关机)。

    6005 信息 EventLog 事件⽇志服务已启动(开机)。

    6006 信息 EventLog 事件⽇志服务已停⽌(关机) 。

    6009 信息 EventLog 按ctrl、alt、delete键(⾮正常)关机

image-20251126163202463.png

Web⽇志分析

Window下,推荐⽤ EmEditor/Notepad++ 进⾏⽇志分析,⽀持⼤⽂本,搜索效率不错。 Linux下,使⽤Shell命令组合查询分析。⼀般结合grep、awk等命令实现常⽤的⽇志分析统计技巧。

Apache⽇志分析技巧:

1、列出当天访问次数最多的IP命令:
cut -d- -f 1 log_file|uniq -c | sort -rn | head -20

2、查看当天有多少个IP访问:
awk '{print $1}' log_file|sort | uniq | wc -l

3、查看某⼀个⻚⾯被访问的次数:
grep "/index.php" log_file | wc -l

4、查看每⼀个IP访问了多少个⻚⾯:
awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file

5、将每个IP访问的⻚⾯数进⾏从⼩到⼤排序:
awk '{++S[$1]} END {for (a in S) print S[a],a}' log_file | sort -n

6、查看某⼀个IP访问了哪些⻚⾯:
grep ^IP log_file| awk '{print $1,$7}'

7、去掉搜索引擎统计当天的⻚⾯:
awk '{print $12,$1}' log_file | grep ^\"Mozilla | awk '{print $2}' | sort| uniq | wc -l

8、查看2022年6⽉21⽇14时这⼀个⼩时内有多少IP访问:
awk '{print $4,$1}' log_file | grep 21/Jun/2022:14 | awk '{print $2}'| sort | uniq | wc -l

WebShell后门查杀

当⽹站服务器被⼊侵时,我们需要⼀款Webshell检测⼯具,来帮助我们发现Webshell,进⼀步排查系统可能存在的安全漏洞。

自动化扫描

D盾Web查杀

阿D出品,使⽤⾃⾏研发不分扩展名的代码分析引擎,能分析更为隐藏的WebShell 后⻔⾏为。

⼯具下载地址:www.d99net.net

河马WebShell 查杀

专注 WebShell 查杀研究,拥有海量WebShell 样本和⾃主查杀技术,采⽤传统特征+云端⼤数据双引擎的查杀技术。查杀速度快、精度⾼、误报低。

兼容性:⽀持 Windows、Linux,⽀持在线查杀。

官⽅⽹站:www.shellpub.com

image-20251126221801784.png

Web Shell Detector

Web Shell Detector 具有 WebShell 签名数据库,可帮助识别⾼达99% 的WebShell。

官⽅⽹站:www.shelldetector.com

CloudWalker

⼀个可执⾏命令⾏版本的Webshell 检测⼯具。 兼容性:暂时只⽀持PHP Webshell 的检测。

在线查杀 demo:webshellchop.chaitin.cn/demo/ GitHub 项⽬地址:github.com/chaitin/clo…

PHP Malware Finder

php-malware-finder 是⼀款优秀的检测Webshell和恶意软件混淆代码的⼯具

兼容性:提供 Linux 版本,Windows 暂不⽀持。 GitHub 项⽬地址:github.com/jvoisin/php…

手动查杀webshell

发现隐藏的后⻔最好的⽅式就是做⽂件完整性验证。通过与原始代码对⽐,可以快速发现⽂件是否被篡改以及被篡改的位置。当然,前提是要具备代码版本管理的能⼒。

Beyond Compare

Beyond Compare 是⼀套由 Scooter Software 推出的⽂件⽐较⼯具。主要⽤途是对⽐两个⽂件夹或者⽂件,并将差异以颜⾊标示,⽐较范围包括⽬录,⽂档内容等。

下载地址:www.scootersoftware.com/download.ph…

image-20251126223322543.png

WinMerge

WinMerge 是⼀款运⾏于 Windows 系统下的⽂件⽐较和合并⼯具,使⽤它可以⾮常⽅便地⽐较⽂件夹和⽂件,以易于理解的可视⽂本格式显示差异。

image-20251126223822987.png

攻击流量分析

Wireshark

下载与安装

下载网址:Wireshark • Go Deep | Download

选择 window系统 .exe文件下载

默认安装:

image-20251126224825740.png

使用

抓包示例:

选择第一个有线连接

image-20251126230226966.png

开始抓包

image-20251126230252664.png

数据包列表区中不同的协议使用了不同的颜色区分。协议颜色标识定位在菜单栏View --> Coloring Rules。如下所示

image-20251126230655483.png

抓包蚁剑流量测试

  1. 将一句话木马放到测试网站根目录

  2. 使用蚁剑连接到网站

    image-20251126233344716.png

  3. 选择对应网卡(我这里全部操作都是在本机,所以选择第二个本地回环接口)

    image-20251126233508414.png

image-20251126233520390.png

  1. 抓到包后进行分析

    image-20251126233555306.png

    路径特征:蚁剑访问地址后缀一般有.php,可以用筛选器筛出来,筛选框输入

    http.request.uri matches "\.php$"
    

    请求方法:几乎都是 POST 请求(因为要向 webshell 传递恶意指令,GET 容易被拦截)

    请求体:蚁剑会对指令加密 / 编码后放在 POST Body 里,常见是base64编码

    image-20251126234453942.png

    响应特征:pass=e45e329feb5d925b&cmd=base64编码的命令,基本可以判定是蚁剑流量。

    请求头伪装特征:

    User-Agent: Opera/9.80:伪造常规浏览器标识,隐藏恶意工具来源

    Content-Type: application/x-www-form-urlencoded:表单格式传递数据,适配 webshell 接收逻辑

    Content-Length: 1798:请求体(恶意代码)长度,符合蚁剑 payload 规模

    以蚁剑约定的标识开头(1c7c4042)和结尾(e1c9af00185),用于蚁剑识别有效响应;

tcpdump

Linux里内置有tcpdump。

基本抓包

安装:

yum install -y tcpdump

抓包:(-i :指定⽹卡(如 eth0 、 wlan0 、 any 表示所有⽹卡)

tcpdump -ieth0  # 监听eth0 ⽹卡的所有流量

保存抓包数据到⽂件:

tcpdump -ieth0 -wcapture.pcap  # 保存为pcap ⽂件(可⽤Wireshark 分析)
tcpdump -rcapture.pcap  # 读取pcap ⽂件

常⽤过滤规则

按 IP 过滤:

tcpdump -ieth0 host 192.168.1.100  # 抓取与192.168.1.100 相关的流量
tcpdump -ieth0 src 192.168.1.100  # 只抓取来源IP 是192.168.1.100 的包
tcpdump -ieth0 dst 192.168.1.100  # 只抓取⽬标IP 是192.168.1.100 的包

按端⼝过滤:

tcpdump -ieth0 port 80  # 抓取80 端⼝的流量(HTTP)
tcpdump -ieth0 src port 22  # 抓取来源端⼝是22(SSH)的包
tcpdump -ieth0 dst port 443  # 抓取⽬标端⼝是443(HTTPS)的包

按协议过滤:

tcpdump -ieth0 icmp  # 只抓ICMP 包(ping)
tcpdump -ieth0 tcp  # 只抓TCP 流量
tcpdump -ieth0 udp  # 只抓UDP 流量
tcpdump -ieth0 arp  # 抓ARP 请求/响应

组合过滤(逻辑运算符):

tcpdump -ieth0 "host 192.168.1.100 and port 80"  # 抓192.168.1.100 的80 端⼝流量
tcpdump -ieth0 "src 192.168.1.1 and dst port 22" # 抓来源IP 192.168.1.1 的SSH 流量
tcpdump -ieth0 "tcp and not port 22"  # 抓TCP 流量,但排除SSH

挖矿木马分析

环境部署

实验背景:⼩赵是某企业的安全运维⼯程师,有⼀天接到同事反馈,某台业务系统特别卡顿,⽆法正常使⽤,疑似被⿊客⼊侵。请帮忙排查

挖矿示例机账号密码:administrator/zgsf@123

打开后等待挖矿软件安装成功:

image-20251127193610945.png

应急过程

  1. 远程连接桌面

    # win+R执行命令:
    mstsc
    
  2. 任务管理器找到异常进程

    image-20251127193645777.png

  3. 右键打开⽂件位置:

    image-20251127193720146.png

  4. 计算这个⽂件的hash,右键双击,上传hash计算器⾄服务器

  5. 上传⽕绒剑,找相关异常

    image-20251127200211629.png

    image-20251127200334754.png

  6. 编辑这个脚本看看是什么内容

    image-20251127200429933.png

  7. 找到网址,把相关文件下载下来,编辑查看内容

    image-20251127202342170.png

  8. 找到相关地址

    image-20251127200701070.png

  9. 分析地址

    image-20251127203435332.png

    image-20251127203536718.png

  10. 用火绒剑杀死挖矿进程

  11. 上传Windows⽇志分析⼯具,上传⾄服务器,发现暴⼒破解痕迹,并记录时间2024-05-21 20:25:22

    image-20251127204120052.png