p74 应急响应-winlinux 分析后门勒索病毒攻击

news/2024/11/30 20:42:09/

数据来源


操作系统(windows,linux)应急响应:

  1. 常见危害:暴力破解,漏洞利用,流量攻击,木马控制(Webshell,PC 木马等),病毒感染(挖矿,蠕虫,勒索等)
  2. 常见分析:计算机账户,端口,进程,网络,启动,服务,任务,文件等安全问题

常见日志类别及存储:

Windows,Linux

 补充资料:

  • 应急响应大合集 - 先知社区 (aliyun.com)
  • 值得收藏!史上最全Windows安全工具锦集 - SecPulse.COM | 安全脉搏
  • 系统内部 - 系统内部 |微软学习 (microsoft.com)

病毒分析

  • PCHunter:http://www.xuetr.com
  • 火绒剑:https://www.huorong.cn
  • Process Explorer:https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
  • processhacker:https://processhacker.sourceforge.io/downloads.php
  • autoruns:https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns
  • OTL:https://www.bleepingcomputer.com/download/otl/
  • SysInspector:http://download.eset.com.cn/download/detail/?product=sysinspector

病毒查杀

  • 卡巴斯基:http://devbuilds.kaspersky-labs.com/devbuilds/KVRT/latest/full/KVRT.exe
  • 大蜘蛛:http://free.drweb.ru/download+cureit+free
  • 火绒安全软件:https://www.huorong.cn
  • 360 杀毒:http://sd.360.cn/download_center.html

病毒动态

  • CVERC-国家计算机病毒应急处理中心:http://www.cverc.org.cn
  • 微步在线威胁情报社区:https://x.threatbook.cn
  • 火绒安全论坛:http://bbs.huorong.cn/forum-59-1.html
  • 爱毒霸社区:http://bbs.duba.net
  • 腾讯电脑管家:http://bbs.guanjia.qq.com/forum-2-1.html

在线病毒扫描网站

  • http://www.virscan.org       // 多引擎在线病毒扫描网
  • https://habo.qq.com           // 腾讯哈勃分析系统
  • https://virusscan.jotti.org    // Jotti 恶意软件扫描系统
  • http://www.scanvir.com     // 计算机病毒、手机病毒、可疑文件分析

演示案例:

  • 攻击响应-暴力破解(RDP,SSH)-Win,Linux
  • 控制响应-后门木马(Webshell,PC)-Win,Linux
  • 危害响应-病毒感染(勒索 WannaCry)-Windows
  • 自动化响应检测-Gscan 多重功能脚本测试-Linux 

案例 1-攻击响应-暴力破解(RDP,SSH)-Win,Linux

先演示一下Windows系统的

1)日志文件默认位置:(参考)

  1. 应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%\system32\config,默认文件大小512KB,管理员都会改变这个默认大小。
  2. 安全日志文件:%systemroot%\system32\config\SecEvent.EVT
  3. 系统日志文件:%systemroot%\system32\config\SysEvent.EVT
  4. 应用程序日志文件:%systemroot%\system32\config\AppEvent.EVT
  5. Internet信息服务FTP日志默认位置:%systemroot%\system32\logfiles\msftpsvc1\,默认每天一个日志
  6. Internet信息服务WWW日志默认位置:%systemroot%\system32\logfiles\w3svc1\,默认每天一个日志
  7. Scheduler服务日志默认位置:%systemroot%\schedlgu.txt

 

2)windows自带日志工具(查找分析不方便,推荐使用插件LogFusion)

3)Windows-LogFusion 载入查看:(建议在windows10以上的系统安装)

工具下载:https://pan.baidu.com/s/1tQS1mUelmEh3I68AL7yXGg 提取码:xiao 

工具使用前提

LogFusion载入应用程序、硬件事件、安全、系统等日志

事件归类,事件 ID,事件状态等,参考百度资料 

打开本地的日志

日志打开需要点时间(大概2到3分钟)

win10默认好像是不记录远程桌面的访问记录:怎么在Windows10启用远程协助的会话日志记录-百度经验 (baidu.com) 

使用弱口令工具攻击看看

然后回到我们的日志分析软件就能查看到刚才暴力破解的日志,注意这里查看的是安全日志

在安全日志里看到很多账户登录失败的日志,可以判断当前主机遭受了爆破攻击,以及是否成功等 

打开远程的日志

Linux系统-grep 筛选:

我这里在电脑开虚拟机,然后在真实机使用xshell连接执行命令

