Als sich die Meldungen in der Presse häuften und von prominenten Opfern des Erpressungstrojaners Wanna Cry / Wannacrypt / Wanna Decrypt0r wie der Deutschen Bahn oder Krankenhäusern in England sowie zahllosen Weiteren berichtet wurde, war klar: Es wird einen Blogeintrag zu diesem Thema geben.

Wir hätten darüber bloggen können, dass über 237.000 Rechner in knapp 100 Ländern befallen sind. Ebenso hätte der Hinweis auf die beiden Kill-Switches, welche dem Treiben des Erpressungstrojaners ein Ende setzen, nicht fehlen dürfen. Und dass es mittlerweile Versionen ohne Kill-Switch gibt.

Außerdem hätten wir auf Verbreitungsszenarien innerhalb einer Firma über NSA-Exploits, welche eine SMB-Lücke ausnutzen eingehen können.

Zum Schluss hätten wir einen Hinweis auf einen nicht ganz ernst gemeinten Twitter Account gegeben. Hinter diesem Account befindet sich ein Bot. Er überwacht Zahlungseingänge auf die drei in der Ransomware hinterlegten Bitcoin Wallets und twittert jeden Zahlungseingang sowie jede Stunde den aktuellen Kontostand der Erpresser.

All das tun wir aber nicht, denn all das haben Andere schon getan. Einige für Administratoren wirklich hilfreiche Informationen schaffen es oft nicht in Nachrichtenportale. Hier deshalb die abtis Admin-Edition mit den wirklich relevanten Informationen für Administratoren, die Sie in Nachrichtenportalen nicht finden:

 

Bin ich verwundbar?

Diese Frage muss in drei Teile unterteilt werden?

  1. Gateway Security

Fast alle Firewall Hersteller erkennen den Virus, so dass bei aktivierten Filterproxys ein Herunterladen oder Empfangen des Erpressungstrojaners zwar unwahrscheinlich, jedoch nicht komplett ausgeschlossen ist. Der Grund hierfür sind immer neue Versionen der Ransomware. Eine gesunde Skepsis beim Öffnen von Dateien sollte stets eingehalten werden. Die Sicherheitsforscher von AV-TEST haben bisher 452 unterschiedliche Versionen des Trojaners gefunden. Einige Hersteller bieten die Möglichkeit an, die von AV-TEST veröffentlichten SHA256-Hashes direkt in eine Blacklist einzutragen. Von dieser Möglichkeit sollte Gebrauch gemacht werden.

  1. Antivirus

Hier gilt dasselbe wie bei der Gateway Security. Vor dem Öffnen von Dateien unbekannter Herkunft sollte Abstand genommen werden.

  1. Betriebssystemverwundbarkeit

Die wichtigste Frage, die sich Administratoren stellen, ist: „Welche meiner Systeme sind derzeit für den vom Trojaner verwendeten Exploit verwundbar?“ Über diese Systeme verbreitet er sich und kann so auch Daten verschlüsseln, auf die von einem anderen System kein Zugriff möglich gewesen wäre. Zum Identifizieren verwundbarer Systeme gibt es mehrere Möglichkeiten, welche wir nachfolgend beschreiben:

 

SCCM

Sollten Sie System Center Configuration Manager (SCCM) im Einsatz haben, existiert zwar der vordefinierte Report „Compatibility – Specific Software Update“, jedoch existiert pro Betriebssystemversion eine andere KB-Artikel ID. Durch die folgende Abfrage gegen die SCCM-Datenbank kann eine Übersicht für alle generiert werden:

SELECT v_R_System.Name0, v_Update_ComplianceStatus.Status, v_UpdateInfo.BulletinID, v_UpdateInfo.ArticleID, v_UpdateInfo.Description, v_UpdateInfo.Title, v_UpdateInfo.DatePosted, v_R_System.Last_Logon_Timestamp0 FROM v_R_System INNER JOIN v_Update_ComplianceStatus ON v_R_System.ResourceID = v_Update_ComplianceStatus.ResourceID INNER JOIN v_UpdateInfo ON v_Update_ComplianceStatus.CI_ID = v_UpdateInfo.CI_ID WHERE (v_Update_ComplianceStatus.Status IN (‚2′,’3′,’5′,’6‘)) AND articleid IN (‚4012598′,’4012212′,’4012215′,’4012213′,’4012216′,’4012214′,’4012217′,’4012606′,’4013198′,’4013429‘) ORDER BY Last_Logon_Timestamp0

In diesem Fall wird nach der Spalte Last_Logon_Timestamp0 im View v_R_System sortiert, da ggfs. noch alte Datensätze in der Datenbank existieren.

 

Das Ergebnis der Abfrage:

 

Sowohl SCCM als auch WSUS haben die Gemeinsamkeit, dass ein „ComplianceStatus“ hinterlegt wird. Dieser ist folgendermaßen kodiert

  • 0=Unknown
  • 1=NotApplicable
  • 2=NotInstalled
  • 3=Downloaded
  • 4=Installed
  • 5=Failed
  • 6=InstalledPendingReboot

 

WSUS

Sofern die Windows interne Datenbank verwendet wird, kann die Verbindung mit folgendem Connection String hergestellt werden:

  • Server 2008 und höher: \\.\pipe\MICROSOFT##WID\tsql\query
  • Ältere Windows Server: \\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query

