iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >如何使用Shell脚本掩盖Linux服务器上的操作痕迹
  • 266
分享到

如何使用Shell脚本掩盖Linux服务器上的操作痕迹

2023-06-06 01:06:14 266人浏览 八月长安
摘要

这篇文章主要介绍了如何使用shell脚本掩盖linux服务器上的操作痕迹,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。操作步骤第一步:查看和操作时间戳多数Linux系统中包含

这篇文章主要介绍了如何使用shell脚本掩盖linux服务器上的操作痕迹,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

操作步骤

第一步:查看和操作时间戳

多数Linux系统中包含一些允许我们快速查看和修改时间戳的工具,其中最具影响的当数“Touch”,它允许我们创建新文件、更新文件 /文件组最后一次被“touched”的时间。

touch file

若该文件不存在,运行上面的命令将创建一个名为“file”的新文件;若它已经存在,该命令将会更新修改日期为当前系统时间。我们也可以使用一个通配符,如下面的字符串

touch *

这个命令将更新它运行的文件夹中的每个文件的时间戳。在创建和修改文件之后,有几种方法可以查看它的详细信息,第一个使用的为“stat”命令。

stat file

如何使用Shell脚本掩盖Linux服务器上的操作痕迹

运行stat会返回一些关于文件的信息,包含访问、修改或更新时间戳。针对一批文件可使用ls参数查看各文件的时间戳,使用“ -l”或者“long”,该命令会列出文件详细信息,包含输出时间戳。

ls –l

如何使用Shell脚本掩盖Linux服务器上的操作痕迹

现在就可以设置当前时间戳并查看已经设置的时间戳,也可使用touch来定义一个自定义时间戳,可使用“d”标志,用yyyy-mm-dd格式定义日期,紧随其后设置时间的小时、分钟及秒,如下:

touch -d"2001-01-01 20:00:00" file

通过ls命令来确认修改信息:

ls -l file

如何使用Shell脚本掩盖Linux服务器上的操作痕迹

这种方法适用于修改个别时间戳,对于隐藏服务器上的操作痕迹,这个方法不太奏效,可以使用shell脚本将该过程自动化

步骤二:组织Shell脚本

在开始编写脚本之前需要考虑清楚需要执行哪些过程。为了在服务器上隐藏痕迹,攻击者需要将文件夹的原始时间戳写入一个文件,同时能够在我们进行任何修改设置之后还能回到原始文件。

这两个不同的功能会根据用户的输入或者参数的不同而触发,脚本会根据这些参数执行相应的功能,同时我们需要有一种方法来处理错误。根据用户的输入将会进行三种可能的操作:

没有参数——返回错误消息;

保存时间戳标记——将时间戳保存到文件中;

恢复时间戳标记——根据保存列表恢复文件的时间戳。

我们可以使用嵌套语句if/or语句来创建脚本,也可以根据条件将每个函数分配给自己的“if”语句,可选择在文本编辑器或者nano中开始编写脚本。

步骤三:开始脚本

从命令行启动nano并创建一个名为“timestamps.sh”的脚本,命令如下:

nano timestamps.sh

然后进行下列命令:

#!/bin/bash if [ $# -eq 0 ];then echo “Use asave (-s) or restore (-r) parameter.” exit 1 fi

如何使用Shell脚本掩盖Linux服务器上的操作痕迹

在nano中按下Ctrl + O保存这个文件,通过chmod命令将它标记为可运行的脚本。

chmod +x timestamps.sh

然后运行脚本,测试无参数时返回错误信息的功能。如果脚本返回我们的echo语句,我们就可以继续下一个条件了。

./timestamps.sh

如何使用Shell脚本掩盖Linux服务器上的操作痕迹

步骤四:将时间戳写入文件

定义if语句的条件,“-s”表示执行保存功能:

if [ $1 ="-s" ] ; then fi

当然,需要检查计划保存的时间戳文件是否存在,如果存在,我们可以删除它(名为timestamps的文件),避免重复或错误的输入,使用下面的命令:

rm -f timestamps;

然后使用“ls”命令列出所有文件和它的修改时间,可将其输出到另一个程序,如sed,以帮助我们稍后清理这个输入。

ls –l

通常会出现下面的显示结果:

-rw-r--r-- 1 user user 0 Jan 1 2017 file

为了保存时间戳,我们只需要年、月、日及文件名,下面命令可以清除“Jan”之前的信息:

ls -l file | sed 's/^.*Jan/Jan/p'

这样显示的就是我们程序需要的信息,只是需要修改月份格式为数字格式:

ls -l file | sed 's/^.*Jan/01/p'

将所有月份都替换为数字:

ls -l | sed -n 's/^.*Jan/01/p;s/^.*Feb/02/p;s/^.*Mar/03/p;s/^.*Apr/04/p;s/^.*May/05/p;s/^.*Jun/06/p;s/^.*Jul/07/p;s/^.*Aug/08/p;s/^.*Sep/09/p;s/^.*Oct/10/p;s/^.*Nov/11/p;s/^.*Dec/12/p;'

