如何在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
}

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

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)
posted @ 2016-06-21 12:15  l3m0n  阅读(1023)  评论(0编辑  收藏  举报