SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
LA2600 
Android Malware Analysis with the 
Android Reverse Engineering(A.R.E.) 
LA2600.org 
VM 
Jimmy Shah
LA2600 
2 
Android Reverse Engineering(A.R.E.) VM 
LA2600.org 
● VM from the Honeynet Project 
● Includes a full set of tools for reverse engineering Android apps 
● Conversion tools 
– Dex2jar 
● Classes.dex → Classes.dex.dex2jar.jar 
– AXMLprinter2.jar 
● binary XML → Human readable XML 
● Disassembler 
– Baksmali 
● Dalvik bytecode → Jasmin-like assembly language 
● GUI 
– APKInspector 
● GUI includes baksmali, dex2jar, APKtool
LA2600 
3 
Android Reverse Engineering(A.R.E.) VM, cont. 
LA2600.org 
● More tools 
● Conversion tools 
– APKTool 
● 
● smali/baksmali 
● Disassembler 
– Baksmali 
● Dalvik bytecode → Jasmin-like assembly language
LA2600 
LA2600.org 
Android for Reverse Engineers
LA2600 
5 
LA2600.org 
Android for Reverse Engineers 
● Android apps are distributed as APKs(zip files) – what's inside? 
● Files 
– AndroidManifest.xml 
● Stored as binary XML 
● Permissions requested 
● Registered intents 
– Entry points 
– classes.dex 
● bytecode for the Dalvik VM 
● App code is in classes.dex files. 
– resources.arsc 
● compiled resource table
LA2600 
6 
LA2600.org 
Android for Reverse Engineers, cont. 
● Android apps are distributed as APKs(zip files) – what's inside? 
● Directories 
– META-INF 
● Public Keys 
● Signatures for each component in the APK 
– res 
● Images, strings, etc. 
– assets 
● libraries 
● other executables 
● Other JARs
LA2600 
Java vs. Android 
.JAVA javac .CLASS JAR dx 
7 
LA2600.org 
Android for Reverse Engineers, cont. 
JJAARR 
.C.CLLAASSSS 
.C.CLLAASSSS 
.C.CLLAASSSS 
.CLASS 
.CLASS 
main() 
main() 
AAPPKK 
cclalasssseess.d.deexx
LA2600 
8 
LA2600.org 
●Processing a suspicious sample 
1) Get sample 
2) Begin analysis 
● Static 
● Identify known and active files 
● File formats 
● Executables 
● Data fies 
● Archives 
● “active” files 
● Executables and all files that can have an effect on the system 
● Dynamic 
● Run in Android VM
LA2600 
LA2600.org 
What's in the A.R.E.?
LA2600 
LA2600.org 
Overview – GNU strings 
● You need strings, use strings. 
● Ascii is default, unicode with option 
● '-el' for 16 bit little-endian strings 
● Why? 
● Function calls 
● Interesting Strings 
– Messages 
● Errors 
● Debug 
● To analysts/press/etc. 
● Shout-outs
LA2600 
11 
LA2600.org 
Conversion - AXMLPrinter2 
● Java tool to convert AndroidManifest.xml to human readable XML
LA2600 
12 
LA2600.org 
Decompilers - JAD 
● Java Decompiler 
● Feed it a JAR and get back decompiled .java source code. 
● One of the few currently available java decompilers 
● Useful but may no longer be updated by the author. 
● Fails on some JAR files, classes 
● Easy to run
LA2600 
13 
LA2600.org 
Decompilers - ded 
● Android decompiler 
● Newer academic project designed specifically for mobile apps 
● Optionally uses the Soot Java optimization framework to provide better 
results. 
● Combines translation to JVM bytecode , optimization and decompilation 
● Takes a while,but the success rate is higher than other tools.
LA2600 
14 
LA2600.org 
VM - DroidBox 
● Instrumented Android VM 
● Monitors 
– Network activity 
– Opened connections 
– Outgoing traffic 
– Incoming traffic 
– DexClassLoader 
– Broadcast receivers 
– Started services 
– Enforced permissions 
– Permissions bypassed 
– Information leakage 
– Sent SMS 
– Phone calls
LA2600 
15 
LA2600.org 
VM - DroidBox, cont. 
● Running VM 
● ./startemu.sh Android21 
● ./droidbox.sh <sample.apk> 
● Ctrl-C to end logging/analysis
LA2600 
16 
LA2600.org 
GUI - APKInspector 
● Useful for analyzing APKs in one place 
● Static analysis only 
– Strings, Methods, Disassembly, CFGs,etc.

