SlideShare a Scribd company logo
7
Most read
8
Most read
10
Most read
ATM Malware:
Understanding the Threat
Amit Malik
Co-Founder @ Cysinfo (https://cysinfo.com)
Researcher @ Netskope
Linkedin: https://in.linkedin.com/in/doublezer0
Disclaimer
The Content, Demonstration, Source Code and
Programs presented here is “AS IS” without any
warranty or conditions of any kind. Also the views/
ideas/knowledge expressed here are solely of the
author’s only and nothing to do with the company or the
organisation in which the author is currently working.
However in no circumstances neither the speaker nor
Cysinfo is responsible for any damage or loss caused
due to use or misuse of the information presented here.
News..
Agenda
• Introduction
• XFS subsystem/middleware architecture
• XFS Internals
• ATM Malware evolution
• Case Study
RIPPER ATM Malware
Introduction
• ATM (Automated Teller Machine)
• As per ATM Industry Association (ATMIA) there are around 3 Million ATMs installed
worldwide.
• Majority of the ATMs use windows operating system.
• WOSA/XFS or CEN XFS is the software standard used by ATM platforms for ATM device
interactions.
• XFS subsystem basically provides the common API to access and manipulate the ATM
devices from different vendors.
• Leading ATM vendors:
• NCR
• Diebold
• Wincor
ATM Diagram
*Picture: https://upload.wikimedia.org/wikipedia/commons/9/99/Atm_blockdiagram.png
XFS (eXtensions for Financial
Services) Architecture
*pic: CEN/XFS Specifications
XFS APIs
• Application uses XFS APIs to communicate with
service providers.
• APIs can be called synchronously or
asynchronously.
• XSF manager translates the APIs to SPIs
• APIs starts with WFS*
• Example: WFSOpen, WFSExecute, WFSGetInfo etc.
Configuration Information
• XFS manager uses configuration information to route APIs to
SPIs.
• Configuration information is stored in windows registry hives.
• PC dependent information is stored under
• HKEY_LOCAL_MACHINESOFTWAREXFS
• User dependent information is stored under:
• HKEY_USERS.DefaultXFS
• .Default or user id.
Config. Info. cont..
• PC dependant information.
• XFS_Manager: trace file, share file information etc.
• Service_Provider: XFS compliant service provider - dll name, version, vendor name
• Physical_service: physical attachments configuration by the solution providers.
*pic:CEN/XFS Specifications
Config. Info. cont..
• Example (service providers):
[HKEY_LOCAL_MACHINESOFTWAREXFSSERVICE_PROVIDERSPIN]
"dllname"="PIN.DLL"
"vendor_name"="XFS Solutions Provider"
"version"="1.0.0"
[HKEY_LOCAL_MACHINESOFTWAREXFSSERVICE_PROVIDERSIDC]
"dllname"="IDC.DLL"
"vendor_name"="XFS Solutions Provider"
"version"="1.0.0"
[HKEY_LOCAL_MACHINESOFTWAREXFSSERVICE_PROVIDERSCDM]
"dllname"="CDM.DLL"
"vendor_name"="XFS Solutions Provoder"
"version"="1.0.0"
Config. Info. cont..
• User dependent configs
• Logical services can provide one or more physical services, for example cash dispenser and coin dispenser can be the
part of one logical service.
• logical services: service class, service provider (service provider key name in service providers)
*pic: CEN/XFS specifications
Config. Info. cont..
• Example (logical services)
[HKEY_USERS.DefaultXFSLOGICAL_SERVICESCashDispenser]
"class"="CDM"
“provider"="CDM"
[HKEY_USERS.DefaultXFSLOGICAL_SERVICESPinpad]
"class"="PIN"
“provider"="PIN"
[HKEY_USERS.DefaultXFSLOGICAL_SERVICESMagstripe]
"class"="IDC"
"provider"="IDC"
Important XFS APIs
• WFSStartUp - Initiate a connection between an application and the XFS
Manager
• WFSOpen - Open a session between an application and a service provider
• WFSRegister - Enable monitoring of a class of events by an application
• WFSExecute - Send service-specific commands to a service provider
• WFSGetInfo - Retrieve service-specific information from a service provider
• Pretty much all of the APIs can be called Asynchronously except few (eg:
WFSStartUp etc.)
• Async - WFSAsyncExecute, WFSAsyncOpen, WFSAsyncRegister etc.
• Application must perform WFSOpen for each logical service.
ATM Malware Evolution
2007
2013
2014
2015
2016
Skimer Padpin,
Neopocket
Ploutus
Sucful,
GreenDispenser
Ripper,
Alice
Case Study
• RIPPER ATM Malware
• Linked with Bt12 million hack
• Targets Major ATM manufactures (NCR, Diebold,
Wincor)
• Reads both magnetic stripe and EMV chip data.
• Cash dispenser functionalities
• Lets jump on to the malware code analysis!
Code…
Code (path)
Code..
Code..
References
• CEN/XFS:https://www.cen.eu/work/areas/ICT/
eBusiness/Pages/CWA16374.aspx
• https://www.fireeye.com/blog/threat-research/
2016/08/ripper_atm_malwarea.html
• http://blog.trendmicro.com/trendlabs-security-
intelligence/untangling-ripper-atm-malware/

More Related Content

PDF
MCA Daemon: Hybrid Throughput Analysis Beyond Basic Blocks
PDF
Introduction to Android Window System
PPTX
181123 poseest101 devfest_pangyo_jwkang
PDF
Browsing Linux Kernel Source
PPTX
Post Mortem Debugging in Embedded Linux Systems
PDF
Knex Postgresql Migration
PDF
Page reclaim
PPTX
스마트폰 온라인 게임에서 고려해야 할 것들
MCA Daemon: Hybrid Throughput Analysis Beyond Basic Blocks
Introduction to Android Window System
181123 poseest101 devfest_pangyo_jwkang
Browsing Linux Kernel Source
Post Mortem Debugging in Embedded Linux Systems
Knex Postgresql Migration
Page reclaim
스마트폰 온라인 게임에서 고려해야 할 것들

What's hot (14)

PDF
Intel(r) Quick Assist Technology Overview
PDF
NGINX App Protect for Secure Coding Webinar
PDF
Building a QT based solution on a i.MX7 processor running Linux and FreeRTOS
PDF
Python과 Git으로 만드는 모바일 게임 패치 시스템
PPT
Learning AOSP - Android Booting Process
PDF
TFLite NNAPI and GPU Delegates
PDF
How Linux Processes Your Network Packet - Elazar Leibovich
PPTX
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
PDF
LAS16-200: SCMI - System Management and Control Interface
PPTX
ARM Architecture in Details
PDF
Android Internals
PDF
Project meeting: Android Graphics Architecture Overview
PDF
비트코인 소스 구조분석
PDF
Breaking Down the Entry Barriers on Linux Kernel Networking Stack
Intel(r) Quick Assist Technology Overview
NGINX App Protect for Secure Coding Webinar
Building a QT based solution on a i.MX7 processor running Linux and FreeRTOS
Python과 Git으로 만드는 모바일 게임 패치 시스템
Learning AOSP - Android Booting Process
TFLite NNAPI and GPU Delegates
How Linux Processes Your Network Packet - Elazar Leibovich
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
LAS16-200: SCMI - System Management and Control Interface
ARM Architecture in Details
Android Internals
Project meeting: Android Graphics Architecture Overview
비트코인 소스 구조분석
Breaking Down the Entry Barriers on Linux Kernel Networking Stack
Ad

Viewers also liked (20)

ODP
Introduction to Binary Exploitation
DOCX
Amenaza a las bases de datos
PDF
Answers in environmental education @kaye
PDF
Human Capital in de 21e eeuw
PDF
Powerupcloud - Customer Case Studies
PDF
How to Keep Students Motivated During Winter
PPTX
Lost in Translation - Blackhat Brazil 2014
PDF
DOXLON November 2016: Facebook Engineering on cgroupv2
PDF
POS Malware: Is your Debit/Credit Transcations Secure?
DOC
Creating a personal narrative
PDF
Open Development
PDF
Home Brewing R.U.M - Analyzing application performance with real user monitoring
KEY
Performance Pack
 
PDF
Incident Command: The far side of the edge
PPSX
John 15:12 Ministries
PPTX
WTF is Sensu and Monitoring
PPTX
Application Development on Metapod
PDF
DevOps at Crevise Technologies
PDF
An Introduction to event sourcing and CQRS
PPTX
Cedar Ridge Weekly Report
Introduction to Binary Exploitation
Amenaza a las bases de datos
Answers in environmental education @kaye
Human Capital in de 21e eeuw
Powerupcloud - Customer Case Studies
How to Keep Students Motivated During Winter
Lost in Translation - Blackhat Brazil 2014
DOXLON November 2016: Facebook Engineering on cgroupv2
POS Malware: Is your Debit/Credit Transcations Secure?
Creating a personal narrative
Open Development
Home Brewing R.U.M - Analyzing application performance with real user monitoring
Performance Pack
 
Incident Command: The far side of the edge
John 15:12 Ministries
WTF is Sensu and Monitoring
Application Development on Metapod
DevOps at Crevise Technologies
An Introduction to event sourcing and CQRS
Cedar Ridge Weekly Report
Ad

Similar to ATM Malware: Understanding the threat (20)

PDF
Solvay secure application layer v2015 seba
PPTX
Internship msc cs
PDF
Layer7-WebServices-Hacking-and-Hardening.pdf
PPTX
The Seismic Impact of the SolarWinds Hack
PDF
Cyber Security and Data Privacy - presentation
PPTX
Owasp top 10 2017
PPTX
Website hacking and prevention (All Tools,Topics & Technique )
PDF
BlackHat 2014 - xsssniper
PDF
Microsegmentation from strategy to execution
PPTX
Private Apps in the Public Cloud - DevConTLV March 2016
PDF
Barrister Enterprise Server Support
PPTX
Introduction to Network and System Administration
PPTX
B) Computer Basics
PDF
Brief Tour about Android Security
PDF
The present and future of serverless observability
PDF
CSS12 LESSON - Client Server Network.pdf
PPTX
Tyepes of operating Module 4 chapter .pptx
PDF
CNIT 152: 12b Windows Registry
PDF
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
PDF
The elegant way of implementing microservices with istio
Solvay secure application layer v2015 seba
Internship msc cs
Layer7-WebServices-Hacking-and-Hardening.pdf
The Seismic Impact of the SolarWinds Hack
Cyber Security and Data Privacy - presentation
Owasp top 10 2017
Website hacking and prevention (All Tools,Topics & Technique )
BlackHat 2014 - xsssniper
Microsegmentation from strategy to execution
Private Apps in the Public Cloud - DevConTLV March 2016
Barrister Enterprise Server Support
Introduction to Network and System Administration
B) Computer Basics
Brief Tour about Android Security
The present and future of serverless observability
CSS12 LESSON - Client Server Network.pdf
Tyepes of operating Module 4 chapter .pptx
CNIT 152: 12b Windows Registry
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
The elegant way of implementing microservices with istio

