SlideShare a Scribd company logo
1 of 50
Download to read offline
ZeroNights 2013

Practical exploitation of rounding
vulnerabilities
in internet banking applications

Adrian Furtunã, PhD, OSCP, CEH
adif2k8@gmail.com
ZeroNights 2013

Agenda
 Who am I

 Rounding vulnerabilities
 How to fix
 Exploitation techniques
 Digipass automation
 Demo
ZeroNights 2013

Who am I
 PhD in Information Security, OSCP, CEH

 Penetration tester at KPMG Romania
 Web applications, internet banking
 Network infrastructures
 Mobile applications
 Source code reviews
 + some annoying stuff

 Teaching assistant at Information Security Master

programs from Bucharest universities
 Teaching penetration testing classes
 Organizing Capture the Flag contests

 Always like to prove my point…
ZeroNights 2013

Rounding vulnerabilities
Rounding vulnerabilities

Real life example
 How much do you really pay?

ZeroNights 2013
Rounding vulnerabilities

Real life example
 How much do you really pay?

 What about:
2.85$ + 3.20$ = 6.05$ ?

ZeroNights 2013
Rounding vulnerabilities

Real life example
 How much do you really pay?

 What about:
2.85$ + 3.20$ = 6.05$ ?
 How much does the seller win

from rounding?

ZeroNights 2013
Rounding vulnerabilities

Real life example
 How much do you really pay?

 What about:
2.85$ + 3.20$ = 6.05$ ?
 How much does the seller win

from rounding?
 We are a bit vulnerable…

ZeroNights 2013
Rounding vulnerabilities

In Internet Banking apps
 Banks are vulnerable also

ZeroNights 2013
Rounding vulnerabilities

In Internet Banking apps
 Banks are vulnerable also

 Amounts are specified with two decimals:

ZeroNights 2013
Rounding vulnerabilities

ZeroNights 2013

In Internet Banking apps
 Banks are vulnerable also

 Amounts are specified with two decimals:

 What happens when you transfer 8.3436 EUR to your

account?
Amount += 8.34 EUR => Bank wins 0.0036 EUR
Rounding vulnerabilities

ZeroNights 2013

In Internet Banking apps
 Banks are vulnerable also

 Amounts are specified with two decimals:

 What happens when you transfer 8.3436 EUR to your

account?
Amount += 8.34 EUR => Bank wins 0.0036 EUR

 What happens when you transfer 8.3478 EUR to your

account?
Amount += 8.35 EUR => Bank loses 0.0022 EUR
Rounding vulnerabilities

ZeroNights 2013

In Internet Banking apps
 Banks are vulnerable also

 Amounts are specified with two decimals:

 What happens when you transfer 8.3436 EUR to your

account?
Amount += 8.34 EUR => Bank wins 0.0036 EUR

 What happens when you transfer 8.3478 EUR to your

account?
Amount += 8.35 EUR => Bank loses 0.0022 EUR

 Max to win/lose: 0.005 EUR / transaction
Rounding is done to the closest value (two decimals)
Rounding vulnerabilities

ZeroNights 2013

How to always win?
 Let’s make transactions that will be always rounded in

our favor
Rounding vulnerabilities

ZeroNights 2013

How to always win?
 Let’s make transactions that will be always rounded in

our favor
 How?
 Foreign exchange transactions

 Transfer between your own accounts having different currencies
ZeroNights 2013

Rounding vulnerabilities

Obtain a better exchange rate
 Transfer money between your own accounts
(e.g. RON -> EUR)
 Specify how much RON you want to sell
RON

EUR

EUR
(rounded)

Actual exchange rate
(RON / EUR rounded)

4.40

1

1.00

4.40

2

0.4545

0.45

4.44

1

0.2272

0.23

4.34

0.5

0.1136

0.11

4.54

0.05

0.0113

0.01

5

0.03

0.0068

0.01

3

0.023

0.0052

0.01

2.3

0.02

0.0045

0.00

not good

100 * (0.023 RON -> 0.01 EUR) => 2.3 RON = 1 EUR

Official

The best
ZeroNights 2013

Rounding vulnerabilities

What about Rubla?
 Transfer money between your own accounts
(e.g. RUB -> USD)
 Specify how much RUB you want to sell
RUB

USD

USD
(rounded)

Actual exchange rate
(RUB / USD rounded)

32.39

1

1

32.39

10

0.3087

0.31

32.25

5

0.1543

0.15

33.33

1

