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
 
Retail cash handling market story
Retail cash handling market storyRetail cash handling market story
Retail cash handling market storyGunnebo UK
 
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
 
Retail cash handling market story
Retail cash handling market storyRetail cash handling market story
Retail cash handling market story
 
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
 

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

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 

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