meterpreter之timestomp命令修改文件MACE时间

article/2025/9/15 17:28:50

文章目录

  • 前言
  • 一、timestomp的使用前提
  • 二、MACE时间
    • 1、文件系统简述
    • 2、linux操作系统
    • 3、windows操作系统
  • 三、timestomp使用详解
    • 1.查看帮助文档
    • 2.使用-v选项查看文件信息
    • 3.使用-f选项拷贝文件MACE时间
    • 4.使用-m/-a/-c/-e修改文件MACE时间
    • 5.使用-b/-r使MACE时间显示清空
  • 总结


前言

在渗透测试过程中,当我们get shell后,常需要上传工具到目标机器,进一步的扩大战果。上传工具到靶机,就避免不了与目标机器的文件系统进行交互,这个过程就像是在雪地上行走,难免会留下各种痕迹,这些痕迹信息如果处理不好,将会被作为管理员取证溯源的重要依据。因此,在渗透测试过程中,我们要尽量减少与文件系统的交互,著名的渗透测试工具meterpreter就是依照这一思想设计的,它将各种模块加载到靶机的内存中,而不将文件写在磁盘上,这样做极大的减少了在系统上留下操作痕迹的几率。那么,当我们必须要上传某些工具到目标靶机时,如何能够躲避或者干扰管理员对文件系统信息的取证溯源呢,meterpreter又给了我们一个较好的解决方案,就是其priv模块下的timestop命令。


一、timestomp的使用前提

timestomp命令目前只支持windows操作系统,linux操作系统中暂无此命令支持,也就是说在使用windows/meterpreter/reverse_tcp这个payload时,才会有这个命令,这个命令是在meterpreter的priv模块中,如果没有加载模块,可以先用use或load命令,查看和加载相应模块。

load命令-l选项列出已经加载的模块

meterpreter > load -l
espia
extapi
incognito
kiwi
lanattacks
mimikatz
peinjector
powershell
priv
python
sniffer
stdapi
unhook
winpmem

使用load命令加载priv模块

meterpreter > load priv
[-] The 'priv' extension has already been loaded.

二、MACE时间

1、文件系统简述

我们可以将磁盘看成一个图书馆大楼,磁盘上的各种文件就是图书馆大楼内的各种图书,文件系统就是一个类似于图书管理系统的一套软件或图书管理流程。图书管理系统确保每本书从入馆到出馆,每一个环节都有据可查,同样,文件系统也是实现了类似的功能,对每个文件的读写删除以及各种属性更改等操作都做了详细的记录,因此有了前言里那句话,我们在与文件系统进行交互的时候,就像在雪地上行走,势必会留下脚印。

2、linux操作系统

linux操作系统一般使用ext3、ext4这类文件系统,可以使用stat命令查看文件的MAC时间,如下图。

root@kali2020:~# touch 1.txt
root@kali2020:~# stat 1.txtFile: 1.txtSize: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d	Inode: 4196637     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-08-26 07:42:03.367678468 -0400
Modify: 2020-08-26 07:42:03.367678468 -0400
Change: 2020-08-26 07:42:03.367678468 -0400Birth: -

access即访问时间,当我们用vim等编辑器打开文件,access时间会改变,同样我们使用cp命令拷贝文件时候也会改变access时间。如果有c语言基础,我们会知道,access这个动作实质上就是将文件读入内存中。

root@kali2020:~# vim 1.txt
root@kali2020:~# stat 1.txtFile: 1.txtSize: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d	Inode: 4196637     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-08-26 07:43:58.051677030 -0400
Modify: 2020-08-26 07:42:03.367678468 -0400
Change: 2020-08-26 07:42:03.367678468 -0400Birth: -

change对应的是文件属性的修改,如我们将1.txt加上可执行的属性,change time会改变,稍微对文件系统有深入了解的同学可以清楚,实质上change time的元数据是记录在文件系统的inode节点中的。下图以增加文件的可执行权限为例。

root@kali2020:~# chmod +x 1.txt
root@kali2020:~# stat 1.txtFile: 1.txtSize: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d	Inode: 4196637     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-08-26 07:43:58.051677030 -0400
Modify: 2020-08-26 07:42:03.367678468 -0400
Change: 2020-08-26 07:47:06.347674669 -0400Birth: -

modify对应的是文件内容的改变,由于文件内容势必改变文件大小的属性,因此在修改modify时间的同时,change时间也经常随之改变,例如:

