0% found this document useful (0 votes)
25 views66 pages

Investigating WSL Endpoints

This document discusses investigating Windows Subsystem for Linux (WSL) endpoints from a digital forensics and incident response perspective. It describes what WSL 2 is and the implications for forensic analysts, then details several experiments conducted during a forensic examination of a WSL endpoint, including establishing persistence using Bashrc and systemd, executing reverse shells and downloading files, and lateral movement of files.

Uploaded by

MindSmith
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views66 pages

Investigating WSL Endpoints

This document discusses investigating Windows Subsystem for Linux (WSL) endpoints from a digital forensics and incident response perspective. It describes what WSL 2 is and the implications for forensic analysts, then details several experiments conducted during a forensic examination of a WSL endpoint, including establishing persistence using Bashrc and systemd, executing reverse shells and downloading files, and lateral movement of files.

Uploaded by

MindSmith
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 66

Investigating WSL Endpoints

Asif Matadar
@d1r4c

OSDFCon 2020
#whoami

• Director of Endpoint Detection & Response (EDR) at Tanium

• Seasoned Incident Response professional with over a decade working in InfoSec and
specifically leading high-profile cases around the world, such as advanced targeted attacks,
nation-state attacks, and data breaches, to name a few

• Public speaker at industry recognised conferences around the world:

• DFRWS USA 2020


• WSLConf (U.S.) 2020
• OSDFCon (U.S.) 2019
• OSDFCon (U.S.) 2018
• IMF (Germany) 2018
• OSDFCon (U.S.) 2017
• BSidesNOLA (U.S.) 2017
• BSidesMCR (U.K.) 2015

• Research focus on memory analysis and automation, *nix-based forensics, cloud forensics,
and triage analysis

©2017 Tanium. All rights reserved. 2


Investigating WSL Endpoints

• Since the announcement of the Windows Subsystem for Linux (WSL) back in 2016, there has been
a lot of excitement to try and leverage WSL across workstations and servers a like by organisations
and those that work in the industry.

• What does that mean for someone who works as a Digital Forensics & Incident Response
professional?
• Well adversaries and malware authors have already started focussing their attention on WSL;
therefore, it is important to understand the underlying architecture changes that will allow one
to investigate a compromised Windows 10 or Windows Server 2019 in the not too distant
future.

• This talk will highlight the nuances to be aware of from a Digital Forensics & Incident Response
perspective and illustrate forensic artefacts of interest, which will consist of a forensic examination
on a WSL Endpoint to provide the audience an appreciation of what that entails and share insights
that will assist them when the time arises.

©2017 Tanium. All rights reserved. 3


Agenda

• What is WSL 2?

• What does that mean for Digital Forensics & Incident Response professionals?

• Forensic examination on a WSL Endpoint


• 11 experiments

©2017 Tanium. All rights reserved. 4


What is WSL2?
What is WSL 2?

• Full System Call Compatibility


• WSL 2 has its own customised kernel specifically for WSL 2
• Docker

• WSL 1 had a translation layer to interpret the system calls, that allows them to
work on the Windows NT kernel

• Faster than WSL 1

• Raw sockets

©2017 Tanium. All rights reserved. 6


What is WSL 2?

• New architecture for Windows Subsystem for Linux

• Developed in-house kernel from stable branch at kernel.org source from version 4.19 kernel

• Customised kernel specifically for WSL 2

• As it’s developed by Microsoft, updates to the kernel will be serviced by Windows Update

• Lightweight Utility VM
• Hyper-V hypervisor

©2017 Tanium. All rights reserved. 7


What does that mean for Digital
Forensics & Incident Response
professionals?
What does that mean for Digital Forensics & Incident Response
professionals?

• Full System Call Compatibility

• Lightweight Utility VM
• Hyper-V hypervisor
• Not a traditional Virtual Machine
• EXT4 Virtual Disk
• C:\Users\User\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindow
s_79rhkp1fndgsc\LocalState\ext4.vhdx

• Management of WSL
• wsl.exe (WSL 2)
• wslconfig (WSL 1)

©2017 Tanium. All rights reserved. 9


What does that mean for Digital Forensics & Incident Response
professionals?

Environment Variables

©2017 Tanium. All rights reserved. 10


What does that mean for Digital Forensics & Incident Response
professionals?

Microsoft Store

©2017 Tanium. All rights reserved. 11


What does that mean for Digital Forensics & Incident Response
professionals?

WindowsApps

©2017 Tanium. All rights reserved. 12


What does that mean for Digital Forensics & Incident Response
professionals?

WindowsApps

©2017 Tanium. All rights reserved. 13


What does that mean for Digital Forensics & Incident Response
professionals?

