数据来源
操作系统(windows,linux)应急响应:
- 常见危害:暴力破解,漏洞利用,流量攻击,木马控制(Webshell,PC 木马等),病毒感染(挖矿,蠕虫,勒索等)
- 常见分析:计算机账户,端口,进程,网络,启动,服务,任务,文件等安全问题
常见日志类别及存储:
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)日志文件默认位置:(参考)
- 应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%\system32\config,默认文件大小512KB,管理员都会改变这个默认大小。
- 安全日志文件:%systemroot%\system32\config\SecEvent.EVT
- 系统日志文件:%systemroot%\system32\config\SysEvent.EVT
- 应用程序日志文件:%systemroot%\system32\config\AppEvent.EVT
- Internet信息服务FTP日志默认位置:%systemroot%\system32\logfiles\msftpsvc1\,默认每天一个日志
- Internet信息服务WWW日志默认位置:%systemroot%\system32\logfiles\w3svc1\,默认每天一个日志
- 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 -1
grep "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