root@kali2020:~# echo 123 > 1.txt
root@kali2020:~# stat 1.txtFile: 1.txtSize: 4         	Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d	Inode: 4196637     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-08-26 07:49:39.015672755 -0400
Modify: 2020-08-26 07:51:16.263671535 -0400
Change: 2020-08-26 07:51:16.263671535 -0400Birth: -

对于linux操作系统,我们可以使用touch命令人为的修改文件的Access、Modify时间,而无法修改Change时间,同时meterpreter也对应的linux版本也没有对应的timestomp命令,因此,在取证过程中,Change时间还是具有很强的参考价值。

3、windows操作系统

windows操作系统一般使用ntfs文件系统,对于ntfs文件系统,其有MACE时间,我们可以使用meterpreter的-v选项查看。

meterpreter > timestomp 1.txt -v
[*] Showing MACE attributes for 1.txt
Modified      : 2020-08-30 21:33:44 -0400
Accessed      : 2020-08-30 21:33:44 -0400
Created       : 2020-08-30 21:33:44 -0400
Entry Modified: 2020-08-30 21:33:45 -0400

这里的modify和access时间同linux操作系统中基本是相同的,就不再做阐述。主要说说Create和Entry Modified时间。Create时间很好理解,即文件的创建时间,它不同于linux操作系统中的change时间。而Entry Modified时间是在ntfs文件系统的主文件分区表MTF(master table file)存放,entry信息包含文件大小、名称、目录、磁盘位置、创建位置等信息。举个例子,当我们做磁盘整理时,某文件存储的磁盘块发生了改变,那么Entry Modified时间也会随之改变。同样,如果我们只做文件名的修改,Entry Modified时间也会发生改变。再例如,我们将文件名改变,MAC时间都不变,只有Entry Modified时间会改变。

meterpreter > timestomp 1.txt -v
[*] Showing MACE attributes for 1.txt
Modified      : 2020-02-08 20:49:09 -0500
Accessed      : 2020-02-08 20:49:09 -0500
Created       : 2020-02-08 20:49:09 -0500
Entry Modified: 2020-08-31 20:19:17 -0400

三、timestomp使用详解

1.查看帮助文档

meterpreter > timestomp helpUsage: timestomp <file(s)> OPTIONSOPTIONS:-a <opt>  Set the "last accessed" time of the file-b        Set the MACE timestamps so that EnCase shows blanks-c <opt>  Set the "creation" time of the file-e <opt>  Set the "mft entry modified" time of the file-f <opt>  Set the MACE of attributes equal to the supplied file-h        Help banner-m <opt>  Set the "last written" time of the file-r        Set the MACE timestamps recursively on a directory-v        Display the UTC MACE values of the file-z <opt>  Set all four attributes (MACE) of the file

2.使用-v选项查看文件信息

meterpreter > timestomp shell.exe -v
[*] Showing MACE attributes for shell.exe
Modified      : 2020-03-20 20:08:06 -0400
Accessed      : 2020-03-20 20:08:06 -0400
Created       : 2020-03-20 20:08:06 -0400
Entry Modified: 2020-03-20 20:08:06 -0400

3.使用-f选项拷贝文件MACE时间

meterpreter > edit 2.txt
meterpreter > timestomp 2.txt -v
[*] Showing MACE attributes for 2.txt
Modified      : 2020-08-31 20:30:53 -0400
Accessed      : 2020-08-31 20:30:23 -0400
Created       : 2020-08-31 20:30:23 -0400
Entry Modified: 2020-08-31 20:30:53 -0400
meterpreter > timestomp 1.txt -v
[*] Showing MACE attributes for 1.txt
Modified      : 2020-02-08 20:49:09 -0500
Accessed      : 2020-02-08 20:49:09 -0500
Created       : 2020-02-08 20:49:09 -0500
Entry Modified: 2020-08-31 20:19:17 -0400
meterpreter > timestomp 2.txt -f 1.txt
[*] Pulling MACE attributes from 1.txt
[*] Setting specific MACE attributes on 2.txt
meterpreter > timestomp 2.txt -v
[*] Showing MACE attributes for 2.txt
Modified      : 2020-02-08 20:49:09 -0500
Accessed      : 2020-02-08 20:49:09 -0500
Created       : 2020-02-08 20:49:09 -0500
Entry Modified: 2020-08-31 20:19:17 -0400