Linux系统日志文件相关介绍:(参考 )

  • Linux系统日志文件存放在/var/log/目录下,该目录是系统日志文件的保存位置;除此之外,采用RPM包方式安装的系统服务也会默认把日志记录在/var/log/目录中。
  • Linux日志文件说明 ①/var/log/messages:该文件记录着服务器系统发生的所有错误信息或重要的信息,所以这个文件相当重要,如果系统发生莫名的错误时,这个文件是必查的日志文件之一。
  • /var/log/secure:该文件记录服务器牵扯到需要输入账号密码的软件,当登入时都会被记录到这个文件中,包括系统的login程序、图形界面登入所使用的gdm程序、su、sudo等程序,还有网络远程的ssh、telnet等程序,登入信息都会被记载。
  • /var/log/maillog:该文件记录服务器邮件的来往信息,其实主要记录SMTP和POP3协议提供者所产生的信息。
  • /var/log/cron:与定时任务相关的日志信息。
  • /var/log/spooler:与UUCP和news设备相关的日志信息。
  • /var/log/boot.log:守护进程启动和停止相关的日志信息。
  • /var/log/wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件

先用工具攻击一下目标主机

参考:Linux应急响应基础 - 我是菜狗2 - 博客园 (cnblogs.com) 

1、统计了下日志,确认服务器遭受多少次暴力破解

# 因为暴力破解肯定会会有登录失败的情况,所以这里筛选 Failed password
grep -o "Failed password" /var/log/secure|uniq -c# Ubuntu系统
grep -o "Failed password" /var/log/auth.log|uniq -c

secure 文件只有 root 用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。

注意,如果这个文件的权限发生了改变,则需要注意是否是恶意攻击。

        我开的虚拟机是Ubuntu,运行命令报错“grep: /var/log/secure: 没有那个文件或目录
”查看了一下百度Ubuntu系统记录服务器牵扯到需要输入账号密码的软件的文件名是auth.log改一下就好了(参考)

2、输出登录爆破的第一行和最后一行,确认爆破时间范围: 

grep "Failed password" /var/log/secure|head -1grep "Failed password" /var/log/secure|tail -1# Ubuntu系统
# 查看日志中第一次出现关键字Failed password的信息,确认攻击者第一次爆破的时间
grep "Failed password" /var/log/auth.log|head -1 # 查看日志中第一次出现关键字Failed password的信息,确认攻击者最后一次爆破的时间
grep "Failed password" /var/log/auth.log|tail -1

3、进一步定位有哪些 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 | sort -nr# Ubuntu系统
grep "Failed password" /var/log/auth.log|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

4、爆破用户名字典都有哪些?

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

 

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

grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more # Ubuntu系统
grep "Accepted " /var/log/auth.log | awk '{print $1,$2,$3,$9,$11}' 

案例 2-控制响应-后门木马(Webshell,PC)-Win,Linux

windows:

默认配置测试

1)首先启动cs(如果你的虚拟机没有下载cs:cobaltstrike的安装与基础使用)

运行服务端程序,192.168.0.104是本机IP,user   是要设置的连接密码(可改)

 ./teamserver 192.168.1.3 user   

在 cs4.0目录下新建终端,输入如下命令运行客户端程序

java -Dfile.encoding=UTF-8 -javaagent:CobaltStrikeCN.jar -XX:ParallelGCThreads=4 -XX:+AggressiveHeap 

最后连接登录进去

2)生成Windows的后门木马

前提是你要创建监听器,不然受害者运行了木马你也不知道

 创建一个新的监听器 -> 填写监听器名称(随便写,不重复就行)-> 选择有效载荷/攻击模块/攻击方式

         添加HTTP主机

        添加要在开启监听的HTTP端口:0-65535   在这个取值范围中1023以下的端口已经分配给了常用的一些应用程序,建议往大的填,避免端口被占用(重复)--> 最后保存即可

开始创建木马文件

3)在目标windows虚拟机中运行木马文件 

4)回到cs查看

这边就能看到目标上线了

5)回到win分析进程,找出木马

这里使用PCHunter工具进行辅助分析,工具下载:https://pan.baidu.com/s/1tQS1mUelmEh3I68AL7yXGg 提取码:xiao 

工具的介绍:

  • TCPView(网络分析)TCPView for Windows - Sysinternals | Microsoft Learn
  • Process Explorer(进程分析)
  • PCHunter64(综合)
  • UserAssistView(文件启动)
  • 命令行netstat -ano(网络分析)
  • Autoruns(启动项排查)
  • MemScanner(进程分析)
  • Sysmon(系统监控)

一般的木马是没有产商信息 

但是有些伪装的很好所以这个不能作为我们判断的唯一标准,可以再借助一些其他信息辅助我们进行判断 

远程ip

可以在目标主机的命令行查看端口信息 

# 查看本机端口开放信息
netstat -an

计划任务

系统用户名

还可以借助一些杀毒软件:腾讯、360、火绒这些

linux 借助 CrossC2 项目:

