SlideShare a Scribd company logo
What’s the DFIRence
for ICS?
Chris Sistrunk, PE
Senior Consultant, FireEye
@chrissistrunk
Josh Triplett
Senior Reverse Engineer, FireEye
1
Agenda
• Digital Forensics and Incident Response Overview
• DFIR for ICS
• What’s the DFIRence?
• Embedded Devices
• What to Collect
• What to Analyze
• RTU Examples
• GE D20MX
• VxWorks DFIR Tool
• SEL-3530 RTAC
2
Incident Response Overview
“Find Evil”
• Assess the situation
• Define objectives
• Collect evidence
• Perform analysis
• Communicate
• Develop remediation plan
• Document findings
http://www.cumbriafire.gov.uk/about/photo/engines/incident-response.asp
3
Digital Forensics Overview
• Data Collection
• Data Files
• OS (volatile and non-volatile)
• Network Traffic
• Applications
• Examination
• Analysis
• Reporting NIST SP 800-86
4
Traditional DFIR tools
Mature
• Tools
• Redline
• Volatility
• Websites
• Cheatsheets
• Books
5
What’s the DFIRence for ICS?
6
ICS anomaly  incident?
• An anomaly of some kind has occurred
• Increased network activity, strange behavior, failure
• Now we need to investigate the anomaly
• Is it known bad?
• Is it unknown bad?
• Do we escalate this to a security incident?
• Who do we call?
• Engineers, Admins, PR, Safety
• Vendors
7
Don’t!
8
ICS forensics collection tools
• No ICS-specific DFIR tools…especially embedded devices
• But, we can collect data manually using other tools
9
Embedded devices: What to collect?
Physical data
• Exact location of device
• Device description
• Identifying info (manufacturer, S/N, P/N, name)
• Connections (serial, ethernet, USB)
• Front/back panel LED status
• Power consumption
• Temperature (if running hot)
• Evidence of tampering
Digital data
• Running configuration (including user accounts)
• Last-known good configuration
• Running firmware, approved firmware
• CPU usage %, Memory usage % (RAM, Storage)
• Running processes
• Active ports (serial, ethernet, USB, etc)
• Logs (security, events)
• Memory dump (if possible)
10
Embedded devices: What to analyze?
Find Evil…or ways for evil to do evil
First Responders: ICS Engineer or Technician, Network Engineer, Vendor
• What do the user and event logs reveal? (these need to be viewed first as they may rollover)
• Does the configuration match the firmware? Is the firmware approved from FAT/SAT?
• Running config / last known good config / standard config
• Is the configuration and logic correct for the process?
• Are communications (serial, ethernet, USB, wireless) normal as compared with known good?
Vendor, Digital Forensics Specialist, Embedded Systems Analyst
• Analyze embedded OS files, captured data at rest, captured data in transit
• Volatile memory if possible (to look for code injection and potential rootkits)
Fast
Slower
Time
11
Let’s do DFIR on two substation RTUs
12
Time to…RTFM
13
Data Collection: D20MX
Specs
• 667 MHz embedded PowerQUICC II Pro
• 1024 MB of 266 MHz DDR2 RAM with ECC
• 16 MB NVRAM for persistent event storage
• 8 MB boot flash, 256 MB firmware flash
• VxWorks RTOS
Tools to use
• D20MX Product Documentation Binder.pdf
• GE SGconfig software
• Terminal (Tera Term, PuTTY)
• WinSCP
14
Data Collection: D20MX
You will need three manuals from the binder pdf:
1. 994-0140 D20MX Substation Controller Instruction Manual
• Chapter 11: Troubleshooting
2. B014-1NUG Westmaint II+ for D20MX User’s Guide
• Shows how to use the D20 console interface, menus,
error and user logs
3. SWM0080 D20MX Shells User’s Guide
15
Data Collection: D20MX
Error Log and User Log
The error log tells what’s wrong with the
configuration.
The user log shows logins, logouts, and
all user activity. Can be exported to CSV.
This data also gets put into the syslog.
16
The power of the 3 Shells
• You can access the shell remotely with
SSH, but the most powerful access is
through the front serial port.
• Some of these commands require
assistance from GE unless you really
know what you are doing.
17
The main shell
• D20M Shell is the main shell
• Very similar to 68k monitor shell in
older D20s
• Incident Responders will want to
collect data from this shell
• All of the commands are explained
in detail in the D20MX Shells UG
18
Data Collection: D20MX
• Running configuration
 Use SGConfig, ConfigPro, or TeraTerm
 Very common task
