Slide 1

Slide 1 text

Mobile Hacking Daiane Santos

Slide 2

Slide 2 text

! Opinions expressed are solely my own and do not express the views or opinions of my employer. disclaimer

Slide 3

Slide 3 text

- about me - introduction - surface attack - server-side attacks - client-side attacks - reversing android - thanks Agenda

Slide 4

Slide 4 text

whoami Mobile Security Engineer @Nubank Player and Captain @RATF Autist - AH/SD Chess Player Neuroscience Enthusiast

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

surface attack

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Server- Side- Attacks Static Analysis

Slide 10

Slide 10 text

mobile application architecture mobile device transport security server - auth and authz - webpages - apis database

Slide 11

Slide 11 text

server-side vulnerabilities Most of the communication between an application and a user occurs through a server, as it is the server that stores and processes all the data that enables the application to run: authentication data, business data, financial or transactional data, personal data, etc.

Slide 12

Slide 12 text

> Weak Server-Side Controls > Insecure Data Storage > Insufficient Transport Layer Protection > Poor Authentication and Authorization > Broken Cryptography > Security Decisions via Untrusted Inputs > Improper Session Handling server-side vulnerabilities

Slide 13

Slide 13 text

Client- Side- Attacks

Slide 14

Slide 14 text

> Injections > Local Storage > Web Messaging > WebSockets > ClickJacking > Cross-origin Resource Sharing (CORS) -> CSRF Client-Side Attacks

Slide 15

Slide 15 text

static application security testing

Slide 16

Slide 16 text

! Content created only for educational purpose disclaimer II

Slide 17

Slide 17 text

reverse engineering

Slide 18

Slide 18 text

Tip: Rename the .apk file to .zip and use unzip to open ;)

Slide 19

Slide 19 text

API calls or endpoints understanding the way some security controls are implemented root detection -> SuperUser hardcoded sensitive information inside the code backdoor accounts, API keys and secrets, passwords... interesting strings points of encryption and obfuscation so we can decrypt and de-obfuscate What we are looking for? reversing

Slide 20

Slide 20 text

Activities: Components that provide a screen with which users can interact. Broadcast receivers: Components that receive and respond to broadcast messages from other apps or from the operating system. Services: Components that perform operations in the background. reversing

Slide 21

Slide 21 text

AndroidManifest.xml Includes package name, details about the app components, permissions, security settings...

Slide 22

Slide 22 text

AndroidManifest.xml

Slide 23

Slide 23 text

other files classes.dex resources.arsc This file contains the Dalvik Bytecode, this file is executed when an app runs. The file acts like an index of all mentioned resources.

Slide 24

Slide 24 text

other files lib/ assets/ res/ Directory with all resources, activities xmls, layouts, images... Composed by native libs of the application. Adicional libs and other files that are necessary to app.

Slide 25

Slide 25 text

mobSF

Slide 26

Slide 26 text

attacks on activities If an application has an activity that is exported, other applications can also invoke it. This can be invoked by other malicious applications that are running on the device.

Slide 27

Slide 27 text

attacks on broadcast receivers That means any application will be able to send arbitrary, uncontrolled SMSs.

Slide 28

Slide 28 text

securing the application Set android:exported 1. attribute’s value to false false 2. Limit access with custom permissions

Slide 29

Slide 29 text

thank you! Contact: wh0isdxk.github.com github.com/wh0isdxk twitter.com/wh0isdxk instagram.com/wh0isdxk wh0isdxk.medium.com