如何在shell下自动获取回收站内所有的文件信息

师傅提的一个问题,感觉不错,渗透时候需要的就是收集更多信息。
http://zone.wooyun.org/content/27961

已知:

dir C:\$Recycle.Bin\用户sid\$R*

可查询回收站内存储的被删除文件

dir C:\$Recycle.Bin\用户sid\$I*

可查看回收站内存储的被删除文件的路径信息

1、powershell实现:

 $Recycler = (New-Object -ComObject Shell.Application).NameSpace(0xa)
foreach($file in $Recycler.items())
{
        
        Write-Host -----------
        Write-Host Recycle Name:  
        $file.path
        Write-Host Source Path: 
        $file.ExtendedProperty("{9B174B33-40FF-11D2-A27E-00C04FC30871} 2")+'\'+$file.name
        Write-Host Type: $file.Type
}

804631-20160621120759787-935217454.png

2、exe实现
https://github.com/abelcheung/rifiuti2/releases/download/0.6.1/rifiuti2-0.6.1-win.zip

804631-20160621121056834-19695.png

3、cmd下实现

mkdir c:\aaa\ & FOR /F "skip=1" %i in ('wmic useraccount get sid') do (mkdir c:\aaa\%i\ & FOR /F "skip=4 tokens=2 delims=$" %k in ('dir C:\$Recycle.Bin\%i\$I*') do  type C:\$Recycle.Bin\%i\$%k | findstr "." >>c:\aaa\%i\info.txt)

运行后在c:\aaa目录下分别生成以用户sid命名的文件夹,里面的info.txt保存文件的原路径
但缺陷很大,这个只是知道原文件地址并不知道实际回收站实际文件,

所以优化了一下:

mkdir c:\aaa\ & FOR /F "skip=1" %i in ('wmic useraccount get sid') do (mkdir c:\aaa\%i\ & FOR /F "skip=4 tokens=2 delims=$I" %k in ('dir C:\$Recycle.Bin\%i\$I*') do dir C:\$Recycle.Bin\%i\$R* | findstr %k >>c:\aaa\%i\info.txt & type C:\$Recycle.Bin\%i\$I%k | findstr "." >>c:\aaa\%i\info.txt)

转载于:https://www.cnblogs.com/iamstudy/articles/restore_recycler_file.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值