• Last-known good configuration
 Look in email, config database, engineer’s
laptop, or it may be on a USB in the cabinet
• Running firmware - img
• CPU usage %, Memory usage %
 pr – performance monitor
 qr – query ram (volatile and nvram)
• Running processes - qp
19
Data Collection: D20MX
Serial analyzer
• Very popular shell command
(what’s Wireshark?)
• In the D20M shell, use
 sa com#
where # is the port number
 Turn on logging in TeraTerm
beforehand to save the
traffic
 This example is DNP3
20
Data Collection: D20MX
• Dump memory
 si – shows system information
including the memory base addresses
 d – dumps memory, but you have to
tell it where to start and stop
(only available over serial connection)
• Hand the output to someone who
understands VxWorks for analysis
• Look for strings, injected code, or rootkits
21
Data Collection: D20MX
VxWorks C Shell
• OS level shell only accessible from the RS-232
port (access is denied from SSH)
• Mainly used by GE customer support for
troubleshooting
VxWorks CMD Shell
• OS 2nd level shell, accessed by typing cmd
• VxWorks Kernel Shell Command Reference 6.9
• We can use some commands for forensics
 d (dump), netstat, ipf (firewall), syslog,
show devices, show drivers, show
history, ifconfig, route, and even pcap!
22
Example of live memory code injection & mem dump on the D20MX
• Inject code via VxWorks C shell memory edit command m to simulate a rootkit
[SCREENSHOTS OR VIDEO RECORDING HERE]
• Collect volatile memory using the dump memory command d
[SCREENSHOTS OR VIDEO RECORDING HERE]
23
Data Collection: VxWorks DFIR Tool – Problem
24
• We need tools that enable us to perform DFIR on ICS and embedded devices.
Data Collection: VxWorks DFIR Tool - Solution
A collection of utilities that enable us to:
• Read (and write) to memory on the device programmatically
• We don’t want to have do dump memory manually
• Cache the live memory locally
• We shouldn’t need to fetch the same memory twice to check for different issues.
• Compare the system image
• Knowing the image is good is the first step toward looking somewhere else.
• Provide the ability to read/write and cache device data to other tools
• Tools can be written more generically when they don’t need to worry about how to get the data
25
Data Collection: VxWorks DFIR Tool - Cool Features
• Can easily accommodate different transport mechanisms
• Serial
• TCP/Serial bridges
• Protocols specific to other dumping utilities
• Supports caching
• Allows resuming if connectivity is lost
• Sparse memory dumping
• Comparative analysis works on
• Anything that looks like a seek-able Python File Object
• Cache Files
• Memory Dumps
• Sparse Memory Maps
• Special Objects that request live memory 26
Data Collection: VxWorks DFIR Tool – Validating the host image
27
Data Collection: VxWorks DFIR Tool - Cool Projects We Used
• CLE Loads Everything – (angr/CLE)
• Loads our system image and provides an abstraction to a process memory space
• Identifies architecture, endianness, etc.
• Will soon support relocatable images (important for modules like appl.out)
• Capstone - Nguyen Anh Quynh
• Easy access to disassemble exactly what we needed
28
Data Collection: VxWorks DFIR Tool – Plans for the Future
• Documentation
• Expand the tool to work on other devices
• Refine the scripts into easy-to-use modules
• Moving the code to GitHub
• Allow for feedback / feature requests / bug submissions
29
Data Collection: SEL-3530 RTAC
Specs
• 533 MHz Power PC
• 1024 MB DDR2 ECC RAM
• 2GB Storage
• Embedded SEL Linux
Tools to use
• SEL-3530 RTAC Instruction Manual
• SEL-5033 Instruction Manual
• SEL-5033 software
• Web Browser (Chrome, FireFox, etc)
• Terminal for SSH (Tera Term, PuTTY)
30
Data Collection: SEL-3530
Digital data
• Running configuration
• User Accounts
• Running firmware
• CPU usage %
• Memory usage %
• POST checks
• Reports (several)
Physical Data
• Password jumper
31
Data Collection: SEL-3530
These are the screenshots from
when I sent a malformed DNP3
message that caused the RTAC
to lose the configuration.
https://ics-cert.us-cert.gov/advisories/ICSA-13-219-01
32
Data Collection: SEL-3530
• Section 3: Testing and Troubleshooting
• Section 5: Web HMI and Logging
• Section 6: Security
• There are tags in the RTAC database that are assigned
to help troubleshoot but are also useful for forensics as well.
• Several log types
• SOE report
• IED report
• syslog
33
Data Collection: SEL-3530
• Example of IED Report
• Can be accessed via
web or ODBC (MS Access)
• No Linux Shell
• Pros & cons
• No SSH Interface with RTAC
• SSH used for engineering
remote access to relays
34
Data Collection: SEL-3530
• The RTAC can capture ethernet and serial traffic
 SEL-5033 software and the Comm Monitor
