Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… ·...

81
1 Your Bank’s Digital Side Door @sdanndev

Transcript of Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… ·...

Page 1: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

1

Your Bank’s Digital Side Door@sdanndev

Page 2: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

2

“Because that’s where the money is.”Willie Sutton, Bank Robber

Page 3: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

3

Why does my bank website require my 2-factor token, but

pulling my transactions into Quicken does not?

Page 4: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

4

Personal Financial ManagementPFM

Page 5: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

5

Personal Financial Management (PFM)

Page 6: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file
Page 7: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

7

Page 8: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

8

Page 9: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

9

Page 10: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

10

Page 11: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

11

Page 12: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

12

Page 13: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

13

Quicken/Quickbooks Connection Types

Web Connect

• Unidirectional• Manual• Download a file• OFX file format

Express Web Connect

• Unidirectional• Programmatic• Screen scrape• Private web

service

Direct Connect

• Bidirectional• Programmatic• Structured query• OFX protocol

Page 14: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

14

Web Connect

ExpressWeb Connect

Direct Connect

Desktop Application Middle-Man Financial Institution

OFX

OFX

OFX

Page 15: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

15

Account Aggregation Service / API

Page 16: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

16

Web Application Middle-Man Financial Institution

OFX

OFX

CSV

Page 17: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

18

Lack of Least Privilege

• Users have 1 set of bank credentials• Full read / write access to all accounts at financial institution

• Plain text password is shared with and stored by aggregators

• Tokenized application-based access control (OAuth) is needed

Page 18: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

19

Open Financial Exchange (OFX)aka Direct Connect

Page 19: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

20

www.ofx.org

Page 20: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

21

Banking

• Checking• Savings• CDs• Loans

Investment

• IRA• 401k• Holdings• Equity

Prices

Credit Cards

• Transactions

Transfers

• Bill Pay• Intrabank• Interbank• Wire Funds

OFX Functionality - Financial

Page 21: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

22

OFX Functionality - Miscellaneous

• Enrollment• Setup online access• Password Reset

• FI Profile• Like a homepage

• Email• Messages and Notifications

• Synchronization• Ensure multiple clients receive

1-time messages

• Image download• JPEG, TIFF, PNG, PDF

• Bill Presentment• For 3rd parties

Page 22: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

