The internet of $h1T
Or: Root all things (of the internet of things)
By: Amit Serper, ADhD
/bin/whoami
● Now: Lead Mac OSX security researcher @ Cybereason (we’re hiring!)
● Before: ~9 years @ PMO, Lead security researcher, doing mostly embedded
security research in the last 3 years.
● Terrible coder
● Reverse Engineer
● Hardcore Linux guy, Now I use Mac :( and Windows :((
● I like to make stuff that break stuff
● I tweet: @0xAmit
cat /home/amit/agenda.txt
● Our subject: Command execution injection via WebServer
● IoT? - Examples
● Embedded Linux - quick overview
● Firmware - Quick overview
● Embedded webserver command injection - Quick overview
● Case study - Bezeq router
● Exploitation demo
The internet of (shitty) things
A chain of revolutions...
~10-15 years ago
The internet of $h1t
Now
The internet of $h1t
The internet of $h1t
The internet of $h1t
The internet of $h1t
The internet of $h1t
The internet of $h1t
The internet of $h1t
A router!
~10-15 years ago, a router looked like this
The internet of $h1t
A router!
AKA that box with lights that makes the internet work
Why do we care so much about routers?
They’re routing our traffic == they see EVERYTHING
Nobody cares == they’re not monitored
They’re always on!
The internet of $h1t
The internet of $h1t
Specs as you see them
Specs as I see them
Every one of those little bastards is a computer!
(that handles all of your traffic!)
Ok… So it’s a “computer” - woo-friggin’-hoo
A calculator is also a computer
You’re right. Routers used to have custom RTOS O/S’s
that worked on custom architectures and instruction
sets
But all of a sudden, it wasn’t the standard anymore,
care to guess why?
The internet of $h1t
Linux is built around networking, it’s easy to develop for
and deploy, it’s totally cross platform and ITS FREE!
Plus, it has tons of ALREADY written code that vendors
can use!
Used in Xbox, Cable/SAT STB’s, PS4,
roku, etc...
libdlna:
Used in smartTVs, routers,
streamers, Cable/SAT STB’s,
etc...
A small webserver, used in
almost EVERY router in some
variation.
ALL OF THE PREVIOUSLY MENTIONED SOFTWARE HAVE
BEEN AND IS EXPLOITED ALL THE TIME!
The transition to Linux started a whole wave of vendors
using Linux, some even took pride in it
Linksys WRT54GL
It had a Linux based (HyperWRT) firmware and most of
its code was open sourced
Entire communities of firmware spin-offs were founded
to enhance and add extra features to products
Firmware
● permanent software programmed into a read-only memory. (wikipedia)
● One file which includes a Linux distro consisting of:
○ Bootloader
○ Kernel
○ Root filesystem (userland)
○ Swap (product dependent)
DD-WRT firmware (as illustrated by binwalk)
Firmware (continued)
● Drivers/modules (kernel mode)
● Software and Daemons/Services (User mode) :
○ Busybox
○ DHCP server
○ NTP (server/client)
○ FTP server
○ Telnet/ssh server
○ UPnP server
○ Webserver
Limitations when developing a firmware
● Very little memory - Code has to be really efficient, even on the cost of security
● Very little disk space - No bells and whistles - Just the barebones!
● Very weak cpu
● You think you’re invincible - if it compiles its fine! ← PROBLEM
Let’s talk about security research
We’ve established that those devices have poor security
measures
So let’s map the attack vectors
Attack vectors:
● Backdoors in firmware (a very specific url or service that’s running on a specific
port)
● Physical/Local access - uploading a patched firmware
● Attack from afar - own the webserver!
Enter the webserver:
● It is our common configuration interface with the device
● Everything is controlled through there
● Gives us a direct interface with User-controlled data
● Often listens for connections form the
0.0.0.0 (everywhere!)
● Often badly configured by the vendor/user
● Runs as root!!!!1!!!!!1!
We want to run code/pop a shell on the router
Wait, user controlled data?
Hooray! Let’s smash the stack!
There’s not necessarily a need to do that...
Emulating this environment is hard
We don’t want to debug stuff
Making gdb run on those thing is not easy...
But what if we can hijack the “instruction pointer” on a
higher level?
The internet of $h1t
What is injection?
http://example.com/viewfile.php?file=bill.txt
;
&&
`
; - run this after you’re done
&& - run this if first command exited with status 0
`statement` - run the command between the backticks
and use it as a value
http://example.com/redirect.php?r=info.php;cat /etc/passwd
The internet of $h1t
Another example
The internet of $h1t
system(‘/usr/bin/mailer --user %s --password %s --dest %s’)
How can we avoid that?
Sanitation and verification of user input.
Especially special characters such as &, ; and ` (and their http
encoded form)
DEMO
Netgear VEGN2610
AKA Bezeq n600
ADSL2+ Modem/router
Runs custom compiled Linux kernel version 2.6.30
(Released in June 2009)
Uses a custom version of GoAhead WEBS as its webserver
Has multiple Command Injection Vulnerabilities and even has
an anti CSRF protection with a vulnerability… Amazing.
What we are going to see is how we can execute commands as
root on the router using command injection and turn on it’s
telnetd server.
Oh, the root user on the router has a password (which I don’t
know, but it’s ok)
telnetd -p 2323 -l /bin/sh
Ok ok, demo! :)
Thank you!
(Questions?)

More Related Content

PPTX
How *NOT* to firmware
PPTX
OSX/Pirrit: The blue balls of OS X adware
PDF
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
PPTX
Hacking routers as Web Hacker
PPTX
Docker Security
PPTX
Олег Купреев «Уязвимости программного обеспечения телекоммуникационного обору...
PDF
Build and deployment
PPTX
DefCamp 2013 - MSF Into The Worm Hole
How *NOT* to firmware
OSX/Pirrit: The blue balls of OS X adware
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
Hacking routers as Web Hacker
Docker Security
Олег Купреев «Уязвимости программного обеспечения телекоммуникационного обору...
Build and deployment
DefCamp 2013 - MSF Into The Worm Hole

What's hot (20)

PPTX
Defcon Moscow #0x0A - Oleg Kupreev "Uncommon MiTM in uncommon conditions"
PDF
Using Nagios to monitor your WO systems
KEY
Sentry (SF Python, Feb)
PDF
SwiftyGPIO
ODP
From Test to Live with Rex
PPT
Python for pentesters
PDF
Git+jenkins+rex presentation
PDF
What's new in Symfony3
PDF
Hacking the Gateways
PDF
Why Rust? - Matthias Endler - Codemotion Amsterdam 2016
PPTX
Programming The Arduino Due in Rust
PDF
Dive into sentry
PDF
PDF
ElasticBeanstalk で新規事業を爆速ローンチする
PDF
Deep drive into rust programming language
PDF
Amazon inspector で自動セキュリティ診断
PDF
Automate Yo'self -- SeaGL
PPTX
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
PPT
Rust Programming Language
PPT
Resumable File Upload API using GridFS and TUS
Defcon Moscow #0x0A - Oleg Kupreev "Uncommon MiTM in uncommon conditions"
Using Nagios to monitor your WO systems
Sentry (SF Python, Feb)
SwiftyGPIO
From Test to Live with Rex
Python for pentesters
Git+jenkins+rex presentation
What's new in Symfony3
Hacking the Gateways
Why Rust? - Matthias Endler - Codemotion Amsterdam 2016
Programming The Arduino Due in Rust
Dive into sentry
ElasticBeanstalk で新規事業を爆速ローンチする
Deep drive into rust programming language
Amazon inspector で自動セキュリティ診断
Automate Yo'self -- SeaGL
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
Rust Programming Language
Resumable File Upload API using GridFS and TUS
Ad

Similar to The internet of $h1t (20)

PPTX
Steelcon 2015 - 0wning the internet of trash
PPTX
Advanced SOHO Router Exploitation XCON
PDF
Filip palian mateuszkocielski. simplest ownage human observed… routers
PDF
Simplest-Ownage-Human-Observed… - Routers
PPT
Attacking Embedded Devices (No Axe Required)
PDF
DEF CON 24 - workshop - Craig Young - brainwashing embedded systems
PDF
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
PDF
The Internet of Insecure Things: 10 Most Wanted List
PDF
Reverse engineering Swisscom's Centro Grande Modem
PDF
IoT exploitation: from memory corruption to code execution by Marco Romano
PDF
IoT exploitation: from memory corruption to code execution - Marco Romano - C...
PDF
Attacking IoT Devices from a Web Perspective - Linux Day
PPTX
hacking-embedded-devices.pptx
PDF
DefCon 2012 - Rooting SOHO Routers
PDF
CSI - Poor Mans Guide To Espionage Gear
PDF
Raspberry pi: Conceptos básicos de la arquitectura de la computadora raspberr...
PDF
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
PDF
OWASP Cambridge Chapter Meeting 13/12/2016
PDF
Device inspection to remote root
PDF
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
Steelcon 2015 - 0wning the internet of trash
Advanced SOHO Router Exploitation XCON
Filip palian mateuszkocielski. simplest ownage human observed… routers
Simplest-Ownage-Human-Observed… - Routers
Attacking Embedded Devices (No Axe Required)
DEF CON 24 - workshop - Craig Young - brainwashing embedded systems
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
The Internet of Insecure Things: 10 Most Wanted List
Reverse engineering Swisscom's Centro Grande Modem
IoT exploitation: from memory corruption to code execution by Marco Romano
IoT exploitation: from memory corruption to code execution - Marco Romano - C...
Attacking IoT Devices from a Web Perspective - Linux Day
hacking-embedded-devices.pptx
DefCon 2012 - Rooting SOHO Routers
CSI - Poor Mans Guide To Espionage Gear
Raspberry pi: Conceptos básicos de la arquitectura de la computadora raspberr...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
OWASP Cambridge Chapter Meeting 13/12/2016
Device inspection to remote root
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
Ad

Recently uploaded (20)

DOCX
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PPTX
Computer Software - Technology and Livelihood Education
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PPTX
Introduction to Windows Operating System
PDF
E-Commerce Website Development Companyin india
PPTX
Matchmaking for JVMs: How to Pick the Perfect GC Partner
PDF
novaPDF Pro 11.9.482 Crack + License Key [Latest 2025]
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
PPTX
GSA Content Generator Crack (2025 Latest)
PPTX
Full-Stack Developer Courses That Actually Land You Jobs
PPTX
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
PPTX
Tech Workshop Escape Room Tech Workshop
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PDF
Microsoft Office 365 Crack Download Free
PPTX
Lecture 5 Software Requirement Engineering
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
PPTX
CNN LeNet5 Architecture: Neural Networks
PDF
Workplace Software and Skills - OpenStax
PPTX
Trending Python Topics for Data Visualization in 2025
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
Computer Software - Technology and Livelihood Education
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
Introduction to Windows Operating System
E-Commerce Website Development Companyin india
Matchmaking for JVMs: How to Pick the Perfect GC Partner
novaPDF Pro 11.9.482 Crack + License Key [Latest 2025]
How to Use SharePoint as an ISO-Compliant Document Management System
GSA Content Generator Crack (2025 Latest)
Full-Stack Developer Courses That Actually Land You Jobs
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
Tech Workshop Escape Room Tech Workshop
How Tridens DevSecOps Ensures Compliance, Security, and Agility
Microsoft Office 365 Crack Download Free
Lecture 5 Software Requirement Engineering
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
CNN LeNet5 Architecture: Neural Networks
Workplace Software and Skills - OpenStax
Trending Python Topics for Data Visualization in 2025

The internet of $h1t

Editor's Notes

  • #7: About 10 years ago, people started owning more than one computer
  • #8: This is how our home looked like
  • #9: About 10 years ago, people started owning more than one computer
  • #10: About 10 years ago, people started owning more than one computer
  • #17: About 10 years ago, people started owning more than one computer
  • #18: About 10 years ago, people started owning more than one computer
  • #19: It was an equipment meant from ISPs, very expensive and home users had nothing to do with it
  • #20: About 10 years ago, people started owning more than one computer
  • #21: About 10 years ago, people started owning more than one computer
  • #22: About 10 years ago, people started owning more than one computer
  • #23: About 10 years ago, people started owning more than one computer
  • #24: About 10 years ago, people started owning more than one computer
  • #25: About 10 years ago, people started owning more than one computer
  • #26: About 10 years ago, people started owning more than one computer
  • #27: About 10 years ago, people started owning more than one computer
  • #28: About 10 years ago, people started owning more than one computer
  • #29: About 10 years ago, people started owning more than one computer
  • #30: About 10 years ago, people started owning more than one computer
  • #31: About 10 years ago, people started owning more than one computer
  • #32: About 10 years ago, people started owning more than one computer
  • #33: About 10 years ago, people started owning more than one computer
  • #34: About 10 years ago, people started owning more than one computer
  • #35: About 10 years ago, people started owning more than one computer
  • #36: About 10 years ago, people started owning more than one computer
  • #37: About 10 years ago, people started owning more than one computer
  • #38: About 10 years ago, people started owning more than one computer
  • #39: About 10 years ago, people started owning more than one computer
  • #40: About 10 years ago, people started owning more than one computer
  • #41: About 10 years ago, people started owning more than one computer
  • #46: About 10 years ago, people started owning more than one computer
  • #47: About 10 years ago, people started owning more than one computer
  • #48: About 10 years ago, people started owning more than one computer
  • #50: Why is user controlled input an important thing?
  • #51: About 10 years ago, people started owning more than one computer
  • #52: About 10 years ago, people started owning more than one computer
  • #53: About 10 years ago, people started owning more than one computer
  • #54: About 10 years ago, people started owning more than one computer
  • #55: About 10 years ago, people started owning more than one computer
  • #56: About 10 years ago, people started owning more than one computer
  • #57: About 10 years ago, people started owning more than one computer
  • #58: About 10 years ago, people started owning more than one computer
  • #59: About 10 years ago, people started owning more than one computer
  • #60: About 10 years ago, people started owning more than one computer
  • #61: About 10 years ago, people started owning more than one computer
  • #62: About 10 years ago, people started owning more than one computer
  • #63: About 10 years ago, people started owning more than one computer
  • #64: About 10 years ago, people started owning more than one computer
  • #65: About 10 years ago, people started owning more than one computer
  • #66: About 10 years ago, people started owning more than one computer
  • #67: About 10 years ago, people started owning more than one computer
  • #68: About 10 years ago, people started owning more than one computer
  • #69: About 10 years ago, people started owning more than one computer
  • #70: About 10 years ago, people started owning more than one computer
  • #71: About 10 years ago, people started owning more than one computer
  • #72: About 10 years ago, people started owning more than one computer
  • #73: About 10 years ago, people started owning more than one computer
  • #74: About 10 years ago, people started owning more than one computer
  • #75: About 10 years ago, people started owning more than one computer
  • #76: About 10 years ago, people started owning more than one computer
  • #77: About 10 years ago, people started owning more than one computer
  • #78: About 10 years ago, people started owning more than one computer
  • #79: About 10 years ago, people started owning more than one computer