Contenu connexe

Tendances

Reactive mistakes - ScalaDays Chicago 2017
Reactive mistakes -  ScalaDays Chicago 2017Reactive mistakes -  ScalaDays Chicago 2017
Reactive mistakes - ScalaDays Chicago 2017Petr Zapletal
 
Play Framework Logging
Play Framework LoggingPlay Framework Logging
Play Framework Loggingmitesh_sharma
 
Lightbend Lagom: Microservices Just Right
Lightbend Lagom: Microservices Just RightLightbend Lagom: Microservices Just Right
Lightbend Lagom: Microservices Just Rightmircodotta
 
Garage RDBMS
Garage RDBMSGarage RDBMS
Garage RDBMSESUG
 
PGConf APAC 2018 - High performance json postgre-sql vs. mongodb
PGConf APAC 2018 - High performance json  postgre-sql vs. mongodbPGConf APAC 2018 - High performance json  postgre-sql vs. mongodb
PGConf APAC 2018 - High performance json postgre-sql vs. mongodbPGConf APAC
 
A Quick Intro to ReactiveX
A Quick Intro to ReactiveXA Quick Intro to ReactiveX
A Quick Intro to ReactiveXTroy Miles
 
Akka-demy (a.k.a. How to build stateful distributed systems) I/II
 Akka-demy (a.k.a. How to build stateful distributed systems) I/II Akka-demy (a.k.a. How to build stateful distributed systems) I/II
Akka-demy (a.k.a. How to build stateful distributed systems) I/IIPeter Csala
 
Testing Spark and Scala
Testing Spark and ScalaTesting Spark and Scala
Testing Spark and Scaladatamantra
 
Reactive mistakes reactive nyc
Reactive mistakes   reactive nycReactive mistakes   reactive nyc
Reactive mistakes reactive nycPetr Zapletal
 
Lightbend Lagom: Microservices Just Right (Scala Days 2016 Berlin)
Lightbend Lagom: Microservices Just Right (Scala Days 2016 Berlin)Lightbend Lagom: Microservices Just Right (Scala Days 2016 Berlin)
Lightbend Lagom: Microservices Just Right (Scala Days 2016 Berlin)mircodotta
 
Flyway: The agile database migration framework for Java
Flyway: The agile database migration framework for JavaFlyway: The agile database migration framework for Java
Flyway: The agile database migration framework for JavaAxel Fontaine
 
LOGBack and SLF4J
LOGBack and SLF4JLOGBack and SLF4J
LOGBack and SLF4Jjkumaranc
 

Tendances (19)

Reactive mistakes - ScalaDays Chicago 2017
Reactive mistakes -  ScalaDays Chicago 2017Reactive mistakes -  ScalaDays Chicago 2017
Reactive mistakes - ScalaDays Chicago 2017
 
Play Framework Logging
Play Framework LoggingPlay Framework Logging
Play Framework Logging
 
Logging with log4j v1.2
Logging with log4j v1.2Logging with log4j v1.2
Logging with log4j v1.2
 
Lightbend Lagom: Microservices Just Right
Lightbend Lagom: Microservices Just RightLightbend Lagom: Microservices Just Right
Lightbend Lagom: Microservices Just Right
 
Garage RDBMS
Garage RDBMSGarage RDBMS
Garage RDBMS
 
PGConf APAC 2018 - High performance json postgre-sql vs. mongodb
PGConf APAC 2018 - High performance json  postgre-sql vs. mongodbPGConf APAC 2018 - High performance json  postgre-sql vs. mongodb
PGConf APAC 2018 - High performance json postgre-sql vs. mongodb
 
A Quick Intro to ReactiveX
A Quick Intro to ReactiveXA Quick Intro to ReactiveX
A Quick Intro to ReactiveX
 
Javantura v3 - Going Reactive with RxJava – Hrvoje Crnjak
Javantura v3 - Going Reactive with RxJava – Hrvoje CrnjakJavantura v3 - Going Reactive with RxJava – Hrvoje Crnjak
Javantura v3 - Going Reactive with RxJava – Hrvoje Crnjak
 
