SlideShare a Scribd company logo
1 of 72
Download to read offline
A Hole In The Tube
Uncovering Vulnerabilities in Critical Infrastructure of Healthcare Facilities
#BHUSA @BlackHatEvents
Ben Seri – VP Research
Barak Hadad – Security Researcher
ARMIS @ #BHUSA @BlackHatEvents
ARMIS @ #BHUSA @BlackHatEvents
Pneumatic What???
ARMIS @ #BHUSA @BlackHatEvents
Pneumatic Tubes are NOT new
ARMIS @ #BHUSA @BlackHatEvents
Pneumatic Tubes are NOT new
ARMIS @ #BHUSA @BlackHatEvents
Pneumatic Tubes are new?
Hyperloop
ARMIS @ #BHUSA @BlackHatEvents
Pneumatic Tubes are new?
ARMIS @ #BHUSA @BlackHatEvents
Inter-office messaging
ARMIS @ #BHUSA @BlackHatEvents
Inter planetary messaging ?
ARMIS @ #BHUSA @BlackHatEvents
Pneumatic Tubes - The Future of Waste?
ARMIS @ #BHUSA @BlackHatEvents
In Hospitals, PTS is a critical infrastructure
ARMIS @ #BHUSA @BlackHatEvents
• PTS system architecture & components
• Swisslog TransLogic Devices
• Vulnerabilities
• Exploitation
• Demo!
• Final Thoughts
Agenda
ARMIS @ #BHUSA @BlackHatEvents
▪ 9 vulnerabilities discovered in Swisslog’s Translogic Pneumatic Tube System
▪ Critical vulnerabilities were found in the Nexus Station – A prominent PTS station
by Swisslog:
▪ Hardcoded Passwords, Privilege Escalation, Heap & Stack overflows (can lead
to RCE), DoS, and non-secure firmware upgrade mechanism
▪ All vulnerabilities can be triggered via unauthenticated network packets, without
any user-interaction
▪ Disclosed to Swisslog on May 1, 2021, working together to patch & test
pwnedPiper – Overview
ARMIS @ #BHUSA @BlackHatEvents
▪ TransLogic is installed in more than 2,300 hospitals in North America and
over 3,000 worldwide.
▪ The majority of hospitals in North America use Swisslog TransLogic as
their PTS solution
▪ TransLogic is one of the most advanced PTS systems in the market,
supports high-load, advanced features, reliability and even physical-
security features
Swisslog TransLogic - The Leading PTS Sytem
ARMIS @ #BHUSA @BlackHatEvents
• PTS systems transfer physical carriers throughout
hospitals using a complex network of:
• Tubes
• Blowers
• Transfer Units (Routers)
• Stations
• The entire system is managed over Ethernet
by a central server
PTS systems are complex analog networks
ARMIS @ #BHUSA @BlackHatEvents
16
The Central Server is a Windows
device, connected to the Internet
Stations Stations Stations
INTERNET
Transfer Unit #1 Transfer Unit #2 Transfer Unit #3
Blowers
Central Server
Pneumatic Tube System – IP-connected
ARMIS @ #BHUSA @BlackHatEvents
• Takeover of PTS stations can result in various attacks
• DoS of the PTS network
• Information leak of PII (staff records, RFID credentials,
etc.)
• Sophisticated RansomwareSabotage attacks:
- Re-routing carriers can derail hospital operations significantly
Potential Affect of cyber attacks on PTS systems
ARMIS @ #BHUSA @BlackHatEvents
Design and structure of the PTS system
ARMIS @ #BHUSA @BlackHatEvents
Stations
ARMIS @ #BHUSA @BlackHatEvents
Blowers
ARMIS @ #BHUSA @BlackHatEvents
Diverters
ARMIS @ #BHUSA @BlackHatEvents
Central Management Server (SCC)
ARMIS @ #BHUSA @BlackHatEvents
Design and structure of the PTS system
ARMIS @ #BHUSA @BlackHatEvents
Swisslog Translogic PTS –
A “Next-gen” PTS with advanced features
• Secure transfers, with RFID and/or password-protected
carriers
• Slow-speed transfers, for sensitive cargo
• Internet connected Alert system, for user notifications via
email/text/etc
• Remote system monitoring, for offloading the
maintenance of the system to the Swisslog Cloud
ARMIS @ #BHUSA @BlackHatEvents
TransLogic Legacy Stations
• CTS 30 Station
• IQ Station
• Supports serial connection (RS-422)
or Ethernet (in newer models)
ARMIS @ #BHUSA @BlackHatEvents
• Has Ethernet connection
• Uses 8086 16-bit MCU
(DSTni-Ex)
• Firmware is non-encrypted
and unsigned…
IQ Station
ARMIS @ #BHUSA @BlackHatEvents
• Firmware upgrade requires a physical switch change:
IQ Station
ARMIS @ #BHUSA @BlackHatEvents
Nexus Station
• High-end station with touchscreen
and RFID
• IP-connected, runs Linux v2.6
• 32Bit ARM CPU
• Two main processes:
• HMI3 – ELF containing the low-level operation of the
station
• HMI3.jar – Responsible for the GUI and high level
operations
ARMIS @ #BHUSA @BlackHatEvents
HMI3
• Not PIC so no ASLR for the main
elf
• No stack canaries, and no DEP
for the bss (?)
• Compiled with debug symbols
ARMIS @ #BHUSA @BlackHatEvents
Swisslog PTS protocol
• 20 Bytes header
• Marker – “TLPU”
ARMIS @ #BHUSA @BlackHatEvents
Physical Attack Surface
An SD card containing the
non-encrypted, unsigned
firmware
ARMIS @ #BHUSA @BlackHatEvents
Network Attack Surface
From the manual:
Security by obscurity is no security at all!
ARMIS @ #BHUSA @BlackHatEvents
Internet Attack Surface
• The central management server connects outbound to the
Internet.
• This connection allows various features such as alert
notifications via the Alert System and remote monitoring and
maintenance.
• Any vulnerability found in its proprietary code can lead an
attack from the Internet to control the entire PTS system
ARMIS @ #BHUSA @BlackHatEvents
Discovered
Vulnerabilities
ARMIS @ #BHUSA @BlackHatEvents
#1 & #2 Hard-coded passwords (yeah, that old trick)
CENSORED
John The
Ripper
ARMIS @ #BHUSA @BlackHatEvents
#3 Privilege escalation
/home/user/hmi/run
• user writeable
• Executed by root (!)
ARMIS @ #BHUSA @BlackHatEvents
• Connect to the telnet server using the user “user” with the hardcoded
password
• Edit “/home/user/hmi/run” to do whatever
• Reboot using the memory corruption vulnerability on the next slide
• …
• Profit!
#3 Privilege escalation
ARMIS @ #BHUSA @BlackHatEvents
#4 Underflow in udpRXThread (RCE)
ARMIS @ #BHUSA @BlackHatEvents
Bad memcpy (CVE-2020-6096)
ARMIS @ #BHUSA @BlackHatEvents
Bad memcpy (CVE-2020-6096)
ARMIS @ #BHUSA @BlackHatEvents
#4 Underflow in udpRXThread (RCE)
ARMIS @ #BHUSA @BlackHatEvents
#5 Overflow in sccProcessMsg (RCE)
ARMIS @ #BHUSA @BlackHatEvents
#6 GUI socket DOS in tcpServerThread
ARMIS @ #BHUSA @BlackHatEvents
#6 GUI socket DOS in tcpServerThread
ARMIS @ #BHUSA @BlackHatEvents
#7 Overflow in hmiProcessMsg (RCE)
ARMIS @ #BHUSA @BlackHatEvents
#8 Off-by-three stack overflow in tcpTxThread (RCE)
udpRxThread
pendingQ
sccProcessMsg forwardToHMI
sendHmiMsg
370 bytes
message
350 bytes
message
TX_TCP_Q
tcpTxThread
ARMIS @ #BHUSA @BlackHatEvents
#8 Off-by-three stack overflow in tcpTxThread (RCE)
udpRxThread
370 bytes
message
ARMIS @ #BHUSA @BlackHatEvents
#8 Off-by-three stack overflow in tcpTxThread (RCE)
udpRxThread
pendingQ
370 bytes
message
350 bytes
message
ARMIS @ #BHUSA @BlackHatEvents
#8 Off-by-three stack overflow in tcpTxThread (RCE)
udpRxThread
pendingQ
sccProcessMsg
370 bytes
message
350 bytes
message
ARMIS @ #BHUSA @BlackHatEvents
#8 Off-by-three stack overflow in tcpTxThread (RCE)
udpRxThread
pendingQ
sccProcessMsg forwardToHMI
370 bytes
message
350 bytes
message
ARMIS @ #BHUSA @BlackHatEvents
#8 Off-by-three stack overflow in tcpTxThread (RCE)
udpRxThread
pendingQ
sccProcessMsg forwardToHMI
sendHmiMsg
370 bytes
message
350 bytes
message
TX_TCP_Q
ARMIS @ #BHUSA @BlackHatEvents
#8 Off-by-three stack overflow in tcpTxThread (RCE)
udpRxThread
pendingQ
sccProcessMsg forwardToHMI
sendHmiMsg
370 bytes
message
350 bytes
message
TX_TCP_Q
tcpTxThread
ARMIS @ #BHUSA @BlackHatEvents
#8 Off-by-three stack overflow in tcpTxThread (RCE)
ARMIS @ #BHUSA @BlackHatEvents
udpRxThread
pendingQ
sccProcessMsg forwardToHMI
sendHmiMsg
370 bytes
message
350 bytes
message
TX_TCP_Q
tcpTxThread
#8 Off-by-three stack overflow in tcpTxThread (RCE)
ARMIS @ #BHUSA @BlackHatEvents
#9 No firmware update verification (RCE)
The system is updated using an unauthenticated UDP command.
ARMIS @ #BHUSA @BlackHatEvents
Exploitation
ARMIS @ #BHUSA @BlackHatEvents
Exploitation – the easy way
1.Upload a new malicious FW
2.Connect using the default user and use the PE
ARMIS @ #BHUSA @BlackHatEvents
Heap Overflow Exploitation Plan
Off-By-Three Stack Overflow
• Corrupt buffer_to_send via the
stack overflow
• Move buffer_to_send to the .got
section where all the fun(c)
pointers can be overwritten
• Send another UDP packet that
will trigger the use of the
overwritten buffer
• Overwrite the memcpy function
pointer in the .got section with a
call to a shellcode in the heap
ARMIS @ #BHUSA @BlackHatEvents
Heap examination
• 59 pre-allocated “heap” blocks in the bss section
• “heap” blocks are moved between queues
• Each block is of size 0x180 bytes
Next
Prev
Data
ARMIS @ #BHUSA @BlackHatEvents
Next
Prev
Data
FreeQ
WorkerQ
Heap examination
• 59 pre-allocated “heap” blocks in the bss section
• “heap” blocks are moved between queues
• Each block is of size 0x180 bytes
ARMIS @ #BHUSA @BlackHatEvents
Exploitation
buffer_to_send
ARMIS @ #BHUSA @BlackHatEvents
3 bytes overflow of buf
buffer_to_send is attacker controlled
buffer_to_send
Exploitation
ARMIS @ #BHUSA @BlackHatEvents
Memory layout
Heap Blocks
ARMIS @ #BHUSA @BlackHatEvents
.GOT BLOCK - Controlling a function pointer
The first two dwords are unused, perfect for the new .got block
start!
FreeQ
GOT
ARMIS @ #BHUSA @BlackHatEvents
From GOT Block to RCE
When the removed block is the one in the GOT, seq_num will
overwrite the memcpy address with a call to our shellcode (in the
heap)
memcpy
Overwrite
ARMIS @ #BHUSA @BlackHatEvents
Memcpy(shellcode) is used right after it is set
memcpy
Overwrite
Memcpy(shellcode)
Usage
From GOT Block to RCE
ARMIS @ #BHUSA @BlackHatEvents
Heap Overflow Exploitation - Summary
1.Spray the heap with shellcode buffers
2.Trigger the off-by-three vulnerability to move one heap
block to the .got section
3.Spray the heap (again) with the shellcode and the
shellcode address as the sequence number.
4.Once the .got block is used, the memcpy pointer will be
point to the shellcode, and then the shellcode will be
triggered
5.Demo time!
ARMIS @ #BHUSA @BlackHatEvents
Demo prep
ARMIS @ #BHUSA @BlackHatEvents
Demo
ARMIS @ #BHUSA @BlackHatEvents
Demo
ARMIS @ #BHUSA @BlackHatEvents
Final Thoughts
• Pneumatic Tube Systems require more research
• They are critical infrastructure – like electricity or elevators
• The Swisslog case is a classic case of embedded devices gone
wrong
• Developing robust security mitigations to safeguard these
systems is essential
• Adding DOOM to pneumatic systems would make any hospital
visit much more entertaining ;)
ARMIS @ #BHUSA @BlackHatEvents
Questions?
• More info at: https://www.armis.com/pwnedPiper