4.使用-m/-a/-c/-e修改文件MACE时间

-a修改accessed时间,其他参数同理。

meterpreter > timestomp 1.txt -a '03/12/2015 23:21:18'
[*] Setting specific MACE attributes on 1.txt
meterpreter > timestomp 1.txt -v
[*] Showing MACE attributes for 1.txt
Modified      : 2020-02-08 20:49:09 -0500
Accessed      : 2015-03-12 23:21:18 -0400
Created       : 2020-02-08 20:49:09 -0500
Entry Modified: 2020-08-31 20:19:17 -0400

5.使用-b/-r使MACE时间显示清空

该功能暂时无法使用。官网给出的功能如下
在这里插入图片描述
使用-b命令后文件的时间显示丢失或混乱。-r同理。
在这里插入图片描述


总结

以上就是今天要讲的内容,本文仅仅简单介绍了timestomp命令的使用,而命令虽然简单,但其技术思想值得我们细细品究,以便将来在实战中熟练应用这些战术。


http://chatgpt.dhexx.cn/article/79ioZDAm.shtml

相关文章

小米开源AI框架mace编译构建

目录 简介 环境要求 1 安装 Bazel 2 安装Android NDK 3 在Ubuntu16.04下安装Docker&#xff08;17.09&#xff09; 构建并运行示例模型 1 拉取MACE项目 2 拉取MACE Model Zoo项目 3 构建通用MACE库 4 将预先训练的mobilenet-v2模型转换为MACE格式模型 编译运行DEMO…

使用MACE加速---使用篇

最近开始研究如何对手机应用中的识别算法进行加速&#xff0c;搜索后发现了小米的MACE。 Mobile AI Compute Engine (MACE) 是一个专为移动端异构计算设备优化的深度学习前向预测框架。 覆盖了常见的移动端计算设备&#xff08;CPU&#xff0c;GPU和DSP&#xff09;。支持的硬…

小米AI推理框架MACE介绍

MACE 是小米公司自研的移动端深度学习框架 Mobile AI Compute Engine&#xff0c;2017年12月15日于公司内部正式发布。2018年6月28日&#xff0c;在“2018&#xff08;第十三届&#xff09;开源中国开源世界高峰论坛”上&#xff0c;小米公司人工智能与云平台副总裁崔宝秋博士宣…

MACE 使用笔记

环境安装 tensorflow 安装&#xff0c;一直不太想用mace的部分原因是不支持tensorflow2.模型&#xff0c; 但为了GPU(OpenCL)还是要用啊。 Shell set -e 学习笔记&#xff1a; shell 中的 set -e &#xff0c; set e 用法_滴水成川-CSDN博客_linux set-eset -eset命令的-e参…

小米开源框架MACE 简介

转载自 https://www.jianshu.com/p/2ab68779d05b 前言 MACE 是小米公司自研的移动端深度学习框架 Mobile AI Compute Engine&#xff0c;2017年12月15日于公司内部正式发布。2018年6月28日&#xff0c;在“2018&#xff08;第十三届&#xff09;开源中国开源世界高峰论坛”上…

MACE(1)-----环境搭建

学习MACE也有一个月了&#xff0c;将其划分三步来学习。本文是MACE学习的第一步即MACE环境的搭建。之后还有两步mace的编译和mace工程化。 MACE(2)-----模型编译&#xff1a;https://www.cnblogs.com/missidiot/p/9509831.html MACE(3)-----工程化&#xff1a;https://www.cnbl…

JDK , Tomcat , Eclipse 版本对应关系

1. JDK , Tomcat 版本对应关系 参考网址 : https://tomcat.apache.org/whichversion.html 2. JDK , Eclipse 版本对应关系 参考网址 : https://wiki.eclipse.org/Eclipse/Installation 作者 Github : tojohnonly , 博客 : EnskDeCode

如何查看eclipse的版本

阅读数&#xff1a;20254 转载文章&#xff0c;原文地址&#xff1a;https://blog.csdn.net/duqian94/article/details/52386076 由于作者已经写的很清楚了&#xff0c;就没有做修改直接转载过来了。 本篇文章主要讲解的是三种查看eclipse版本的方法&#xff08;超详细&#xf…

Eclipse各版本有什么区别?

一直以来对eclipse这个IDE的各发行版本都弄不清楚&#xff0c;今天做一个梳理和记录。 Eclipse基本内核包括&#xff1a;图形API&#xff08;SWT/Jface&#xff09;&#xff0c;Java开发环境插件&#xff08;JDT&#xff09;&#xff0c;插件开发环境&#xff08;PDE&#xff0…