Akka-demy (a.k.a. How to build stateful distributed systems) I/II
 Akka-demy (a.k.a. How to build stateful distributed systems) I/II Akka-demy (a.k.a. How to build stateful distributed systems) I/II
Akka-demy (a.k.a. How to build stateful distributed systems) I/II
 
Testing Spark and Scala
Testing Spark and ScalaTesting Spark and Scala
Testing Spark and Scala
 
Reactive mistakes reactive nyc
Reactive mistakes   reactive nycReactive mistakes   reactive nyc
Reactive mistakes reactive nyc
 
De Java 8 a Java 17
De Java 8 a Java 17De Java 8 a Java 17
De Java 8 a Java 17
 
Lightbend Lagom: Microservices Just Right (Scala Days 2016 Berlin)
Lightbend Lagom: Microservices Just Right (Scala Days 2016 Berlin)Lightbend Lagom: Microservices Just Right (Scala Days 2016 Berlin)
Lightbend Lagom: Microservices Just Right (Scala Days 2016 Berlin)
 
Logging in Docker
Logging in DockerLogging in Docker
Logging in Docker
 
Cpu profiling
Cpu profilingCpu profiling
Cpu profiling
 
Flywaydb
FlywaydbFlywaydb
Flywaydb
 
Log
LogLog
Log
 
Flyway: The agile database migration framework for Java
Flyway: The agile database migration framework for JavaFlyway: The agile database migration framework for Java
Flyway: The agile database migration framework for Java
 
LOGBack and SLF4J
LOGBack and SLF4JLOGBack and SLF4J
LOGBack and SLF4J
 

En vedette

Social Media Strategies - AM Digital Dealer Conference 2013
Social Media Strategies - AM Digital Dealer Conference 2013Social Media Strategies - AM Digital Dealer Conference 2013
Social Media Strategies - AM Digital Dealer Conference 2013Headstream
 
Android reverse engineering - Analyzing skype
Android reverse engineering - Analyzing skypeAndroid reverse engineering - Analyzing skype
Android reverse engineering - Analyzing skypeMário Almeida
 
Reverse engineering and instrumentation of android apps
Reverse engineering and instrumentation of android appsReverse engineering and instrumentation of android apps
Reverse engineering and instrumentation of android appsGaurav Lochan
 
ProbeDroid - Crafting Your Own Dynamic Instrument Tool on Android for App Beh...
ProbeDroid - Crafting Your Own Dynamic Instrument Tool on Android for App Beh...ProbeDroid - Crafting Your Own Dynamic Instrument Tool on Android for App Beh...
ProbeDroid - Crafting Your Own Dynamic Instrument Tool on Android for App Beh...ZongXian Shen
 
Beginners guide-to-reverse-engineering-android-apps-pau-oliva-fora-viaforensi...
Beginners guide-to-reverse-engineering-android-apps-pau-oliva-fora-viaforensi...Beginners guide-to-reverse-engineering-android-apps-pau-oliva-fora-viaforensi...
Beginners guide-to-reverse-engineering-android-apps-pau-oliva-fora-viaforensi...viaForensics
 

En vedette (6)

Social Media Strategies - AM Digital Dealer Conference 2013
Social Media Strategies - AM Digital Dealer Conference 2013Social Media Strategies - AM Digital Dealer Conference 2013
Social Media Strategies - AM Digital Dealer Conference 2013
 
Android reverse engineering - Analyzing skype
Android reverse engineering - Analyzing skypeAndroid reverse engineering - Analyzing skype
Android reverse engineering - Analyzing skype
 
Reverse Engineering Android Application
Reverse Engineering Android ApplicationReverse Engineering Android Application
Reverse Engineering Android Application
 
Reverse engineering and instrumentation of android apps
Reverse engineering and instrumentation of android appsReverse engineering and instrumentation of android apps
Reverse engineering and instrumentation of android apps
 
ProbeDroid - Crafting Your Own Dynamic Instrument Tool on Android for App Beh...
ProbeDroid - Crafting Your Own Dynamic Instrument Tool on Android for App Beh...ProbeDroid - Crafting Your Own Dynamic Instrument Tool on Android for App Beh...
ProbeDroid - Crafting Your Own Dynamic Instrument Tool on Android for App Beh...
 
