SlideShare a Scribd company logo
1 of 47
Download to read offline
IoT exploitation: from memory corruption
to code execution
Marco Romano
ROME - APRIL 13/14 2018
Marco
Romano
(In)Security Researcher
sometimes for fun,
sometimes for profit
FIND ME HERE
@nemux_
IoT exploitation
from memory corruption
to code execution
© Marco Romano - nemux.org
Independent
researches Publicly disclosed
vulnerabilities
2015
CVE-2015-7805
Heap-based buffer
overflow in libsndfile
1.0.25
2016
CVE-2016-2399
Integer overflow in the
quicktime_read_pascal
function in libquicktime
1.2.4
2018
CVE-2018-8072
????
2017
© Marco Romano - nemux.org
CVE-2018-8072
EDIMAX Network Cameras Stack Buffer Overflow
Models: IC-3140W, IC-5150W, IC-6220DC
An issue was
discovered on
EDIMAX IC-3140W
through 3.06,
IC-5150W through
3.09, and IC-6220DC
through 3.06 devices…
© Marco Romano - nemux.org
Stack Buffer Overflow
© Marco Romano - nemux.org
“2 minutes Crash Course”
Stack
For the sake of simplicity some stack info are missed
Stack Buffer Overflow
© Marco Romano - nemux.org
1) main() calls foo()
2) foo() copies “AA…” in buf[]
3) foo() “return;” —> go back in main()
“2 minutes Crash Course”
Stack
Stack Buffer Overflow
© Marco Romano - nemux.org
“2 minutes Crash Course”
Stack
Model number: IC-3140W
(1) …open-up the box…
(2) Information gathering
(3) Attack surface mapping
DAY 1 TARGET:
HD Wireless Day & Night Network Camera
© Marco Romano - nemux.org
Your are safe… you can see him…
© Marco Romano - nemux.org
…and yell at him
© Marco Romano - nemux.org
Image courtesy of: edimax.com
…but not at him!
(unauthenticated) Remote Code Execution
© Marco Romano - nemux.org
Information
Gathering & Attack
Hardware
Best friend: Screwdriver
Take note of the components
used in the device and collect
online resources
© Marco Romano - nemux.org
Software
Best friend: Google
Download everything the vendor
allows you to…
First of all the firmware!
Information
Gathering & Attack
© Marco Romano - nemux.org
They are 4 interesting holes!
UART Pinouts IC-3140W:
UART root shell:
3 Wires + 1 USB Serial Adapter +
Right baudrate (38400)
1. Tx 2. GND 3. Rx 4. Vcc
UART Exploitation
© Marco Romano - nemux.org
Get a root
shell
Goal: UART —> Serial Console —> telnetd &
© Marco Romano - nemux.org
Firmware
Firmware analysis
Best friend: binwalk
https://github.com/ReFirmLabs/
binwalk
binwalk -M -e IC-3140W_3.05.bin
© Marco Romano - nemux.org
Interesting
targets
Goal: Unauthenticated HTTP Request —> Binary CGI
got something to reverse….
© Marco Romano - nemux.org
telnetd.cgi?
sounds good!
Goal: HTTP Request —> telnetd.cgi —> telnetd &
(1) Undocumented “feature”
(2) Not available in the admin panel
(3) Run telnet daemon through an
HTTP GET request
…feature, really?
(it comes in handy for debugging
purpose)
© Marco Romano - nemux.org
telnetd.cgi
Reverse…
Goal: HTTP Request —> telnetd.cgi —> telnetd &
Typo here…
© Marco Romano - nemux.org
telnetd.cgi
Let’s test it!
Goal: HTTP Request —> telnetd.cgi —> telnetd &
No UART wires and “noise”,
from now on…
and typo here… so, it works :-)
© Marco Romano - nemux.org
Bug Hunting
Model number: IC-3140W
TARGET:
HD Wireless Day & Night Network Camera
DAY 2
© Marco Romano - nemux.org
Binary Reverse
Best friend: Debugger & Disassembler
How it works:
CGI manages parameter through
environment variables (take note for
debugging session)
Reverse ipcam_cgi
© Marco Romano - nemux.org
Goal: HTTP Request —> public/… —> vulnerability (?)
1) strcpy() —> dest with fixed size (1024)
2) strcpy() —> i can control the source
3) strcpy() —> no check on src size
ipcam_cgi
© Marco Romano - nemux.org
HACKED POTATO!
HTTPdHTTP GET getSysteminfo.cgi
2016 ipcam_cgiHTTPd set ENV variables
strcpy()ipcam_cgi parse & copy
Stack Buffer Overflow
Recipe… …result
Goal: HTTP Request —> public/… —> vulnerability (?)
ipcam_cgi
© Marco Romano - nemux.org
ipcam_cgi
Let’s test it!
Value length > 1024 byte (0x400)
Goal: HTTP Request —> public/… —> vulnerability (?)
© Marco Romano - nemux.org
ipcam_cgi
some math…
“action=“ + 1017 + “BBBB” (0x42424242)
Invalid Read Access
Goal: HTTP Request —> public/… —> vulnerability (!)
© Marco Romano - nemux.org
Exploiting
Model number: IC-3140W
TARGET:
HD Wireless Day & Night Network Camera
DAY 3
© Marco Romano - nemux.org
Protection
Mechanisms
Goal: HTTP Request —> ipcam_cgi —> code exec
ASLR = Address Space Layout Randomization
Randomly arranges the address space positions of key data areas of a process:
executable, stack, heap and libraries.
(2) Memory Map
Stack Base = 0x7fad6000
Stack Base = 0x7fdac000
Partially Enabled
(1) Memory Map
© Marco Romano - nemux.org
Protection
Mechanisms
Goal: HTTP Request —> ipcam_cgi —> code exec
(2) Memory Map
(1) Memory Map
W^X = Write XOR Execute
 Address space may be either writable or executable, but not both