• AG2012-15 Using Wireshark® to Troubleshoot Protocol
Communications Issues on an RTAC
 DNP3 example
• AG2015-15 Using Wireshark® to Decode RTAC Serial
Line Messages and SEL Protocols
 SEL Fast Messaging example
• SEL published several serial Wireshark dissectors
 SELFM, Telegyr 8979
35
For Further Reading…
• HD Moore’s blogpost on VxWorks from 2010.
• https://community.rapid7.com/community/metasploit/blog/2010/08/02/shiny-old-vxworks-
vulnerabilities
• Metasploit module for VxWorks remote memory dump (wdbrpc_memory_dump)
• David Odell’s blogpost on QNX from 2012.
• https://www.optiv.com/blog/pentesting-qnx-neutrino-rtos
• ICS-CERT recommended practices for ICS forensics
• https://ics-cert.us-cert.gov/sites/default/files/recommended_practices/Forensics_RP.pdf
36
For Further Reading…
• Travis Goodspeed’s embedded device work on the MSP430 family
• http://travisgoodspeed.blogspot.com/2007/11/ti-ez430-in-linux-with-iar-kickstart.html
• http://travisgoodspeed.blogspot.com/2008/08/repurposing-ti-ez430u-part-3.html
• Ralph Langner’s forensics work on Stuxnet payloads for Siemens PLCs
• http://www.langner.com/en/wp-content/uploads/2013/11/To-kill-a-centrifuge.pdf
• The Dec 23, 2015 Ukrainian Power Grid attack included writing over firmware
of embedded Ethernet-serial converters.
• https://ics.sans.org/media/E-ISAC_SANS_Ukraine_DUC_5.pdf
37
QUESTIONS?
38

More Related Content

PPTX
Proactive Approach to OT incident response - HOUSECCON 2023
PDF
DEF CON 23 - NSM 101 for ICS
PDF
Supply chain-attack
PDF
Potential Impact of Cyber Attacks on Critical Infrastructure
PPT
CCNA Security - Chapter 2
PPTX
Security Information Event Management - nullhyd
PPTX
securityawareness.pptx
PDF
18CS2005 Cryptography and Network Security
Proactive Approach to OT incident response - HOUSECCON 2023
DEF CON 23 - NSM 101 for ICS
Supply chain-attack
Potential Impact of Cyber Attacks on Critical Infrastructure
CCNA Security - Chapter 2
Security Information Event Management - nullhyd
securityawareness.pptx
18CS2005 Cryptography and Network Security

What's hot (20)