Beginners guide-to-reverse-engineering-android-apps-pau-oliva-fora-viaforensi...
Beginners guide-to-reverse-engineering-android-apps-pau-oliva-fora-viaforensi...Beginners guide-to-reverse-engineering-android-apps-pau-oliva-fora-viaforensi...
Beginners guide-to-reverse-engineering-android-apps-pau-oliva-fora-viaforensi...
 

Similaire à Mobile malware analysis with the a.r.e. vm

Dropwizard Spring - the perfect Java REST server stack
Dropwizard Spring - the perfect Java REST server stackDropwizard Spring - the perfect Java REST server stack
Dropwizard Spring - the perfect Java REST server stackJacek Furmankiewicz
 
LCA13: LAVA and CI Component Review
LCA13: LAVA and CI Component ReviewLCA13: LAVA and CI Component Review
LCA13: LAVA and CI Component ReviewLinaro
 
Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...
Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...
Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...Codemotion
 
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.UA Mobile
 
Laskar: High-Velocity GraphQL & Lambda-based Software Development Model
Laskar: High-Velocity GraphQL & Lambda-based Software Development ModelLaskar: High-Velocity GraphQL & Lambda-based Software Development Model
Laskar: High-Velocity GraphQL & Lambda-based Software Development ModelGarindra Prahandono
 
Voxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering LabVoxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering LabRon Munitz
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Java Script recruiting
Java Script recruitingJava Script recruiting
Java Script recruitingIhor Odynets
 
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...Felipe Prado
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Waysmalltown
 
Workshop su Android Kernel Hacking
Workshop su Android Kernel HackingWorkshop su Android Kernel Hacking
Workshop su Android Kernel HackingDeveler S.r.l.
 
An Introduction To Android
An Introduction To AndroidAn Introduction To Android
An Introduction To Androidnatdefreitas
 
CodeMotion tel aviv 2015 - android reverse engineering lab
CodeMotion tel aviv 2015 - android reverse engineering labCodeMotion tel aviv 2015 - android reverse engineering lab
CodeMotion tel aviv 2015 - android reverse engineering labRon Munitz
 

Similaire à Mobile malware analysis with the a.r.e. vm (20)

Dropwizard Spring - the perfect Java REST server stack
Dropwizard Spring - the perfect Java REST server stackDropwizard Spring - the perfect Java REST server stack
Dropwizard Spring - the perfect Java REST server stack
 
LCA13: LAVA and CI Component Review
LCA13: LAVA and CI Component ReviewLCA13: LAVA and CI Component Review
LCA13: LAVA and CI Component Review
 
Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...
Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...
Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...
 
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
 
Java 8 Lambda
Java 8 LambdaJava 8 Lambda
Java 8 Lambda
 
Laskar: High-Velocity GraphQL & Lambda-based Software Development Model
Laskar: High-Velocity GraphQL & Lambda-based Software Development ModelLaskar: High-Velocity GraphQL & Lambda-based Software Development Model
Laskar: High-Velocity GraphQL & Lambda-based Software Development Model
 
The Java alternative to Javascript
The Java alternative to JavascriptThe Java alternative to Javascript
The Java alternative to Javascript
 
Dropwizard
DropwizardDropwizard
Dropwizard
 
Voxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering LabVoxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering Lab
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Dropwizard
DropwizardDropwizard
Dropwizard
 
Spark on yarn
Spark on yarnSpark on yarn
Spark on yarn
 
Java Script recruiting
Java Script recruitingJava Script recruiting
Java Script recruiting
 
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
 
Js on-microcontrollers
Js on-microcontrollersJs on-microcontrollers
Js on-microcontrollers
 
Workshop su Android Kernel Hacking
Workshop su Android Kernel HackingWorkshop su Android Kernel Hacking
Workshop su Android Kernel Hacking
 
An Introduction To Android
An Introduction To AndroidAn Introduction To Android
An Introduction To Android
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
CodeMotion tel aviv 2015 - android reverse engineering lab
CodeMotion tel aviv 2015 - android reverse engineering labCodeMotion tel aviv 2015 - android reverse engineering lab
CodeMotion tel aviv 2015 - android reverse engineering lab
 

Plus de Jimmy Shah

Brick all the internet of things!(with notes)
Brick all the internet of things!(with notes)Brick all the internet of things!(with notes)
Brick all the internet of things!(with notes)Jimmy Shah
 