More Related Content

Similar to A-Hole-in-the-Tube.pdf

Chapter 6: Expansion Buses
Chapter 6: Expansion BusesChapter 6: Expansion Buses
Chapter 6: Expansion Buses
askme
 
Breaking Smart Speakers: We are Listening to You.
Breaking Smart Speakers: We are Listening to You.Breaking Smart Speakers: We are Listening to You.
Breaking Smart Speakers: We are Listening to You.
Priyanka Aash
 
Scada deep inside: protocols and security mechanisms
Scada deep inside: protocols and security mechanismsScada deep inside: protocols and security mechanisms
Scada deep inside: protocols and security mechanisms
Aleksandr Timorin
 
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
CODE BLUE
 
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARMAppearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
FFRI, Inc.
 

Similar to A-Hole-in-the-Tube.pdf (20)

Chapter 6: Expansion Buses
Chapter 6: Expansion BusesChapter 6: Expansion Buses
Chapter 6: Expansion Buses
 
nullcon 2011 - Botnet Detection approach by DNS behavior and clustering analysis
nullcon 2011 - Botnet Detection approach by DNS behavior and clustering analysisnullcon 2011 - Botnet Detection approach by DNS behavior and clustering analysis
nullcon 2011 - Botnet Detection approach by DNS behavior and clustering analysis
 