超方便插件lombok的使用(eclipse版本)

1 准备 下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1Qoy2VRoERqZcgsOVYl3mZQ 提取码&#xff1a;2chx 2.安装 点击 或者找到对应的lombok文件所在目录执行java -jar lombok(1).jar 会自动扫描eclipse所以目录&#xff0c;也可以自己选择点击"S…

查看Eclipse版本号及各个版本区别

1. 找到eclipse安装目录 2. 进入readme文件夹&#xff0c;打开readme_eclipse.html 3. readme_eclipse.html呈现的第二行即数字版本号&#xff0c;如&#xff1a; Eclipse Project Release Notes Release 4.2.0 Last revised June 8th, 2012 附&#xff1a;Eclipse各个版本简介…

安装两个Eclipse 版本不一致,高版本无法打开

Could not create the Java Virtual Machine&#xff0c;A fatal exception has occurred。 首先删除了 工作空间的配置 然后删除掉C:\Windows\System32 里面的三个java文件 java.exe javas.exe javaw.exe 配置好环境变量就好了

eclipse选择java版本_使用 Eclipse 开发版本选择和下载说明

现在越来越多的人开发使用 IDEA,使用 Eclipse 开发的已经渐渐变少了,这篇就简单介绍下 Eclipse 的版本选择和下载,供目前还在坚守使用 Eclipse 开发的同胞们~ Eclipse 简介 Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,…

解决pydev与eclipse版本问题

eclipsepydevanaconda版本问题方法&#xff1a; 在eclipse安装pydev插件时&#xff0c;会遇见安装后在“Preference”不显示“pydev”现象&#xff0c;原因&#xff1a;下载的pydev版本与eclipse版本不匹配&#xff0c;导致无法使用&#xff0c;经过反复调试&#xff0c;发现官…

Eclipse版本升级(2020-12)

文章目录 Eclipse版本升级&#xff08;2020-12&#xff09;内置工具栏安装本地安装包安装 Eclipse版本升级&#xff08;2020-12&#xff09; Eclipse内安装软件通常会通过内置软件安装方式或者是自己下载安装包方式安装。同样&#xff0c;Eclipse版本升级也可以用这两种方式。…

Eclipse版本对应的jdk需求及查看eclipse的java版本怎么看Eclipse需要安装哪个版本jdk

1)找到eclipse安装目录。 2)进入readme文件夹&#xff0c;打开readme_eclipse.html。 Eclipse软件 jdk及种操作方法 自行百度网盘提取 链接&#xff1a;https://pan.baidu.com/s/1JEYq4Lo8aEms7ClPIchLsA?pwddt4z 提取码&#xff1a;dt4z 我先给一个我翻译过的图&#x…

Eclipse版本号及各个版本区别

附&#xff1a;Eclipse各个版本简介&#xff08;http://zh.wikipedia.org/wiki/Eclipse&#xff09; 从2006年起&#xff0c;Eclipse基金会每年都会安排同步发布&#xff08;simultaneous release&#xff09;。同步发布主要在6月进行&#xff0c;并且会在接下来的9月及2月释放…

如何更新Eclipse版本

Eclipse用久了上面会集成了使用者长久以来集成的开发插件,如何更新Eclipse并且将这些插件带到下一个版本是本文主要介绍的内容。 此外,升级Eclipse版本的好处还在于更好的支持新版JDK的特性,如JDK8的Lambda语法,以及对高版本Tomcat的配置支持,还有minimap视图支持…

Eclipse 版本升级记录

前言 Eclipse 不是不能在线升级&#xff0c;至少没有找对方法&#xff0c;下面就让我来一步一步带你学会它、使用它吧! 一、概念 Eclipse主要分为两个概念&#xff0c;一个是在线升级 Eclipse 新版本&#xff0c;另一个是在线升级 Eclipse 插件&#xff0c;这两个是有很大区…

Eclipse版本与jdk对应版本等信息

最近整理了一下Java学习的准备基础工作&#xff0c;每次用的时候都要重新找一遍比较麻烦&#xff0c;就先把目前的资料连接备份一下&#xff0c;方便自己参考取用。 1、Eclipse官方网站&#xff1a; Enabling Open Innovation & Collaboration | The Eclipse Foundationh…