PDF
Beyaz Şapkalı Hacker CEH Eğitimi - Siber Güvenlik Temelleri
PDF
BGA CTF Ethical Hacking Yarışması Çözümleri
PPTX
Putting MITRE ATT&CK into Action with What You Have, Where You Are
PDF
Yeni Nesil DDOS Saldırıları ve Korunma Yöntemleri
PPTX
Software Security Metrics
PDF
Open Source Soc Araçları Eğitimi 2020-II
PPTX
Log Yönetimi ve Saldırı Analizi Eğitimi - 2
PDF
SSH Tünelleme ile İçerik Filtreleyicileri Atlatmak
PPTX
S4x20 - Tuning ICS Security Alerts: An Alarm Management Approach
PDF
OT Security - h-c0n 2020
PPTX
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
PDF
Supply Chain Attacks
PDF
Sandbox Atlatma Teknikleri ve Öneriler
PPT
Owasp top 10 & Web vulnerabilities
PPTX
Mod security
PDF
STRIDE: Digging Vulnerability by Threat Modelling
PDF
Zafiyet tespiti ve sizma yöntemleri
PPTX
Les 5 risques les plus critiques des applications Web selon l'OWASP
PDF
Windows Threat Hunting
PPTX
Log Yönetimi ve Saldırı Analizi Eğitimi -1
Beyaz Şapkalı Hacker CEH Eğitimi - Siber Güvenlik Temelleri
BGA CTF Ethical Hacking Yarışması Çözümleri
Putting MITRE ATT&CK into Action with What You Have, Where You Are
Yeni Nesil DDOS Saldırıları ve Korunma Yöntemleri
Software Security Metrics
Open Source Soc Araçları Eğitimi 2020-II
Log Yönetimi ve Saldırı Analizi Eğitimi - 2
SSH Tünelleme ile İçerik Filtreleyicileri Atlatmak
S4x20 - Tuning ICS Security Alerts: An Alarm Management Approach
OT Security - h-c0n 2020
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Supply Chain Attacks
Sandbox Atlatma Teknikleri ve Öneriler
Owasp top 10 & Web vulnerabilities
Mod security
STRIDE: Digging Vulnerability by Threat Modelling
Zafiyet tespiti ve sizma yöntemleri
Les 5 risques les plus critiques des applications Web selon l'OWASP
Windows Threat Hunting
Log Yönetimi ve Saldırı Analizi Eğitimi -1
Ad

Viewers also liked (6)

PPTX
Dolla Dolla Bump Key
PPTX
Hacker Halted 2016 - How to get into ICS security
PPTX
BSidesAugusta ICS SCADA Defense
PPT
Using Canary Honeypots for Network Security Monitoring
PPTX
Applied Detection and Analysis Using Flow Data - MIRCon 2014
PPT
Developing Analytic Technique and Defeating Cognitive Bias in Security
Dolla Dolla Bump Key
Hacker Halted 2016 - How to get into ICS security
BSidesAugusta ICS SCADA Defense
Using Canary Honeypots for Network Security Monitoring
Applied Detection and Analysis Using Flow Data - MIRCon 2014
Developing Analytic Technique and Defeating Cognitive Bias in Security
Ad

Similar to Blackhat USA 2016 - What's the DFIRence for ICS? (20)

PDF
Intro to sysdig in 15 minutes
PPT
Live Memory Forensics on Android devices
PDF
amrapali builders @@ hacking challenges.pdf
PDF
Software is Eating The Data center
PPTX
10 Tips for AIX Security
PPTX
Easily emulating full systems on amazon fpg as
PDF
Database Firewall with Snort
PDF
Jaime Blasco - Fighting Advanced Persistent Threat (APT) with Open Source Too...
PDF
.NET Cloud-Native Bootcamp Minneapolis
PPTX
Unmasking Careto through Memory Forensics (video in description)
PPTX
Performance analysis and troubleshooting using DTrace
PPT
Attacking Embedded Devices (No Axe Required)
PPTX
The power of linux advanced tracer [POUG18]
PDF
Securing Applications and Pipelines on a Container Platform
PPTX
Security research over Windows #defcon china
PDF
Using VPP and SRIO-V with Clear Containers
PPTX
Lec 10-linux-review
PPTX
2017 - LISA - LinkedIn's Distributed Firewall (DFW)
PDF
CNIT 152: 9 Network Evidence
PDF
CNIT 121: 9 Network Evidence
Intro to sysdig in 15 minutes
Live Memory Forensics on Android devices
amrapali builders @@ hacking challenges.pdf
Software is Eating The Data center
10 Tips for AIX Security
Easily emulating full systems on amazon fpg as
Database Firewall with Snort
Jaime Blasco - Fighting Advanced Persistent Threat (APT) with Open Source Too...
.NET Cloud-Native Bootcamp Minneapolis
Unmasking Careto through Memory Forensics (video in description)
Performance analysis and troubleshooting using DTrace
Attacking Embedded Devices (No Axe Required)
The power of linux advanced tracer [POUG18]
Securing Applications and Pipelines on a Container Platform
Security research over Windows #defcon china
Using VPP and SRIO-V with Clear Containers
Lec 10-linux-review
2017 - LISA - LinkedIn's Distributed Firewall (DFW)
CNIT 152: 9 Network Evidence
CNIT 121: 9 Network Evidence