POST /cgi/ofx HTTP/1.1Accept: */* Content-Type: application/x-ofxDate: Fri, 16 Jun 2018 21:12:27 GMTUser-Agent: InetClntApp/3.0Content-Length: 570Connection: close

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX><SIGNONMSGSRQV1>

<SONRQ><DTCLIENT>20060321083010<USERID>12345<USERPASS>MyPassword<LANGUAGE>ENG<FI>

<ORG>ABC<FID>000111222

</FI><APPID>MyApp

</SONRQ></SIGNONMSGSRQV1>... <!--Other message sets-->

</OFX>

HTTP/1.1 200 OKDate: Fri, 16 Jun 2018 21:12:30 GMTContent-Type: application/x-ofxConnection: Keep-AliveContent-Length: 2399

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX><SIGNONMSGSRSV1>

<SONRS><STATUS>

<CODE>0<SEVERITY>INFO<MESSAGE>Success

</STATUS><DTSERVER>20060321083445<LANGUAGE>ENG<FI>

<ORG>ABC<FID>000111222

</FI></SONRS>

</SIGNONMSGSRSV1>... <!--All other transaction responses-->

</OFX>

Request Response

Page 23: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX><SIGNONMSGSRQV1>

<SONRQ><DTCLIENT>20060321083010<USERID>12345<USERPASS>MyPassword<LANGUAGE>ENG<FI>

<ORG>ABC<FID>000111222

</FI><APPID>MyApp

</SONRQ></SIGNONMSGSRQV1>... <!--Other message sets-->

</OFX>

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX><SIGNONMSGSRSV1>

<SONRS><STATUS>

<CODE>0<SEVERITY>INFO<MESSAGE>Success

</STATUS><DTSERVER>20060321083445<LANGUAGE>ENG<FI>

<ORG>ABC<FID>000111222

</FI></SONRS>

</SIGNONMSGSRSV1>... <!--All other transaction responses-->

</OFX>

Request Response

Page 24: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

25

OFX

Page 25: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

26

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX><SIGNONMSGSRQV1>

... <!--Anonymous sign on--></SIGNONMSGSRQV1><PROFMSGSRQV1>

<PROFTRNRQ><TRNUID>5A59A330-7CEC-1000-A761 <PROFRQ>

<CLIENTROUTING>MSGSET<DTPROFUP>19900101

</PROFRQ></PROFTRNRQ>

</PROFMSGSRQV1></OFX>

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX>... <!--Anonymous sign on success--><BANKMSGSET>

<BANKMSGSETV1><MSGSETCORE>

<URL>https://o.bank.org/ofx.asp<LANGUAGE>ENG<SPNAME>Corillian Corp

</MSGSETCORE><XFERPROF>

<PROCENDTM>235959[0:GMT]<CANSCHED>Y<CANRECUR>N<CANMODXFERS>N

</XFERPROF></BANKMSGSETV1>

</BANKMSGSET></OFX>

Request Response

Page 26: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

27

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX><SIGNONMSGSRQV1>

... <!--Anonymous sign on--></SIGNONMSGSRQV1><PROFMSGSRQV1>

<PROFTRNRQ><TRNUID>5A59A330-7CEC-1000-A761 <PROFRQ>

<CLIENTROUTING>MSGSET<DTPROFUP>19900101

</PROFRQ></PROFTRNRQ>

</PROFMSGSRQV1></OFX>

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX>... <!--Anonymous sign on success--><PROFMSGSRSV1>

<PROFTRNRS><PROFRS>

<FINAME>Bank<ADDR1>123 Muholland Drive<CITY>Las Vegas<STATE>NV<POSTALCODE>89109<COUNTRY>USA<CSPHONE>206-439-5700<URL>http://www.bank.org<EMAIL>[email protected]

</PROFRS></PROFTRNRS>

</PROFMSGSRSV1></OFX>

Request Response

Page 27: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

28

OFX Protocol Specification

Page 28: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

31

Multi-Factor Authentication (MFA)

Know

• Password• PIN• Security

Question

Have

• Token• Hardware• Software

• PKI Certificate• Smart Card

Are

• Biometric• Behavior

Page 29: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

32

2-Step Authentication

• Password + out-of-band mechanism• 6 digit string

• SMS• Push notification• Software token

Page 30: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

33

OFX “MFA”

Security Question• <USERCRED1>

• Free form field required by server

• Server defines label• Ex: “Mother’s maiden

name”

• <MFACHALLENGE>• Security questions• Hard coded list• Ex: “Favorite color”

Page 31: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file
Page 32: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

35

OFX “MFA”

Static String• <CLIENTUID>

• Client generated ID• Checked by Server

• TOFU• Static

• <AUTHTOKEN>• Server generated• Provided to client out-of-

band• Implied static• Could be used for 2-step

auth

Page 33: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

36

76%

20%

4% 0%Frequency of OFX Header: Version

102103202203

Page 34: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

37

Financial InstitutionsFIs

Page 35: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

38

The Big Names

Page 36: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

39

The Smaller Names

Page 37: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file
Page 38: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

41

There Are A Lot of Banks!

7,000 OFX FIs

2,000 Public

OFX FIs

400Public

Servers

15,000 FIs

7,000Commercial

Banks

(USA & Canada)

Page 39: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

42

Investigation

Page 40: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

43

OFX Survey

• What FI’s are running an OFX server?• Find them and talk to them

• What software is providing this service?• Ask them simple questions

Page 41: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

44

Recon

ENUM HOSTSTLS PINGWEB SERVEROFX SERVEROFX PROFILEOFX ACCOUNT

• Typical URL• https://ofx.bank.com/ofx/ofxsrvr.dll

• User Community• ofxhome.org• wiki.gnucash.org

• Commercial Clients• Branding Services

• DNS for FIs• Name to OFX URL translation

Page 42: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

45

Recon

ENUM HOSTSTLS PINGWEB SERVEROFX SERVEROFX PROFILEOFX ACCOUNT

• DNS• Stale A records?

• TLS• Is server certificate expired?

Page 43: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

46

Stale DNS

Page 44: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

47

Stale TLS

Page 45: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

48

Recon

ENUM HOSTSTLS PINGWEB SERVEROFX SERVEROFX PROFILEOFX ACCOUNT

• HTTP GET /• HTTP GET /path/ofx• HTTP POST /path/ofx

• Fingerprint• Web server• Web application framework• OFX server

Page 46: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

49

HTTP GET /

Page 47: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

51

HTTP GET/path/ofx

Page 48: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

52

HTTP GET/path/ofx

Page 49: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

53

Recon

ENUM HOSTSTLS PINGWEB SERVEROFX SERVEROFX PROFILEOFX ACCOUNT

• HTTP POST /path/ofx• <OFX></OFX>

• Fingerprint• Framework errors• OFX errors

Page 50: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

54

OFXHEADER:100DATA:OFXSGMLVERSION:102SECURITY:NONEENCODING:USASCII

<OFX></OFX>

Request ResponseError 500: java.lang.NullPointerException

HTTP POST /path/ofx

Page 51: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

55

OFXHEADER:100DATA:OFXSGMLVERSION:102SECURITY:NONEENCODING:USASCII

<OFX></OFX>

Request ResponseOFXHEADER<OFX><SIGNONMSGSRSV1><SONRS><STATUS><CODE>2000<SEVERITY>ERROR<MESSAGE>FID not found in file SQL State 02000

</STATUS><DTSERVER>20180324234025<LANGUAGE><FI><ORG>

</FI></SONRS>

</SIGNONMSGSRSV1></OFX>

HTTP POST /path/ofx

Page 52: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

56

OFXHEADER:100DATA:OFXSGMLVERSION:102SECURITY:NONEENCODING:USASCII

<OFX></OFX>

Request Response<b>Stack Trace:</b> <br><br>

<table width=100% bgcolor="#ffffcc"><tr><td><code><pre>

[ArgumentOutOfRangeException: Length cannot be less than zero.Parameter name: length]

System.String.Substring(Int32 startIndex, Int32 length) +12518387OFX.OFX.ProcessRequest(HttpContext context) in

C:\Environment\directconnect\OFX\OFX\OFX.ashx.cs:43System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +188

System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously) +69

</pre></code></td></tr>

</table>

HTTP POST /path/ofx

Page 53: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

57

Recon

ENUM HOSTSTLS PINGWEB SERVEROFX SERVEROFX PROFILEOFX ACCOUNT

• POST /path/ofx• <PROFRQ>

• Fingerprint• Spacing• In-house vs service provider

• Info Disclosure• More verbose errors• Long lived sessions• Password policy

Page 54: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

OFXHEADER:100DATA:OFXSGMLVERSION:103

<OFX><SIGNONMSGSRQV1><SONRQ><DTCLIENT>20180319054443.123[-7:MST]<USERID>anonymous00000000000000000000000<USERPASS>anonymous00000000000000000000000

</SONRQ></SIGNONMSGSRQV1><PROFMSGSRQV1><PROFTRNRQ><PROFRQ><DTPROFUP>19900101

</PROFRQ></PROFTRNRQ>

</PROFMSGSRQV1></OFX>

Request ResponseOFXHEADER:100DATA:OFXSGMLVERSION:103

<OFX><SIGNONMSGSRSV1><SONRS><STATUS><CODE>0<SEVERITY>INFO<MESSAGE>SUCCESS

</STATUS><DTSERVER>20180319014447.551[-4:EDT]<TSKEYEXPIRE>20190319120000.000[-4:EDT]<DTPROFUP>20081116120000.000[-5:EST]

</SONRS></SIGNONMSGSRSV1><PROFMSGSRSV1>...

</PROFMSGSRSV1></OFX>

HTTP POST /path/ofx <PROFRQ>

Page 55: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

OFXHEADER:100DATA:OFXSGMLVERSION:103

<OFX><SIGNONMSGSRQV1><SONRQ><DTCLIENT>20180319054443.123[-7:MST]<USERID>anonymous00000000000000000000000<USERPASS>anonymous00000000000000000000000

</SONRQ></SIGNONMSGSRQV1><PROFMSGSRQV1><PROFTRNRQ><PROFRQ><DTPROFUP>19900101

</PROFRQ></PROFTRNRQ>

</PROFMSGSRQV1></OFX>

Request ResponseOFXHEADER:100DATA:OFXSGMLVERSION:103

<OFX>...<PROFMSGSRQV1><PROFRQ><SIGNONINFOLIST><SIGNONINFO><MIN>4<MAX>4<CHARTYPE>ALPHAORNUMERIC<CASESEN>N<SPECIAL>N<SPACES>N

</SIGNONINFO></SIGNONINFOLIST>

</PROFRQ></PROFMSGSRQV1>></OFX>

HTTP POST /path/ofx <PROFRQ>

Page 56: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

61

Recon

ENUM HOSTSTLS PINGWEB SERVEROFX SERVEROFX PROFILEOFX ACCOUNT

• POST /path/ofx• <ACCTINFORQ>

• Fingerprint• Error message

Page 57: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

62

OFXHEADER:100DATA:OFXSGMLVERSION:103

<OFX><SIGNONMSGSRQV1><SONRQ><USERID>anonymous00000000000000000000000<USERPASS>anonymous00000000000000000000000

</SONRQ></SIGNONMSGSRQV1><SIGNUPMSGSRQV1><ACCTINFOTRNRQ><ACCTINFORQ><DTACCTUP>19900101

</ACCTINFORQ></ACCTINFOTRNRQ>

</SIGNUPMSGSRQV1></OFX>

Request

HTTP POST /path/ofx <ACCTINFORQ>

Page 58: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

63

Response(s)

HTTP POST /path/ofx <ACCTINFORQ>

<MESSAGE>SUCCESS

<MESSAGE>Signon invalid

<MESSAGE>Unsupported operation for anonymous user

<MESSAGE>Please contact your financial institution to enroll.

<MESSAGE>General error (ERROR) The server encountered an error.

<MESSAGE>Could not process request

<MESSAGE>General Error

<MESSAGE>&lt;FI&gt; Missing or Invalid in &lt;SONRQ&gt;

<MESSAGE>Unable to retrieve FI configuration.

<MESSAGE>There was a problem verifying the UserId/Password

<MESSAGE>User id password combination incorrect

<MESSAGE>Account information request could not be completed at this time. Please contact your financial institution for assistance.

<MESSAGE>Invalid FID sent in Request

<MESSAGE>No Accounts Returned

<MESSAGE>Account Not Found

<MESSAGE>Invalid session

<MESSAGE>UserID/PIN is incorrect.

<MESSAGE>Client up to date

<MESSAGE>Signon VALUES (for example, USER ID or Password) invalid.

Page 59: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

64

Financial Software Vendors

Page 60: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

https://www.sibanking.com/improved-core-banking-software/

Page 61: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

66

Where Do I Buy?

• No shrink wrapped boxes• No ‘apt install’• No app store• No open source

Page 62: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file
Page 63: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

68

Software Vendors

Page 64: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

69

Page 65: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

71

OFX Hosting

ofx.netteller.com

ofxdi.diginsite.comofxdc.prd1.ncr.com

pfm.metavante.com

ofx.lanxtra.com

Page 66: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

72

020406080

100120140160180

Frequency of HTTP Servers

Page 67: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

73

Acquisition and Atrophy

https://www.fisglobal.com/about-us/about-our-company

Page 68: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

74

Vulnerabilities

Page 69: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

75

650 Page OFX specification

34 Implementations

x 10 Technology Stacks

221,000 Vulnerabilities

Page 70: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

76

Found in Production

• Web server disclosure• Web framework disclosure• OFX server version disclosure• Backend DB disclosure• Full stack trace on errors• Full server file paths in errors• Out-of-date software• Unhandled exceptions• Long lived session keys

• MFA ignored• SSN used as usernames• Internal IP disclosure• Valid user enumeration• Personal email disclosure• Unmaintained servers• Null values returned• Unregistered URL referenced• Reflected XSS

• I know it’s not a web page, and yet…

Page 71: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

77

Demo

Page 72: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

78

ofxpostern

• Fingerprint OFX Server• Show capabilities• Scan for vulnerabilities

https://github.com/sdann/ofxpostern

Page 73: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

79

Page 74: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

80

Page 75: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

81

Page 76: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

82

Conclusions

Page 77: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

https://media-cdn.tripadvisor.com/media/photo-s/01/13/d9/9b/side-door.jpg

Page 78: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

84

Neglect

Page 79: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

85

Planning for Retirement

• Inventory your assets• How much money public facing services do you have?

• Pick an age to retire• How old do you want your TLS certs to be?• When will you your software stop working?

• Do quarterly check-ins• Are you saving enough? Is your software up to date?

• Protect your assets• With insurance MFA

• Invest• The earlier the better, but it is never too late to start!

Page 80: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

86

Thank You!@sdanndev | www.securityinnovation.com

Questions?

Page 81: Your Bank’s Digital Side Door - DEF CON CON 26/DEF CON 26 presentations/DEF… · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file

87

Glossary

• FI - Financial Institution• A bank, brokerage, or credit card provider.

• PFM - Personal Financial Management• Client software for viewing and managing their financial accounts