Java on arm theory, applications, and workloads [dev5048]
Java on arm  theory, applications, and workloads [dev5048]Java on arm  theory, applications, and workloads [dev5048]
Java on arm theory, applications, and workloads [dev5048]
 
Buffer overflow – Smashing The Stack
Buffer overflow – Smashing The StackBuffer overflow – Smashing The Stack
Buffer overflow – Smashing The Stack
 
Slideshare - PCIe
Slideshare - PCIeSlideshare - PCIe
Slideshare - PCIe
 
Breaking Smart Speakers: We are Listening to You.
Breaking Smart Speakers: We are Listening to You.Breaking Smart Speakers: We are Listening to You.
Breaking Smart Speakers: We are Listening to You.
 
Topic 6
Topic 6Topic 6
Topic 6
 
Dumb Services in Smart Nets - istio
Dumb Services in Smart Nets -  istioDumb Services in Smart Nets -  istio
Dumb Services in Smart Nets - istio
 
The Quest for the Perfect API
The Quest for the Perfect APIThe Quest for the Perfect API
The Quest for the Perfect API
 
Linux rt in financial markets
Linux rt in financial marketsLinux rt in financial markets
Linux rt in financial markets
 
Hashgraph as Code
Hashgraph as CodeHashgraph as Code
Hashgraph as Code
 
