数据来源
Windows,Linux
工具下载:https://pan.baidu.com/s/1tQS1mUelmEh3I68AL7yXGg 提取码:xiao
工具使用前提
LogFusion载入应用程序、硬件事件、安全、系统等日志
事件归类,事件 ID,事件状态等,参考百度资料
打开本地的日志
日志打开需要点时间(大概2到3分钟)
win10默认好像是不记录远程桌面的访问记录:怎么在Windows10启用远程协助的会话日志记录-百度经验 (baidu.com)
使用弱口令工具攻击看看
然后回到我们的日志分析软件就能查看到刚才暴力破解的日志,注意这里查看的是安全日志
在安全日志里看到很多账户登录失败的日志,可以判断当前主机遭受了爆破攻击,以及是否成功等
打开远程的日志
我这里在电脑开虚拟机,然后在真实机使用xshell连接执行命令
Linux系统日志文件相关介绍:(参考 )
先用工具攻击一下目标主机
参考:Linux应急响应基础 - 我是菜狗2 - 博客园 (cnblogs.com)
# 因为暴力破解肯定会会有登录失败的情况,所以这里筛选 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改一下就好了(参考)
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
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
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
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}'
默认配置测试
运行服务端程序,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
最后连接登录进去
前提是你要创建监听器,不然受害者运行了木马你也不知道
创建一个新的监听器 -> 填写监听器名称(随便写,不重复就行)-> 选择有效载荷/攻击模块/攻击方式
添加HTTP主机
添加要在开启监听的HTTP端口:0-65535 在这个取值范围中1023以下的端口已经分配给了常用的一些应用程序,建议往大的填,避免端口被占用(重复)--> 最后保存即可
开始创建木马文件
这边就能看到目标上线了
这里使用PCHunter工具进行辅助分析,工具下载:https://pan.baidu.com/s/1tQS1mUelmEh3I68AL7yXGg 提取码:xiao
工具的介绍:
一般的木马是没有产商信息
但是有些伪装的很好所以这个不能作为我们判断的唯一标准,可以再借助一些其他信息辅助我们进行判断
远程ip
可以在目标主机的命令行查看端口信息
# 查看本机端口开放信息
netstat -an
计划任务
系统用户名
还可以借助一些杀毒软件:腾讯、360、火绒这些
我这里又安装了cs3.14又因为cs的版本要与CrossC2相对应才行,搞了一天才发现这个问题,CS3.14 <——>CrossC2 -v2.1版本,其他版本的对应关系可以自己尝试
# 启动服务端
./teamserver 192.168.1.3 root
# 启动客户端
java -Dfile.encoding=UTF-8 -javaagent:CobaltStrikeCN.jar -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar
打开Github:GitHub - gloxec/CrossC2: generate CobaltStrike's cross-platform payload
方式一:脚本的方式生成 (genCrossC2.Linux)
# 运行脚本genCrossC2.Linux 系统类型、生成的文件名(这里也可以写文件路径,生成到指定的文件路径如:tmp\c2)
./genCrossC2.Linux 监听器ip 监听器端口 null null Linux x64 C2
方式二:
按道理来说会有个弹框,弹框内会有个下载链接但是我这里没有反应(我之前用3.1版本的插件就就是这样),应该是cs与插件的版本不是很匹配,不管了有一种方式生成木马辅助我们学习就好,毕竟我们不是要做违法的事,知道有这种方式就好。
可以直接在当前的攻击机运行木马测试一下(我这里的cs是安装的kali中的所以可以运行linux的木马文件)
kali成功上线
# 赋予执行权限
chmod +x 木马文件名
手动分析系统日志的方法在上面案例一的有介绍,使用脚本自动化检测会在案例4演示
这里演示一下查看系统开放端口,查找后门
# 可以查看tcp端口
netstat -ntl
应该是我的虚拟机的问题,我看别人的可以
然后再通过ps命令找到对应的进程,分析其是否是木马病毒
# 查看进程
ps aux
详细说明中毒表现及恢复指南
推荐2个勒索病毒解密网站
安全卫士勒索病毒专题:文件恢复_安全卫士离线救灾版_文档卫士 (360.cn)
主页面 | The No More Ransom Project
[下载]永恒之蓝样本(勒索病毒): https:
//bbs
.pediy.com
/thread-217586-1
.htm
不要在真实机运行病毒
病毒运行效果:打开任何文件都是乱码
解码刑警 | The No More Ransom Project
换360的解密网站看看:安全卫士勒索病毒专题:文件恢复_安全卫士离线救灾版_文档卫士 (360.cn)
不过在页面后面他推荐360解密大师,下载试试
注意:要先使用杀毒软件把病毒干掉,不然文件恢复了以后也会被加密
自动化响应检测工具:GScan(这个是python语言的脚本)、chkrootkit(c语言的脚本)、rkhunter、lynis
工具对比:(都下载一下,应急响应时全都跑一遍
)
GScan 程序定位为安全人员提供的一项入侵检测工具,旨在尽可能的发现入侵痕迹,溯源出黑客攻击的整个路径。 chkrootkit 程序定位为安全人员提供的一项入侵检测工具,旨在发现被植入的后门或者rootkit。 rkhunter 程序定位为安全人员提供的一项入侵检测工具,旨在发现被植入的后门或者rootkit。 lynis 程序定位为安全人员日常使用的一款用于主机基线和审计的工具,可辅助漏洞扫描和配置管理,也可部分用于入侵检测。
Gscan 工具下载:GitHub - grayddq/GScan: 本程序旨在为安全应急响应人员对Linux主机排查时提供便利,实现主机侧Checklist的自动全面化检测,根据检测结果自动数据聚合,进行黑客攻击路径溯源。
命令行执行运行命令即可
# 如果没有安装git:yum -y install git
git clone https://github.com/grayddq/GScan.git
执行时间:默认安全扫描大概执行时间为4~6分钟,完全扫描在1~2小时之间,程序执行时间的长度由检测文件的多少决定,有可能会存在较长的时间,请耐心等待
# 切换管理员模式
sudo su
# 查看脚本参数
python3 GScan.py -h
# 运行脚本
python3 GScan.py
漫长的等待,最后可以检测出可能存在风险的地方(直接将木马文件复制粘贴到目标主机中的是检测不出来的,如果是命令执行的方式下载并运行的就可以检测的出来)