17
POWERSHELL SHENANIGANS LATERAL MOVEMENT WITH POWERSHELL KIERAN JACOBSEN READIFY

Lateral Movement with PowerShell

Embed Size (px)

Citation preview

Page 1: Lateral Movement with PowerShell

POWERSHELL SHENANIGANSLATERAL MOVEMENT WITH POWERSHELL

KIERAN JACOBSEN

READIFY

Page 2: Lateral Movement with PowerShell

WHO AM I

• Kieran Jacobsen

• Technical Lead @ Readify

• Blog: poshsecurity.com

Page 3: Lateral Movement with PowerShell

OUTLINE

• PowerShell as an attack platform

• PowerShell malware

• PowerShell Remoting

• PowerShell security features

• Defence

Page 4: Lateral Movement with PowerShell

CHALLENGE

• Within a “corporate like” environment

• Start with an infected workstation and move to a domain

controller

• Where possible use only PowerShell code

Page 5: Lateral Movement with PowerShell

POWERSHELL AS AN ATTACK PLATFORM

• Obvious development, integration and

execution options

• Installed by default since Windows

Vista

• PowerShell still considered harmless by

the majority of AV vendors

Page 6: Lateral Movement with PowerShell

POWERSHELL MALWARE

• PowerWorm

• PoshKoder/PoshCoder

Page 7: Lateral Movement with PowerShell

MY POWERSHELL MALWARE

• Single Script – SystemInformation.ps1

• Runs as a schedule task –

“WindowsUpdate”

• Collects system information

• Reports back to C2 infrastructure

• Collects list of tasks to run

Page 8: Lateral Movement with PowerShell

DEMO: THE ENTRY

Page 9: Lateral Movement with PowerShell

POWERSHELL REMOTING

• PowerShell Remoting is based upon WinRM, Microsoft’s WS-Management implementation

• Supports execution in 3 ways:

• Remote enabled commands

• Remotely executed script blocks

• Remote sessions

• Simple security model

• Required for the Windows Server Manager

• Enabled by default

• Allowed through Windows Firewall

Page 10: Lateral Movement with PowerShell

DEMO: THE DC

Page 11: Lateral Movement with PowerShell

POWERSHELL SECURITY FEATURES

• Administrative rights

• UAC

• Code Signing

• File source identification

(zone.identifier)

• PowerShell Execution Policy

Page 12: Lateral Movement with PowerShell

EXECUTION POLICY

There are 6 states for the execution policy

• Unrestricted

• Remote Signed

• All Signed

• Restricted

• Undefined (Default)

• Bypass

Page 13: Lateral Movement with PowerShell

• Simply ask PowerShell

• Switch the files zone.idenfier back to local

• Read the script in and then execute it

• Encode the script and use

BYPASSING EXECUTION POLICY

Page 14: Lateral Movement with PowerShell

DEMO: THE HASHES

Page 15: Lateral Movement with PowerShell

DEFENCE

• Restricted/Constrained Endpoints

• Control/limit access to WinRM

Page 16: Lateral Movement with PowerShell

LINKS

• Code on GitHub:

http://j.mp/1i33Zrk

• QuarksPWDump:

http://j.mp/1kF30e9

• PowerWorm Analysis:

http://j.mp/RzgsHb

• Microsoft PowerShell/Security

Series:

• http://j.mp/OOyftt

• http://j.mp/1eDYvA4

• http://j.mp/1kF3z7T

• http://j.mp/NhSC0X

• http://j.mp/NhSEpy

Page 17: Lateral Movement with PowerShell

Q AND A

@kjacobsen

Poshsecurity.com