Intel® RDT Hands-on Lab
Intel® RDT Hands-on LabIntel® RDT Hands-on Lab
Intel® RDT Hands-on Lab
 
Cpi unit 01
Cpi unit 01Cpi unit 01
Cpi unit 01
 
Conditional Access Systems
Conditional Access SystemsConditional Access Systems
Conditional Access Systems
 
Buffer Overflow - Smashing the Stack
Buffer Overflow - Smashing the StackBuffer Overflow - Smashing the Stack
Buffer Overflow - Smashing the Stack
 
Arquitetura Hibrida - Integrando seu Data Center com a Nuvem da AWS
Arquitetura Hibrida - Integrando seu Data Center com a Nuvem da AWSArquitetura Hibrida - Integrando seu Data Center com a Nuvem da AWS
Arquitetura Hibrida - Integrando seu Data Center com a Nuvem da AWS
 
Scada deep inside: protocols and security mechanisms
Scada deep inside: protocols and security mechanismsScada deep inside: protocols and security mechanisms
Scada deep inside: protocols and security mechanisms
 
SNAPDRAGON SoC Family and ARM Architecture
SNAPDRAGON SoC Family and ARM Architecture SNAPDRAGON SoC Family and ARM Architecture
SNAPDRAGON SoC Family and ARM Architecture
 
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
 
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARMAppearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
 

More from YuChianWu

lecture04_mle_svm_multiclass_pca.pdf
lecture04_mle_svm_multiclass_pca.pdflecture04_mle_svm_multiclass_pca.pdf
lecture04_mle_svm_multiclass_pca.pdf
YuChianWu
 
lecture02_LinearRegression.pdf
lecture02_LinearRegression.pdflecture02_LinearRegression.pdf
lecture02_LinearRegression.pdf
YuChianWu
 
week13_yolo_mobilenet.pdf
week13_yolo_mobilenet.pdfweek13_yolo_mobilenet.pdf
week13_yolo_mobilenet.pdf
YuChianWu
 