0.0308

0.03

33.33

0.5

0.0154

0.02

25

0.2

0.0061

0.01

20

0.17

0.0052

0.01

17

0.16

0.0049

0.00

not good

100 * (0.17 RUB -> 0.01 USD) => 17 RUB = 1 USD

Official

The best
Rounding vulnerabilities

ZeroNights 2013

Compute your own exchange rate
http://pentest-tools.com/internet -banking/exchange-rate-improver
Rounding vulnerabilities

Example (1)

ZeroNights 2013
Rounding vulnerabilities

Example (2)

ZeroNights 2013
Rounding vulnerabilities

ZeroNights 2013

When is the best deal
 Foreign exchange transactions:
 Specify how much you want to sell => destination will be rounded
 Specify how much you want to buy => source will be rounded

 Best deal is when you can specify how much of the weaker

currency you want to sell/buy because the stronger
currency will be rounded
ZeroNights 2013

Rounding vulnerabilities

How much can I gain?
C1 = minimum amount of currency 1 that can be exchanged (e.g. 0.023 RON)
C2 = minimum amount of currency 2 that can be exchanged (e.g. 0.01 EUR)
Ex_b = exchange rate for buying C2 with microtransactions (e.g. 2.3)
Ex_b = C1 / C2
Ex_s = exchange rate for selling C2 (e.g. 4.4) – real exchange rate – fixed by the Bank

Ex_b
x RON

Ex_s
y EUR

z RON

 z = y * Ex_s = (x / Ex_b) * Ex_s = x * (Ex_s / Ex_b)
 multiplication rate = Ex_s / Ex_b
 transactions required = x / C1
Currency

Multiplication
rate

Initial
amount (x)

Final
amount (y)

Gain

Transactions
required

RON

4.4 / 2.3 = 1.9

100 RON

190 RON

90 RON ~ 20 EUR

100 / 0.023 = 4347

RUB

32.39 / 17 = 1.9

1000 RUB

1900 RUB

900 RUB ~27.8 USD

1000 / 0.17 = 5882
ZeroNights 2013

Rounding vulnerabilities

Different exchange rates (buy / sell)
 Banks have different exchange rates for buying and for

selling so they can always win
 Let’s say…
Official exchange rate:
 You buy USD from the Bank:
 You sell USD to the Bank:


32.39
38.39
25.12

RUB/USD

 But for small amounts it is not true!
 I buy from the Bank (RUB  USD)






0.32 RUB / 32.39 = 0.009 USD  0.01 USD
0.32 RUB / 38.00 = 0.008 USD  0.01 USD
0.32 RUB / 42.00 = 0.007 USD  0.01 USD
0.32 RUB / 50.00 = 0.006 USD  0.01 USD
0.32 RUB / 60.00 = 0.005 USD  0.01 USD
ZeroNights 2013

How to fix
ZeroNights 2013

How the Banks should protect themselves
 Limit the number of transactions that can be performed in

a given time by a regular person
 Introduce a small fee for currency exchange operations

(e.g. 0.01 EUR)
 Limit the minimum amount that can be transferred in a

foreign exchange operation
 Monitor for suspicious transactions (numerous

transactions, very small amounts)
 State in the contract that such transactions are illegal
ZeroNights 2013

Exploitation techniques
Exploitation techniques

ZeroNights 2013

General ideas
 Find a way to do lots of transactions in a relatively short

time
 Transactions are made in two steps:
 Initialization (can be automated)

 Authorizing / Signing (requires human interaction)

 Automate / bypass transaction signing mechanism

(digipass, SMS, token, etc)
Exploitation techniques

ZeroNights 2013

Technique 0: No signing required 
 3000 transactions, 90 minutes, 30 RON  73 RON, gain ~10 EUR
Exploitation techniques

ZeroNights 2013

Technique 1: Init lots and sign once
 Initiate lots of transactions automatically and sign once
Exploitation techniques

ZeroNights 2013

Technique 1: Init lots and sign once
 Initiate lots of transactions automatically and sign once
 Use Burp Suite to initiate transactions
Exploitation techniques

ZeroNights 2013

Technique 1: Init lots and sign once
 Initiate lots of transactions automatically and sign once
Exploitation techniques

ZeroNights 2013

Technique 1: Init lots and sign once
 Initiate lots of transactions automatically and sign once
 Signing can also be automated – stay tuned for next

chapter
Exploitation techniques

ZeroNights 2013