Not Enabled
32bit arch no PAE
© Marco Romano - nemux.org
“Exploitation plan”
Steps
1) Hijack the control flow
2) Bypass Protections
3) Inject arbitrary code
…and jump there!
© Marco Romano - nemux.org
Mips Note
Goal: Low-level note…MIPS
registers
Image courtesy of hmc.edu
© Marco Romano - nemux.org
Hijack the
flow
Goal: Overwrite Saved Return Pointer -> Control RA
Control “Return Address” register
Exception: “Invalid Read Access”
=
Pointer(s) stored in the Stack
=
“CONSTRAINTS”
Constraints solved…
Stack SrP —> 0x46464646 —>
RA = SrP
Control Flow Hijacked!
© Marco Romano - nemux.org
Bypass Stack ASLR
Jump there…. where!?
Stack + ASLR
“Code-Reuse” Attack
Bypass
Protections
Goal: Find a stack pointer
© Marco Romano - nemux.org
Bypass Stack ASLR
Goal: Find a stack pointer
“Code reuse” attack… how it works?
Execute the code which is “already” present
in the memory
Usually used to bypass NX
Bypass
Protections
© Marco Romano - nemux.org
Bypass Stack ASLR
Goal: Find a stack pointer
“System” applies a restriction…
Bypass
Protections
© Marco Romano - nemux.org
Bypass Stack ASLR
Goal: Find a stack pointer
…but she’s smart!
Bypass
Protections
Answer is “NO”
© Marco Romano - nemux.org
Bypass Stack ASLR
Goal: Find a stack pointer
“Code reuse” attack… exploitation purpose
1. Libraries: Fixed location in memory
2. Plan: Concatenate “pieces” of (that) code
3. Get a (randomized) stack pointer to defeat ASLR
Bypass
Protections
© Marco Romano - nemux.org
Cache coherence
Goal: Defeat cache coherence
MIPS CPUs have 2 separate caches
(data and instructions)
Cache != Protection… but affect exploitation!
• Our payload will be in memory as data

• Hijack control flow… and Shellcode in D-cache

• How to move Shellcode in Main Memory?
Bypass
Protections
© Marco Romano - nemux.org
“Bypass” Cache coherence
Cache Flushing… how to
1. Filling the D-cache to force the CPU to write-back