week14_segmentation.pdf
week14_segmentation.pdfweek14_segmentation.pdf
week14_segmentation.pdf
YuChianWu
 
week10_Reinforce.pdf
week10_Reinforce.pdfweek10_Reinforce.pdf
week10_Reinforce.pdf
YuChianWu
 
week12_cv_intro_and_r-cnn.pdf
week12_cv_intro_and_r-cnn.pdfweek12_cv_intro_and_r-cnn.pdf
week12_cv_intro_and_r-cnn.pdf
YuChianWu
 
Fragattacks-Breaking-Wi-Fi-Through-Fragmentation-And-Aggregation.pdf
Fragattacks-Breaking-Wi-Fi-Through-Fragmentation-And-Aggregation.pdfFragattacks-Breaking-Wi-Fi-Through-Fragmentation-And-Aggregation.pdf
Fragattacks-Breaking-Wi-Fi-Through-Fragmentation-And-Aggregation.pdf
YuChianWu
 
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
YuChianWu
 
Lets-Attack-Lets_Encrypt.pdf
Lets-Attack-Lets_Encrypt.pdfLets-Attack-Lets_Encrypt.pdf
Lets-Attack-Lets_Encrypt.pdf
YuChianWu
 
kolmogorov_foundations.pdf
kolmogorov_foundations.pdfkolmogorov_foundations.pdf
kolmogorov_foundations.pdf
YuChianWu
 
Introductory Real Analysis (A. N. Kolmogorov, S. V. Fomin etc.) (z-lib.org).pdf
Introductory Real Analysis (A. N. Kolmogorov, S. V. Fomin etc.) (z-lib.org).pdfIntroductory Real Analysis (A. N. Kolmogorov, S. V. Fomin etc.) (z-lib.org).pdf
Introductory Real Analysis (A. N. Kolmogorov, S. V. Fomin etc.) (z-lib.org).pdf
YuChianWu
 

More from YuChianWu (12)

lecture04_mle_svm_multiclass_pca.pdf
lecture04_mle_svm_multiclass_pca.pdflecture04_mle_svm_multiclass_pca.pdf
lecture04_mle_svm_multiclass_pca.pdf
 
lecture02_LinearRegression.pdf
lecture02_LinearRegression.pdflecture02_LinearRegression.pdf
lecture02_LinearRegression.pdf
 
week13_yolo_mobilenet.pdf
week13_yolo_mobilenet.pdfweek13_yolo_mobilenet.pdf
week13_yolo_mobilenet.pdf
 
week14_segmentation.pdf
week14_segmentation.pdfweek14_segmentation.pdf
week14_segmentation.pdf
 
week10_Reinforce.pdf
week10_Reinforce.pdfweek10_Reinforce.pdf
week10_Reinforce.pdf
 
week12_cv_intro_and_r-cnn.pdf
week12_cv_intro_and_r-cnn.pdfweek12_cv_intro_and_r-cnn.pdf
week12_cv_intro_and_r-cnn.pdf
 
Fragattacks-Breaking-Wi-Fi-Through-Fragmentation-And-Aggregation.pdf
Fragattacks-Breaking-Wi-Fi-Through-Fragmentation-And-Aggregation.pdfFragattacks-Breaking-Wi-Fi-Through-Fragmentation-And-Aggregation.pdf
Fragattacks-Breaking-Wi-Fi-Through-Fragmentation-And-Aggregation.pdf
 
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
 
Lets-Attack-Lets_Encrypt.pdf
Lets-Attack-Lets_Encrypt.pdfLets-Attack-Lets_Encrypt.pdf
Lets-Attack-Lets_Encrypt.pdf
 
IPvSeeYou.pdf
IPvSeeYou.pdfIPvSeeYou.pdf
IPvSeeYou.pdf
 
kolmogorov_foundations.pdf
kolmogorov_foundations.pdfkolmogorov_foundations.pdf
kolmogorov_foundations.pdf
 
Introductory Real Analysis (A. N. Kolmogorov, S. V. Fomin etc.) (z-lib.org).pdf
Introductory Real Analysis (A. N. Kolmogorov, S. V. Fomin etc.) (z-lib.org).pdfIntroductory Real Analysis (A. N. Kolmogorov, S. V. Fomin etc.) (z-lib.org).pdf
Introductory Real Analysis (A. N. Kolmogorov, S. V. Fomin etc.) (z-lib.org).pdf
 

Recently uploaded

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Recently uploaded (20)

Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 