More from Cysinfo Cyber Security Community (20)

PDF
Understanding Malware Persistence Techniques by Monnappa K A
PDF
Understanding & analyzing obfuscated malicious web scripts by Vikram Kharvi
PDF
Getting started with cybersecurity through CTFs by Shruti Dixit & Geethna TK
PPTX
Emerging Trends in Cybersecurity by Amar Prusty
PDF
A look into the sanitizer family (ASAN & UBSAN) by Akul Pillai
PDF
Closer look at PHP Unserialization by Ashwin Shenoi
PDF
Unicorn: The Ultimate CPU Emulator by Akshay Ajayan
PDF
The Art of Executing JavaScript by Akhil Mahendra
PDF
Reversing and Decrypting Malware Communications by Monnappa
PPTX
DeViL - Detect Virtual Machine in Linux by Sreelakshmi
PPTX
Analysis of android apk using adhrit by Abhishek J.M
PDF
Understanding evasive hollow process injection techniques monnappa k a
PPTX
Security challenges in d2d communication by ajithkumar vyasarao
PPTX
S2 e (selective symbolic execution) -shivkrishna a
PPTX
Dynamic binary analysis using angr siddharth muralee
PPTX
Bit flipping attack on aes cbc - ashutosh ahelleya
PDF
Security Analytics using ELK stack
PDF
Linux Malware Analysis
PPTX
XXE - XML External Entity Attack
PPT
Image (PNG) Forensic Analysis
Understanding Malware Persistence Techniques by Monnappa K A
Understanding & analyzing obfuscated malicious web scripts by Vikram Kharvi
Getting started with cybersecurity through CTFs by Shruti Dixit & Geethna TK
Emerging Trends in Cybersecurity by Amar Prusty
A look into the sanitizer family (ASAN & UBSAN) by Akul Pillai
Closer look at PHP Unserialization by Ashwin Shenoi
Unicorn: The Ultimate CPU Emulator by Akshay Ajayan
The Art of Executing JavaScript by Akhil Mahendra
Reversing and Decrypting Malware Communications by Monnappa
DeViL - Detect Virtual Machine in Linux by Sreelakshmi
Analysis of android apk using adhrit by Abhishek J.M
Understanding evasive hollow process injection techniques monnappa k a
Security challenges in d2d communication by ajithkumar vyasarao
S2 e (selective symbolic execution) -shivkrishna a
Dynamic binary analysis using angr siddharth muralee
Bit flipping attack on aes cbc - ashutosh ahelleya
Security Analytics using ELK stack
Linux Malware Analysis
XXE - XML External Entity Attack
Image (PNG) Forensic Analysis

