前题
我们都知道每个文件都有三个时间属性,分别为创建时间,上次修改时间,上次访问时间。我们可以使用powershell命令查看文件的所有属性(ls)[0]|fl *命令解析:以列表的形式展示当前目录第一个文件的所有信息
渗透测试
shell.php是一个一句话木马的php文件,代码如下,使用菜刀连接后右键可以修改文件(夹)时间,我们将时间修改为2017年
然后我们再来看一下该文件属性
发现菜刀只是修改了上次修改时间,上次访问时间,创建时间仍然是正确的。
应急响应
针对这种情况,我们只需要对磁盘进行搜索,以创建时间为准倒序排列即可发现黑客上传的webshell。 powershell的命令为
Get-ChildItem -Recurse -Filter *.php G:\ | sort -Descending CreationTime | Select-Object FullName,Length,CreationTime,LastWriteTime | Select-Object -First 10
命令解析:查找G盘所有目录下最新创建的10个PHP文件,并展示出文件路径,大小,创建时间,上次修改时间
最后
为了真正修改文件时间,在使用菜刀修改文件时间后,还需要执行命令
powershell ((Get-ChildItem shell.php).CreationTime='2000/8/30 23:59:39')
实际渗透时创建时间应该略早于修改时间,或一致