How To Protect Your Computer From Being Hacked By A Hacker (For A Fee)



Similar documents
IPMI: Understanding Your Server s Remote Backdoor

Out-of-Band Network Management

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

Vulnerability Assessment and Penetration Testing

"EZHACK" POPULAR SMART TV DONGLE REMOTE CODE EXECUTION

HP ProLiant Lights-Out 100c Remote Management Cards Overview

Lecture 15 - Web Security

QuickSpecs. Models. HP ProLiant Lights-Out 100c Remote Management Cards Overview

Hardware Backdooring is practical. Jonathan Brossard (Toucan System) Florentin Demetrescu (Cassidian)

The role of Access and Control in DCIM

What is Web Security? Motivation

Software security. Buffer overflow attacks SQL injections. Lecture 11 EIT060 Computer Security

Penetration Testing with Kali Linux

CS 558 Internet Systems and Technologies

MEGARAC XMS Sx EXTENDIBLE MANAGEMENT SUITE SERVER MANAGER EDITION

CCM 4350 Week 11. Security Architecture and Engineering. Guest Lecturer: Mr Louis Slabbert School of Science and Technology.

Out-of-Band Management: the Integrated Approach to Remote IT Infrastructure Management

Virtualization System Security

Who is Watching You? Video Conferencing Security

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

IPMI overview. Power. I/O expansion. Peripheral UPS logging RAID. power control. recovery. inventory. Hugo CERN-FIO-DS

Honeypots & Honeynets Overview. Adli Wahid Security Specialist, APNIC.net adli@apnic.net

Locking down a Hitachi ID Suite server

Web Application Security

ANNEXURE-1 TO THE TENDER ENQUIRY NO.: DPS/AMPU/MIC/1896. Network Security Software Nessus- Technical Details

CSE331: Introduction to Networks and Security. Lecture 32 Fall 2004

Check list for web developers

McAfee Web Gateway 7.4.1

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

Criteria for web application security check. Version

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

Dell Client BIOS: Signed Firmware Update

PTSv2 in pills: The Best First for Beginners who want to become Penetration Testers. Self-paced, online, flexible access

Programming Flaws and How to Fix Them

Summary of the SEED Labs For Authors and Publishers

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

Attack Vector Detail Report Atlassian

Sample Report. Security Test Plan. Prepared by Security Innovation

Gigabyte Content Management System Console User s Guide. Version: 0.1

Advanced Systems Security

A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications. Slides by Connor Schnaith

How to hack a website with Metasploit

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

SECURITY B-SIDES: ATLANTA STRATEGIC PENETRATION TESTING. Presented by: Dave Kennedy Eric Smith

Dell idrac7 with Lifecycle Controller

S E C U R I T Y A S S E S S M E N T : B o m g a r A p p l i a n c e s

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

Payment Card Industry (PCI) Terminal Software Security. Best Practices

Ulteo Open Virtual Desktop - Protocol Description

Network and Host-based Vulnerability Assessment

Magento Security and Vulnerabilities. Roman Stepanov

Bomgar Corporation. Bomgar Application Security Assessment Summary January 26, This document is the property of Bomgar Corporation.

Gigabyte Management Console User s Guide (For ASPEED AST 2400 Chipset)

Chapter 1 Web Application (In)security 1

Where every interaction matters.

Server Management with Lenovo ThinkServer System Manager

Modern Binary Exploitation Course Syllabus

Security Awareness For Website Administrators. State of Illinois Central Management Services Security and Compliance Solutions

12 Security Camera System Best Practices - Cyber Safe

Stanford Computer Security Lab XCS. Cross Channel Scripting. Hristo Bojinov Elie Bursztein Dan Boneh Stanford Computer Security Lab

Web Application Vulnerability Testing with Nessus

Shellshock. Oz Elisyan & Maxim Zavodchik

CSE331: Introduction to Networks and Security. Lecture 17 Fall 2006

Exploring the Remote Access Configuration Utility

Web Application Security

From SQL Injection to MIPS Overflows

EXPLOITING SURVEILLANCE CAMERAS

What is Really Needed to Secure the Internet of Things?

EECS 354 Network Security. Introduction

Secure Web Application Coding Team Introductory Meeting December 1, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

State of Security. Top Five Critical Issues Affecting Servers. Decisive Security Intelligence You Can Use. Read Our Predictions for 2013 and Beyond

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

Exploiting hardware management subsystems

Unix Security Technologies. Pete Markowsky <peterm[at] ccs.neu.edu>