There's no S(ecurity) in IoT: This is why we can't sleep
There's no S(ecurity) in IoT: This is why we can't sleepThere's no S(ecurity) in IoT: This is why we can't sleep
There's no S(ecurity) in IoT: This is why we can't sleepJimmy Shah
 
BYOD is now BYOT (Bring Your Own Threat) – Current Trends in Mobile APT
BYOD is now BYOT (Bring Your Own Threat) – Current Trends in Mobile APTBYOD is now BYOT (Bring Your Own Threat) – Current Trends in Mobile APT
BYOD is now BYOT (Bring Your Own Threat) – Current Trends in Mobile APTJimmy Shah
 
Solar Powered Parking Meters - An IoT thought experiment
Solar Powered Parking Meters - An IoT thought experimentSolar Powered Parking Meters - An IoT thought experiment
Solar Powered Parking Meters - An IoT thought experimentJimmy Shah
 
Viruses on mobile platforms why we don't/don't we have viruses on android_
Viruses on mobile platforms  why we don't/don't we have viruses on android_Viruses on mobile platforms  why we don't/don't we have viruses on android_
Viruses on mobile platforms why we don't/don't we have viruses on android_Jimmy Shah
 
Mobile malware heuristics the path from 'eh' to pretty good'
Mobile malware heuristics  the path from 'eh' to pretty good'Mobile malware heuristics  the path from 'eh' to pretty good'
Mobile malware heuristics the path from 'eh' to pretty good'Jimmy Shah
 
Isn't it all just SMS-sending trojans?: Real Advances in Android Malware
Isn't it all just SMS-sending trojans?: Real Advances in Android MalwareIsn't it all just SMS-sending trojans?: Real Advances in Android Malware
Isn't it all just SMS-sending trojans?: Real Advances in Android MalwareJimmy Shah
 
Smartphone Ownage: The state of mobile botnets and rootkits
Smartphone Ownage: The state of mobile botnets and rootkitsSmartphone Ownage: The state of mobile botnets and rootkits
Smartphone Ownage: The state of mobile botnets and rootkitsJimmy Shah
 

Plus de Jimmy Shah (8)

Brick all the internet of things!(with notes)
Brick all the internet of things!(with notes)Brick all the internet of things!(with notes)
Brick all the internet of things!(with notes)
 
There's no S(ecurity) in IoT: This is why we can't sleep
There's no S(ecurity) in IoT: This is why we can't sleepThere's no S(ecurity) in IoT: This is why we can't sleep
There's no S(ecurity) in IoT: This is why we can't sleep
 
BYOD is now BYOT (Bring Your Own Threat) – Current Trends in Mobile APT
BYOD is now BYOT (Bring Your Own Threat) – Current Trends in Mobile APTBYOD is now BYOT (Bring Your Own Threat) – Current Trends in Mobile APT
BYOD is now BYOT (Bring Your Own Threat) – Current Trends in Mobile APT
 
Solar Powered Parking Meters - An IoT thought experiment
Solar Powered Parking Meters - An IoT thought experimentSolar Powered Parking Meters - An IoT thought experiment
Solar Powered Parking Meters - An IoT thought experiment
 
Viruses on mobile platforms why we don't/don't we have viruses on android_
Viruses on mobile platforms  why we don't/don't we have viruses on android_Viruses on mobile platforms  why we don't/don't we have viruses on android_
Viruses on mobile platforms why we don't/don't we have viruses on android_
 
Mobile malware heuristics the path from 'eh' to pretty good'
Mobile malware heuristics  the path from 'eh' to pretty good'Mobile malware heuristics  the path from 'eh' to pretty good'
Mobile malware heuristics the path from 'eh' to pretty good'
 
Isn't it all just SMS-sending trojans?: Real Advances in Android Malware
Isn't it all just SMS-sending trojans?: Real Advances in Android MalwareIsn't it all just SMS-sending trojans?: Real Advances in Android Malware
Isn't it all just SMS-sending trojans?: Real Advances in Android Malware
 
Smartphone Ownage: The state of mobile botnets and rootkits
Smartphone Ownage: The state of mobile botnets and rootkitsSmartphone Ownage: The state of mobile botnets and rootkits
Smartphone Ownage: The state of mobile botnets and rootkits
 

Dernier

Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesChandrakantDivate1
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsChandrakantDivate1
 
Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312wphillips114
 
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...nishasame66
 
Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsChandrakantDivate1
 