我这里又安装了cs3.14又因为cs的版本要与CrossC2相对应才行,搞了一天才发现这个问题,CS3.14 <——>CrossC2 -v2.1版本,其他版本的对应关系可以自己尝试

1)开启cs3.14服务端与客户端 (使用方式与上面介绍的CS4.0是一样的)

# 启动服务端
./teamserver 192.168.1.3 root 

# 启动客户端
java -Dfile.encoding=UTF-8 -javaagent:CobaltStrikeCN.jar -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar

2)下载linux插件CrossC2-v2.1

打开Github:GitHub - gloxec/CrossC2: generate CobaltStrike's cross-platform payload

3)生成linux木马

方式一:脚本的方式生成 (genCrossC2.Linux)

# 运行脚本genCrossC2.Linux                       系统类型、生成的文件名(这里也可以写文件路径,生成到指定的文件路径如:tmp\c2)
./genCrossC2.Linux 监听器ip 监听器端口 null null Linux x64 C2

方式二: 

按道理来说会有个弹框,弹框内会有个下载链接但是我这里没有反应(我之前用3.1版本的插件就就是这样),应该是cs与插件的版本不是很匹配,不管了有一种方式生成木马辅助我们学习就好,毕竟我们不是要做违法的事,知道有这种方式就好。

4)有了木马之后要创建一个监听器,这个插件只支持https的协议(windows/beacon_https/reverse_https),所以我们要创建https的监听器,注意:监听器的ip与端口要与刚才的木马文件相对应 

可以直接在当前的攻击机运行木马测试一下(我这里的cs是安装的kali中的所以可以运行linux的木马文件)

kali成功上线

5)把木马拿到受害者主机运行

# 赋予执行权限
chmod +x 木马文件名

6)接下来就是分析日志,查找后门等( 通过网络监听工具及 windows 日志分析或执行记录查找后门问题 )

手动分析系统日志的方法在上面案例一的有介绍,使用脚本自动化检测会在案例4演示

这里演示一下查看系统开放端口,查找后门

# 可以查看tcp端口
netstat -ntl

应该是我的虚拟机的问题,我看别人的可以 

然后再通过ps命令找到对应的进程,分析其是否是木马病毒

# 查看进程
ps aux

案例 3 -危害响应-病毒感染(勒索 WannaCry)-Windows(一般情况下我们的杀毒软件会直接将病毒程序杀死)

详细说明中毒表现及恢复指南

推荐2个勒索病毒解密网站

安全卫士勒索病毒专题:文件恢复_安全卫士离线救灾版_文档卫士 (360.cn)

主页面 | The No More Ransom Project

[下载]永恒之蓝样本(勒索病毒): https://bbs.pediy.com/thread-217586-1.htm

不要在真实机运行病毒

病毒运行效果:打开任何文件都是乱码

1)打开解密网站

解码刑警 | The No More Ransom Project

换360的解密网站看看:安全卫士勒索病毒专题:文件恢复_安全卫士离线救灾版_文档卫士 (360.cn)

不过在页面后面他推荐360解密大师,下载试试

2)使用360看看能不能解决

注意:要先使用杀毒软件把病毒干掉,不然文件恢复了以后也会被加密 

案例 4-自动化响应检测-Gscan 多重功能脚本测试-Linux

自动化响应检测工具:GScan(这个是python语言的脚本)、chkrootkit(c语言的脚本)、rkhunter、lynis

工具对比:(都下载一下,应急响应时全都跑一遍

GScan      程序定位为安全人员提供的一项入侵检测工具,旨在尽可能的发现入侵痕迹,溯源出黑客攻击的整个路径。
chkrootkit 程序定位为安全人员提供的一项入侵检测工具,旨在发现被植入的后门或者rootkit。
rkhunter   程序定位为安全人员提供的一项入侵检测工具,旨在发现被植入的后门或者rootkit。
lynis      程序定位为安全人员日常使用的一款用于主机基线和审计的工具,可辅助漏洞扫描和配置管理,也可部分用于入侵检测。

Gscan 工具下载:GitHub - grayddq/GScan: 本程序旨在为安全应急响应人员对Linux主机排查时提供便利,实现主机侧Checklist的自动全面化检测,根据检测结果自动数据聚合,进行黑客攻击路径溯源。

1)下载Gscan

命令行执行运行命令即可 

# 如果没有安装git:yum -y install git
git clone https://github.com/grayddq/GScan.git

 2)运行脚本进行检测

执行时间:默认安全扫描大概执行时间为4~6分钟,完全扫描在1~2小时之间,程序执行时间的长度由检测文件的多少决定,有可能会存在较长的时间,请耐心等待

# 切换管理员模式
sudo su# 查看脚本参数
python3 GScan.py -h# 运行脚本
python3 GScan.py