Technique 2: Payment files
 Upload a payment file containing lots of transactions and

sign once
Exploitation techniques

ZeroNights 2013

Technique 2: Payment files
 Upload a payment file containing lots of transactions and

sign once

 Signing can also be automated – stay tuned for next

chapter
Exploitation techniques

ZeroNights 2013

Technique 3: Real time transactions + rainbow tables
 Do real time transactions automatically and sign using

pre-computed digipass responses
Exploitation techniques

ZeroNights 2013

Technique 3: Real time transactions + rainbow tables
 Do real time transactions automatically and sign using

pre-computed digipass responses
 Applicable when signing is done using challenge-

response mechanism, with challenge code <= 5 digits
Exploitation techniques

ZeroNights 2013

Technique 3: Real time transactions + rainbow tables
 A challenge-response digipass returns the same

response for the same challenge code every time
Response

= f(challenge, timestamp, client ID, other data)
= f(challenge, static data)

 Build rainbow tables with digipass responses
 Feasible for max 5 digit challenge codes
 Max 99999 possibilities
 Can be automated, stay tuned
Exploitation techniques

ZeroNights 2013

Technique 4: Real time transactions + digipass automation
 Do real time transactions automatically and sign using

digipass responses computed in real time
Exploitation techniques

ZeroNights 2013

Technique 4: Real time transactions + digipass automation
 Do real time transactions automatically and sign using

digipass responses computed in real time
 Requires automation of the signing device (digipass,

phone, etc)
ZeroNights 2013

Digipass automation
Digipass automation

LimID project (for VASCO GO3)
 http://limid.sitadella.com

 Code regenerates at 30 seconds

 Video

ZeroNights 2013
Digipass automation

My machine (for VASCO 550)

Requires PIN
authentication

Used for:
• 2nd factor authentication
• Transaction signing

ZeroNights 2013
Digipass automation

My machine - video

ZeroNights 2013
Digipass automation

ZeroNights 2013

My machine - current performance
 10 transactions / minute (1 transaction / 6 seconds)
 max 14400 transactions / day
 enter PIN, type challenge code, read response image, do OCR
 Our previous example:
100 RON  190 RON (gain ~20 EUR)
=> 4347 transactions * 6 sec/trans = 26082 sec
= 7h:14m:42s
1000 RUB  1900 RUB (gain ~27.8 USD)
=> 5882 transactions * 6 sec/trans = 35292 sec
= 9h:48m:10s

 Maximum amount to multiply per day:
14400 * 0.023 RON = 331.2 RON => final 629.28 RON
gain 298 RON ~= 68 EUR/day

14400 * 0.17 RUB = 2448 RUB => final 4651 RUB
gain 2203 RUB ~= 68 USD/day
Digipass automation

ZeroNights 2013

My machine - current performance
 What about doing in parallel (on multiple bank accounts)?

 Money making machine? 
Digipass automation

ZeroNights 2013

External vs Internal instrumentation

•

Internal instrumentation (direct electrical connections):

•
•

•

Pros:

•
•

more reliable and faster
almost error free

Cons:

•
•
•
•

might not be possible – some digipasses deactivate

when opened
must know the pinout of LCD screen (lots of pins!)
sensitive soldering required
mistakes can lead to deactivation

External instrumentation:

•
•

Pros:

•
•

No interference with digipass’s internals
Can be applied to any digipass model

Cons:

•
•
•

Pretty slow (but good for the “low and slow” approach)
Some (mechanics) errors occur on pressing buttons (resolvable by a more professional construction)
OCR process needs special (lighting) conditions to produce correct results
Digipass automation

My machine – implementation details (1)

ZeroNights 2013
ZeroNights 2013

Digipass automation

My machine – implementation details (2)
Optical Character Recognition
Original

Cleared
background

Blurred

Threshold applied

OCR-ized
gocr / ocrad

7169309
-_16g309
1757450
1_5_G50
043i __ i_ì
OG3i _i_i
9a__641 4
9__6G1G
Digipass automation

My machine – development stages

ZeroNights 2013
ZeroNights 2013






Live Demo
Q&A
Thank you!

Adrian Furtunã, PhD, OSCP, CEH
adif2k8@gmail.com
http://pentest-tools.com

More Related Content

Similar to Adrian Furtuna - Practical exploitation of rounding vulnerabilities in internet banking applications

