image

FBI roept bedrijven op om gebruik van RDP en PowerShell te beperken

vrijdag 19 mei 2023, 12:34 door Redactie, 7 reacties

De FBI, het Amerikaanse Cybersecurity and Infrastructure Security Agency (CISA) en het Australische Cyber Security Centre (ACSC) roepen bedrijven en organisaties op om het gebruik van RDP en PowerShell te beperken, om zo ransomware-aanvallen te voorkomen. Aanleiding zijn aanvallen door een ransomwaregroep genaamd BianLian. Deze groep maakt gebruik van het remote desktop protocol (RDP) om toegang tot systemen van slachtoffers te krijgen.

Oorspronkelijk maakte de groep gebruik van een "double-extortion" model, waarbij gegevens werden gestolen en daarna versleuteld. Als slachtoffers het gevraagde losgeld niet betaalden dreigde de groep de buitgemaakte data te publiceren. Sinds januari van dit jaar houdt de groep zich alleen bezig met het afpersen van organisaties met gestolen gegevens, aldus de FBI, CISA en het ACSC.

De inloggegevens voor RDP waarmee de groep inlogt zijn verkregen via tussenhandelaren, zogenoemde initial access brokers, of phishing, aldus de waarschuwing van de drie overheidsdiensten. Eenmaal toegang tot een systeem wordt RDP ook gebruikt om zich verder door de organisatie te bewegen. Daarnaast installeren de aanvallers remote access software, zoals TeamViewer, Atera Agent, SplashTop en AnyDesk, om daarmee op het al gecompromitteerde systeem in te loggen.

Tevens voegen de aanvallers eigen beheerderaccounts toe of wijzigen de wachtwoorden van al bestaande beheerders, wijzigen de firewall rules om inkomend RDP-verkeer toe te staan en voegen gebruikers toe aan de lokale Remote Desktop Users group. Verder maakt de groep gebruik van PowerShell voor het uitschakelen van antivirussoftware en zoeken naar gevoelige gegevens. Door middel van het ftp-protocol en de programma's Rclone of Mega worden vervolgens de gevonden gegevens van systemen gestolen.

Vanwege het gebruik van RDP en PowerShell door de ransomwaregroep adviseren de overheidsinstanties om het gebruik hiervan te beperken. Zo wordt aangeraden om netwerken op systemen waar RDP staat ingeschakeld te auditen, ongebruikte RDP-poorten te sluiten, na een aantal mislukte inlogpogingen een lockout in te stellen, RDP-inlogpogingen te loggen en phishingbestendige multifactorauthenticatie (MFA) in te stellen. Wat betreft PowerShell moet het gebruik alleen voor bepaalde gebruikers voor "case-by-case" gevallen worden ingeschakeld. Tevens dient PowerShell-logging te worden ingeschakeld.