2. cacheflush() systemcall

3. Call a blocking function (like sleep() or similar)
Cache != Protection… and we can defeat it!
Bypass
Protections
Goal: Defeat cache coherence
© Marco Romano - nemux.org
 put them all together…
Goal: Execute a “connect back” shellcode
Chain of “Gadgets” - Step 1 - Defeat Cache
Inject
arbitrary
code
Hijack Control Flow “Init” Gadget “Double-Jump” Gadget
call usleep()
set usleep() arg jump next…
© Marco Romano - nemux.org
 put them all together…
Goal: Execute a “connect back” shellcode
Chain of “Gadgets” - Step 2 - Defeat Stack ASLR
Inject
arbitrary
code
Move Stack Pointer in $A1 Move $A1 in $V0 Jump to $V0
© Marco Romano - nemux.org
 put them all together…
Goal: Execute a “connect back” shellcode
Chain of “Gadgets” - Step 3 - Execute Shellcode
Inject
arbitrary
code
Ehi! That’s my code…
Connect back shell… port 8080
© Marco Romano - nemux.org
Wait for a root shell…
Goal: Execute a “connect back” shellcode
Execute
arbitrary
code
© Marco Romano - nemux.org
Let’s play
the bad guys
© Marco Romano - nemux.org
Botnet
…while you wait for the crypto
miner botnet
© Marco Romano - nemux.org
Don’t do this at home! :-)
TIMELINE
2016
February
2018
ME —> EDIMAX
Proof of concept
March
2018
EDIMAX —> ME
Private Beta version
April
2018
New Firmware (??)
CVE-2018-8072
© Marco Romano - nemux.org
Thank you!
© Marco Romano - nemux.org
https://gitlab.com/nemux/CVE-2018-8072

More Related Content

What's hot

44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar44CON
 
Kernel Recipes 2015: Anatomy of an atomic KMS driver
Kernel Recipes 2015: Anatomy of an atomic KMS driverKernel Recipes 2015: Anatomy of an atomic KMS driver
Kernel Recipes 2015: Anatomy of an atomic KMS driverAnne Nicolas
 
Cloud Security with LibVMI
Cloud Security with LibVMICloud Security with LibVMI
Cloud Security with LibVMITamas K Lengyel
 
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)Nate Lawson
 
How to Root 10 Million Phones with One Exploit
How to Root 10 Million Phones with One ExploitHow to Root 10 Million Phones with One Exploit
How to Root 10 Million Phones with One ExploitJiahong Fang
 
[ENG] IPv6 shipworm + My little Windows domain pwnie
[ENG] IPv6 shipworm + My little Windows domain pwnie[ENG] IPv6 shipworm + My little Windows domain pwnie
[ENG] IPv6 shipworm + My little Windows domain pwnieZoltan Balazs
 
VM Forking and Hypervisor-based fuzzing
VM Forking and Hypervisor-based fuzzingVM Forking and Hypervisor-based fuzzing
VM Forking and Hypervisor-based fuzzingTamas K Lengyel
 
BSides Denver: Stealthy, hypervisor-based malware analysis
BSides Denver: Stealthy, hypervisor-based malware analysisBSides Denver: Stealthy, hypervisor-based malware analysis
BSides Denver: Stealthy, hypervisor-based malware analysisTamas K Lengyel
 
Pitfalls and limits of dynamic malware analysis
Pitfalls and limits of dynamic malware analysisPitfalls and limits of dynamic malware analysis
Pitfalls and limits of dynamic malware analysisTamas K Lengyel
 
Pitfalls of virtual machine introspection on modern hardware
Pitfalls of virtual machine introspection on modern hardwarePitfalls of virtual machine introspection on modern hardware
Pitfalls of virtual machine introspection on modern hardwareTamas K Lengyel
 
Inside the Matrix,How to Build Transparent Sandbox for Malware Analysis
Inside the Matrix,How to Build Transparent Sandbox for Malware AnalysisInside the Matrix,How to Build Transparent Sandbox for Malware Analysis
Inside the Matrix,How to Build Transparent Sandbox for Malware AnalysisChong-Kuan Chen
 
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...DefconRussia
 