Digipass Instrumentation for Fun and Profit - DefCamp 2012
Digipass Instrumentation for Fun and Profit - DefCamp 2012Digipass Instrumentation for Fun and Profit - DefCamp 2012
Digipass Instrumentation for Fun and Profit - DefCamp 2012DefCamp
 
Refactor your Specs - 2017 Edition
Refactor your Specs - 2017 EditionRefactor your Specs - 2017 Edition
Refactor your Specs - 2017 EditionCyrille Martraire
 
Overview of FinTech Industry - Business Case LVEY
Overview of FinTech Industry - Business Case LVEYOverview of FinTech Industry - Business Case LVEY
Overview of FinTech Industry - Business Case LVEYLarbi NAJARI
 
Questions RéPonses En
Questions RéPonses EnQuestions RéPonses En
Questions RéPonses Enastrelin
 
Upvest - Asset Tokenization - A practical deep dive
Upvest - Asset Tokenization - A practical deep diveUpvest - Asset Tokenization - A practical deep dive
Upvest - Asset Tokenization - A practical deep diveAlexander Reichhardt
 
Siem leadconf sf_pm_31052013
Siem leadconf sf_pm_31052013Siem leadconf sf_pm_31052013
Siem leadconf sf_pm_31052013Piotr Merkel
 
3 Keys to Cross Border Payments Success
3 Keys to Cross Border Payments Success3 Keys to Cross Border Payments Success
3 Keys to Cross Border Payments SuccessKyriba Corporation
 
Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?Odoo
 
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORMNetcetera
 
DingoDot Pitch Deck for Investors
DingoDot Pitch Deck for InvestorsDingoDot Pitch Deck for Investors
DingoDot Pitch Deck for InvestorsPeter Fusek
 
Сильвио Микали «Универсальная система платежей»
Сильвио Микали «Универсальная система платежей» Сильвио Микали «Универсальная система платежей»
Сильвио Микали «Универсальная система платежей» Yandex
 
GlobalCollect Corporate Presentation v3 5_RM
GlobalCollect Corporate Presentation v3 5_RMGlobalCollect Corporate Presentation v3 5_RM
GlobalCollect Corporate Presentation v3 5_RMRob Marriott
 
R.Grassi - P.Sardo - One integration: every wat to pay
R.Grassi - P.Sardo - One integration: every wat to payR.Grassi - P.Sardo - One integration: every wat to pay
R.Grassi - P.Sardo - One integration: every wat to payMeet Magento Italy
 
Tabundle Presentation
Tabundle PresentationTabundle Presentation
Tabundle Presentationcharles9029
 
Gunnebo Global #1 2015
Gunnebo Global #1 2015Gunnebo Global #1 2015
Gunnebo Global #1 2015Gunnebo UK
 
PayCoiner Jakub Rogala
PayCoiner Jakub RogalaPayCoiner Jakub Rogala
PayCoiner Jakub RogalaJakubRogala1
 

Similar to Adrian Furtuna - Practical exploitation of rounding vulnerabilities in internet banking applications (20)

Digipass Instrumentation for Fun and Profit - DefCamp 2012
Digipass Instrumentation for Fun and Profit - DefCamp 2012Digipass Instrumentation for Fun and Profit - DefCamp 2012
Digipass Instrumentation for Fun and Profit - DefCamp 2012
 
Refactor your Specs - 2017 Edition
Refactor your Specs - 2017 EditionRefactor your Specs - 2017 Edition
Refactor your Specs - 2017 Edition
 
Overview of FinTech Industry - Business Case LVEY
Overview of FinTech Industry - Business Case LVEYOverview of FinTech Industry - Business Case LVEY
Overview of FinTech Industry - Business Case LVEY
 
Questions RéPonses En
Questions RéPonses EnQuestions RéPonses En
Questions RéPonses En
 
Upvest - Asset Tokenization - A practical deep dive
Upvest - Asset Tokenization - A practical deep diveUpvest - Asset Tokenization - A practical deep dive
Upvest - Asset Tokenization - A practical deep dive
 
Siem leadconf sf_pm_31052013
Siem leadconf sf_pm_31052013Siem leadconf sf_pm_31052013
Siem leadconf sf_pm_31052013
 
3 Keys to Cross Border Payments Success
3 Keys to Cross Border Payments Success3 Keys to Cross Border Payments Success
3 Keys to Cross Border Payments Success
 
Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?
 
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
 
DingoDot Pitch Deck for Investors
DingoDot Pitch Deck for InvestorsDingoDot Pitch Deck for Investors
DingoDot Pitch Deck for Investors
 