More from Chris Sistrunk (11)

PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
BSidesAugusta 2022 - The Power of the OT Security Playbook
PPTX
Black Hat USA 2022 - Arsenal Labs - Vehicle Control Systems - Red vs Blue
PPTX
BSidesHSV 2020 - Keynote - 2030: The Next Decade
PPTX
Derbycon 8 - We Are the Artillery: Using Google Fu to Take Down the Grid
PPTX
BSidesJackson 2017 - Chris Sistrunk - Keynote
PPTX
Advanced Persistent Dads - Threat Analysis
PDF
RSAC 2016: How to Get into ICS Security
PPTX
BSidesAugusta 2015 - How to get into ICS security
PPTX
Master Serial Killer - DEF CON 22 - ICS Village
PPTX
Protecting Your DNP3 Networks
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
BSidesAugusta 2022 - The Power of the OT Security Playbook
Black Hat USA 2022 - Arsenal Labs - Vehicle Control Systems - Red vs Blue
BSidesHSV 2020 - Keynote - 2030: The Next Decade
Derbycon 8 - We Are the Artillery: Using Google Fu to Take Down the Grid
BSidesJackson 2017 - Chris Sistrunk - Keynote
Advanced Persistent Dads - Threat Analysis
RSAC 2016: How to Get into ICS Security
BSidesAugusta 2015 - How to get into ICS security
Master Serial Killer - DEF CON 22 - ICS Village
Protecting Your DNP3 Networks

Recently uploaded (20)

PPTX
B.Sc. DS Unit 2 Software Engineering.pptx
PPTX
Computer Architecture Input Output Memory.pptx
PPTX
CHAPTER IV. MAN AND BIOSPHERE AND ITS TOTALITY.pptx
PDF
Empowerment Technology for Senior High School Guide
PPTX
Share_Module_2_Power_conflict_and_negotiation.pptx
PPTX
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PPTX
TNA_Presentation-1-Final(SAVE)) (1).pptx
PDF
Τίμαιος είναι φιλοσοφικός διάλογος του Πλάτωνα
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PDF
1_English_Language_Set_2.pdf probationary
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PPTX
Introduction to pro and eukaryotes and differences.pptx
PDF
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
PDF
IGGE1 Understanding the Self1234567891011
PPTX
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
PDF
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
PDF
AI-driven educational solutions for real-life interventions in the Philippine...
PDF
My India Quiz Book_20210205121199924.pdf
PPTX
History, Philosophy and sociology of education (1).pptx
B.Sc. DS Unit 2 Software Engineering.pptx
Computer Architecture Input Output Memory.pptx
CHAPTER IV. MAN AND BIOSPHERE AND ITS TOTALITY.pptx
Empowerment Technology for Senior High School Guide
Share_Module_2_Power_conflict_and_negotiation.pptx
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
TNA_Presentation-1-Final(SAVE)) (1).pptx
Τίμαιος είναι φιλοσοφικός διάλογος του Πλάτωνα
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
1_English_Language_Set_2.pdf probationary
A powerpoint presentation on the Revised K-10 Science Shaping Paper
Introduction to pro and eukaryotes and differences.pptx
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
IGGE1 Understanding the Self1234567891011
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
AI-driven educational solutions for real-life interventions in the Philippine...
My India Quiz Book_20210205121199924.pdf
History, Philosophy and sociology of education (1).pptx