Anschließend kann mit folgender SQL-Abfrage eine Liste der verwundbaren Rechner erstellt werden:

 


SELECT DISTINCT tbUpdateStatusPerComputer.SummarizationState, tbComputerTarget.FullDomainName FROM tbUpdateStatusPerComputer, tbComputerTarget, [SUSDB].[PUBLIC_VIEWS]. vUpdate], tbUpdate WHERE tbUpdateStatusPerComputer.localupdateID = tbUpdate.LocalUpdateID AND tbUpdateStatusPerComputer.TargetID = tbComputerTarget.TargetID AND tbUpdate.UpdateID = [SUSDB].[PUBLIC_VIEWS].[vUpdate].UpdateId AND tbUpdateStatusPerComputer.SummarizationState IN (‚2′,’3′,’5′,’6‘) AND [SUSDB].[PUBLIC_VIEWS].[vUpdate].[KnowledgebaseArticle] IN (‚4012598′,’4012212′,’4012215′,’4012213′,’4012216′,’4012214′,’4012217′,’4012606′,’4013198′,’4013429‘)

 

PowerShell

Sollten Sie weder SCCM noch WSUS im Einsatz haben, können Sie nach den oben genannten KB-Artikeln auch in anderen Softwareverteilungslösungen suchen. Falls keine andere Inventur- bzw. Verteilungslösung vorhanden ist, kann eine Inventur auch mit PowerShell und WMI durchgeführt werden.
Folgendes Script muss hierfür in eine Datei gespeichert werden:

(Die Textversion dieses Scrips finden Sie am Ende des Blogbeitrags) 

 

Im folgenden Beispiel wurde die Abfrage auf einen einzelnen Computer beschränkt. Dieses Verhalten kann jedoch durch das Entfernen des Teils „| ? Name -eq <Computername>“ geändert werden.
Beispiel:
. .\Get-abtisHostPatchStatus.ps1

Get-abtisHostPatchStatus -adGroup (Get-ADComputer -Filter *)

 

FSRM – File Server Resource Manager

Abtis bietet außerdem eine Lösung für den File Server Resource Manager an. Bedingt durch die Tatsache, dass viele Erpressungstrojaner die Dateiendung nach dem Verschlüsseln verändern oder eine weitere Endung anhängen, können Angriffe auf Fileserver sehr schnell erkannt werden. Wir hinterlegen für alle bekannten Dateiendungen von Erpressungstrojanern einen Regelsatz, welcher bei der Verschlüsselung der ersten Datei sofort Notfallmaßnahmen, wie z.B. das Herunterfahren des Servers oder das Trennen aller Netzwerkverbindungen einleiten kann. Welche Maßnahmen das im Einzelnen sind, besprechen wir mit Ihnen vorab.

Bekannte Dateiendungen von WannaCry sind folgende:

  • .wnry
  • .wcry
  • .wncry
  • .wncrypt

Bei Interesse an unserer FSRM-Lösung freut sich der abtis Vertrieb über Ihre Kontaktaufnahme unter vertrieb@abtis.de oder +49 7231 – 4431-100.

Redaktion: Manuel Batsching, Christian Tenner, Frank Stöckl

————————————————————————————

*Textversion Powershell-Script
function Get-abtisHostPatchStatus
{
[CmdletBinding()]
Param
(
[Parameter(Mandatory=$true)]
$adGroup
)

$relevantHotFixIds = ‚KB4012598‘,
‚KB4012212‘,
‚KB4012215‘,
‚KB4012213‘,
‚KB4012216‘,
‚KB4012214‘,
‚KB4012217‘,
‚KB4012606‘,
‚KB4013198‘,
‚KB4013429‘
$skript =
{
Param($computer)
$resultProperty = @{
‚ComputerName‘ = $computer.Name
‚OperatingSystem‘ = ‚NA‘
‚IsPingSuccessfull‘ = $false
‚IsWmiQuerySuccessfull‘ = $false
‚IsHotFixInstalled‘ = $false
}

$resultProperty[‚IsPingSuccessfull‘] = Test-Connection -Quiet -Count 2 -ComputerName $computer.Name
if (-not $resultProperty[‚IsPingSuccessfull‘])
{
Write-Output (New-Object -TypeName psobject -Property $resultProperty)
continue # Skips remaining part for this computer.
}
$resultProperty[‚IsWmiQuerySuccessfull‘] = $true
try
{
$resultProperty[‚OperatingSystem‘] = (Get-WmiObject Win32_OperatingSystem |
Select-Object -ExpandProperty Name) -replace ‚\|.*‘

$resultProperty[‚IsHotFixInstalled‘] = [bool](Get-WmiObject -Query ’select * from win32_quickfixengineering‘ |
Where-Object {$_.HotFixId -in $relevantHotFixIds})
}
catch [System.Exception]
{
$resultProperty[‚IsWmiQuerySuccessfull‘] = $false
}
Write-Output (New-Object -TypeName psobject -Property $resultProperty)
}
foreach ($computer in $adGroup)
{
Start-Job -ScriptBlock $skript -ArgumentList $computer | Out-Null
}
Get-Job | Wait-Job
Get-Job | Receive-Job
}