Ecommerce Forum - Ogone
Ecommerce Forum - OgoneEcommerce Forum - Ogone
Ecommerce Forum - Ogone
 
Сильвио Микали «Универсальная система платежей»
Сильвио Микали «Универсальная система платежей» Сильвио Микали «Универсальная система платежей»
Сильвио Микали «Универсальная система платежей»
 
GlobalCollect Corporate Presentation v3 5_RM
GlobalCollect Corporate Presentation v3 5_RMGlobalCollect Corporate Presentation v3 5_RM
GlobalCollect Corporate Presentation v3 5_RM
 
R.Grassi - P.Sardo - One integration: every wat to pay
R.Grassi - P.Sardo - One integration: every wat to payR.Grassi - P.Sardo - One integration: every wat to pay
R.Grassi - P.Sardo - One integration: every wat to pay
 
Fraud Meetup
Fraud MeetupFraud Meetup
Fraud Meetup
 
Tabundle Presentation
Tabundle PresentationTabundle Presentation
Tabundle Presentation
 
Gunnebo Global #1 2015
Gunnebo Global #1 2015Gunnebo Global #1 2015
Gunnebo Global #1 2015
 
Fraud Analytics
Fraud AnalyticsFraud Analytics
Fraud Analytics
 
PayCoiner Jakub Rogala
PayCoiner Jakub RogalaPayCoiner Jakub Rogala
PayCoiner Jakub Rogala
 
CGAT FX United1
CGAT FX United1CGAT FX United1
CGAT FX United1
 

More from DefconRussia