Dernier (6)

Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & Examples
 
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and Layouts
 
Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312
 
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
 
Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s Tools
 

Mobile malware analysis with the a.r.e. vm

  • 1. LA2600 Android Malware Analysis with the Android Reverse Engineering(A.R.E.) LA2600.org VM Jimmy Shah
  • 2. LA2600 2 Android Reverse Engineering(A.R.E.) VM LA2600.org ● VM from the Honeynet Project ● Includes a full set of tools for reverse engineering Android apps ● Conversion tools – Dex2jar ● Classes.dex → Classes.dex.dex2jar.jar – AXMLprinter2.jar ● binary XML → Human readable XML ● Disassembler – Baksmali ● Dalvik bytecode → Jasmin-like assembly language ● GUI – APKInspector ● GUI includes baksmali, dex2jar, APKtool
  • 3. LA2600 3 Android Reverse Engineering(A.R.E.) VM, cont. LA2600.org ● More tools ● Conversion tools – APKTool ● ● smali/baksmali ● Disassembler – Baksmali ● Dalvik bytecode → Jasmin-like assembly language
  • 4. LA2600 LA2600.org Android for Reverse Engineers
  • 5. LA2600 5 LA2600.org Android for Reverse Engineers ● Android apps are distributed as APKs(zip files) – what's inside? ● Files – AndroidManifest.xml ● Stored as binary XML ● Permissions requested ● Registered intents – Entry points – classes.dex ● bytecode for the Dalvik VM ● App code is in classes.dex files. – resources.arsc ● compiled resource table
  • 6. LA2600 6 LA2600.org Android for Reverse Engineers, cont. ● Android apps are distributed as APKs(zip files) – what's inside? ● Directories – META-INF ● Public Keys ● Signatures for each component in the APK – res ● Images, strings, etc. – assets ● libraries ● other executables ● Other JARs
  • 7. LA2600 Java vs. Android .JAVA javac .CLASS JAR dx 7 LA2600.org Android for Reverse Engineers, cont. JJAARR .C.CLLAASSSS .C.CLLAASSSS .C.CLLAASSSS .CLASS .CLASS main() main() AAPPKK cclalasssseess.d.deexx
  • 8. LA2600 8 LA2600.org ●Processing a suspicious sample 1) Get sample 2) Begin analysis ● Static ● Identify known and active files ● File formats ● Executables ● Data fies ● Archives ● “active” files ● Executables and all files that can have an effect on the system ● Dynamic ● Run in Android VM
  • 9. LA2600 LA2600.org What's in the A.R.E.?
  • 10. LA2600 LA2600.org Overview – GNU strings ● You need strings, use strings. ● Ascii is default, unicode with option ● '-el' for 16 bit little-endian strings ● Why? ● Function calls ● Interesting Strings – Messages ● Errors ● Debug ● To analysts/press/etc. ● Shout-outs
  • 11. LA2600 11 LA2600.org Conversion - AXMLPrinter2 ● Java tool to convert AndroidManifest.xml to human readable XML
  • 12. LA2600 12 LA2600.org Decompilers - JAD ● Java Decompiler ● Feed it a JAR and get back decompiled .java source code. ● One of the few currently available java decompilers ● Useful but may no longer be updated by the author. ● Fails on some JAR files, classes ● Easy to run
  • 13. LA2600 13 LA2600.org Decompilers - ded ● Android decompiler ● Newer academic project designed specifically for mobile apps ● Optionally uses the Soot Java optimization framework to provide better results. ● Combines translation to JVM bytecode , optimization and decompilation ● Takes a while,but the success rate is higher than other tools.
  • 14. LA2600 14 LA2600.org VM - DroidBox ● Instrumented Android VM ● Monitors – Network activity – Opened connections – Outgoing traffic – Incoming traffic – DexClassLoader – Broadcast receivers – Started services – Enforced permissions – Permissions bypassed – Information leakage – Sent SMS – Phone calls
  • 15. LA2600 15 LA2600.org VM - DroidBox, cont. ● Running VM ● ./startemu.sh Android21 ● ./droidbox.sh <sample.apk> ● Ctrl-C to end logging/analysis
  • 16. LA2600 16 LA2600.org GUI - APKInspector ● Useful for analyzing APKs in one place ● Static analysis only – Strings, Methods, Disassembly, CFGs,etc.