在一个文件夹中运行我们会看到如下图所示的结果:

如何使用Shell脚本掩盖Linux服务器上的操作痕迹

然后将输出结果通过“>>”发送到名为“timestamps”的文件中:

do echo $x | ls -l | sed -n 's/^.*Jan/01/p;s/^.*Feb/02/p;s/^.*Mar/03/p;s/^.*Apr/04/p;s/^.*May/05/p;s/^.*Jun/06/p;s/^.*Jul/07/p;s/^.*Aug/08/p;s/^.*Sep/09/p;s/^.*Oct/10/p;s/^.*Nov/11/p;s/^.*Dec/12/p;' >> timestamps

至此,脚本的前两个操作就完成了,显示结果如下图:

如何使用Shell脚本掩盖Linux服务器上的操作痕迹

下面可用“-s”标示测试脚本,用cat检查保存的信息:

./timestamps.sh –s  cat timestamps

如何使用Shell脚本掩盖Linux服务器上的操作痕迹

步骤五:恢复文件的时间戳

在保存好原始时间戳后,需要恢复时间戳让别人觉察不到文件被修改过,可使用下面命令:

if $1 = "-r" ; then fi

然后使用下面命令,转发文本文件的内容,并一行一行运行:

cat timestamps |while read line do done

然后再分配一些变量让文件数据的使用更简单:

MONTH=$(echo $line | cut -f1 -d\ ); DAY=$(echo $line| cut -f2 -d\ ); FILENAME=$(echo $line | cut -f4 -d\ ); YEAR=$(echo $line | cut -f3 -d\ )

虽然这四个变量在保存的时间戳文件中是一致的,但是如果时间戳是在过去一年中发生的,它只会显示时间而不是年份。如果需要确定当前年份,我们可以分配为写脚本的年份,也可以从系统中返回年份,使用cal命令可以查看日历。

如何使用Shell脚本掩盖Linux服务器上的操作痕迹

然后检索第一行,只让显示想要得年份信息:

CURRENTYEAR=$(cal | head -1 | cut -f6- -d\ | sed 's/ //g')

如何使用Shell脚本掩盖Linux服务器上的操作痕迹

定义了所有变量之后可以使用“if else”语句,根据格式化的日期更新文件的时间戳,使用touch语法:

touch -d "2001-01-01 20:00:00" file

由于每个时间都包含冒号,因此可使用下面的“ifelse”语句完成操作,整体操作如下图所示:

if [ $YEAR == *:* ]; then touch -d $CURRENTYEAR-$MONTH-$DAY\ $YEAR:00 $FILENAME; else touch -d ""$YEAR-$MONTH-$DAY"" $FILENAME; fi

如何使用Shell脚本掩盖Linux服务器上的操作痕迹

步骤六:使用脚本

使用的命令主要有以下几个:

./timestamps.sh –s   保存文件时间戳 touch -d “2050-10-12 10:00:00″ *   修改目录下的所有文件时间戳 ls –a   确认修改的文件 ./timestamps.sh –r   恢复文件原始时间戳

最后可以再次运行“ls -a”来查看文件的时间戳是否和之前备份的时间戳一致,整个的脚本就执行完成了,如下图所示:

如何使用Shell脚本掩盖Linux服务器上的操作痕迹

感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用Shell脚本掩盖Linux服务器上的操作痕迹”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网操作系统频道,更多相关知识等着你来学习!

--结束END--

本文标题: 如何使用Shell脚本掩盖Linux服务器上的操作痕迹