[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...DefconRussia
 
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...DefconRussia
 
[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobinding[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobindingDefconRussia
 
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/LinuxDefconRussia
 
Георгий Зайцев - Reversing golang
Георгий Зайцев - Reversing golangГеоргий Зайцев - Reversing golang
Георгий Зайцев - Reversing golangDefconRussia
 
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC [DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC DefconRussia
 
Cisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-oneCisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-oneDefconRussia
 
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...DefconRussia
 
HTTP HOST header attacks
HTTP HOST header attacksHTTP HOST header attacks
HTTP HOST header attacksDefconRussia
 
Attacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей ТюринAttacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей ТюринDefconRussia
 
Weakpass - defcon russia 23
Weakpass - defcon russia 23Weakpass - defcon russia 23
Weakpass - defcon russia 23DefconRussia
 
nosymbols - defcon russia 20
nosymbols - defcon russia 20nosymbols - defcon russia 20
nosymbols - defcon russia 20DefconRussia
 
Vm ware fuzzing - defcon russia 20
Vm ware fuzzing  - defcon russia 20Vm ware fuzzing  - defcon russia 20
Vm ware fuzzing - defcon russia 20DefconRussia
 
Nedospasov defcon russia 23
Nedospasov defcon russia 23Nedospasov defcon russia 23
Nedospasov defcon russia 23DefconRussia
 
Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23DefconRussia
 
Miasm defcon russia 23
Miasm defcon russia 23Miasm defcon russia 23
Miasm defcon russia 23DefconRussia
 
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...DefconRussia
 
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условияхSergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условияхDefconRussia
 
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...DefconRussia
 
Taras Tatarinov - Применение аппаратных закладок pwnie express на примере реа...
Taras Tatarinov - Применение аппаратных закладок pwnie express на примере реа...Taras Tatarinov - Применение аппаратных закладок pwnie express на примере реа...
Taras Tatarinov - Применение аппаратных закладок pwnie express на примере реа...DefconRussia
 

More from DefconRussia (20)

[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...
 
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
 
[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobinding[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobinding
 
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
 
Георгий Зайцев - Reversing golang
Георгий Зайцев - Reversing golangГеоргий Зайцев - Reversing golang
Георгий Зайцев - Reversing golang
 
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC [DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
 
Cisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-oneCisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-one
 
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
 
HTTP HOST header attacks
HTTP HOST header attacksHTTP HOST header attacks
HTTP HOST header attacks
 
Attacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей ТюринAttacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей Тюрин
 
Weakpass - defcon russia 23
Weakpass - defcon russia 23Weakpass - defcon russia 23
Weakpass - defcon russia 23
 
nosymbols - defcon russia 20
nosymbols - defcon russia 20nosymbols - defcon russia 20
nosymbols - defcon russia 20
 
Vm ware fuzzing - defcon russia 20
Vm ware fuzzing  - defcon russia 20Vm ware fuzzing  - defcon russia 20
Vm ware fuzzing - defcon russia 20
 
Nedospasov defcon russia 23
Nedospasov defcon russia 23Nedospasov defcon russia 23
Nedospasov defcon russia 23
 
Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23
 
Miasm defcon russia 23
Miasm defcon russia 23Miasm defcon russia 23
Miasm defcon russia 23
 
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
 
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условияхSergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
 
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
 
Taras Tatarinov - Применение аппаратных закладок pwnie express на примере реа...
Taras Tatarinov - Применение аппаратных закладок pwnie express на примере реа...Taras Tatarinov - Применение аппаратных закладок pwnie express на примере реа...
Taras Tatarinov - Применение аппаратных закладок pwnie express на примере реа...
 

Recently uploaded

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

Adrian Furtuna - Practical exploitation of rounding vulnerabilities in internet banking applications

  • 1. ZeroNights 2013 Practical exploitation of rounding vulnerabilities in internet banking applications Adrian Furtunã, PhD, OSCP, CEH adif2k8@gmail.com
  • 2. ZeroNights 2013 Agenda  Who am I  Rounding vulnerabilities  How to fix  Exploitation techniques  Digipass automation  Demo
  • 3. ZeroNights 2013 Who am I  PhD in Information Security, OSCP, CEH  Penetration tester at KPMG Romania  Web applications, internet banking  Network infrastructures  Mobile applications  Source code reviews  + some annoying stuff  Teaching assistant at Information Security Master programs from Bucharest universities  Teaching penetration testing classes  Organizing Capture the Flag contests  Always like to prove my point…
  • 5. Rounding vulnerabilities Real life example  How much do you really pay? ZeroNights 2013
  • 6. Rounding vulnerabilities Real life example  How much do you really pay?  What about: 2.85$ + 3.20$ = 6.05$ ? ZeroNights 2013
  • 7. Rounding vulnerabilities Real life example  How much do you really pay?  What about: 2.85$ + 3.20$ = 6.05$ ?  How much does the seller win from rounding? ZeroNights 2013
  • 8. Rounding vulnerabilities Real life example  How much do you really pay?  What about: 2.85$ + 3.20$ = 6.05$ ?  How much does the seller win from rounding?  We are a bit vulnerable… ZeroNights 2013
  • 9. Rounding vulnerabilities In Internet Banking apps  Banks are vulnerable also ZeroNights 2013
  • 10. Rounding vulnerabilities In Internet Banking apps  Banks are vulnerable also  Amounts are specified with two decimals: ZeroNights 2013
  • 11. Rounding vulnerabilities ZeroNights 2013 In Internet Banking apps  Banks are vulnerable also  Amounts are specified with two decimals:  What happens when you transfer 8.3436 EUR to your account? Amount += 8.34 EUR => Bank wins 0.0036 EUR
  • 12. Rounding vulnerabilities ZeroNights 2013 In Internet Banking apps  Banks are vulnerable also  Amounts are specified with two decimals:  What happens when you transfer 8.3436 EUR to your account? Amount += 8.34 EUR => Bank wins 0.0036 EUR  What happens when you transfer 8.3478 EUR to your account? Amount += 8.35 EUR => Bank loses 0.0022 EUR
  • 13. Rounding vulnerabilities ZeroNights 2013 In Internet Banking apps  Banks are vulnerable also  Amounts are specified with two decimals:  What happens when you transfer 8.3436 EUR to your account? Amount += 8.34 EUR => Bank wins 0.0036 EUR  What happens when you transfer 8.3478 EUR to your account? Amount += 8.35 EUR => Bank loses 0.0022 EUR  Max to win/lose: 0.005 EUR / transaction Rounding is done to the closest value (two decimals)
  • 14. Rounding vulnerabilities ZeroNights 2013 How to always win?  Let’s make transactions that will be always rounded in our favor
  • 15. Rounding vulnerabilities ZeroNights 2013 How to always win?  Let’s make transactions that will be always rounded in our favor  How?  Foreign exchange transactions  Transfer between your own accounts having different currencies
  • 16. ZeroNights 2013 Rounding vulnerabilities Obtain a better exchange rate  Transfer money between your own accounts (e.g. RON -> EUR)  Specify how much RON you want to sell RON EUR EUR (rounded) Actual exchange rate (RON / EUR rounded) 4.40 1 1.00 4.40 2 0.4545 0.45 4.44 1 0.2272 0.23 4.34 0.5 0.1136 0.11 4.54 0.05 0.0113 0.01 5 0.03 0.0068 0.01 3 0.023 0.0052 0.01 2.3 0.02 0.0045 0.00 not good 100 * (0.023 RON -> 0.01 EUR) => 2.3 RON = 1 EUR Official The best
  • 17. ZeroNights 2013 Rounding vulnerabilities What about Rubla?  Transfer money between your own accounts (e.g. RUB -> USD)  Specify how much RUB you want to sell RUB USD USD (rounded) Actual exchange rate (RUB / USD rounded) 32.39 1 1 32.39 10 0.3087 0.31 32.25 5 0.1543 0.15 33.33 1 0.0308 0.03 33.33 0.5 0.0154 0.02 25 0.2 0.0061 0.01 20 0.17 0.0052 0.01 17 0.16 0.0049 0.00 not good 100 * (0.17 RUB -> 0.01 USD) => 17 RUB = 1 USD Official The best
  • 18. Rounding vulnerabilities ZeroNights 2013 Compute your own exchange rate http://pentest-tools.com/internet -banking/exchange-rate-improver
  • 21. Rounding vulnerabilities ZeroNights 2013 When is the best deal  Foreign exchange transactions:  Specify how much you want to sell => destination will be rounded  Specify how much you want to buy => source will be rounded  Best deal is when you can specify how much of the weaker currency you want to sell/buy because the stronger currency will be rounded
  • 22. ZeroNights 2013 Rounding vulnerabilities How much can I gain? C1 = minimum amount of currency 1 that can be exchanged (e.g. 0.023 RON) C2 = minimum amount of currency 2 that can be exchanged (e.g. 0.01 EUR) Ex_b = exchange rate for buying C2 with microtransactions (e.g. 2.3) Ex_b = C1 / C2 Ex_s = exchange rate for selling C2 (e.g. 4.4) – real exchange rate – fixed by the Bank Ex_b x RON Ex_s y EUR z RON  z = y * Ex_s = (x / Ex_b) * Ex_s = x * (Ex_s / Ex_b)  multiplication rate = Ex_s / Ex_b  transactions required = x / C1 Currency Multiplication rate Initial amount (x) Final amount (y) Gain Transactions required RON 4.4 / 2.3 = 1.9 100 RON 190 RON 90 RON ~ 20 EUR 100 / 0.023 = 4347 RUB 32.39 / 17 = 1.9 1000 RUB 1900 RUB 900 RUB ~27.8 USD 1000 / 0.17 = 5882
  • 23. ZeroNights 2013 Rounding vulnerabilities Different exchange rates (buy / sell)  Banks have different exchange rates for buying and for selling so they can always win  Let’s say… Official exchange rate:  You buy USD from the Bank:  You sell USD to the Bank:  32.39 38.39 25.12 RUB/USD  But for small amounts it is not true!  I buy from the Bank (RUB  USD)      0.32 RUB / 32.39 = 0.009 USD  0.01 USD 0.32 RUB / 38.00 = 0.008 USD  0.01 USD 0.32 RUB / 42.00 = 0.007 USD  0.01 USD 0.32 RUB / 50.00 = 0.006 USD  0.01 USD 0.32 RUB / 60.00 = 0.005 USD  0.01 USD
  • 25. ZeroNights 2013 How the Banks should protect themselves  Limit the number of transactions that can be performed in a given time by a regular person  Introduce a small fee for currency exchange operations (e.g. 0.01 EUR)  Limit the minimum amount that can be transferred in a foreign exchange operation  Monitor for suspicious transactions (numerous transactions, very small amounts)  State in the contract that such transactions are illegal
  • 27. Exploitation techniques ZeroNights 2013 General ideas  Find a way to do lots of transactions in a relatively short time  Transactions are made in two steps:  Initialization (can be automated)  Authorizing / Signing (requires human interaction)  Automate / bypass transaction signing mechanism (digipass, SMS, token, etc)
  • 28. Exploitation techniques ZeroNights 2013 Technique 0: No signing required   3000 transactions, 90 minutes, 30 RON  73 RON, gain ~10 EUR
  • 29. Exploitation techniques ZeroNights 2013 Technique 1: Init lots and sign once  Initiate lots of transactions automatically and sign once
  • 30. Exploitation techniques ZeroNights 2013 Technique 1: Init lots and sign once  Initiate lots of transactions automatically and sign once  Use Burp Suite to initiate transactions
  • 31. Exploitation techniques ZeroNights 2013 Technique 1: Init lots and sign once  Initiate lots of transactions automatically and sign once
  • 32. Exploitation techniques ZeroNights 2013 Technique 1: Init lots and sign once  Initiate lots of transactions automatically and sign once  Signing can also be automated – stay tuned for next chapter
  • 33. Exploitation techniques ZeroNights 2013 Technique 2: Payment files  Upload a payment file containing lots of transactions and sign once
  • 34. Exploitation techniques ZeroNights 2013 Technique 2: Payment files  Upload a payment file containing lots of transactions and sign once  Signing can also be automated – stay tuned for next chapter
  • 35. Exploitation techniques ZeroNights 2013 Technique 3: Real time transactions + rainbow tables  Do real time transactions automatically and sign using pre-computed digipass responses
  • 36. Exploitation techniques ZeroNights 2013 Technique 3: Real time transactions + rainbow tables  Do real time transactions automatically and sign using pre-computed digipass responses  Applicable when signing is done using challenge- response mechanism, with challenge code <= 5 digits
  • 37. Exploitation techniques ZeroNights 2013 Technique 3: Real time transactions + rainbow tables  A challenge-response digipass returns the same response for the same challenge code every time Response = f(challenge, timestamp, client ID, other data) = f(challenge, static data)  Build rainbow tables with digipass responses  Feasible for max 5 digit challenge codes  Max 99999 possibilities  Can be automated, stay tuned
  • 38. Exploitation techniques ZeroNights 2013 Technique 4: Real time transactions + digipass automation  Do real time transactions automatically and sign using digipass responses computed in real time
  • 39. Exploitation techniques ZeroNights 2013 Technique 4: Real time transactions + digipass automation  Do real time transactions automatically and sign using digipass responses computed in real time  Requires automation of the signing device (digipass, phone, etc)
  • 41. Digipass automation LimID project (for VASCO GO3)  http://limid.sitadella.com  Code regenerates at 30 seconds  Video ZeroNights 2013
  • 42. Digipass automation My machine (for VASCO 550) Requires PIN authentication Used for: • 2nd factor authentication • Transaction signing ZeroNights 2013
  • 43. Digipass automation My machine - video ZeroNights 2013
  • 44. Digipass automation ZeroNights 2013 My machine - current performance  10 transactions / minute (1 transaction / 6 seconds)  max 14400 transactions / day  enter PIN, type challenge code, read response image, do OCR  Our previous example: 100 RON  190 RON (gain ~20 EUR) => 4347 transactions * 6 sec/trans = 26082 sec = 7h:14m:42s 1000 RUB  1900 RUB (gain ~27.8 USD) => 5882 transactions * 6 sec/trans = 35292 sec = 9h:48m:10s  Maximum amount to multiply per day: 14400 * 0.023 RON = 331.2 RON => final 629.28 RON gain 298 RON ~= 68 EUR/day 14400 * 0.17 RUB = 2448 RUB => final 4651 RUB gain 2203 RUB ~= 68 USD/day
  • 45. Digipass automation ZeroNights 2013 My machine - current performance  What about doing in parallel (on multiple bank accounts)?  Money making machine? 
  • 46. Digipass automation ZeroNights 2013 External vs Internal instrumentation • Internal instrumentation (direct electrical connections): • • • Pros: • • more reliable and faster almost error free Cons: • • • • might not be possible – some digipasses deactivate when opened must know the pinout of LCD screen (lots of pins!) sensitive soldering required mistakes can lead to deactivation External instrumentation: • • Pros: • • No interference with digipass’s internals Can be applied to any digipass model Cons: • • • Pretty slow (but good for the “low and slow” approach) Some (mechanics) errors occur on pressing buttons (resolvable by a more professional construction) OCR process needs special (lighting) conditions to produce correct results
  • 47. Digipass automation My machine – implementation details (1) ZeroNights 2013
  • 48. ZeroNights 2013 Digipass automation My machine – implementation details (2) Optical Character Recognition Original Cleared background Blurred Threshold applied OCR-ized gocr / ocrad 7169309 -_16g309 1757450 1_5_G50 043i __ i_ì OG3i _i_i 9a__641 4 9__6G1G
  • 49. Digipass automation My machine – development stages ZeroNights 2013
  • 50. ZeroNights 2013    Live Demo Q&A Thank you! Adrian Furtunã, PhD, OSCP, CEH adif2k8@gmail.com http://pentest-tools.com