Blackhat USA 2016 - What's the DFIRence for ICS?

  • 1. What’s the DFIRence for ICS? Chris Sistrunk, PE Senior Consultant, FireEye @chrissistrunk Josh Triplett Senior Reverse Engineer, FireEye 1
  • 2. Agenda • Digital Forensics and Incident Response Overview • DFIR for ICS • What’s the DFIRence? • Embedded Devices • What to Collect • What to Analyze • RTU Examples • GE D20MX • VxWorks DFIR Tool • SEL-3530 RTAC 2
  • 3. Incident Response Overview “Find Evil” • Assess the situation • Define objectives • Collect evidence • Perform analysis • Communicate • Develop remediation plan • Document findings http://www.cumbriafire.gov.uk/about/photo/engines/incident-response.asp 3
  • 4. Digital Forensics Overview • Data Collection • Data Files • OS (volatile and non-volatile) • Network Traffic • Applications • Examination • Analysis • Reporting NIST SP 800-86 4
  • 5. Traditional DFIR tools Mature • Tools • Redline • Volatility • Websites • Cheatsheets • Books 5
  • 7. ICS anomaly  incident? • An anomaly of some kind has occurred • Increased network activity, strange behavior, failure • Now we need to investigate the anomaly • Is it known bad? • Is it unknown bad? • Do we escalate this to a security incident? • Who do we call? • Engineers, Admins, PR, Safety • Vendors 7
  • 9. ICS forensics collection tools • No ICS-specific DFIR tools…especially embedded devices • But, we can collect data manually using other tools 9
  • 10. Embedded devices: What to collect? Physical data • Exact location of device • Device description • Identifying info (manufacturer, S/N, P/N, name) • Connections (serial, ethernet, USB) • Front/back panel LED status • Power consumption • Temperature (if running hot) • Evidence of tampering Digital data • Running configuration (including user accounts) • Last-known good configuration • Running firmware, approved firmware • CPU usage %, Memory usage % (RAM, Storage) • Running processes • Active ports (serial, ethernet, USB, etc) • Logs (security, events) • Memory dump (if possible) 10
  • 11. Embedded devices: What to analyze? Find Evil…or ways for evil to do evil First Responders: ICS Engineer or Technician, Network Engineer, Vendor • What do the user and event logs reveal? (these need to be viewed first as they may rollover) • Does the configuration match the firmware? Is the firmware approved from FAT/SAT? • Running config / last known good config / standard config • Is the configuration and logic correct for the process? • Are communications (serial, ethernet, USB, wireless) normal as compared with known good? Vendor, Digital Forensics Specialist, Embedded Systems Analyst • Analyze embedded OS files, captured data at rest, captured data in transit • Volatile memory if possible (to look for code injection and potential rootkits) Fast Slower Time 11
  • 12. Let’s do DFIR on two substation RTUs 12
  • 14. Data Collection: D20MX Specs • 667 MHz embedded PowerQUICC II Pro • 1024 MB of 266 MHz DDR2 RAM with ECC • 16 MB NVRAM for persistent event storage • 8 MB boot flash, 256 MB firmware flash • VxWorks RTOS Tools to use • D20MX Product Documentation Binder.pdf • GE SGconfig software • Terminal (Tera Term, PuTTY) • WinSCP 14
  • 15. Data Collection: D20MX You will need three manuals from the binder pdf: 1. 994-0140 D20MX Substation Controller Instruction Manual • Chapter 11: Troubleshooting 2. B014-1NUG Westmaint II+ for D20MX User’s Guide • Shows how to use the D20 console interface, menus, error and user logs 3. SWM0080 D20MX Shells User’s Guide 15
  • 16. Data Collection: D20MX Error Log and User Log The error log tells what’s wrong with the configuration. The user log shows logins, logouts, and all user activity. Can be exported to CSV. This data also gets put into the syslog. 16
  • 17. The power of the 3 Shells • You can access the shell remotely with SSH, but the most powerful access is through the front serial port. • Some of these commands require assistance from GE unless you really know what you are doing. 17
  • 18. The main shell • D20M Shell is the main shell • Very similar to 68k monitor shell in older D20s • Incident Responders will want to collect data from this shell • All of the commands are explained in detail in the D20MX Shells UG 18
  • 19. Data Collection: D20MX • Running configuration  Use SGConfig, ConfigPro, or TeraTerm  Very common task • Last-known good configuration  Look in email, config database, engineer’s laptop, or it may be on a USB in the cabinet • Running firmware - img • CPU usage %, Memory usage %  pr – performance monitor  qr – query ram (volatile and nvram) • Running processes - qp 19
  • 20. Data Collection: D20MX Serial analyzer • Very popular shell command (what’s Wireshark?) • In the D20M shell, use  sa com# where # is the port number  Turn on logging in TeraTerm beforehand to save the traffic  This example is DNP3 20
  • 21. Data Collection: D20MX • Dump memory  si – shows system information including the memory base addresses  d – dumps memory, but you have to tell it where to start and stop (only available over serial connection) • Hand the output to someone who understands VxWorks for analysis • Look for strings, injected code, or rootkits 21
  • 22. Data Collection: D20MX VxWorks C Shell • OS level shell only accessible from the RS-232 port (access is denied from SSH) • Mainly used by GE customer support for troubleshooting VxWorks CMD Shell • OS 2nd level shell, accessed by typing cmd • VxWorks Kernel Shell Command Reference 6.9 • We can use some commands for forensics  d (dump), netstat, ipf (firewall), syslog, show devices, show drivers, show history, ifconfig, route, and even pcap! 22
  • 23. Example of live memory code injection & mem dump on the D20MX • Inject code via VxWorks C shell memory edit command m to simulate a rootkit [SCREENSHOTS OR VIDEO RECORDING HERE] • Collect volatile memory using the dump memory command d [SCREENSHOTS OR VIDEO RECORDING HERE] 23
  • 24. Data Collection: VxWorks DFIR Tool – Problem 24 • We need tools that enable us to perform DFIR on ICS and embedded devices.
  • 25. Data Collection: VxWorks DFIR Tool - Solution A collection of utilities that enable us to: • Read (and write) to memory on the device programmatically • We don’t want to have do dump memory manually • Cache the live memory locally • We shouldn’t need to fetch the same memory twice to check for different issues. • Compare the system image • Knowing the image is good is the first step toward looking somewhere else. • Provide the ability to read/write and cache device data to other tools • Tools can be written more generically when they don’t need to worry about how to get the data 25
  • 26. Data Collection: VxWorks DFIR Tool - Cool Features • Can easily accommodate different transport mechanisms • Serial • TCP/Serial bridges • Protocols specific to other dumping utilities • Supports caching • Allows resuming if connectivity is lost • Sparse memory dumping • Comparative analysis works on • Anything that looks like a seek-able Python File Object • Cache Files • Memory Dumps • Sparse Memory Maps • Special Objects that request live memory 26
  • 27. Data Collection: VxWorks DFIR Tool – Validating the host image 27
  • 28. Data Collection: VxWorks DFIR Tool - Cool Projects We Used • CLE Loads Everything – (angr/CLE) • Loads our system image and provides an abstraction to a process memory space • Identifies architecture, endianness, etc. • Will soon support relocatable images (important for modules like appl.out) • Capstone - Nguyen Anh Quynh • Easy access to disassemble exactly what we needed 28
  • 29. Data Collection: VxWorks DFIR Tool – Plans for the Future • Documentation • Expand the tool to work on other devices • Refine the scripts into easy-to-use modules • Moving the code to GitHub • Allow for feedback / feature requests / bug submissions 29
  • 30. Data Collection: SEL-3530 RTAC Specs • 533 MHz Power PC • 1024 MB DDR2 ECC RAM • 2GB Storage • Embedded SEL Linux Tools to use • SEL-3530 RTAC Instruction Manual • SEL-5033 Instruction Manual • SEL-5033 software • Web Browser (Chrome, FireFox, etc) • Terminal for SSH (Tera Term, PuTTY) 30
  • 31. Data Collection: SEL-3530 Digital data • Running configuration • User Accounts • Running firmware • CPU usage % • Memory usage % • POST checks • Reports (several) Physical Data • Password jumper 31
  • 32. Data Collection: SEL-3530 These are the screenshots from when I sent a malformed DNP3 message that caused the RTAC to lose the configuration. https://ics-cert.us-cert.gov/advisories/ICSA-13-219-01 32
  • 33. Data Collection: SEL-3530 • Section 3: Testing and Troubleshooting • Section 5: Web HMI and Logging • Section 6: Security • There are tags in the RTAC database that are assigned to help troubleshoot but are also useful for forensics as well. • Several log types • SOE report • IED report • syslog 33
  • 34. Data Collection: SEL-3530 • Example of IED Report • Can be accessed via web or ODBC (MS Access) • No Linux Shell • Pros & cons • No SSH Interface with RTAC • SSH used for engineering remote access to relays 34
  • 35. Data Collection: SEL-3530 • The RTAC can capture ethernet and serial traffic  SEL-5033 software and the Comm Monitor • AG2012-15 Using Wireshark® to Troubleshoot Protocol Communications Issues on an RTAC  DNP3 example • AG2015-15 Using Wireshark® to Decode RTAC Serial Line Messages and SEL Protocols  SEL Fast Messaging example • SEL published several serial Wireshark dissectors  SELFM, Telegyr 8979 35
  • 36. For Further Reading… • HD Moore’s blogpost on VxWorks from 2010. • https://community.rapid7.com/community/metasploit/blog/2010/08/02/shiny-old-vxworks- vulnerabilities • Metasploit module for VxWorks remote memory dump (wdbrpc_memory_dump) • David Odell’s blogpost on QNX from 2012. • https://www.optiv.com/blog/pentesting-qnx-neutrino-rtos • ICS-CERT recommended practices for ICS forensics • https://ics-cert.us-cert.gov/sites/default/files/recommended_practices/Forensics_RP.pdf 36
  • 37. For Further Reading… • Travis Goodspeed’s embedded device work on the MSP430 family • http://travisgoodspeed.blogspot.com/2007/11/ti-ez430-in-linux-with-iar-kickstart.html • http://travisgoodspeed.blogspot.com/2008/08/repurposing-ti-ez430u-part-3.html • Ralph Langner’s forensics work on Stuxnet payloads for Siemens PLCs • http://www.langner.com/en/wp-content/uploads/2013/11/To-kill-a-centrifuge.pdf • The Dec 23, 2015 Ukrainian Power Grid attack included writing over firmware of embedded Ethernet-serial converters. • https://ics.sans.org/media/E-ISAC_SANS_Ukraine_DUC_5.pdf 37

