如何在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)
know it then do it