漫长的等待,最后可以检测出可能存在风险的地方(直接将木马文件复制粘贴到目标主机中的是检测不出来的,如果是命令执行的方式下载并运行的就可以检测的出来)

涉及资源:

  • 应急响应大合集 - 先知社区 (aliyun.com)
  • 安全卫士勒索病毒专题:文件恢复_安全卫士离线救灾版_文档卫士 (360.cn)
  • GitHub - gloxec/CrossC2: generate CobaltStrike's cross-platform payload
  • GitHub - darkr4y/geacon:练习Go编程并在Go中实现CobaltStrike的Beacon
  • GitHub - grayddq/GScan: 本程序旨在为安全应急响应人员对Linux主机排查时提供便利,实现主机侧Checklist的自动全面化检测,根据检测结果自动数据聚合,进行黑客攻击路径溯源。
  • [下载]永恒之蓝样本(勒索病毒)-软件逆向-看雪论坛-安全社区|安全招聘|bbs.pediy.com (kanxue.com)
  • 主页面 | The No More Ransom Project
  • Sysinternals - Sysinternals | Microsoft Learn
  • 值得收藏!史上最全Windows安全工具锦集 - SecPulse.COM | 安全脉搏
  • https://pan.baidu.com/s/1tQS1mUelmEh3I68AL7yXGg 提取码:xiao 

http://www.ppmy.cn/news/45418.html

相关文章

从4k到42k,软件测试工程师的涨薪史,给我看哭了

清明节一过&#xff0c;盲猜大家已经无心上班&#xff0c;在数着日子准备过五一&#xff0c;但一想到银行卡里的余额……瞬间心情就不美丽了。 最近&#xff0c;2023年高校毕业生就业调查显示&#xff0c;本科毕业月平均起薪为5825元。调查一出&#xff0c;便有很多同学表示自己…

计算机网络常见协议

文章目录 计算机网络TCP/IP协议TCP协议的三次握手和四次挥手TCP连接建立过程TCP连接断开过程为什么要三次握手&#xff1f;为什么要四次挥手&#xff1f; UDP协议HTTP协议 计算机网络 学习计算机网络&#xff0c;来记录一下。 TCP/IP协议 TCP/IP协议是Internet最基本的协议、…

Anaconda + TensorFlow Winodws环境安装(Windows Terminal / Visual Studio / VS code)

目录 前言个人环境 Anaconda安装下载安装测试添加到windows terminal TensorFlow环境配置安装测试 搭配Visual Studio 2022搭配VS Code 前言 以前发生的一些事情&#xff0c;让我认识到即便配环境这种事情&#xff0c;最好还是把自己的过程存个档 &#xff0c;这个的安装虽然简…

香橙派pi5下,debian,docker19.03.9版本runc容器逃逸

在香橙派pi5下,debian,docker19.03.9版本下,安装系统后,启动docker,显示一切正常。 当加入k8s集群以后,可以正常连接到集群,node状态显示为ready。看起来一切正常。不过过一会之后,香橙派节点内存飙升,然后挂掉。重连失败,需要重启后才能重连。且swapoff -a命令执行…

【面试】Spring Boot读取Yml配置文件的3种方法

文章目录 简述&#xff1a;1、基础用法&#xff0c;使用注解Autowired注入Environment类Autowire注解局限1局限2局限3 2、基础用法&#xff0c;使用Value注解直接注入配置信息Value注解 3、进阶方法定义工具类&#xff0c;声明静态属性&#xff0c;用于映射配置信息使用方法 简…

opencv-4.1.2及opencv-contrib_4.1.2编译解决方案

一、首先在官网上下载opencv-4.1.2及opencv_contrib-4.1.2源码&#xff0c;两者需要保持版本一致&#xff0c;注意目录名称不要包含汉字。 二、到官网下载cmake-3.23.1-windows-x86_64 三、安装vs2017 四、安装Qt5.14.1选则msvc2017_32位、msvc2017_64位、mingw_32位、mingw_64…

MLT 视频编辑框架简介(二):框架设计简述

系列文章目录 MLT 视频编辑框架简介&#xff08;一&#xff09;编译与 demo 运行 文章目录 系列文章目录0. 前言1. 基本概述2. 使用Hello WorldFactoriesService 属性PlayListFiltersAttached FiltersIntroduction the MixPracticalities and OptimisationsMultiple Tracks an…

【Java】数据类型与变量

一、java中的数据类型 Java中数据类型主要分为两类&#xff1a;基本数据类型和引用数据类型。 1.与c语言相同的数据类型 short,int,double,float均与c语言保持相同。 2.与c语言不同的数据类型 byte--字节类型 char--字符类型 java中&#xff0c;byte类型只占一个字节&#xff…