WindowsApps

©2017 Tanium. All rights reserved. 14


What does that mean for Digital Forensics & Incident Response
professionals?

WindowsApps

©2017 Tanium. All rights reserved. 15


What does that mean for Digital Forensics & Incident Response
professionals?

Access to Linux files


\\wsl$\

©2017 Tanium. All rights reserved. 16


What does that mean for Digital Forensics & Incident Response
professionals?

Windows Terminal

©2017 Tanium. All rights reserved. 17


Forensic examination on a WSL
Endpoint
Forensic examination on a WSL Endpoint

• Environment:

• Windows 10 Pro
• Version 2004
• Installed on 12/12/2019
• OS Build 19041.84

©2017 Tanium. All rights reserved. 19


Forensic examination on a WSL Endpoint

• Experiments

1. Persistence: Bashrc
2. Persistence: Persistence through Inception! (Systemd)
3. Persistence: Crontab
4. Execution: Bourne Shell Reverse Shell
5. Execution: PowerShell Reverse Shell
6. Execution: Python Download File
7. Lateral Movement: Remote File Copy
8. Command and Control: Custom Command and Control Protocol
9. Execution: wsl.exe
10. Execution: bash.exe
11. Execution: curl.exe

©2017 Tanium. All rights reserved. 20


Persistence: Bashrc
Forensic examination on a WSL Endpoint
Persistence: Bashrc

Registry Key: HKEY_CURRENT_USER\Environment


Registry Key Name: BASH_ENV
Registry Data Name: /etc/bash.bashrc

©2017 Tanium. All rights reserved. 22


Forensic examination on a WSL Endpoint
Persistence: Bashrc

Modify /etc/bash.bashrc Attacker Listener

©2017 Tanium. All rights reserved. 23


Forensic examination on a WSL Endpoint
Persistence: Bashrc

• Trace the MAC times and data contents


• /etc/bash.bashrc, ~/.bash_history, ~/.sh_history
• Timeline of the inodes

• Process Execution:
• AMCache Program Entries
• 2020-02-26 10:21:57,CanonicalGroupLimited.UbuntuonWindows,1804.2019.521
• AMCache Associated File Entries
• CanonicalGroupLimited.UbuntuonWindows,2019-12-12 21:48:22
• AppCompactCache
• C:\Program
Files\WindowsApps\CanonicalGroupLimited.UbuntuonWindows_1804.2019.521.0_x64
__79rhkp1fndgsc\ubuntu.exe
• CanonicalGroupLimited.UbuntuonWindows

©2017 Tanium. All rights reserved. 24


Forensic examination on a WSL Endpoint
Persistence: Bashrc

• UserAssist

©2017 Tanium. All rights reserved. 25


Forensic examination on a WSL Endpoint
Persistence: Bashrc

• Prefetch
• /Windows/Prefetch/UBUNTU.EXE-39E7ED6A.pf

• MFT
• /Users/User/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1
fndgsc/LocalState/ext4.vhdx
• /Users/User/AppData/Local/Microsoft/WindowsApps/ubuntu.exe
• /Users/User/AppData/Local/Microsoft/WindowsApps/CanonicalGroupLimited.UbuntuonWi
ndows_79rhkp1fndgsc/ubuntu.exe

©2017 Tanium. All rights reserved. 26


Persistence: Persistence through
Inception! (Systemd)
Forensic examination on a WSL Endpoint
Persistence: Persistence through Inception! (Systemd)

Systemd Service Attacker Listener

©2017 Tanium. All rights reserved. 28


Forensic examination on a WSL Endpoint
Persistence: Persistence through Inception! (Systemd)

Run Key Attacker Listener

©2017 Tanium. All rights reserved. 29


Forensic examination on a WSL Endpoint
Persistence: Persistence through Inception! (Systemd)