Reacties (7)
19-05-2023, 14:05 door Anoniem
Gebruik
name: PowerShell 4104 Hunting
id: d6f2b006-0041-11ec-8885-acde48001122
version: 3
date: '2023-04-14'
author: Michael Haag, Splunk
status: production
type: Hunting
description: The following Hunting analytic assists with identifying suspicious PowerShell
execution using Script Block Logging, or EventCode 4104. This analytic is not meant
to be ran hourly, but occasionally to identify malicious or suspicious PowerShell.
This analytic is a combination of work completed by Alex Teixeira and Splunk Threat
Research Team.
data_source:
- Powershell 4104
search: '`powershell` EventCode=4104 | eval DoIt = if(match(ScriptBlockText,"(?i)(\$doit)"),
"4", 0) | eval enccom=if(match(ScriptBlockText,"[A-Za-z0-9+\/]{44,}([A-Za-z0-9+\/]{4}|[A-Za-z0-9+\/]{3}=|[A-Za-z0-9+\/]{2}==)")
OR match(ScriptBlockText, "(?i)[-]e(nc*o*d*e*d*c*o*m*m*a*n*d*)*\s+[^-]"),4,0) |
eval suspcmdlet=if(match(ScriptBlockText, "(?i)Add-Exfiltration|Add-Persistence|Add-RegBackdoor|Add-ScrnSaveBackdoor|Check-VM|Do-Exfiltration|Enabled-DuplicateToken|Exploit-Jboss|Find-Fruit|Find-GPOLocation|Find-TrustedDocuments|Get-ApplicationHost|Get-ChromeDump|Get-ClipboardContents|Get-FoxDump|Get-GPPPassword|Get-IndexedItem|Get-Keystrokes|LSASecret|Get-PassHash|Get-RegAlwaysInstallElevated|Get-RegAutoLogon|Get-RickAstley|Get-Screenshot|Get-SecurityPackages|Get-ServiceFilePermission|Get-ServicePermission|Get-ServiceUnquoted|Get-SiteListPassword|Get-System|Get-TimedScreenshot|Get-UnattendedInstallFile|Get-Unconstrained|Get-VaultCredential|Get-VulnAutoRun|Get-VulnSchTask|Gupt-Backdoor|HTTP-Login|Install-SSP|Install-ServiceBinary|Invoke-ACLScanner|Invoke-ADSBackdoor|Invoke-ARPScan|Invoke-AllChecks|Invoke-BackdoorLNK|Invoke-BypassUAC|Invoke-CredentialInjection|Invoke-DCSync|Invoke-DllInjection|Invoke-DowngradeAccount|Invoke-EgressCheck|Invoke-Inveigh|Invoke-InveighRelay|Invoke-Mimikittenz|Invoke-NetRipper|Invoke-NinjaCopy|Invoke-PSInject|Invoke-Paranoia|Invoke-PortScan|Invoke-PoshRat|Invoke-PostExfil|Invoke-PowerDump|Invoke-PowerShellTCP|Invoke-PsExec|Invoke-PsUaCme|Invoke-ReflectivePEInjection|Invoke-ReverseDNSLookup|Invoke-RunAs|Invoke-SMBScanner|Invoke-SSHCommand|Invoke-Service|Invoke-Shellcode|Invoke-Tater|Invoke-ThunderStruck|Invoke-Token|Invoke-UserHunter|Invoke-VoiceTroll|Invoke-WScriptBypassUAC|Invoke-WinEnum|MailRaider|New-HoneyHash|Out-Minidump|Port-Scan|PowerBreach|PowerUp|PowerView|Remove-Update|Set-MacAttribute|Set-Wallpaper|Show-TargetScreen|Start-CaptureServer|VolumeShadowCopyTools|NEEEEWWW|(Computer|User)Property|CachedRDPConnection|get-net\S+|invoke-\S+hunter|Install-Service|get-\S+(credent|password)|remoteps|Kerberos.*(policy|ticket)|netfirewall|Uninstall-Windows|Verb\s+Runas|AmsiBypass|nishang|Invoke-Interceptor|EXEonRemote|NetworkRelay|PowerShelludp|PowerShellIcmp|CreateShortcut|copy-vss|invoke-dll|invoke-mass|out-shortcut|Invoke-ShellCommand"),1,0)
| eval base64 = if(match(lower(ScriptBlockText),"frombase64"), "4", 0) | eval empire=if(match(lower(ScriptBlockText),"system.net.webclient")
AND match(lower(ScriptBlockText), "frombase64string") ,5,0) | eval mimikatz=if(match(lower(ScriptBlockText),"mimikatz")
OR match(lower(ScriptBlockText), "-dumpcr") OR match(lower(ScriptBlockText), "SEKURLSA::Pth")
OR match(lower(ScriptBlockText), "kerberos::ptt") OR match(lower(ScriptBlockText),
"kerberos::golden") ,5,0) | eval iex = if(match(lower(ScriptBlockText),"iex"), "2",
0) | eval webclient=if(match(lower(ScriptBlockText),"http") OR match(lower(ScriptBlockText),"web(client|request)")
OR match(lower(ScriptBlockText),"socket") OR match(lower(ScriptBlockText),"download(file|string)")
OR match(lower(ScriptBlockText),"bitstransfer") OR match(lower(ScriptBlockText),"internetexplorer.application")
OR match(lower(ScriptBlockText),"xmlhttp"),5,0) | eval get = if(match(lower(ScriptBlockText),"get-"),
"1", 0) | eval rundll32 = if(match(lower(ScriptBlockText),"rundll32"), "4", 0) |
eval suspkeywrd=if(match(ScriptBlockText, "(?i)(bitstransfer|mimik|metasp|AssemblyBuilderAccess|Reflection\.Assembly|shellcode|injection|cnvert|shell\.application|start-process|Rc4ByteStream|System\.Security\.Cryptography|lsass\.exe|localadmin|LastLoggedOn|hijack|BackupPrivilege|ngrok|comsvcs|backdoor|brute.?force|Port.?Scan|Exfiltration|exploit|DisableRealtimeMonitoring|beacon)"),1,0)
| eval syswow64 = if(match(lower(ScriptBlockText),"syswow64"), "3", 0) | eval httplocal
= if(match(lower(ScriptBlockText),"http://127.0.0.1"), "4", 0) | eval reflection
= if(match(lower(ScriptBlockText),"reflection"), "1", 0) | eval invokewmi=if(match(lower(ScriptBlockText),
"(?i)(wmiobject|WMIMethod|RemoteWMI|PowerShellWmi|wmicommand)"),5,0) | eval downgrade=if(match(ScriptBlockText,
"(?i)([-]ve*r*s*i*o*n*\s+2)") OR match(lower(ScriptBlockText),"powershell -version"),3,0)
| eval compressed=if(match(ScriptBlockText, "(?i)GZipStream|::Decompress|IO.Compression|write-zip|(expand|compress)-Archive"),5,0)
| eval invokecmd = if(match(lower(ScriptBlockText),"invoke-command"), "4", 0) |
addtotals fieldname=Score DoIt, enccom, suspcmdlet, suspkeywrd, compressed, downgrade,
mimikatz, iex, empire, rundll32, webclient, syswow64, httplocal, reflection, invokewmi,
invokecmd, base64, get | stats values(Score) by DoIt, enccom, compressed, downgrade,
iex, mimikatz, rundll32, empire, webclient, syswow64, httplocal, reflection, invokewmi,
invokecmd, base64, get, suspcmdlet, suspkeywrd | `powershell_4104_hunting_filter`'
how_to_implement: The following Hunting analytic requires PowerShell operational logs
to be imported. Modify the powershell macro as needed to match the sourcetype or
add index. This analytic is specific to 4104, or PowerShell Script Block Logging.
known_false_positives: Limited false positives. May filter as needed.
references:
- https://github.com/inodee/threathunting-spl/blob/master/hunt-queries/powershell_qualifiers.md
- https://docs.splunk.com/Documentation/UBA/5.0.4.1/GetDataIn/AddPowerShell
- https://github.com/marcurdy/dfir-toolset/blob/master/Powershell%20Blueteam.txt
- https://devblogs.microsoft.com/powershell/powershell-the-blue-team/
- https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_logging?view=powershell-5.1
- https://www.mandiant.com/resources/greater-visibilityt
- https://hurricanelabs.com/splunk-tutorials/how-to-use-powershell-transcription-logs-in-splunk/
- https://www.splunk.com/en_us/blog/security/hunting-for-malicious-powershell-using-script-block-logging.html
tags:
analytic_story:
- Malicious PowerShell
- Hermetic Wiper
- Data Destruction
asset_type: Endpoint
confidence: 100
impact: 80
message: An instance of $parent_process_name$ spawning $process_name$ was identified
on endpoint $Computer$ by user $user$ executing suspicious commands.
mitre_attack_id:
- T1059
- T1059.001
observable:
- name: UserID
type: User
role:
- Victim
- name: Computer
type: Hostname
role:
- Victim
- name: parent_process_name
type: Process
role:
- Parent Process
- name: process_name
type: Process
role:
- Child Process
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
required_fields:
- _time
- ScriptBlockText
- Opcode
- Computer
- UserID
- EventCode
risk_score: 80
security_domain: endpoint
tests:
- name: True Positive Test
attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/powershell_script_block_logging/sbl_xml.log
source: XmlWinEventLog:Microsoft-Windows-PowerShell/Operational
sourcetype: xmlwineventlog
source: github Splunk code
20-05-2023, 09:31 door Anoniem
@ano 14:05