本文链接: https://www.lsjlt.com/news/245620.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用Shell脚本掩盖Linux服务器上的操作痕迹
    这篇文章主要介绍了如何使用Shell脚本掩盖Linux服务器上的操作痕迹,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。操作步骤第一步:查看和操作时间戳多数Linux系统中包含...
    99+
    2023-06-06
  • 怎么使用Shell脚本掩盖Linux服务器上的操作痕迹
    这篇文章将为大家详细讲解有关怎么使用Shell脚本掩盖Linux服务器上的操作痕迹,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。操作步骤第一步:查看和操作时间戳多数 Linux 系统中包含一些允许我们快速...
    99+
    2023-06-09
  • 如何使用脚本和批处理清除电脑中的痕迹
    这篇文章主要介绍了如何使用脚本和批处理清除电脑中的痕迹,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、可能的泄密点及其存在的位置 Windows中可能泄漏我们的秘密的地方有...
    99+
    2023-06-09
  • 如何使用rsync备份文件/目录到Linux服务器上的Shell脚本
    这篇文章将为大家详细讲解有关如何使用rsync备份文件/目录到Linux服务器上的Shell脚本,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用该脚本会以交互的方式实施备份,你需要提供远程...
    99+
    2023-06-28
  • 如何通过PHP脚本在Linux服务器上自动化操作
    在Linux服务器上,使用PHP脚本可以实现各种自动化操作,如备份数据库、定时任务、文件管理等。接下来将介绍如何使用PHP脚本来实现这些自动化操作,并提供具体的代码示例。备份数据库数据库的备份是服务器管理的一项重要任务,通过PHP脚本可以实...
    99+
    2023-10-21
    linux服务器 PHP脚本 自动化操作
  • 如何使用shell脚本取出服务器图
    小编给大家分享一下如何使用shell脚本取出服务器图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Shell 教程Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又...
    99+
    2023-06-09
  • 如何使用Linux服务器的巡检用户和基础命令,捕捉用户登录痕迹?
    本文使用一个最普通的巡检用户,查看RedHat 7.4系统日志,检查用户登录痕迹,说明如何判断是否存在违规访问记录,如跳板访问等。这里需要关心的日志列表如下/var/log/lastlog  二进制文件,记录了最近的连接记录/va...
    99+
    2023-06-05
  • 如何使用PHP在Linux下执行脚本操作
    在Linux系统中,PHP是一种非常常用的服务器端脚本语言。它可以与操作系统交互,并执行一些系统级的操作,如执行命令、读写文件等。本文将介绍如何使用PHP在Linux下执行脚本操作,并提供具体的代码示例。一、执行命令操作使用shell_ex...
    99+
    2023-10-21
    Linux PHP 执行脚本操作
  • Shell脚本常用命令及如何通过shell脚本实现服务器上文件的上传和下载
    Shell脚本常用命令 简介 1、什么是shell: Shell 是一个用 C 语言编写的应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Shell 脚本(shell script),是一种为 shell 编写...
    99+
    2023-08-23
    服务器 linux 自动化
  • 如何在Java中使用Shell脚本操作数组和文件?
    Java是一种非常流行的编程语言,常用于开发Web应用程序和移动应用程序。在Java中,我们可以使用Shell脚本来操作数组和文件,这使得开发者可以更加轻松地管理数据和文件。本文将介绍如何在Java中使用Shell脚本操作数组和文件。 一、...
    99+
    2023-10-31
    shell 数组 文件
  • Linux系统如何使用shell脚本定时任务
    这期内容当中小编将会给大家带来有关Linux系统如何使用shell脚本定时任务,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。定时任务是Linux系统运维人员常用的一种技术手段,使用定时任务可以简化那些繁琐...
    99+
    2023-06-28
  • Linux下如何使用Shell脚本实现ftp的自动上传下载
    小编给大家分享一下Linux下如何使用Shell脚本实现ftp的自动上传下载,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1. ftp自动登录批量下载文件。代码如下:#####从ftp服务器上的/home/data 到 本...
    99+
    2023-06-09
  • Python脚本操作在Linux服务器上实现Web服务的技术指南
    Python脚本操作在Linux服务器上实现Web服务的技术指南一、介绍随着互联网的快速发展,Web服务已成为许多企业和个人的首选。而Python作为一种简单而强大的编程语言,被广泛用于Web开发。本文将介绍如何使用Python脚本在Lin...
    99+
    2023-10-22
    Python Linux Web服务
  • Python脚本操作在Linux服务器维护中的应用
    Python脚本在Linux服务器维护中的应用-具体代码示例摘要:随着互联网技术的发展,Linux操作系统在服务器维护中扮演了非常重要的角色。本文介绍了如何使用Python脚本在Linux服务器维护中自动化进行常见的任务,以提高效率。同时,...
    99+
    2023-10-22
    服务器 Python 脚本操作
  • 如何在Apache服务器上通过Shell脚本使用Go进行同步?
    在Web开发中,Apache服务器是非常常见的Web服务器之一。而Go语言作为一种高效、快速、简单的编程语言,越来越受到开发者们的青睐。在本文中,我们将探讨如何在Apache服务器上使用Shell脚本和Go语言进行同步。 一、准备工作 在开...
    99+
    2023-10-20
    apache 同步 shell
  • 简易版Linux服务器如何初始化Shell脚本
    本篇内容介绍了“简易版Linux服务器如何初始化Shell脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!该Shell脚本主要用于新安装L...
    99+
    2023-06-09
  • linux服务器如何实现安全加固shell脚本
    这篇文章给大家分享的是有关linux服务器如何实现安全加固shell脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:#!/bin/sh# desc: setup linux system securi...
    99+
    2023-06-09
  • 如何使用Python脚本在Linux中实现远程操作
    如何使用Python脚本在Linux中实现远程操作,需要具体代码示例在Linux系统中,使用Python脚本可以方便地实现远程操作,能够远程执行命令、传输文件等功能。本文将介绍如何使用Python脚本在Linux中实现远程操作,并给出具体的...
    99+
    2023-10-22
    Python Linux 远程操作
  • 如何在Linux中使用shell脚本获取当前工作目录
    如何在Linux中使用shell脚本获取当前工作目录?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如下:workdir=$(cd $(dirname $0)...
    99+
    2023-06-09
  • java如何调用远程服务器的shell脚本
    这篇文章给大家分享的是有关java如何调用远程服务器的shell脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。最近接了个需求,要求远程调shell脚本,你没听错!!!需求就一句话,咱是谁,咱是优秀的开发选手。...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作