• Systemd Journals
• /run/log/journal/*/system.journal
• /run/systemd/journal/*

• Systemd configuration files

• /etc/systemd/system/*
• /run/systemd/*
• /var/lib/systemd/*
• /usr/lib/systemd/*

• Registry Artefacts for persistence

©2017 Tanium. All rights reserved. 30


Forensic examination on a WSL Endpoint
Persistence: Persistence through Inception! (Systemd)

tmp Directory MAC Times

First and last interacted

©2017 Tanium. All rights reserved. 31


Persistence: Crontab
Forensic examination on a WSL Endpoint
Persistence: Crontab

Modify /etc/crontab Attacker Listener

©2017 Tanium. All rights reserved. 33


Execution: Bourne Shell Reverse Shell
Forensic examination on a WSL Endpoint
Execution: Bourne Shell Reverse Shell

Bourne Shell Reverse Shell Attacker Listener

©2017 Tanium. All rights reserved. 35


Execution: PowerShell Reverse Shell
Forensic examination on a WSL Endpoint
Execution: PowerShell Reverse Shell

PowerShell
Reverse
Shell

Attacker
Listener

©2017 Tanium. All rights reserved. 37


Execution: Python Download File
Forensic examination on a WSL Endpoint
Execution: Python Download File

Python
Download
File

©2017 Tanium. All rights reserved. 39


Lateral Movement: Remote File Copy
Forensic examination on a WSL Endpoint
Lateral Movement: Remote File Copy

Enable trace

©2017 Tanium. All rights reserved. 41


Forensic examination on a WSL Endpoint
Lateral Movement: Remote File Copy

netsh trace start Download file with python

©2017 Tanium. All rights reserved. 42


Forensic examination on a WSL Endpoint
Lateral Movement: Remote File Copy

Stop trace

©2017 Tanium. All rights reserved. 43


Forensic examination on a WSL Endpoint
Lateral Movement: Remote File Copy

Download file with python

©2017 Tanium. All rights reserved. 44


Forensic examination on a WSL Endpoint
Lateral Movement: Remote File Copy

Download file with python

©2017 Tanium. All rights reserved. 45


Forensic examination on a WSL Endpoint
Lateral Movement: Remote File Copy

Extract and download file

©2017 Tanium. All rights reserved. 46


Command and Control: Custom
Command and Control Protocol
Forensic examination on a WSL Endpoint
Command and Control: Custom Command and Control Protocol

Enable and stop trace

©2017 Tanium. All rights reserved. 48


Forensic examination on a WSL Endpoint
Command and Control: Custom Command and Control Protocol

Socat Reverse Shell

©2017 Tanium. All rights reserved. 49


Forensic examination on a WSL Endpoint
Command and Control: Custom Command and Control Protocol

Stop trace

©2017 Tanium. All rights reserved. 50


Forensic examination on a WSL Endpoint
Command and Control: Custom Command and Control Protocol

Socat Reverse Shell

©2017 Tanium. All rights reserved. 51


Forensic examination on a WSL Endpoint
Command and Control: Custom Command and Control Protocol

Socat Reverse Shell

©2017 Tanium. All rights reserved. 52


Forensic examination on a WSL Endpoint
Command and Control: Custom Command and Control Protocol

Socat Reverse Shell

©2017 Tanium. All rights reserved. 53


Execution: wsl.exe
Forensic examination on a WSL Endpoint
Execution: wsl.exe

wsl.exe Execution

©2017 Tanium. All rights reserved. 55


Forensic examination on a WSL Endpoint
Execution: wsl.exe

wsl.exe Execution

©2017 Tanium. All rights reserved. 56


Forensic examination on a WSL Endpoint
Execution: wsl.exe

wsl.exe Execution

©2017 Tanium. All rights reserved. 57


Forensic examination on a WSL Endpoint
Execution: wsl.exe

©2017 Tanium. All rights reserved. 58


Forensic examination on a WSL Endpoint
Execution: wsl.exe

• Process command line activity

• Process lineage

• Caveat:
• Execution of Linux commands will not be saved in ~/.bash_history, ~/.sh_history, etc,

©2017 Tanium. All rights reserved. 59


Execution: bash.exe
Forensic examination on a WSL Endpoint
Execution: bash.exe

bash.exe Execution

©2017 Tanium. All rights reserved. 61


Execution: curl.exe
Forensic examination on a WSL Endpoint
Execution: curl.exe

curl.exe Execution

©2017 Tanium. All rights reserved. 63


Conclusion

• Adversaries and malware authors will continue to explore attack surfaces on WSL 2, as it
becomes more prevalent across enterprise environments

• WSL 2 Endpoints is going to make Digital Forensics and Incident Response professionals lives a
lot more interesting

• I highlighted 11 techniques based on my initial research, but I expect there to be more attack
surfaces with WSL 2

©2017 Tanium. All rights reserved. 64


References
• OSDFCon 2019: Investigating Linux Endpoints
• https://www.osdfcon.org/presentations/2019/Asif-Matadar_Investigating-Linux-Endpoints.pdf

• https://lolbas-project.github.io/lolbas/OtherMSBinaries/Wsl/

• https://twitter.com/d1r4c/status/1280196218308694016

• https://lolbas-project.github.io/lolbas/Binaries/Bash/

• https://twitter.com/d1r4c/status/1279085773522862082

• https://twitter.com/d1r4c/status/1279042657508081664

©2017 Tanium. All rights reserved. 65


Thank you

You might also like