A-Hole-in-the-Tube.pdf

  • 1. A Hole In The Tube Uncovering Vulnerabilities in Critical Infrastructure of Healthcare Facilities #BHUSA @BlackHatEvents Ben Seri – VP Research Barak Hadad – Security Researcher
  • 2. ARMIS @ #BHUSA @BlackHatEvents
  • 3. ARMIS @ #BHUSA @BlackHatEvents Pneumatic What???
  • 4. ARMIS @ #BHUSA @BlackHatEvents Pneumatic Tubes are NOT new
  • 5. ARMIS @ #BHUSA @BlackHatEvents Pneumatic Tubes are NOT new
  • 6. ARMIS @ #BHUSA @BlackHatEvents Pneumatic Tubes are new? Hyperloop
  • 7. ARMIS @ #BHUSA @BlackHatEvents Pneumatic Tubes are new?
  • 8. ARMIS @ #BHUSA @BlackHatEvents Inter-office messaging
  • 9. ARMIS @ #BHUSA @BlackHatEvents Inter planetary messaging ?
  • 10. ARMIS @ #BHUSA @BlackHatEvents Pneumatic Tubes - The Future of Waste?
  • 11. ARMIS @ #BHUSA @BlackHatEvents In Hospitals, PTS is a critical infrastructure
  • 12. ARMIS @ #BHUSA @BlackHatEvents • PTS system architecture & components • Swisslog TransLogic Devices • Vulnerabilities • Exploitation • Demo! • Final Thoughts Agenda
  • 13. ARMIS @ #BHUSA @BlackHatEvents ▪ 9 vulnerabilities discovered in Swisslog’s Translogic Pneumatic Tube System ▪ Critical vulnerabilities were found in the Nexus Station – A prominent PTS station by Swisslog: ▪ Hardcoded Passwords, Privilege Escalation, Heap & Stack overflows (can lead to RCE), DoS, and non-secure firmware upgrade mechanism ▪ All vulnerabilities can be triggered via unauthenticated network packets, without any user-interaction ▪ Disclosed to Swisslog on May 1, 2021, working together to patch & test pwnedPiper – Overview
  • 14. ARMIS @ #BHUSA @BlackHatEvents ▪ TransLogic is installed in more than 2,300 hospitals in North America and over 3,000 worldwide. ▪ The majority of hospitals in North America use Swisslog TransLogic as their PTS solution ▪ TransLogic is one of the most advanced PTS systems in the market, supports high-load, advanced features, reliability and even physical- security features Swisslog TransLogic - The Leading PTS Sytem
  • 15. ARMIS @ #BHUSA @BlackHatEvents • PTS systems transfer physical carriers throughout hospitals using a complex network of: • Tubes • Blowers • Transfer Units (Routers) • Stations • The entire system is managed over Ethernet by a central server PTS systems are complex analog networks
  • 16. ARMIS @ #BHUSA @BlackHatEvents 16 The Central Server is a Windows device, connected to the Internet Stations Stations Stations INTERNET Transfer Unit #1 Transfer Unit #2 Transfer Unit #3 Blowers Central Server Pneumatic Tube System – IP-connected
  • 17. ARMIS @ #BHUSA @BlackHatEvents • Takeover of PTS stations can result in various attacks • DoS of the PTS network • Information leak of PII (staff records, RFID credentials, etc.) • Sophisticated RansomwareSabotage attacks: - Re-routing carriers can derail hospital operations significantly Potential Affect of cyber attacks on PTS systems
  • 18. ARMIS @ #BHUSA @BlackHatEvents Design and structure of the PTS system
  • 19. ARMIS @ #BHUSA @BlackHatEvents Stations
  • 20. ARMIS @ #BHUSA @BlackHatEvents Blowers
  • 21. ARMIS @ #BHUSA @BlackHatEvents Diverters
  • 22. ARMIS @ #BHUSA @BlackHatEvents Central Management Server (SCC)
  • 23. ARMIS @ #BHUSA @BlackHatEvents Design and structure of the PTS system
  • 24. ARMIS @ #BHUSA @BlackHatEvents Swisslog Translogic PTS – A “Next-gen” PTS with advanced features • Secure transfers, with RFID and/or password-protected carriers • Slow-speed transfers, for sensitive cargo • Internet connected Alert system, for user notifications via email/text/etc • Remote system monitoring, for offloading the maintenance of the system to the Swisslog Cloud
  • 25. ARMIS @ #BHUSA @BlackHatEvents TransLogic Legacy Stations • CTS 30 Station • IQ Station • Supports serial connection (RS-422) or Ethernet (in newer models)
  • 26. ARMIS @ #BHUSA @BlackHatEvents • Has Ethernet connection • Uses 8086 16-bit MCU (DSTni-Ex) • Firmware is non-encrypted and unsigned… IQ Station
  • 27. ARMIS @ #BHUSA @BlackHatEvents • Firmware upgrade requires a physical switch change: IQ Station
  • 28. ARMIS @ #BHUSA @BlackHatEvents Nexus Station • High-end station with touchscreen and RFID • IP-connected, runs Linux v2.6 • 32Bit ARM CPU • Two main processes: • HMI3 – ELF containing the low-level operation of the station • HMI3.jar – Responsible for the GUI and high level operations
  • 29. ARMIS @ #BHUSA @BlackHatEvents HMI3 • Not PIC so no ASLR for the main elf • No stack canaries, and no DEP for the bss (?) • Compiled with debug symbols
  • 30. ARMIS @ #BHUSA @BlackHatEvents Swisslog PTS protocol • 20 Bytes header • Marker – “TLPU”
  • 31. ARMIS @ #BHUSA @BlackHatEvents Physical Attack Surface An SD card containing the non-encrypted, unsigned firmware
  • 32. ARMIS @ #BHUSA @BlackHatEvents Network Attack Surface From the manual: Security by obscurity is no security at all!
  • 33. ARMIS @ #BHUSA @BlackHatEvents Internet Attack Surface • The central management server connects outbound to the Internet. • This connection allows various features such as alert notifications via the Alert System and remote monitoring and maintenance. • Any vulnerability found in its proprietary code can lead an attack from the Internet to control the entire PTS system
  • 34. ARMIS @ #BHUSA @BlackHatEvents Discovered Vulnerabilities
  • 35. ARMIS @ #BHUSA @BlackHatEvents #1 & #2 Hard-coded passwords (yeah, that old trick) CENSORED John The Ripper
  • 36. ARMIS @ #BHUSA @BlackHatEvents #3 Privilege escalation /home/user/hmi/run • user writeable • Executed by root (!)
  • 37. ARMIS @ #BHUSA @BlackHatEvents • Connect to the telnet server using the user “user” with the hardcoded password • Edit “/home/user/hmi/run” to do whatever • Reboot using the memory corruption vulnerability on the next slide • … • Profit! #3 Privilege escalation
  • 38. ARMIS @ #BHUSA @BlackHatEvents #4 Underflow in udpRXThread (RCE)
  • 39. ARMIS @ #BHUSA @BlackHatEvents Bad memcpy (CVE-2020-6096)
  • 40. ARMIS @ #BHUSA @BlackHatEvents Bad memcpy (CVE-2020-6096)
  • 41. ARMIS @ #BHUSA @BlackHatEvents #4 Underflow in udpRXThread (RCE)
  • 42. ARMIS @ #BHUSA @BlackHatEvents #5 Overflow in sccProcessMsg (RCE)
  • 43. ARMIS @ #BHUSA @BlackHatEvents #6 GUI socket DOS in tcpServerThread
  • 44. ARMIS @ #BHUSA @BlackHatEvents #6 GUI socket DOS in tcpServerThread
  • 45. ARMIS @ #BHUSA @BlackHatEvents #7 Overflow in hmiProcessMsg (RCE)
  • 46. ARMIS @ #BHUSA @BlackHatEvents #8 Off-by-three stack overflow in tcpTxThread (RCE) udpRxThread pendingQ sccProcessMsg forwardToHMI sendHmiMsg 370 bytes message 350 bytes message TX_TCP_Q tcpTxThread
  • 47. ARMIS @ #BHUSA @BlackHatEvents #8 Off-by-three stack overflow in tcpTxThread (RCE) udpRxThread 370 bytes message
  • 48. ARMIS @ #BHUSA @BlackHatEvents #8 Off-by-three stack overflow in tcpTxThread (RCE) udpRxThread pendingQ 370 bytes message 350 bytes message
  • 49. ARMIS @ #BHUSA @BlackHatEvents #8 Off-by-three stack overflow in tcpTxThread (RCE) udpRxThread pendingQ sccProcessMsg 370 bytes message 350 bytes message
  • 50. ARMIS @ #BHUSA @BlackHatEvents #8 Off-by-three stack overflow in tcpTxThread (RCE) udpRxThread pendingQ sccProcessMsg forwardToHMI 370 bytes message 350 bytes message
  • 51. ARMIS @ #BHUSA @BlackHatEvents #8 Off-by-three stack overflow in tcpTxThread (RCE) udpRxThread pendingQ sccProcessMsg forwardToHMI sendHmiMsg 370 bytes message 350 bytes message TX_TCP_Q
  • 52. ARMIS @ #BHUSA @BlackHatEvents #8 Off-by-three stack overflow in tcpTxThread (RCE) udpRxThread pendingQ sccProcessMsg forwardToHMI sendHmiMsg 370 bytes message 350 bytes message TX_TCP_Q tcpTxThread
  • 53. ARMIS @ #BHUSA @BlackHatEvents #8 Off-by-three stack overflow in tcpTxThread (RCE)
  • 54. ARMIS @ #BHUSA @BlackHatEvents udpRxThread pendingQ sccProcessMsg forwardToHMI sendHmiMsg 370 bytes message 350 bytes message TX_TCP_Q tcpTxThread #8 Off-by-three stack overflow in tcpTxThread (RCE)
  • 55. ARMIS @ #BHUSA @BlackHatEvents #9 No firmware update verification (RCE) The system is updated using an unauthenticated UDP command.
  • 56. ARMIS @ #BHUSA @BlackHatEvents Exploitation
  • 57. ARMIS @ #BHUSA @BlackHatEvents Exploitation – the easy way 1.Upload a new malicious FW 2.Connect using the default user and use the PE
  • 58. ARMIS @ #BHUSA @BlackHatEvents Heap Overflow Exploitation Plan Off-By-Three Stack Overflow • Corrupt buffer_to_send via the stack overflow • Move buffer_to_send to the .got section where all the fun(c) pointers can be overwritten • Send another UDP packet that will trigger the use of the overwritten buffer • Overwrite the memcpy function pointer in the .got section with a call to a shellcode in the heap
  • 59. ARMIS @ #BHUSA @BlackHatEvents Heap examination • 59 pre-allocated “heap” blocks in the bss section • “heap” blocks are moved between queues • Each block is of size 0x180 bytes Next Prev Data
  • 60. ARMIS @ #BHUSA @BlackHatEvents Next Prev Data FreeQ WorkerQ Heap examination • 59 pre-allocated “heap” blocks in the bss section • “heap” blocks are moved between queues • Each block is of size 0x180 bytes
  • 61. ARMIS @ #BHUSA @BlackHatEvents Exploitation buffer_to_send
  • 62. ARMIS @ #BHUSA @BlackHatEvents 3 bytes overflow of buf buffer_to_send is attacker controlled buffer_to_send Exploitation
  • 63. ARMIS @ #BHUSA @BlackHatEvents Memory layout Heap Blocks
  • 64. ARMIS @ #BHUSA @BlackHatEvents .GOT BLOCK - Controlling a function pointer The first two dwords are unused, perfect for the new .got block start! FreeQ GOT
  • 65. ARMIS @ #BHUSA @BlackHatEvents From GOT Block to RCE When the removed block is the one in the GOT, seq_num will overwrite the memcpy address with a call to our shellcode (in the heap) memcpy Overwrite
  • 66. ARMIS @ #BHUSA @BlackHatEvents Memcpy(shellcode) is used right after it is set memcpy Overwrite Memcpy(shellcode) Usage From GOT Block to RCE
  • 67. ARMIS @ #BHUSA @BlackHatEvents Heap Overflow Exploitation - Summary 1.Spray the heap with shellcode buffers 2.Trigger the off-by-three vulnerability to move one heap block to the .got section 3.Spray the heap (again) with the shellcode and the shellcode address as the sequence number. 4.Once the .got block is used, the memcpy pointer will be point to the shellcode, and then the shellcode will be triggered 5.Demo time!
  • 68. ARMIS @ #BHUSA @BlackHatEvents Demo prep
  • 69. ARMIS @ #BHUSA @BlackHatEvents Demo
  • 70. ARMIS @ #BHUSA @BlackHatEvents Demo
  • 71. ARMIS @ #BHUSA @BlackHatEvents Final Thoughts • Pneumatic Tube Systems require more research • They are critical infrastructure – like electricity or elevators • The Swisslog case is a classic case of embedded devices gone wrong • Developing robust security mitigations to safeguard these systems is essential • Adding DOOM to pneumatic systems would make any hospital visit much more entertaining ;)
  • 72. ARMIS @ #BHUSA @BlackHatEvents Questions? • More info at: https://www.armis.com/pwnedPiper