Recently uploaded (20)

PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
top salesforce developer skills in 2025.pdf
PDF
Nekopoi APK 2025 free lastest update
PPTX
Transform Your Business with a Software ERP System
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
top salesforce developer skills in 2025.pdf
Nekopoi APK 2025 free lastest update
Transform Your Business with a Software ERP System
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Softaken Excel to vCard Converter Software.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Operating system designcfffgfgggggggvggggggggg
Upgrade and Innovation Strategies for SAP ERP Customers
How Creative Agencies Leverage Project Management Software.pdf
Odoo Companies in India – Driving Business Transformation.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Which alternative to Crystal Reports is best for small or large businesses.pdf
Design an Analysis of Algorithms II-SECS-1021-03
How to Migrate SBCGlobal Email to Yahoo Easily
How to Choose the Right IT Partner for Your Business in Malaysia
Design an Analysis of Algorithms I-SECS-1021-03
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
ManageIQ - Sprint 268 Review - Slide Deck
Navsoft: AI-Powered Business Solutions & Custom Software Development

ATM Malware: Understanding the threat

  • 1. ATM Malware: Understanding the Threat Amit Malik Co-Founder @ Cysinfo (https://cysinfo.com) Researcher @ Netskope Linkedin: https://in.linkedin.com/in/doublezer0
  • 2. Disclaimer The Content, Demonstration, Source Code and Programs presented here is “AS IS” without any warranty or conditions of any kind. Also the views/ ideas/knowledge expressed here are solely of the author’s only and nothing to do with the company or the organisation in which the author is currently working. However in no circumstances neither the speaker nor Cysinfo is responsible for any damage or loss caused due to use or misuse of the information presented here.
  • 4. Agenda • Introduction • XFS subsystem/middleware architecture • XFS Internals • ATM Malware evolution • Case Study RIPPER ATM Malware
  • 5. Introduction • ATM (Automated Teller Machine) • As per ATM Industry Association (ATMIA) there are around 3 Million ATMs installed worldwide. • Majority of the ATMs use windows operating system. • WOSA/XFS or CEN XFS is the software standard used by ATM platforms for ATM device interactions. • XFS subsystem basically provides the common API to access and manipulate the ATM devices from different vendors. • Leading ATM vendors: • NCR • Diebold • Wincor
  • 7. XFS (eXtensions for Financial Services) Architecture *pic: CEN/XFS Specifications
  • 8. XFS APIs • Application uses XFS APIs to communicate with service providers. • APIs can be called synchronously or asynchronously. • XSF manager translates the APIs to SPIs • APIs starts with WFS* • Example: WFSOpen, WFSExecute, WFSGetInfo etc.
  • 9. Configuration Information • XFS manager uses configuration information to route APIs to SPIs. • Configuration information is stored in windows registry hives. • PC dependent information is stored under • HKEY_LOCAL_MACHINESOFTWAREXFS • User dependent information is stored under: • HKEY_USERS.DefaultXFS • .Default or user id.
  • 10. Config. Info. cont.. • PC dependant information. • XFS_Manager: trace file, share file information etc. • Service_Provider: XFS compliant service provider - dll name, version, vendor name • Physical_service: physical attachments configuration by the solution providers. *pic:CEN/XFS Specifications
  • 11. Config. Info. cont.. • Example (service providers): [HKEY_LOCAL_MACHINESOFTWAREXFSSERVICE_PROVIDERSPIN] "dllname"="PIN.DLL" "vendor_name"="XFS Solutions Provider" "version"="1.0.0" [HKEY_LOCAL_MACHINESOFTWAREXFSSERVICE_PROVIDERSIDC] "dllname"="IDC.DLL" "vendor_name"="XFS Solutions Provider" "version"="1.0.0" [HKEY_LOCAL_MACHINESOFTWAREXFSSERVICE_PROVIDERSCDM] "dllname"="CDM.DLL" "vendor_name"="XFS Solutions Provoder" "version"="1.0.0"
  • 12. Config. Info. cont.. • User dependent configs • Logical services can provide one or more physical services, for example cash dispenser and coin dispenser can be the part of one logical service. • logical services: service class, service provider (service provider key name in service providers) *pic: CEN/XFS specifications
  • 13. Config. Info. cont.. • Example (logical services) [HKEY_USERS.DefaultXFSLOGICAL_SERVICESCashDispenser] "class"="CDM" “provider"="CDM" [HKEY_USERS.DefaultXFSLOGICAL_SERVICESPinpad] "class"="PIN" “provider"="PIN" [HKEY_USERS.DefaultXFSLOGICAL_SERVICESMagstripe] "class"="IDC" "provider"="IDC"
  • 14. Important XFS APIs • WFSStartUp - Initiate a connection between an application and the XFS Manager • WFSOpen - Open a session between an application and a service provider • WFSRegister - Enable monitoring of a class of events by an application • WFSExecute - Send service-specific commands to a service provider • WFSGetInfo - Retrieve service-specific information from a service provider • Pretty much all of the APIs can be called Asynchronously except few (eg: WFSStartUp etc.) • Async - WFSAsyncExecute, WFSAsyncOpen, WFSAsyncRegister etc. • Application must perform WFSOpen for each logical service.
  • 15. ATM Malware Evolution 2007 2013 2014 2015 2016 Skimer Padpin, Neopocket Ploutus Sucful, GreenDispenser Ripper, Alice
  • 16. Case Study • RIPPER ATM Malware • Linked with Bt12 million hack • Targets Major ATM manufactures (NCR, Diebold, Wincor) • Reads both magnetic stripe and EMV chip data. • Cash dispenser functionalities • Lets jump on to the malware code analysis!