VM Forking and Hypervisor-based Fuzzing with Xen
VM Forking and Hypervisor-based Fuzzing with XenVM Forking and Hypervisor-based Fuzzing with Xen
VM Forking and Hypervisor-based Fuzzing with XenTamas K Lengyel
 
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...CanSecWest
 
Virtual Machine Introspection with Xen
Virtual Machine Introspection with XenVirtual Machine Introspection with Xen
Virtual Machine Introspection with XenTamas K Lengyel
 
Hacktivity2014: Virtual Machine Introspection to Detect and Protect
Hacktivity2014: Virtual Machine Introspection to Detect and ProtectHacktivity2014: Virtual Machine Introspection to Detect and Protect
Hacktivity2014: Virtual Machine Introspection to Detect and ProtectTamas K Lengyel
 
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu securityCSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu securityCanSecWest
 
Shusei tomonaga pac_sec_20171026
Shusei tomonaga pac_sec_20171026Shusei tomonaga pac_sec_20171026
Shusei tomonaga pac_sec_20171026PacSecJP
 

What's hot (20)

44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar
 
Kernel Recipes 2015: Anatomy of an atomic KMS driver
Kernel Recipes 2015: Anatomy of an atomic KMS driverKernel Recipes 2015: Anatomy of an atomic KMS driver
Kernel Recipes 2015: Anatomy of an atomic KMS driver
 
Cloud Security with LibVMI
Cloud Security with LibVMICloud Security with LibVMI
Cloud Security with LibVMI
 
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
 
ShinoBOT Suite
ShinoBOT SuiteShinoBOT Suite
ShinoBOT Suite
 
How to Root 10 Million Phones with One Exploit
How to Root 10 Million Phones with One ExploitHow to Root 10 Million Phones with One Exploit
How to Root 10 Million Phones with One Exploit
 
[ENG] IPv6 shipworm + My little Windows domain pwnie
[ENG] IPv6 shipworm + My little Windows domain pwnie[ENG] IPv6 shipworm + My little Windows domain pwnie
[ENG] IPv6 shipworm + My little Windows domain pwnie
 
VM Forking and Hypervisor-based fuzzing
VM Forking and Hypervisor-based fuzzingVM Forking and Hypervisor-based fuzzing
VM Forking and Hypervisor-based fuzzing
 
BSides Denver: Stealthy, hypervisor-based malware analysis
BSides Denver: Stealthy, hypervisor-based malware analysisBSides Denver: Stealthy, hypervisor-based malware analysis
BSides Denver: Stealthy, hypervisor-based malware analysis
 
Pitfalls and limits of dynamic malware analysis
Pitfalls and limits of dynamic malware analysisPitfalls and limits of dynamic malware analysis
Pitfalls and limits of dynamic malware analysis
 
Pitfalls of virtual machine introspection on modern hardware
Pitfalls of virtual machine introspection on modern hardwarePitfalls of virtual machine introspection on modern hardware
Pitfalls of virtual machine introspection on modern hardware
 
Inside the Matrix,How to Build Transparent Sandbox for Malware Analysis
Inside the Matrix,How to Build Transparent Sandbox for Malware AnalysisInside the Matrix,How to Build Transparent Sandbox for Malware Analysis
Inside the Matrix,How to Build Transparent Sandbox for Malware Analysis
 
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
 
VM Forking and Hypervisor-based Fuzzing with Xen
VM Forking and Hypervisor-based Fuzzing with XenVM Forking and Hypervisor-based Fuzzing with Xen
VM Forking and Hypervisor-based Fuzzing with Xen
 
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
 
Virtual Machine Introspection with Xen
Virtual Machine Introspection with XenVirtual Machine Introspection with Xen
Virtual Machine Introspection with Xen
 
Hacktivity2014: Virtual Machine Introspection to Detect and Protect
Hacktivity2014: Virtual Machine Introspection to Detect and ProtectHacktivity2014: Virtual Machine Introspection to Detect and Protect
Hacktivity2014: Virtual Machine Introspection to Detect and Protect
 
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu securityCSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
 