Heb je er ook nog iets zinnigs over te zeggen of ga je heel Github hier neer zetten?
20-05-2023, 16:06 door Anoniem
Splunk heeft een goede scan oplossing.
20-05-2023, 16:53 door Anoniem
Hier een goed overzicht over de bedreigingen: https://redcanary.com/threat-detection-report/techniques/powershell/
20-05-2023, 16:58 door Anoniem
Right het runnen van code van een compleet onbekend persoon die niet begrijpt wat hij, zij zelf heeft gekopieerd van een SIEM leverancier. Vast met goede intenties maar leer eerst hoe je code deelt en wat er uberhaubt nodig is voor het runnen.

Hier is het artikel waar de bovenstaande code over gaat **als** je Splunk gebruikt.
https://www.splunk.com/en_us/blog/security/hunting-for-malicious-powershell-using-script-block-logging.html
21-05-2023, 17:20 door Anoniem
Wat men wel kan doen

• Beperk het gebruik van RDP en andere remote desktop services tot een strikt minimum.
• Disable command-line scripting activiteit en permissies
• Beperk het gebruik van PowerShell en update Windows PowerShell en de PowerShell Core naar de nieuwste versies.
21-05-2023, 18:59 door Anoniem
maak een whitelist voor je rdp en ilo/idrac / ssh /
telnet etc etc behoeften in je hardware firewall en vernieuw dat apparaat vaak genoeg zodat hij altijd updates kan krijgen. Scheelt al veel denk ik. En geen welkom23
Reageren
Ondersteunde bbcodes
Bold: [b]bold text[/b]
Italic: [i]italic text[/i]
Underline: [u]underlined text[/u]
Quote: [quote]quoted text[/quote]
URL: [url]https://www.security.nl[/url]
Config: [config]config text[/config]
Code: [code]code text[/code]

Je bent niet en reageert "Anoniem". Dit betekent dat Security.NL geen accountgegevens (e-mailadres en alias) opslaat voor deze reactie. Je reactie wordt niet direct geplaatst maar eerst gemodereerd. Als je nog geen account hebt kun je hier direct een account aanmaken. Wanneer je Anoniem reageert moet je altijd een captchacode opgeven.