Editor's Notes

  • #4: Modified from the Mandiant IR services datasheet
  • #5: 1. “During collection, data related to a specific event is identified, labeled, recorded, and collected, and its integrity is preserved. In the second phase, examination, forensic tools and techniques appropriate to the types of data that were collected are executed to identify and extract the relevant information from the collected data while protecting its integrity. Examination may use a combination of automated tools and manual processes. The next phase, analysis, involves analyzing the results of the examination to derive useful information that addresses the questions that were the impetus for performing the collection and examination. The final phase involves reporting the results of the analysis, which may include describing the actions performed, determining what other actions need to be performed, and recommending improvements to policies, guidelines, procedures, tools, and other aspects of the forensic process.” From NIST SP 800-86
  • #9: You need to preserve the data if possible…even on embedded devices. There may be manual ways to dump the running configuration and maybe the volatile memory.
  • #11: Physical data is important no matter if you have an equipment database or not.
  • #14: When in doubt, read the manual! There usually is a section on troubleshooting, configuration or file transfer, and even shell commands.
  • #25: Current Issues: Slow data Collection - We averaged 2300 bytes per second over serial - This would take us about 5 days to dump the full 1GB memory space Unknown protocol availability - Dumping data to our serial-connected RPi was not conducive to actually getting work done
  • #26: I don’t need to know what you need to know in order to help. I can provide abstracted memory objects that simply let you read
  • #27: We utilize the Special Objects that request live memory and Cache Files.
  • #28: Here we see differences in the .text, .data, and .sdata sections. An attacker has injected code into the ipfirewall_start function that prevents the firewall from starting. Note: This is simply a “return 0;” The .data and .sdata were flagged as not matching the disk due to runtime data. Note: These were omitted to simplify the slide, not by some magical filtering that deemed the changes sane or safe.
  • #29: Appl.out is a relocatable image which poses a problem due to absolute-address instructions that reference a relocatable section. These are the only two projects I ended up sticking with.
  • #30: We need to check to see if there are any stops in place that prevent us from doing this or even saying we plan on doing this.
  • #32: Most of these can be collected from the RTAC webpage or through the SEL-5033 software