SnakeGX (short version)
SnakeGX (short version)SnakeGX (short version)
SnakeGX (short version)
 
Shusei tomonaga pac_sec_20171026
Shusei tomonaga pac_sec_20171026Shusei tomonaga pac_sec_20171026
Shusei tomonaga pac_sec_20171026
 

Similar to IoT exploitation: from memory corruption to code execution - Marco Romano - Codemotion Rome 2018

OT Security - h-c0n 2020
OT Security - h-c0n 2020OT Security - h-c0n 2020
OT Security - h-c0n 2020Jose Palanco
 
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...Felipe Prado
 
SCADA Strangelove: Hacking in the Name
SCADA Strangelove: Hacking in the NameSCADA Strangelove: Hacking in the Name
SCADA Strangelove: Hacking in the NamePositive Hack Days
 
SCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имяSCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имяEkaterina Melnik
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rulesFreddy Buenaño
 
Using VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersUsing VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersMichelle Holley
 
Cisco Malware: A new risk to consider in perimeter security designs
Cisco Malware: A new risk to consider in perimeter security designsCisco Malware: A new risk to consider in perimeter security designs
Cisco Malware: A new risk to consider in perimeter security designsManuel Santander
 
HES2011 - Aaron Portnoy and Logan Brown - Black Box Auditing Adobe Shockwave
HES2011 - Aaron Portnoy and Logan Brown - Black Box Auditing Adobe ShockwaveHES2011 - Aaron Portnoy and Logan Brown - Black Box Auditing Adobe Shockwave
HES2011 - Aaron Portnoy and Logan Brown - Black Box Auditing Adobe ShockwaveHackito Ergo Sum
 
FPC for the Masses (SANSFire Edition)
FPC for the Masses (SANSFire Edition)FPC for the Masses (SANSFire Edition)
FPC for the Masses (SANSFire Edition)Xavier Mertens
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemCyber Security Alliance
 
Breaking Extreme Networks WingOS: How to own millions of devices running on A...
Breaking Extreme Networks WingOS: How to own millions of devices running on A...Breaking Extreme Networks WingOS: How to own millions of devices running on A...
Breaking Extreme Networks WingOS: How to own millions of devices running on A...Priyanka Aash
 
" Breaking Extreme Networks WingOS: How to own millions of devices running on...
" Breaking Extreme Networks WingOS: How to own millions of devices running on..." Breaking Extreme Networks WingOS: How to own millions of devices running on...
" Breaking Extreme Networks WingOS: How to own millions of devices running on...PROIDEA
 
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon YangPractical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon YangLyon Yang
 
Advanced SOHO Router Exploitation XCON
Advanced SOHO Router Exploitation XCONAdvanced SOHO Router Exploitation XCON
Advanced SOHO Router Exploitation XCONLyon Yang
 