Webapps Vulnerability Report

HOW I MET YOUR MODEM EXPLOIT & TROJAN DEV FOR CONSUMER DSL DEVICES HACK IN THE BOX 2013 AMSTERDAM - PETER GEISSLER & STEVEN KETELAAR

Computer Security SEGC-00 - Overview

Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP

Spyware Analysis. Security Event - April 28, 2004 Page 1

Security A to Z the most important terms

External Vulnerability Assessment. -Technical Summary- ABC ORGANIZATION

Protect Your IT Infrastructure from Zero-Day Attacks and New Vulnerabilities

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

Secure Web Applications. The front line defense

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

CS 356 Lecture 25 and 26 Operating System Security. Spring 2013

Security Testing in Critical Systems

Security Products Development. Leon Juranic

Web Application Report

Red Hat. By Karl Wirth

Virtually Secure. a journey from analysis to remote root 0day on an industry leading SSL-VPN appliance

Format string exploitation on windows Using Immunity Debugger / Python. By Abysssec Inc

Common Criteria Web Application Security Scoring CCWAPSS

Basic & Advanced Administration for Citrix NetScaler 9.2

CPSC 226 Lab Nine Fall 2015

CIT 480: Securing Computer Systems. Vulnerability Scanning and Exploitation Frameworks

Transcription:

Illuminating the Security Issues with Lights-Out Server Management Anthony J. Bonkoski J. Alex Halderman University of Michigan

What is IPMI? Need to manage a massive cluster of servers? OS installs, monitoring, power-cycle, etc. How? Intel introduces Intelligent Platform Management Interface (IPMI) Specification: Adds a second computer Always on Integrated directly into the system buses (e.g. I 2 C) OEM Names: HP ilo Dell idrac Oracle ilom Lenovo/IBM IMM SuperMicro IPMI ATEN IPMI MegaRAC Avocent IPMI Image Copyright: Ulfbastel, License: GFDL 1.2+/CC BY-SA 3.0

What is IPMI? Baseboard Management Controller (BMC) The embedded micro-controller: the second CPU Image Copyright: U. Vezzani, License: CC BY-SA 3.0

Typical IPMI Implementation System Embedded on Motherboard or Expansion card CPU: ARM/MIPS or other low power embedded CPU OS: Linux is common Extra OEM Features Remote Virtual Console Remote Media High network connectivity incl. HTTP and SSH.

Why do we care? In short: IPMI is the perfect spying backdoor Always on and often pre-enabled. NIC failover* Powerful Remote Tools Widespread deployment: 100,000+ on public IPs It s an embedded system......often, security is an after-thought! *As seen on our SuperMicro ATEN-based IPMI

Known Problems Authentication Risks: Many vendors ship default passwords root/calvin Anonymous undocumented accounts * Passwords stored in plain-text * * SuperMicro ATEN-based IPMI Dell idrac

Recent Developments Dan Farmer January 2013: Starts publicly denouncing IPMI Criticisms are largely just conjectures Finds some negligent flaws: Hidden backdoor debugging web page on Dell idrac Could gain root over ssh

Our Work Is IPMI security actually a problem?

Supermicro IPMI Supermicro SYS-5017C-LF IPMI Firmware by ATEN Technology HTML / JavaScript CGI (written in C) Linux 2.6.17 Firmware version 1.86 (build date: 11-14-2012) Nuvoton WPCM450 ARM-based BMC

Supermicro Web Interface

Supermicro SSH Interface Backend: Highly modified fork of Dropbear Frontend: Systems Management Architecture for Server Hardware Command- Line Protocol (SMASH)* Notice: a system admin has no access to underlying Unix shell *Distributed Management Task Force (DMTF) specification: dmtf.org/standards/smash

Reverse Engineering Approach Fetch firmware from OEM website. Scan and unpack: binwalk Mount filesystems Objdump and IDA Pro

What to Look For? Begin with Classics: 1. Insecure Input Validation 2. Shell Injection 3. Buffer Overflows

