使用Shell脚本在Linux服务器上能够控制、毁坏或者获取任何东西,通过一些巧妙的攻击方法黑客可能会获取巨大的价值,但大多数攻击也留下踪迹。当然,这些踪迹也可通过Shell脚本等方法来隐藏。
寻找攻击证据就从攻击者留下的这些痕迹开始,如文件的修改日期。每一个 Linux 文件系统中的每个文件都保存着修改日期。系统管理员发现文件的最近修改时间,便提示他们系统受到攻击,采取行动锁定系统。然而幸运的是,修改时间不是绝对可靠的记录,修改时间本身可以被欺骗或修改,通过编写 Shell 脚本,攻击者可将备份和恢复修改时间的过程自动化。
操作步骤
第一步:查看和操作时间戳
多数 Linux 系统中包含一些允许我们快速查看和修改时间戳的工具,其中最具影响的当数“ Touch ”,它允许我们创建新文件、更新文件 / 文件组最后一次被“ touched ”的时间。
touch file
若该文件不存在, 运行上面的命令将创建一个名为“ file ”的新文件;若它已经存在,该命令将会更新修改日期为当前系统时间。我们也可以使用一个通配符,如下面的字符串。
touch *
这个命令将更新它运行的文件夹中的每个文件的时间戳。 在创建和修改文件之后,有几种方法可以查看它的详细信息,第一个使用的为“ stat ”命令。
stat file
运行 stat 会返回一些关于文件的信息,包含访问、修改或更新时间戳。针对一批文件可使用 ls 参数查看各文件的时间戳,使用“ -l ”或者“ long ”,该命令会列出文件详细信息,包含输出时间戳。
ls –l
现在就可以设置当前时间戳并查看已经设置的时间戳,也可使用touch来定义一个自定义时间戳,可使用“d”标志,用yyyy-mm-dd格式定义日期,紧随其后设置时间的小时、分钟及秒,如下:
touch -d"2001-01-01 20:00:00" file
通过ls命令来确认修改信息:
ls -l file
这种方法适用于修改个别时间戳,对于隐藏服务器上的操作痕迹,这个方法不太奏效,可以使用shell脚本将该过程自动化。
步骤二:组织Shell脚本
在开始编写脚本之前需要考虑清楚需要执行哪些过程。为了在服务器上隐藏痕迹,攻击者需要将文件夹的原始时间戳写入一个文件,同时能够在我们进行任何修改设置之后还能回到原始文件。
新闻热点
疑难解答