[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory Analysis[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory AnalysisMoabi.com
 
Auditing the Opensource Kernels
Auditing the Opensource KernelsAuditing the Opensource Kernels
Auditing the Opensource KernelsSilvio Cesare
 
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...arnaudsoullie
 
Deep submicron-backdoors-ortega-syscan-2014-slides
Deep submicron-backdoors-ortega-syscan-2014-slidesDeep submicron-backdoors-ortega-syscan-2014-slides
Deep submicron-backdoors-ortega-syscan-2014-slidesortegaalfredo
 

Similar to IoT exploitation: from memory corruption to code execution - Marco Romano - Codemotion Rome 2018 (20)

RAT - Repurposing Adversarial Tradecraft
RAT - Repurposing Adversarial TradecraftRAT - Repurposing Adversarial Tradecraft
RAT - Repurposing Adversarial Tradecraft
 
OT Security - h-c0n 2020
OT Security - h-c0n 2020OT Security - h-c0n 2020
OT Security - h-c0n 2020
 
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
 
SCADA Strangelove: Hacking in the Name
SCADA Strangelove: Hacking in the NameSCADA Strangelove: Hacking in the Name
SCADA Strangelove: Hacking in the Name
 
SCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имяSCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имя
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rules
 
Using VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersUsing VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear Containers
 
Cisco Malware: A new risk to consider in perimeter security designs
Cisco Malware: A new risk to consider in perimeter security designsCisco Malware: A new risk to consider in perimeter security designs
Cisco Malware: A new risk to consider in perimeter security designs
 
HES2011 - Aaron Portnoy and Logan Brown - Black Box Auditing Adobe Shockwave
HES2011 - Aaron Portnoy and Logan Brown - Black Box Auditing Adobe ShockwaveHES2011 - Aaron Portnoy and Logan Brown - Black Box Auditing Adobe Shockwave
HES2011 - Aaron Portnoy and Logan Brown - Black Box Auditing Adobe Shockwave
 
FPC for the Masses (SANSFire Edition)
FPC for the Masses (SANSFire Edition)FPC for the Masses (SANSFire Edition)
FPC for the Masses (SANSFire Edition)
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande Modem
 
Breaking Extreme Networks WingOS: How to own millions of devices running on A...
Breaking Extreme Networks WingOS: How to own millions of devices running on A...Breaking Extreme Networks WingOS: How to own millions of devices running on A...
Breaking Extreme Networks WingOS: How to own millions of devices running on A...
 
" Breaking Extreme Networks WingOS: How to own millions of devices running on...
" Breaking Extreme Networks WingOS: How to own millions of devices running on..." Breaking Extreme Networks WingOS: How to own millions of devices running on...
" Breaking Extreme Networks WingOS: How to own millions of devices running on...
 
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon YangPractical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
 
Advanced SOHO Router Exploitation XCON
Advanced SOHO Router Exploitation XCONAdvanced SOHO Router Exploitation XCON
Advanced SOHO Router Exploitation XCON
 
[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory Analysis[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory Analysis
 
Auditing the Opensource Kernels
Auditing the Opensource KernelsAuditing the Opensource Kernels
Auditing the Opensource Kernels
 
SnakeGX (full version)
SnakeGX (full version) SnakeGX (full version)
SnakeGX (full version)
 
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
 
Deep submicron-backdoors-ortega-syscan-2014-slides
Deep submicron-backdoors-ortega-syscan-2014-slidesDeep submicron-backdoors-ortega-syscan-2014-slides
Deep submicron-backdoors-ortega-syscan-2014-slides
 

More from Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Recently uploaded

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

IoT exploitation: from memory corruption to code execution - Marco Romano - Codemotion Rome 2018

  • 1. IoT exploitation: from memory corruption to code execution Marco Romano ROME - APRIL 13/14 2018
  • 2. Marco Romano (In)Security Researcher sometimes for fun, sometimes for profit FIND ME HERE @nemux_ IoT exploitation from memory corruption to code execution © Marco Romano - nemux.org
  • 3. Independent researches Publicly disclosed vulnerabilities 2015 CVE-2015-7805 Heap-based buffer overflow in libsndfile 1.0.25 2016 CVE-2016-2399 Integer overflow in the quicktime_read_pascal function in libquicktime 1.2.4 2018 CVE-2018-8072 ???? 2017 © Marco Romano - nemux.org
  • 4. CVE-2018-8072 EDIMAX Network Cameras Stack Buffer Overflow Models: IC-3140W, IC-5150W, IC-6220DC An issue was discovered on EDIMAX IC-3140W through 3.06, IC-5150W through 3.09, and IC-6220DC through 3.06 devices… © Marco Romano - nemux.org
  • 5. Stack Buffer Overflow © Marco Romano - nemux.org “2 minutes Crash Course” Stack For the sake of simplicity some stack info are missed
  • 6. Stack Buffer Overflow © Marco Romano - nemux.org 1) main() calls foo() 2) foo() copies “AA…” in buf[] 3) foo() “return;” —> go back in main() “2 minutes Crash Course” Stack
  • 7. Stack Buffer Overflow © Marco Romano - nemux.org “2 minutes Crash Course” Stack
  • 8. Model number: IC-3140W (1) …open-up the box… (2) Information gathering (3) Attack surface mapping DAY 1 TARGET: HD Wireless Day & Night Network Camera © Marco Romano - nemux.org
  • 9. Your are safe… you can see him… © Marco Romano - nemux.org
  • 10. …and yell at him © Marco Romano - nemux.org Image courtesy of: edimax.com
  • 11. …but not at him! (unauthenticated) Remote Code Execution © Marco Romano - nemux.org
  • 12. Information Gathering & Attack Hardware Best friend: Screwdriver Take note of the components used in the device and collect online resources © Marco Romano - nemux.org
  • 13. Software Best friend: Google Download everything the vendor allows you to… First of all the firmware! Information Gathering & Attack © Marco Romano - nemux.org
  • 14. They are 4 interesting holes! UART Pinouts IC-3140W: UART root shell: 3 Wires + 1 USB Serial Adapter + Right baudrate (38400) 1. Tx 2. GND 3. Rx 4. Vcc UART Exploitation © Marco Romano - nemux.org
  • 15. Get a root shell Goal: UART —> Serial Console —> telnetd & © Marco Romano - nemux.org
  • 16. Firmware Firmware analysis Best friend: binwalk https://github.com/ReFirmLabs/ binwalk binwalk -M -e IC-3140W_3.05.bin © Marco Romano - nemux.org
  • 17. Interesting targets Goal: Unauthenticated HTTP Request —> Binary CGI got something to reverse…. © Marco Romano - nemux.org
  • 18. telnetd.cgi? sounds good! Goal: HTTP Request —> telnetd.cgi —> telnetd & (1) Undocumented “feature” (2) Not available in the admin panel (3) Run telnet daemon through an HTTP GET request …feature, really? (it comes in handy for debugging purpose) © Marco Romano - nemux.org
  • 19. telnetd.cgi Reverse… Goal: HTTP Request —> telnetd.cgi —> telnetd & Typo here… © Marco Romano - nemux.org
  • 20. telnetd.cgi Let’s test it! Goal: HTTP Request —> telnetd.cgi —> telnetd & No UART wires and “noise”, from now on… and typo here… so, it works :-) © Marco Romano - nemux.org
  • 21. Bug Hunting Model number: IC-3140W TARGET: HD Wireless Day & Night Network Camera DAY 2 © Marco Romano - nemux.org
  • 22. Binary Reverse Best friend: Debugger & Disassembler How it works: CGI manages parameter through environment variables (take note for debugging session) Reverse ipcam_cgi © Marco Romano - nemux.org
  • 23. Goal: HTTP Request —> public/… —> vulnerability (?) 1) strcpy() —> dest with fixed size (1024) 2) strcpy() —> i can control the source 3) strcpy() —> no check on src size ipcam_cgi © Marco Romano - nemux.org
  • 24. HACKED POTATO! HTTPdHTTP GET getSysteminfo.cgi 2016 ipcam_cgiHTTPd set ENV variables strcpy()ipcam_cgi parse & copy Stack Buffer Overflow Recipe… …result Goal: HTTP Request —> public/… —> vulnerability (?) ipcam_cgi © Marco Romano - nemux.org
  • 25. ipcam_cgi Let’s test it! Value length > 1024 byte (0x400) Goal: HTTP Request —> public/… —> vulnerability (?) © Marco Romano - nemux.org
  • 26. ipcam_cgi some math… “action=“ + 1017 + “BBBB” (0x42424242) Invalid Read Access Goal: HTTP Request —> public/… —> vulnerability (!) © Marco Romano - nemux.org
  • 27. Exploiting Model number: IC-3140W TARGET: HD Wireless Day & Night Network Camera DAY 3 © Marco Romano - nemux.org
  • 28. Protection Mechanisms Goal: HTTP Request —> ipcam_cgi —> code exec ASLR = Address Space Layout Randomization Randomly arranges the address space positions of key data areas of a process: executable, stack, heap and libraries. (2) Memory Map Stack Base = 0x7fad6000 Stack Base = 0x7fdac000 Partially Enabled (1) Memory Map © Marco Romano - nemux.org
  • 29. Protection Mechanisms Goal: HTTP Request —> ipcam_cgi —> code exec (2) Memory Map (1) Memory Map W^X = Write XOR Execute  Address space may be either writable or executable, but not both Not Enabled 32bit arch no PAE © Marco Romano - nemux.org
  • 30. “Exploitation plan” Steps 1) Hijack the control flow 2) Bypass Protections 3) Inject arbitrary code …and jump there! © Marco Romano - nemux.org
  • 31. Mips Note Goal: Low-level note…MIPS registers Image courtesy of hmc.edu © Marco Romano - nemux.org
  • 32. Hijack the flow Goal: Overwrite Saved Return Pointer -> Control RA Control “Return Address” register Exception: “Invalid Read Access” = Pointer(s) stored in the Stack = “CONSTRAINTS” Constraints solved… Stack SrP —> 0x46464646 —> RA = SrP Control Flow Hijacked! © Marco Romano - nemux.org
  • 33. Bypass Stack ASLR Jump there…. where!? Stack + ASLR “Code-Reuse” Attack Bypass Protections Goal: Find a stack pointer © Marco Romano - nemux.org
  • 34. Bypass Stack ASLR Goal: Find a stack pointer “Code reuse” attack… how it works? Execute the code which is “already” present in the memory Usually used to bypass NX Bypass Protections © Marco Romano - nemux.org
  • 35. Bypass Stack ASLR Goal: Find a stack pointer “System” applies a restriction… Bypass Protections © Marco Romano - nemux.org
  • 36. Bypass Stack ASLR Goal: Find a stack pointer …but she’s smart! Bypass Protections Answer is “NO” © Marco Romano - nemux.org
  • 37. Bypass Stack ASLR Goal: Find a stack pointer “Code reuse” attack… exploitation purpose 1. Libraries: Fixed location in memory 2. Plan: Concatenate “pieces” of (that) code 3. Get a (randomized) stack pointer to defeat ASLR Bypass Protections © Marco Romano - nemux.org
  • 38. Cache coherence Goal: Defeat cache coherence MIPS CPUs have 2 separate caches (data and instructions) Cache != Protection… but affect exploitation! • Our payload will be in memory as data • Hijack control flow… and Shellcode in D-cache • How to move Shellcode in Main Memory? Bypass Protections © Marco Romano - nemux.org
  • 39. “Bypass” Cache coherence Cache Flushing… how to 1. Filling the D-cache to force the CPU to write-back 2. cacheflush() systemcall 3. Call a blocking function (like sleep() or similar) Cache != Protection… and we can defeat it! Bypass Protections Goal: Defeat cache coherence © Marco Romano - nemux.org
  • 40.  put them all together… Goal: Execute a “connect back” shellcode Chain of “Gadgets” - Step 1 - Defeat Cache Inject arbitrary code Hijack Control Flow “Init” Gadget “Double-Jump” Gadget call usleep() set usleep() arg jump next… © Marco Romano - nemux.org
  • 41.  put them all together… Goal: Execute a “connect back” shellcode Chain of “Gadgets” - Step 2 - Defeat Stack ASLR Inject arbitrary code Move Stack Pointer in $A1 Move $A1 in $V0 Jump to $V0 © Marco Romano - nemux.org
  • 42.  put them all together… Goal: Execute a “connect back” shellcode Chain of “Gadgets” - Step 3 - Execute Shellcode Inject arbitrary code Ehi! That’s my code… Connect back shell… port 8080 © Marco Romano - nemux.org
  • 43. Wait for a root shell… Goal: Execute a “connect back” shellcode Execute arbitrary code © Marco Romano - nemux.org
  • 44. Let’s play the bad guys © Marco Romano - nemux.org Botnet
  • 45. …while you wait for the crypto miner botnet © Marco Romano - nemux.org Don’t do this at home! :-)
  • 46. TIMELINE 2016 February 2018 ME —> EDIMAX Proof of concept March 2018 EDIMAX —> ME Private Beta version April 2018 New Firmware (??) CVE-2018-8072 © Marco Romano - nemux.org
  • 47. Thank you! © Marco Romano - nemux.org https://gitlab.com/nemux/CVE-2018-8072