Input Validation All input validation is done in client-side javascript... and so is permission checking: function PrivilegeCallBack(Privilege){ // full access if(privilege == '04'){ issuperuser = 1; } // only view else if(privilege == '03') { var_save_btn.disabled = true; } // no access else { alert(lang.lang_noprivi); } } Server-side? No permission checking. No escaping of input passed to shell. No string length checking in CGI.

Shell Injection 15 of 67 CGI programs made calls to system(). Confirmed shell injection in config_date_time.cgi:

Shell Injection 15 of 67 CGI programs made calls to system(). Confirmed shell injection in config_date_time.cgi: Getting command output Redirect to /nv/system_log. Issue GET request to system_log.cgi. Create a psuedo-terminal Wraps GET ands POST request in a python script. root@localhost #

Buffer Overflows Server backend: CGI programs. written in C. running as root.

Buffer Overflows Server backend: CGI programs. written in C. running as root. // login.cgi int main(void) { char name[128], pwd[24]; char *temp ; //... initialize... temp = cgigetvariable("name"); strcpy(name, temp); temp = cgigetvariable("pwd"); strcpy(pwd, temp); //... authenticate user... }

Buffer Overflows Server backend: CGI programs. written in C. running as root. // login.cgi int main(void) { char name[128], pwd[24]; char *temp ; //... initialize... temp = cgigetvariable("name"); strcpy(name, temp); temp = cgigetvariable("pwd"); strcpy(pwd, temp); //... authenticate user... }

Buffer Overflows No length validation?

Buffer Overflows No length validation?

Buffer Overflows No length validation?

Buffer Overflow Exploitability Buffer-overflow defenses? No DEP (Stack and Heap are executable). No Stack Canaries. Limited ASLR. (Stack/Heap base addresses are randomized, but dynamic libraries are not. Return-to-libc works.)

Exploitation Challenges Stack is randomized (ASLR)....but, only 12 bits are random. Just 4096 possibilities. We gain control on the return from main(). Stack is small: shellcode must be compact. BMC crashes and reboots if pounded too hard with requests.

Buffer Overflow Exploit Solutions Store the shell command in the name buffer. Brute force through the stack randomization. Limit the time between brute-force iterations. Avg. search time: ~7 min. Payload Fetch (wget) and install modified SSH daemon. Forks root shell on incorrect password. Only 2 instructions changed! root@localhost #

Vulnerable Models? Cursory check of all Supermicro IPMI firmware downloads as of May 23, 2013. 30 of 64 images appear vulnerable. 135 device models. Supermicro says they re working on a fix. Possibly affects other ATEN-based products.

The Impact So, rooting this device is easy! But, what are the implications? Yet another broken embedded system?

The Impact Only as secure as our weakest component. Entire system is now vulnerable! Adding an entire computer only weakens.

IPMI for Evil BMC-based spyware and botnets Rooted BMC Rooted host system Mount a custom OS and reboot. Rooted host system Rooted BMC Re-flash the BMC with malicious code. BMC rootkits A backdoor that survives potentially forever. A scary thought IPMI meets Matrix Is your IPMI just emulated? How do you know?

Network Measurements Scanned all public IPs on May 7, 2013 using ZMap *. Downloaded all X.509 certs from HTTPS servers. Used identifying characteristics of default certificates. Could root all these in parallel in minutes! * ZMap: Fast Internet-wide Scanning and its Security Applications. Paper and tool coming this FRIDAY at Usenix Security. Details on identifying characteristics may be found in our paper

Defenses For System Operators Never attach your IPMI device directly to the Internet. Use an isolated management network or VLAN. Change default passwords and certificates. Disable IPMI if you don t need it. Unfortunately: we re at the will of the Vendor

Defenses For IPMI Vendors These are textbook vulns. You have to do better. Apply security engineering practices. Sign and verify firmware when flashing. Make devices hard to deploy on public IPs.

Lessons A Culture Clash? Embedded Internet IPMI: hopefully a climax

Future Work Analysis of other vendors implementations Dell, HP, Lenovo, Oracle, etc. Firmware update exploitation Can an attacker inject a backdoor that persists? Across BMC reboot? Across BMC flashes? Forever? IPMI honeypot Unclear whether attackers are exploiting these devices in the wild. Some anecdotal evidence of their use as spambots. Are they being used for other malicious purposes?

Conclusions IPMI serves a vital role for system management. Carries elevated risks, potential for powerful attacks. At least some vendors are getting it badly wrong. Farmer is correct: IPMI is a serious concern. Our work: A call to arms.

Illuminating the Security Issues with Lights-Out Server Management Anthony J. Bonkoski abonkosk@umich.edu University of Michigan J. Alex Halderman jhalderm@umich.edu

Zmap Scan Details Vendor SuperMicro Dell HP Identifying Characteristics Subjects containing linda.wu@supermicro.com or doris@aten.com.tw Subject containing idrac Subjects containing CN=ILO and issuers containing ilo3 Default Issuer or Hewlett Packard *Landing pages spot-checked for false positives