An open API service indexing awesome lists of open source software.

https://github.com/ivan-sincek/file-shredder

PowerShell script for shredding files.
https://github.com/ivan-sincek/file-shredder

ethical-hacking file-shredding offensive-security penetration-testing powershell red-team-engagement security windows windows-penetration-testing

Last synced: 8 months ago
JSON representation

PowerShell script for shredding files.

Awesome Lists containing this project

README

          

# File Shredder

PowerShell script for shredding files.

If you have more than enough free disk space, your files will most likely still be recoverable - even after shredding.

Tested with PowerShell v5.1.18362.752 on Windows 10 Enterprise OS (64-bit).

Made for educational purposes. I hope it will help!

## How to Run

Open the PowerShell from [\\src\\](https://github.com/ivan-sincek/file-shredder/tree/master/src) and run the commands shown below.

Set the execution policy:

```pwsh
Set-ExecutionPolicy Unrestricted
```

Run the script:

```pwsh
.\file_shredder.ps1 .\somefile.txt
```

Or, run the following command from either PowerShell or Command Prompt:

```pwsh
PowerShell -ExecutionPolicy Unrestricted -File .\file_shredder.ps1 .\somefile.txt
```

To run the PowerShell encoded command, run the following command from either PowerShell or Command Prompt:

```pwsh
PowerShell -ExecutionPolicy Unrestricted -EncodedCommand JABwACAAPQAgACQAKABSAGUAYQBkAC0ASABvAHMAdAAgAC0AUAByAG8AbQBwAHQAIAAiAEUAbgB0AGUAcgAgAGYAaQBsAGUAIABwAGEAdABoACIAKQAuAFQAcgBpAG0AKAApADsAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAIgAiADsAIABpAGYAIAAoACQAcAAuAEwAZQBuAGcAdABoACAALQBsAHQAIAAxACkAIAB7ACAAVwByAGkAdABlAC0ASABvAHMAdAAgACIARgBpAGwAZQAgAGkAcwAgAHIAZQBxAHUAaQByAGUAZAAiADsAIAB9ACAAZQBsAHMAZQAgAHsAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAIgAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAYABuACMAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIwBgAG4AIwAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAARgBpAGwAZQAgAFMAaAByAGUAZABkAGUAcgAgADEALgAzACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAjAGAAbgAjACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABiAHkAIABJAHYAYQBuACAAUwBpAG4AYwBlAGsAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACMAYABuACMAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIwBgAG4AIwAgAEcAaQB0AEgAdQBiACAAcgBlAHAAbwBzAGkAdABvAHIAeQAgAGEAdAAgAGcAaQB0AGgAdQBiAC4AYwBvAG0ALwBpAHYAYQBuAC0AcwBpAG4AYwBlAGsALwBmAGkAbABlAC0AcwBoAHIAZQBkAGQAZQByAC4AIAAgACAAIAAgACAAIAAgACAAIAAjAGAAbgAjACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACMAYABuACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAiADsAIAAkAHMAegAgAD0AIAAyADAANAA4ADsAIAAkAGIAIAA9ACAAJABuAHUAbABsADsAIAAkAHIAbgBnACAAPQAgACQAbgB1AGwAbAA7ACAAJABzACAAPQAgACQAbgB1AGwAbAA7ACAAJABmACAAPQAgACQAbgB1AGwAbAA7ACAAdAByAHkAIAB7ACAAJABmACAAPQAgAEcAZQB0AC0ASQB0AGUAbQAgACQAcAAgAC0ARQByAHIAbwByAEEAYwB0AGkAbwBuACAAUwBpAGwAZQBuAHQAbAB5AEMAbwBuAHQAaQBuAHUAZQA7ACAAaQBmACAAKAAkAGYAIAAtAGUAcQAgACQAbgB1AGwAbAApACAAewAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAFAAYQB0AGgAIABkAG8AZQBzACAAbgBvAHQAIABlAHgAaQBzAHQAcwAiADsAIAB9ACAAZQBsAHMAZQBpAGYAIAAoACQAZgAgAC0AaQBzAG4AbwB0ACAAWwBJAE8ALgBGAGkAbABlAEkAbgBmAG8AXQApACAAewAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAFAAYQB0AGgAIABzAHAAZQBjAGkAZgBpAGUAZAAgAGkAcwAgAG4AbwB0ACAAYQAgAGYAaQBsAGUAIgA7ACAAfQAgAGUAbABzAGUAIAB7ACAAJABmAC4AQQB0AHQAcgBpAGIAdQB0AGUAcwAgAD0AIAAiAE4AbwByAG0AYQBsACIAOwAgACQAcwBlAGMAIAA9ACAAWwBNAGEAdABoAF0AOgA6AEMAZQBpAGwAaQBuAGcAKAAkAGYALgBMAGUAbgBnAHQAaAAgAC8AIAAkAHMAegApADsAIAAkAGIAIAA9ACAATgBlAHcALQBPAGIAagBlAGMAdAAgAEIAeQB0AGUAWwBdACAAJABzAHoAOwAgACQAcgBuAGcAIAA9ACAAWwBTAGUAYwB1AHIAaQB0AHkALgBDAHIAeQBwAHQAbwBnAHIAYQBwAGgAeQAuAFIAYQBuAGQAbwBtAE4AdQBtAGIAZQByAEcAZQBuAGUAcgBhAHQAbwByAF0AOgA6AEMAcgBlAGEAdABlACgAKQA7ACAAJABzACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBGAGkAbABlAFMAdAByAGUAYQBtACgAJABmAC4ARgB1AGwAbABOAGEAbQBlACwAIABbAEkATwAuAEYAaQBsAGUAQQBjAGMAZQBzAHMAXQA6ADoAVwByAGkAdABlACkAOwAgAGYAbwByACAAKAAkAGkAIAA9ACAAMAA7ACAAJABpACAALQBsAHQAIAA3ADsAIAAkAGkAKwArACkAIAB7ACAAJABzAC4AUABvAHMAaQB0AGkAbwBuACAAPQAgADAAOwAgAGYAbwByACAAKAAkAGoAIAA9ACAAMAA7ACAAJABqACAALQBsAHQAIAAkAHMAZQBjADsAIAAkAGoAKwArACkAIAB7ACAAJAByAG4AZwAuAEcAZQB0AEIAeQB0AGUAcwAoACQAYgApADsAIAAkAHMALgBXAHIAaQB0AGUAKAAkAGIALAAgADAALAAgACQAYgAuAEwAZQBuAGcAdABoACkAOwAgAH0AIAB9ACAAJABzAC4AUwBlAHQATABlAG4AZwB0AGgAKAAwACkAOwAgACQAcwAuAEMAbABvAHMAZQAoACkAOwAgACQAZgAuAEMAcgBlAGEAdABpAG8AbgBUAGkAbQBlACAAPQAgACIAMAA5AC8AMAA2AC8AMgAwADYAOQAgADAANAA6ADIAMAA6ADAAMAAgAEEATQAiADsAIAAkAGYALgBMAGEAcwB0AFcAcgBpAHQAZQBUAGkAbQBlACAAPQAgACIAMAA5AC8AMAA2AC8AMgAwADYAOQAgADAANAA6ADIAMAA6ADAAMAAgAEEATQAiADsAIAAkAGYALgBMAGEAcwB0AEEAYwBjAGUAcwBzAFQAaQBtAGUAIAA9ACAAIgAwADkALwAwADYALwAyADAANgA5ACAAMAA0ADoAMgAwADoAMAAwACAAQQBNACIAOwAgACQAZgAuAEQAZQBsAGUAdABlACgAKQA7ACAAVwByAGkAdABlAC0ASABvAHMAdAAgACIARgBpAGwAZQAgAGgAYQBzACAAYgBlAGUAbgAgAHMAaAByAGUAZABkAGUAZAAgAHMAdQBjAGMAZQBzAHMAZgB1AGwAbAB5ACIAOwAgAH0AIAB9ACAAYwBhAHQAYwBoACAAewAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAkAF8ALgBFAHgAYwBlAHAAdABpAG8AbgAuAEkAbgBuAGUAcgBFAHgAYwBlAHAAdABpAG8AbgAuAE0AZQBzAHMAYQBnAGUAOwAgAH0AIABmAGkAbgBhAGwAbAB5ACAAewAgAGkAZgAgACgAJABiACAALQBuAGUAIAAkAG4AdQBsAGwAKQAgAHsAIAAkAGIALgBDAGwAZQBhAHIAKAApADsAIAB9ACAAaQBmACAAKAAkAHIAbgBnACAALQBuAGUAIAAkAG4AdQBsAGwAKQAgAHsAIAAkAHIAbgBnAC4ARABpAHMAcABvAHMAZQAoACkAOwAgAH0AIABpAGYAIAAoACQAcwAgAC0AbgBlACAAJABuAHUAbABsACkAIAB7ACAAJABzAC4AQwBsAG8AcwBlACgAKQA7ACAAJABzAC4ARABpAHMAcABvAHMAZQAoACkAOwAgAH0AIABpAGYAIAAoACQAZgAgAC0AbgBlACAAJABuAHUAbABsACkAIAB7ACAAQwBsAGUAYQByAC0AVgBhAHIAaQBhAGIAbABlACAALQBOAGEAbQBlACAAIgBmACIAOwAgAH0AIAB9ACAAfQANAAoA
```

The encoded script will prompt for input. See the slightly altered and minified script [here](https://github.com/ivan-sincek/file-shredder/blob/master/src/file_shredder_mini.ps1).

To pass parameters to PowerShell encoded command, run the following command from either PowerShell or Command Prompt:

```pwsh
PowerShell -Command "'.\somefile.txt'" | PowerShell -ExecutionPolicy Unrestricted -EncodedCommand JABwACAAPQAgACQAKABSAGUAYQBkAC0ASABvAHMAdAAgAC0AUAByAG8AbQBwAHQAIAAiAEUAbgB0AGUAcgAgAGYAaQBsAGUAIABwAGEAdABoACIAKQAuAFQAcgBpAG0AKAApADsAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAIgAiADsAIABpAGYAIAAoACQAcAAuAEwAZQBuAGcAdABoACAALQBsAHQAIAAxACkAIAB7ACAAVwByAGkAdABlAC0ASABvAHMAdAAgACIARgBpAGwAZQAgAGkAcwAgAHIAZQBxAHUAaQByAGUAZAAiADsAIAB9ACAAZQBsAHMAZQAgAHsAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAIgAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAYABuACMAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIwBgAG4AIwAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAARgBpAGwAZQAgAFMAaAByAGUAZABkAGUAcgAgADEALgAzACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAjAGAAbgAjACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABiAHkAIABJAHYAYQBuACAAUwBpAG4AYwBlAGsAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACMAYABuACMAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIwBgAG4AIwAgAEcAaQB0AEgAdQBiACAAcgBlAHAAbwBzAGkAdABvAHIAeQAgAGEAdAAgAGcAaQB0AGgAdQBiAC4AYwBvAG0ALwBpAHYAYQBuAC0AcwBpAG4AYwBlAGsALwBmAGkAbABlAC0AcwBoAHIAZQBkAGQAZQByAC4AIAAgACAAIAAgACAAIAAgACAAIAAjAGAAbgAjACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACMAYABuACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAiADsAIAAkAHMAegAgAD0AIAAyADAANAA4ADsAIAAkAGIAIAA9ACAAJABuAHUAbABsADsAIAAkAHIAbgBnACAAPQAgACQAbgB1AGwAbAA7ACAAJABzACAAPQAgACQAbgB1AGwAbAA7ACAAJABmACAAPQAgACQAbgB1AGwAbAA7ACAAdAByAHkAIAB7ACAAJABmACAAPQAgAEcAZQB0AC0ASQB0AGUAbQAgACQAcAAgAC0ARQByAHIAbwByAEEAYwB0AGkAbwBuACAAUwBpAGwAZQBuAHQAbAB5AEMAbwBuAHQAaQBuAHUAZQA7ACAAaQBmACAAKAAkAGYAIAAtAGUAcQAgACQAbgB1AGwAbAApACAAewAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAFAAYQB0AGgAIABkAG8AZQBzACAAbgBvAHQAIABlAHgAaQBzAHQAcwAiADsAIAB9ACAAZQBsAHMAZQBpAGYAIAAoACQAZgAgAC0AaQBzAG4AbwB0ACAAWwBJAE8ALgBGAGkAbABlAEkAbgBmAG8AXQApACAAewAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAFAAYQB0AGgAIABzAHAAZQBjAGkAZgBpAGUAZAAgAGkAcwAgAG4AbwB0ACAAYQAgAGYAaQBsAGUAIgA7ACAAfQAgAGUAbABzAGUAIAB7ACAAJABmAC4AQQB0AHQAcgBpAGIAdQB0AGUAcwAgAD0AIAAiAE4AbwByAG0AYQBsACIAOwAgACQAcwBlAGMAIAA9ACAAWwBNAGEAdABoAF0AOgA6AEMAZQBpAGwAaQBuAGcAKAAkAGYALgBMAGUAbgBnAHQAaAAgAC8AIAAkAHMAegApADsAIAAkAGIAIAA9ACAATgBlAHcALQBPAGIAagBlAGMAdAAgAEIAeQB0AGUAWwBdACAAJABzAHoAOwAgACQAcgBuAGcAIAA9ACAAWwBTAGUAYwB1AHIAaQB0AHkALgBDAHIAeQBwAHQAbwBnAHIAYQBwAGgAeQAuAFIAYQBuAGQAbwBtAE4AdQBtAGIAZQByAEcAZQBuAGUAcgBhAHQAbwByAF0AOgA6AEMAcgBlAGEAdABlACgAKQA7ACAAJABzACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBGAGkAbABlAFMAdAByAGUAYQBtACgAJABmAC4ARgB1AGwAbABOAGEAbQBlACwAIABbAEkATwAuAEYAaQBsAGUAQQBjAGMAZQBzAHMAXQA6ADoAVwByAGkAdABlACkAOwAgAGYAbwByACAAKAAkAGkAIAA9ACAAMAA7ACAAJABpACAALQBsAHQAIAA3ADsAIAAkAGkAKwArACkAIAB7ACAAJABzAC4AUABvAHMAaQB0AGkAbwBuACAAPQAgADAAOwAgAGYAbwByACAAKAAkAGoAIAA9ACAAMAA7ACAAJABqACAALQBsAHQAIAAkAHMAZQBjADsAIAAkAGoAKwArACkAIAB7ACAAJAByAG4AZwAuAEcAZQB0AEIAeQB0AGUAcwAoACQAYgApADsAIAAkAHMALgBXAHIAaQB0AGUAKAAkAGIALAAgADAALAAgACQAYgAuAEwAZQBuAGcAdABoACkAOwAgAH0AIAB9ACAAJABzAC4AUwBlAHQATABlAG4AZwB0AGgAKAAwACkAOwAgACQAcwAuAEMAbABvAHMAZQAoACkAOwAgACQAZgAuAEMAcgBlAGEAdABpAG8AbgBUAGkAbQBlACAAPQAgACIAMAA5AC8AMAA2AC8AMgAwADYAOQAgADAANAA6ADIAMAA6ADAAMAAgAEEATQAiADsAIAAkAGYALgBMAGEAcwB0AFcAcgBpAHQAZQBUAGkAbQBlACAAPQAgACIAMAA5AC8AMAA2AC8AMgAwADYAOQAgADAANAA6ADIAMAA6ADAAMAAgAEEATQAiADsAIAAkAGYALgBMAGEAcwB0AEEAYwBjAGUAcwBzAFQAaQBtAGUAIAA9ACAAIgAwADkALwAwADYALwAyADAANgA5ACAAMAA0ADoAMgAwADoAMAAwACAAQQBNACIAOwAgACQAZgAuAEQAZQBsAGUAdABlACgAKQA7ACAAVwByAGkAdABlAC0ASABvAHMAdAAgACIARgBpAGwAZQAgAGgAYQBzACAAYgBlAGUAbgAgAHMAaAByAGUAZABkAGUAZAAgAHMAdQBjAGMAZQBzAHMAZgB1AGwAbAB5ACIAOwAgAH0AIAB9ACAAYwBhAHQAYwBoACAAewAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAkAF8ALgBFAHgAYwBlAHAAdABpAG8AbgAuAEkAbgBuAGUAcgBFAHgAYwBlAHAAdABpAG8AbgAuAE0AZQBzAHMAYQBnAGUAOwAgAH0AIABmAGkAbgBhAGwAbAB5ACAAewAgAGkAZgAgACgAJABiACAALQBuAGUAIAAkAG4AdQBsAGwAKQAgAHsAIAAkAGIALgBDAGwAZQBhAHIAKAApADsAIAB9ACAAaQBmACAAKAAkAHIAbgBnACAALQBuAGUAIAAkAG4AdQBsAGwAKQAgAHsAIAAkAHIAbgBnAC4ARABpAHMAcABvAHMAZQAoACkAOwAgAH0AIABpAGYAIAAoACQAcwAgAC0AbgBlACAAJABuAHUAbABsACkAIAB7ACAAJABzAC4AQwBsAG8AcwBlACgAKQA7ACAAJABzAC4ARABpAHMAcABvAHMAZQAoACkAOwAgAH0AIABpAGYAIAAoACQAZgAgAC0AbgBlACAAJABuAHUAbABsACkAIAB7ACAAQwBsAGUAYQByAC0AVgBhAHIAaQBhAGIAbABlACAALQBOAGEAbQBlACAAIgBmACIAOwAgAH0AIAB9ACAAfQANAAoA
```

To generate a PowerShell encoded command from a PowerShell script, run the following PowerShell command:

```pwsh
[Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes([IO.File]::ReadAllText($script)))
```

To decode a PowerShell encoded command, run the following PowerShell command:

```pwsh
[Text.Encoding]::Unicode.GetString([Convert]::FromBase64String($command))
```