Android Toepassings Pentesting
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Android Toepassings Basiese
Dit word sterk aanbeveel om eers hierdie bladsy te lees om te leer oor die belangrikste dele wat verband hou met Android-sekuriteit en die gevaarlikste komponente in ân Android-toepassing:
ADB (Android Debug Bridge)
Dit is die hoofinstrument wat jy nodig het om met ân Android-toestel (geĂ«muleer of fisies) te verbind.
ADB stel jou in staat om toestelbeheer Ăłf oor USB Ăłf oor die netwerk vanaf ân rekenaar uit te voer. Hierdie hulpmiddel maak dit moontlik om lĂȘers te kopieer in albei rigtings, installeer en verwyder apps, voer shell-opdragte uit, rugsteun data, lees logs, en ander funksies.
Kyk na die volgende lys van ADB Commands om te leer hoe om ADB te gebruik.
Smali
Soms is dit interessant om die aansoekkode te wysig om by verborge inligting te kom (bv. goed obfuskede wagwoorde of flags). Dan kan dit sin maak om die apk te decompileer, die kode te wysig en weer te compileer.
In this tutorial you can learn how to decompile and APK, modify Smali code and recompile the APK with the new functionality. Dit kan baie nuttig wees as ân alternatief vir verskeie toetse tydens die dinamiese analise wat aangebied gaan word. Hou dus altyd hierdie moontlikheid in gedagte.
Ander interessante truuks
- Spoofing your location in Play Store
- Shizuku Privileged API (ADB-based non-root privileged access)
- Exploiting Insecure In-App Update Mechanisms
- Abusing Accessibility Services (Android RAT)
- Android IME / InputMethodService Abuse (Malicious Keyboards)
- NFC/EMV Relay via HCE (Android Tap-to-Pay abuse)
- Download APKs: https://apps.evozi.com/apk-downloader/, https://apkpure.com/es/, https://www.apkmirror.com/, https://apkcombo.com/es-es/apk-downloader/, https://github.com/kiber-io/apkd
- Onttrek APK vanaf toestel:
adb shell pm list packages
com.android.insecurebankv2
adb shell pm path com.android.insecurebankv2
package:/data/app/com.android.insecurebankv2-Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk
adb pull /data/app/com.android.insecurebankv2-Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk
- Voeg alle splits en base apks saam met APKEditor:
mkdir splits
adb shell pm path com.android.insecurebankv2 | cut -d ':' -f 2 | xargs -n1 -i adb pull {} splits
java -jar ../APKEditor.jar m -i splits/ -o merged.apk
# after merging, you will need to align and sign the apk, personally, I like to use the uberapksigner
java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed
Android Enterprise & Work Profile Attacks
Android Enterprise Work Profile Bypass
Gevallestudies & Kwesbaarhede
Air Keyboard Remote Input Injection
Android Rooting Frameworks Manager Auth Bypass Syscall Hook
Arm64 Static Linear Map Kaslr Bypass
Statiese Analise
Eerstens, om ân APK te analiseer moet jy kyk na die Java code met ân decompiler.
Lees asseblief hier om inligting te vind oor verskillende beskikbare decompilers.
Soek na interessante inligting
Deur net na die strings van die APK te kyk kan jy soek na passwords, URLs (https://github.com/ndelphit/apkurlgrep), api sleutels, encryption, bluetooth uuids, tokens en enigiets interessant⊠kyk selfs vir code execution backdoors of authentication backdoors (hardcoded admin credentials in die app).
Firebase
Gee spesiale aandag aan firebase URLs en kontroleer of dit verkeerd gekonfigureer is. Meer inligting oor wat Firebase is en hoe om dit te misbruik hier.
Basiese begrip van die toepassing - Manifest.xml, strings.xml
Die ondersoek van ân toepassing se Manifest.xml en strings.xml lĂȘers kan moontlike sekuriteitskwesbaarhede ontbloot. Hierdie lĂȘers is toeganklik met decompilers of deur die APK-lĂȘeruitbreiding na .zip te hernoem en dit uit te pak.
Kwesbaarhede geĂŻdentifiseer uit die Manifest.xml sluit in:
- Debuggable Applications: Toepassings gemerk as debuggable (
debuggable="true") in die Manifest.xml lĂȘer vorm ân risiko aangesien dit verbindings toelaat wat uitbuiting kan moontlik maak. Vir meer begrip oor hoe om debuggable applications te misbruik, verwys na ân tutorial oor die vind en misbruik van debuggable applications op ân toestel. - Backup Settings: Die
android:allowBackup="false"attribuut moet eksplisiet gestel word vir toepassings wat met sensitiewe inligting werk om ongemagtigde databackups via adb te voorkom, veral wanneer usb debugging geaktiveer is. - Network Security: Pasgemaakte network security konfigurasies (
android:networkSecurityConfig="@xml/network_security_config") in res/xml/ kan sekuriteitsdetail soos certificate pins en HTTP traffic instellings spesifiseer. ân Voorbeeld is om HTTP traffic vir spesifieke domeine toe te laat. - Exported Activities and Services: Identifisering van exported activities en services in die manifest kan komponente uitlig wat misbruik kan word. Verdere ontleding tydens dinamiese toetsing kan openbaar hoe om hierdie komponente uit te buit.
- Content Providers and FileProviders: Blootgestelde content providers kan ongemagtigde toegang of wysiging van data toelaat. Die konfigurasie van FileProviders moet ook deeglik ondersoek word.
- Broadcast Receivers and URL Schemes: Hierdie komponente kan gebruik word vir uitbuiting, met besondere aandag aan hoe URL schemes bestuur word vir input kwesbaarhede.
- SDK Versions: Die
minSdkVersion,targetSDKVersion, enmaxSdkVersionattributte dui die ondersteunede Android weergawes aan, wat die belangrikheid beklemtoon om verouderde, kwesbare Android weergawes nie te ondersteun nie.
Uit die strings.xml lĂȘer kan sensitiewe inligting soos API sleutels, custom schemas en ander ontwikkelaarsnotas gevind word, wat die nodigheid beklemtoon om hierdie hulpbronne sorgvuldig na te gaan.
Tapjacking
Tapjacking is ân aanval waar ân malicious application gelanseer word en op die top van ân slagoffer-app posisioneer. Sodra dit die slagoffer-app sigbaar bedek, is die gebruikerskoppelvlak so ontwerp dat dit die gebruiker mislei om daarmee te interaksie, terwyl dit die interaksie aan die slagoffer-app deurgee.
In effek verblind dit die gebruiker sodat hulle nie weet dat hulle eintlik aksies op die slagoffer-app uitvoer nie.
Find more information in:
Task Hijacking
ân Activity met die launchMode gestel op singleTask sonder enige taskAffinity gedefinieer is vatbaar vir task Hijacking. Dit beteken dat ân application geĂŻnstalleer kan word en as dit voor die werklike toepassing gelanseer word, dit die task van die werklike toepassing kan kap (sodat die gebruiker met die malicious application sal interaksie hĂȘ en dink hy gebruik die werklike een).
More info in:
Onveilige data-berging
Internal Storage
In Android is lĂȘers wat in internal storage gestoor is ontwerp om uitsluitend deur die app wat dit geskep het toeganklik te wees. Hierdie sekuriteitsmaatreĂ«l word deur die Android bedryfstelsel afgedwing en is oor die algemeen voldoende vir meeste toepassings se sekuriteitsbehoeftes. Ontwikkelaars gebruik soms egter modusse soos MODE_WORLD_READABLE en MODE_WORLD_WRITABLE om lĂȘers tussen verskillende toepassings te deel. Hierdie modusse beperk nie die toegang tot hierdie lĂȘers deur ander toepassings nie, insluitend potensieel kwaadwillige toepassings.
- Static Analysis:
- Kontroleer dat die gebruik van
MODE_WORLD_READABLEenMODE_WORLD_WRITABLEsorgvuldig nagegaan word. Hierdie modusse kan lĂȘers blootstel aan onbedoelde of ongemagtigde toegang.
- Dynamic Analysis:
- Verifieer die permissies wat op lĂȘers geskep deur die app gestel is. Kontroleer spesifiek of enige lĂȘers stelbaar is om wĂȘreldwyd leesbaar of skryfbaar te wees. Dit kan ân beduidende sekuriteitsrisiko wees, aangesien dit enige application op die toestel sal toelaat om hierdie lĂȘers te lees of wysig, ongeag oorsprong of bedoeling.
External Storage
Wanneer daar met lĂȘers op external storage gewerk word, soos SD Cards, moet sekere voorsorgmaatreĂ«ls getref word:
- Toeganklikheid:
- LĂȘers op external storage is globaal leesbaar en skryfbaar. Dit beteken enige toepassing of gebruiker kan toegang tot hierdie lĂȘers kry.
- Sekuriteitsbedenkings:
- As gevolg van die maklike toegang word dit aanbeveel om nie sensitiewe inligting op external storage te stoor nie.
- External storage kan verwyder of deur enige toepassing benader word, wat dit minder veilig maak.
- Hantering van data vanaf External Storage:
- Voer altyd input validation uit op data wat vanaf external storage gehaal word. Dit is noodsaaklik omdat die data van ân onbetroubare bron kom.
- Dit word sterk afgerader om uitvoerbare lĂȘers of class files op external storage te stoor vir dinamiese laai.
- As jou toepassing uitvoerbare lĂȘers van external storage moet haal, maak seker dat hierdie lĂȘers gesigneer en kriptografies geverifieer is voordat hulle dinamies gelaai word. Hierdie stap is noodsaaklik om die veiligheidsintegriteit van jou toepassing te handhaaf.
External storage kan geaccess word in /storage/emulated/0 , /sdcard , /mnt/sdcard
Tip
Beginnend met Android 4.4 (API 17), het die SD-kaart ân gidsstruktuur wat toegang van ân app beperk tot die gids wat spesifiek vir daardie app is. Dit voorkom dat kwaadwillige toepassings lees- of skryf-toegang tot ân ander app se lĂȘers kry.
Sensitiewe data gestoor in plain-tekst
- Shared preferences: Android laat elke toepassing toe om maklik xml-lĂȘers te stoor in die pad
/data/data/<packagename>/shared_prefs/en soms is dit moontlik om sensitiewe inligting in plain-tekst in daardie gids te vind. - Databases: Android laat elke toepassing toe om sqlite-databasisse te stoor in die pad
/data/data/<packagename>/databases/en soms is dit moontlik om sensitiewe inligting in plain-tekst in daardie gids te vind.
Broken TLS
Accept All Certificates
Om onduidelike redes aanvaar ontwikkelaars soms alle sertifikate selfs al stem die hostname byvoorbeeld nie ooreen nie, met reëls van code soos die volgende:
SSLSocketFactory sf = new cc(trustStore);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
A good way to test this is to try to capture the traffic using some proxy like Burp without authorising Burp CA inside the device. Also, you can generate with Burp a certificate for a different hostname and use it.
Gebroke kriptografie
Swak sleutelbestuurprosesse
Sommige ontwikkelaars stoor sensitiewe data in die plaaslike stoorplek en enkripteer dit met ân sleutel wat hardgecodeer/voorspelbaar in die kode is. Dit behoort nie gedoen te word nie aangesien reversing aanvallers kan toelaat om die vertroulike inligting uit te trek.
Gebruik van onveilige en/of verouderde algoritmes
Ontwikkelaars moet nie verouderde algoritmes gebruik om authorisation checks uit te voer, data te store of te send nie. Sommige van hierdie algoritmes is: RC4, MD4, MD5, SHA1⊠As hashes byvoorbeeld gebruik word om passwords te store, moet hashes wat teen brute-force bestand is gebruik word saam met salt.
Ander kontroles
- Dit word aanbeveel om die APK te obfuskeren om die reverse engineer-werk vir aanvallers moeiliker te maak.
- As die app sensitief is (soos bank apps), moet dit sy eie kontroles uitvoer om te sien of die mobile is rooted en dienooreenkomstig optree.
- As die app sensitief is (soos bank apps), moet dit kontroleer of ân emulator gebruik word.
- As die app sensitief is (soos bank apps), moet dit sy eie integriteit kontroleer voordat dit uitgevoer word om te sien of dit gemodifiseer is.
- Use APKiD to check which compiler/packer/obfuscator was used to build the APK
React Native Application
Lees die volgende bladsy om te leer hoe om maklik toegang tot javascript kode van React applications te kry:
Xamarin Applications
Lees die volgende bladsy om te leer hoe om maklik toegang tot C# kode van ân xamarin applications te kry:
Superpacked Applications
According to this blog post superpacked is a Meta algorithm that compress the content of an application into a single file. Die blog praat oor die moontlikheid om ân app te skep wat hierdie soort apps dekomprimeer⊠en ân vinniger manier wat behels om die toepassing uit te voer en die decompressed files from the filesystem.
Automated Static Code Analysis
Die hulpmiddel mariana-trench is in staat om kwesbaarhede te vind deur die kode van die toepassing te scan. Hierdie hulpmiddel bevat ân serie van known sources (wat aan die hulpmiddel aandui die plekke waar die input deur die user beheer word), sinks (wat aan die hulpmiddel aandui gevaarlike plekke waar kwaadwillige gebruikersinvoer skade kan veroorsaak) en rules. Hierdie reĂ«ls dui die kombinasie van sources-sinks aan wat ân kwetsbaarheid aandui.
Met hierdie kennis sal mariana-trench die kode hersien en moontlike kwetsbaarhede daarin vind.
Secrets leaked
An application may contain secrets (API keys, passwords, hidden urls, subdomainsâŠ) inside of it that you might be able to discover. You could us a tool such as https://github.com/dwisiswant0/apkleaks
Bypass Biometric Authentication
Bypass Biometric Authentication (Android)
Ander interessante funksies
- Code execution:
Runtime.exec(), ProcessBuilder(), native code:system() - Stuur SMSs:
sendTextMessage, sendMultipartTestMessage - Native functions declared as
native:public native, System.loadLibrary, System.load - Read this to learn how to reverse native functions
- In-memory native code execution via JNI (downloaded shellcode â mmap/mprotect â call):
In Memory Jni Shellcode Execution
Other tricks
Dinamiese analise
First of all, you need an environment where you can install the application and all the environment (Burp CA cert, Drozer and Frida mainly). Therefore, a rooted device (emulated or not) is extremely recommended.
Aanlyn dinamiese analise
Jy kan ân free account skep by: https://appetize.io/. Hierdie platform laat jou toe om APKs te upload en te execute, so dit is nuttig om te sien hoe ân apk gedra.
Jy kan selfs die logs van jou toepassing op die web sien en verbind deur adb.
.png)
Danksy die ADB-verbinding kan jy Drozer en Frida binne die emulators gebruik.
Lokale dinamiese analise
Gebruik van ân emulator
- Android Studio (Jy kan x86 en arm toestelle skep, en volgens this latest x86 versions support ARM libraries without needing an slow arm emulator).
- Leer om dit op te stel op hierdie bladsy:
- Genymotion (Free version: Personal Edition, jy moet ân rekening skep. Itâs recommend to download the version WITH VirtualBox to avoid potential errors.)
- Nox (Free, maar dit ondersteun nie Frida of Drozer nie).
Tip
Wanneer jy ân nuwe emulator op enige platform skep, onthou dat hoe groter die skerm is, hoe stadiger die emulator sal loop. Kies dus kleiner skerms indien moontlik.
Om google services (soos AppStore) in Genymotion te installeer moet jy op die rooi gemerkte knoppie in die volgende beeld klik:
.png)
Let ook daarop dat in die konfigurasie van die Android VM in Genymotion jy Bridge Network mode kan kies (dit sal nuttig wees as jy vanaf ân ander VM met die gereedskap aan die Android VM wil koppel).
Gebruik ân fisiese toestel
Jy moet die debugging opsies aktiveer en dit sal goed wees as jy dit kan root:
- Settings.
- (FromAndroid 8.0) Select System.
- Select About phone.
- Press Build number 7 times.
- Go back and you will find the Developer options.
Sodra jy die toepassing geĂŻnstalleer het, is die eerste ding wat jy moet doen om dit te probeer en ondersoek wat dit doen, hoe dit werk en gemaklik daarmee te raak.
Ek stel voor om hierdie aanvanklike dinamiese analise met MobSF dynamic analysis + pidcat uit te voer, sodat ons kan leer hoe die toepassing werk terwyl MobSF baie interessante data vasvang wat jy later kan hersien.
Magisk/Zygisk quick notes (recommended on Pixel devices)
- Patch boot.img with the Magisk app and flash via fastboot to get systemless root
- Enable Zygisk + DenyList for root hiding; consider LSPosed/Shamiko when stronger hiding is required
- Keep original boot.img to recover from OTA updates; re-patch after each OTA
- For screen mirroring, use scrcpy on the host
Onbedoelde data leaks
Logging
Ontwikkelaars moet versigtig wees om debugging information publiek te openbaar, aangesien dit tot sensitiewe data leaks kan lei. Die gereedskap pidcat en adb logcat word aanbeveel om toepassingslogs te monitor om sensitiewe inligting te identifiseer en te beskerm. Pidcat word graag gebruik vir sy gemak en leesbaarheid.
Warning
Let daarop dat vanaf later newer than Android 4.0, applications are only able to access their own logs. Dus kan toepassings nie ander apps se logs benader nie.
Dit word egter steeds aanbeveel om nie sensitiewe inligting te log nie.
Kopieer/Plak-klembord
Android se clipboard-based raamwerk maak kopieer-plak funksionaliteit in apps moontlik, maar stel ân risiko omdat other applications die klembord kan access, wat potensieel sensitiewe data kan blootlĂȘ. Dit is noodsaaklik om kopieer/plak-funksies vir sensitiewe gedeeltes van ân toepassing, soos kredietkaartbesonderhede, te disable om data leaks te voorkom.
Crash Logs
As ân toepassing crashes en saves logs, kan hierdie logs aanvallers help, veral wanneer die toepassing nie gereverse-engineer kan word nie. Om hierdie risiko te verminder, vermy om by crashes te log, en as logs oor die netwerk gestuur moet word, maak seker dat hulle via ân SSL-kanaal gestuur word vir sekuriteit.
As pentester, try to take a look to these logs.
Analytics Data Sent To 3rd Parties
Toepassings integreer dikwels dienste soos Google Adsense, wat per ongeluk sensitiewe data kan leak as gevolg van onvanpaste implementering deur ontwikkelaars. Om potensiële data leaks te identifiseer, is dit raadsaam om die verkeer van die toepassing te onderskep en te kontroleer vir enige sensitiewe inligting wat aan derde partye gestuur word.
SQLite DBs
Die meeste toepassings sal internal SQLite databases gebruik om inligting te stoor. Tydens die pentest kyk na die databases wat geskep is, die name van tables en columns en al die data wat gestoor is omdat jy sensitiewe inligting kan vind (wat ân kwetsbaarheid sou wees).
Databasisse behoort te lĂȘ in /data/data/the.package.name/databases soos /data/data/com.mwr.example.sieve/databases
As die database vertroulike inligting stoor en encrypted is maar jy kan die password binne die toepassing find, is dit steeds ân vulnerability.
Enumereer die tabelle met .tables en enumereer die kolomme van die tabelle met .schema <table_name>
Drozer (Exploit Activities, Content Providers and Services)
From Drozer Docs: Drozer allows you to assume the role of an Android app and interact with other apps. It can do anything that an installed application can do, such as make use of Androidâs Inter-Process Communication (IPC) mechanism and interact with the underlying operating system.
Drozer is ân useful tool to exploit exported activities, exported services and Content Providers as you will learn in the following sections.
Exploiting exported Activities
Read this if you want to refresh what is an Android Activity.
Also remember that the code of an activity starts in the onCreate method.
Authorisation bypass
When an Activity is exported you can invoke its screen from an external app. Therefore, if an activity with sensitive information is exported you could bypass the authentication mechanisms to access it.
Learn how to exploit exported activities with Drozer.
You can also start an exported activity from adb:
- PackageName is com.example.demo
- Exported ActivityName is com.example.test.MainActivity
adb shell am start -n com.example.demo/com.example.test.MainActivity
NOTE: MobSF will detect as malicious the use of singleTask/singleInstance as android:launchMode in an activity, but due to this, apparently this is only dangerous on old versions (API versions < 21).
Tip
Neem kennis dat an authorisation bypass nie altyd ân kwesbaarheid is nie â dit hang af van hoe die bypass werk en watter inligting blootgestel word.
Sensitive information leakage
Activities can also return results. As jy daarin slaag om ân exported en onbeveiligde activity te vind wat die setResult-metode aanroep en sensitiewe inligting teruggee, is daar ân sensitive information leakage.
Tapjacking
As tapjacking nie verhoed word nie, kan jy die exported activity misbruik om die gebruiker onvoorsiene aksies uit te laat voer. Vir meer inligting oor wat Tapjacking is volg die skakel.
Exploiting Content Providers - Toegang tot en manipulasie van sensitiewe inligting
Read this if you want to refresh what is a Content Provider.
Content providers word hoofsaaklik gebruik om data te deel. As ân app beskikbare content providers het, kan jy dalk sensitiewe data daaruit onttrek. Dit is ook interessant om moontlike SQL injections en Path Traversals te toets, aangesien hulle kwesbaar kan wees.
Leer hoe om Content Providers met Drozer te exploiteer.
Exploiting Services
Read this if you want to refresh what is a Service.
Onthou dat die aksies van ân Service begin in die metode onStartCommand.
ân Service is basies iets wat data kan ontvang, dit kan verwerk en (al dan nie) ân respons terugstuur. As ân toepassing dus sekere services exporteer, moet jy die code nagaan om te verstaan wat dit doen en dit dinamies toets om vertroulike inligting te onttrek, outhentiseringsmaatreĂ«ls te omseil, ens.
Leer hoe om Services met Drozer te exploiteer.
Exploiting Broadcast Receivers
Read this if you want to refresh what is a Broadcast Receiver.
Onthou dat die aksies van ân Broadcast Receiver begin in die metode onReceive.
ân Broadcast Receiver wag vir ân tipe boodskap. Afhangend van hoe die receiver die boodskap hanteer, kan dit kwesbaar wees.
Leer hoe om Broadcast Receivers met Drozer te exploiteer.
Exploiting Schemes / Deep links
Jy kan handmatig vir deep links soek, met gereedskap soos MobSF of skripte soos this one.
Jy kan ân verklaarde scheme open using adb or a browser:
adb shell am start -a android.intent.action.VIEW -d "scheme://hostname/path?param=value" [your.package.name]
Neem kennis dat jy die pakketnaam kan weglaat en die mobiele toestel sal outomaties die app aanroep wat daardie skakel behoort oop te maak.
<!-- Browser regular link -->
<a href="scheme://hostname/path?param=value">Click me</a>
<!-- fallback in your url you could try the intent url -->
<a href="intent://hostname#Intent;scheme=scheme;package=your.package.name;S.browser_fallback_url=http%3A%2F%2Fwww.example.com;end">with alternative</a>
Kode uitgevoer
Om die kode wat in die App uitgevoer sal word te vind, gaan na die activity wat deur die deeplink aangeroep word en soek die funksie onNewIntent.
 (1) (1) (1).png)
Gevoelige inligting
Elke keer as jy ân deep link vind, maak seker dat dit nie gevoelige data (soos passwords) via URL parameters ontvang nie, want enige ander toepassing kan die deep link naboots en daardie data steel!
Parameters in path
Jy moet ook kontroleer of enige deep link ân parameter binne die pad gebruik van die URL soos: https://api.example.com/v1/users/{username}, in daardie geval kan jy ân path traversal afdwing deur toegang te verkry soos: example://app/users?username=../../unwanted-endpoint%3fparam=value.
Noteer dat as jy die korrekte endpoints binne die toepassing vind, jy moontlik ân Open Redirect kan veroorsaak (as ân deel van die pad as domain name gebruik word), account takeover (as jy gebruikersbesonderhede kan wysig sonder ân CSRF token en die vuln endpoint die korrekte metode gebruik) en enige ander vuln. More info about this here.
More examples
An interesting bug bounty report about links (/.well-known/assetlinks.json).
Transport Layer-inspeksie en verifikasie-foute
- Sertifikate word nie altyd behoorlik geĂŻnspekteer nie deur Android-toepassings. Dit is algemeen dat hierdie toepassings waarskuwings ignoreer en self-signed sertifikate aanvaar of, in sommige gevalle, terugval na die gebruik van HTTP-verbindinge.
- Onderhandelinge tydens die SSL/TLS-handshake is soms swak, en maak gebruik van onveilige cipher suites. Hierdie kwesbaarheid maak die verbinding vatbaar vir man-in-the-middle (MITM) aanvalle, wat aanvallers toelaat om die data te dekripteer.
- Leakage of private information is ân risiko wanneer toepassings authenticate met behulp van veilige kanale maar dan oor nie-veilige kanale kommunikeer vir ander transaksies. Hierdie benadering misluk om gevoelige data, soos session cookies of gebruikersbesonderhede, teen onderskeping deur kwaadwilliges te beskerm.
Sertifikaatverifikasie
Ons sal fokus op certificate verification. Die integriteit van die bediener se sertifikaat moet geverifieer word om veiligheid te verbeter. Dit is kritiek omdat onveilige TLS-konfigurasies en die oordrag van gevoelige data oor onversleutelde kanale beduidende risikoâs kan meebring. Vir gedetailleerde stappe oor die verifikasie van bediener-sertifikate en die aanspreek van kwesbaarhede, bied this resource omvattende leiding.
SSL Pinning
SSL Pinning is ân sekuriteitsmaatreĂ«l waar die toepassing die bediener se sertifikaat vergelyk met ân bekende kopie wat binne die toepassing gestoor is. Hierdie metode is noodsaaklik om MITM-aanvalle te voorkom. Implementering van SSL Pinning word sterk aanbeveel vir toepassings wat gevoelige inligting hanteer.
Traffic Inspection
Om HTTP-verkeer te inspekteer, is dit nodig om die proxy tool se sertifikaat te installeer (bv. Burp). Sonder om hierdie sertifikaat te installeer, mag versleutelde verkeer nie deur die proxy sigbaar wees nie. Vir ân gids oor die installering van ân custom CA certificate, click here.
Toepassings wat op API Level 24 and above mik, vereis wysigings aan die Network Security Config om die proxy se CA certificate te aanvaar. Hierdie stap is kritiek om versleutelde verkeer te inspekteer. Vir instruksies oor die wysiging van die Network Security Config, refer to this tutorial.
As Flutter gebruik word, moet jy die instruksies in this page volg. Dit is omdat net om die sertifikaat in die store by te voeg nie sal werk nie, aangesien Flutter sy eie lys van geldige CAs het.
Statiese opsporing van SSL/TLS pinning
Voordat jy runtime bypasses probeer, karteer vinnig waar pinning in die APK afgedwing word. Statiese ontdekking help jou om hooks/patches te beplan en op die regte kodepaaie te fokus.
Tool: SSLPinDetect
- Open-source static-analysis utility wat die APK to Smali decompileer (via apktool) en skandeer vir gekurateerde regex-patrone van SSL/TLS pinning implementasies.
- Rapporteer die presiese lĂȘerpad, reĂ«lnommer, en ân kodefragment vir elke tref.
- Dek algemene frameworks en custom code paths: OkHttp CertificatePinner, custom javax.net.ssl.X509TrustManager.checkServerTrusted, SSLContext.init met custom TrustManagers/KeyManagers, en Network Security Config XML pins.
Install
- Vereistes: Python >= 3.8, Java on PATH, apktool
git clone https://github.com/aancw/SSLPinDetect
cd SSLPinDetect
pip install -r requirements.txt
Gebruik
# Basic
python sslpindetect.py -f app.apk -a apktool.jar
# Verbose (timings + per-match path:line + snippet)
python sslpindetect.py -a apktool_2.11.0.jar -f sample/app-release.apk -v
Voorbeeld patroonreëls (JSON)
Gebruik of brei signatures uit om proprietary/custom pinning styles te detecteer. Jy kan jou eie JSON laai en op skaal scan.
{
"OkHttp Certificate Pinning": [
"Lcom/squareup/okhttp/CertificatePinner;",
"Lokhttp3/CertificatePinner;",
"setCertificatePinner"
],
"TrustManager Override": [
"Ljavax/net/ssl/X509TrustManager;",
"checkServerTrusted"
]
}
Aantekeninge en wenke
- Vinnige skandering op groot apps via multi-threading en memory-mapped I/O; vooraf-gekompileerde regex verminder oorhoofse werk/vals positiewe.
- Pattern collection: https://github.com/aancw/smali-sslpin-patterns
- Tipiese opsporingsdoelwitte om daarna te prioritiseer:
- OkHttp: CertificatePinner usage, setCertificatePinner, okhttp3/okhttp package references
- Aangepaste TrustManagers: javax.net.ssl.X509TrustManager, checkServerTrusted overrides
- Aangepaste SSL-kontekste: SSLContext.getInstance + SSLContext.init with custom managers
- Deklareerbare pins in res/xml network security config en manifestverwysings
- Gebruik die ooreenstemmende plekke om Frida hooks, statiese patches, of konfigurasie-oorsigte te beplan voordat dinamiese toetsing gedoen word.
Om SSL Pinning te omseil
Wanneer SSL Pinning geĂŻmplementeer is, word dit nodig om dit te omseil om HTTPS-verkeer te inspekteer. Verskeie metodes is beskikbaar vir hierdie doel:
- Automatically modify the apk to bypass SSLPinning with apk-mitm. Die hoof voordeel van hierdie opsie is dat jy nie root nodig het om die SSL Pinning te omseil nie, maar jy sal die toepassing moet verwyder en die nuwe weer moet installeer, en dit werk nie altyd nie.
- You could use Frida (discussed below) to bypass this protection. Here you have a guide to use Burp+Frida+Genymotion: https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/
- You can also try to automatically bypass SSL Pinning using objection:
objection --gadget com.package.app explore --startup-command "android sslpinning disable" - You can also try to automatically bypass SSL Pinning using MobSF dynamic analysis (explained below)
- If you still think that there is some traffic that you arenât capturing you can try to forward the traffic to burp using iptables. Read this blog: https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62
Soek na Algemene Web-kwesbaarhede
Dit is belangrik om ook binne die toepassing na algemene web-kwesbaarhede te soek. Gedetailleerde inligting oor die identifisering en versagting van hierdie kwesbaarhede val buite die omvang van hierdie opsomming, maar word elders uitvoerig behandel.
Frida
Frida is a dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers.
Jy kan toegang kry tot ân draaiende toepassing en metode-hooks by runtime toepas om die gedrag te verander, waardes te wysig, waardes uit te haal, andersins kode uit te voerâŠ
As jy Android-toepassings wil pentest, moet jy weet hoe om Frida te gebruik.
- Learn how to use Frida: Frida tutorial
- Some âGUIâ for actions with Frida: https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security
- Ojection is great to automate the use of Frida: https://github.com/sensepost/objection , https://github.com/dpnishant/appmon
- You can find some Awesome Frida scripts here: https://codeshare.frida.re/
- Try to bypass anti-debugging / anti-frida mechanisms loading Frida as in indicated in https://erfur.github.io/blog/dev/code-injection-without-ptrace (tool linjector)
Anti-instrumentering & SSL pinning bypass workflow
Android Anti Instrumentation And Ssl Pinning Bypass
Dump Memory - Fridump
Kontroleer of die toepassing sensitiewe inligting in die geheue stoor wat dit nie behoort te stoor nie, soos wagwoorde of mnemoniese frases.
Using Fridump3 you can dump the memory of the app with:
# With PID
python3 fridump3.py -u <PID>
# With name
frida-ps -Uai
python3 fridump3.py -u "<Name>"
Dit sal die memory in die ./dump folder dump, en daar kan jy grep met iets soos:
strings * | grep -E "^[a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+$"
Sensitiewe data in Keystore
In Android is die Keystore die beste plek om sensitiewe data te stoor, maar met genoeg voorregte is dit steeds moontlik om toegang daartoe te kry. Aangesien toepassings geneig is om sensitiewe data in duidelike teks hier te stoor, moet die pentests dit as root user nagaan, want iemand met fisiese toegang tot die toestel kan hierdie data steel.
Selfs as ân app data in die keystore stoor, moet die data geĂ«nkripteer wees.
Om by die data binne die keystore uit te kom, kan jy hierdie Frida script gebruik: https://github.com/WithSecureLabs/android-keystore-audit/blob/master/frida-scripts/tracer-cipher.js
frida -U -f com.example.app -l frida-scripts/tracer-cipher.js
Vingerafdruk/Biometrie Omseiling
Deur die volgende Frida-skrip te gebruik kan dit moontlik wees om die vingerafdruk-verifikasie wat Android-toepassings dalk uitvoer te omseil om sekere sensitiewe gebiede te beskerm:
frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app.package>
Agtergrondbeelde
Wanneer jy ân toepassing na die agtergrond skuif, stoor Android ân snapshot van die toepassing sodat wanneer dit na die voorgrond herstel word, dit eers die beeld begin laai voordat die app begin, sodat dit lyk asof die app vinniger gelaai is.
As hierdie snapshot egter gevoelige inligting bevat, kan iemand met toegang tot die snapshot daardie inligting steel (let wel: jy benodig root-toegang om dit te kan bereik).
Die snapshots word gewoonlik gestoor by: /data/system_ce/0/snapshots
Android bied ân manier om die opname van skermkiekies te voorkom deur die FLAG_SECURE layout-parameter te stel. Deur hierdie flag te gebruik, word die vensterinhoud as veilig behandel, wat verhoed dat dit in skermkiekies verskyn of op nie-veilig vertonings gesien kan word.
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
Android Application Analyzer
Hierdie hulpmiddel kan jou help om verskeie gereedskap tydens die dinamiese ontleding te bestuur: https://github.com/NotSoSecure/android_application_analyzer
Intent Injection
Ontwikkelaars skep dikwels proxy-komponente soos activities, services en broadcast receivers wat hierdie Intents hanteer en dit aan metodes soos startActivity(...) of sendBroadcast(...) deurgee, wat riskant kan wees.
Die gevaar lĂȘ daarin om aanvallers toe te laat om nie-geĂ«xporteerde app-komponente te aktiveer of sensitiewe content providers te bereik deur hierdie Intents verkeerd te lei. ân Noemenswaardige voorbeeld is die WebView-komponent wat URLâs na Intent-objecte omskakel via Intent.parseUri(...) en dit dan uitvoer, wat moontlik tot malicious Intent injections kan lei.
Belangrike punte
- Intent Injection is soortgelyk aan die web se Open Redirect-kwessie.
- Eksploite behels om
Intent-objekte as extras deur te gee, wat herlei kan word om onveilige operasies uit te voer. - Dit kan nie-geëxporteerde komponente en content providers aan aanvallers blootstel.
- Die
WebViewse omskakeling van URLâs naIntentkan onbeoogde aksies vergemaklik.
Android Client Side Injections en ander
Jy ken waarskynlik hierdie soort kwesbaarhede van die web. Jy moet besonders versigtig wees met hierdie kwesbaarhede in ân Android-toepassing:
- SQL Injection: Wanneer jy te make het met dinamiese navrae of Content-Providers, maak seker jy gebruik geparametriseerde navrae.
- JavaScript Injection (XSS): Maak seker dat JavaScript- en Plugin-ondersteuning vir enige WebViews gedeaktiveer is (gedeaktiveer per verstek). More info here.
- Local File Inclusion: WebViews behoort toegang tot die lĂȘerstelsel gedeaktiveer te hĂȘ (per verstek geaktiveer) -
(webview.getSettings().setAllowFileAccess(false);). More info here. - Eternal cookies: In verskeie gevalle, wanneer die Android-toepassing die sessie beëindig, word die cookie nie herroep nie of dit kan selfs op skyf gestoor word
- Secure Flag in cookies
Outomatiese Analise
MobSF
Statiese ontleding
.png)
Kwetsbaarheidsassessering van die toepassing met ân netjiese web-gebaseerde frontend. Jy kan ook dinamiese ontleding doen (maar jy moet die omgewing voorberei).
docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
Let op dat MobSF kan analiseer Android(apk), IOS(ipa) and Windows(apx) toepassings (Windows-toepassings moet ontleed word vanaf ân MobSF wat op ân Windows-host geĂŻnstalleer is).
Ook, as jy ân ZIP-lĂȘer met die bronkode van ân Android of ân IOS-app skep (gaan na die wortelgids van die toepassing, kies alles en skep ân ZIP-lĂȘer), sal dit dit ook kan analiseer.
MobSF laat jou ook toe om diff/Compare ontledings te doen en om VirusTotal te integreer (jy sal jou API-sleutel in MobSF/settings.py moet instel en dit aktiveer: VT_ENABLED = TRUE VT_API_KEY = <Your API key> VT_UPLOAD = TRUE). Jy kan ook VT_UPLOAD op False stel, dan sal die hash in plaas van die lĂȘer opgelaai word.
Assisted Dynamic analysis with MobSF
MobSF kan ook baie nuttig wees vir dynamic analysis in Android, maar in daardie geval sal jy MobSF en genymotion op jou host moet installeer (n VM of Docker gaan nie werk nie). Nota: Jy moet eers ân VM in genymotion begin en dan MobSF.
Die MobSF dynamic analyser kan:
- Dump application data (URLs, logs, clipboard, screenshots made by you, screenshots made by âExported Activity Testerâ, emails, SQLite databases, XML files, and other created files). Dit word alles outomaties gedoen behalwe vir die skermkiekies â jy moet druk wanneer jy ân skermkiekie wil hĂȘ of jy moet druk âExported Activity Testerâ om skermkiekies van al die exported activities te kry.
- Capture HTTPS traffic
- Use Frida to obtain runtime information
From android versions > 5, it will automatically start Frida and will set global proxy settings to capture traffic. It will only capture traffic from the tested application.
Frida
By default, it will also use some Frida Scripts to bypass SSL pinning, root detection and debugger detection and to monitor interesting APIs.
MobSF kan ook invoke exported activities, grab screenshots of them and save them for the report.
To start the dynamic testing press the green bottom: âStart Instrumentationâ. Press the âFrida Live Logsâ to see the logs generated by the Frida scripts and âLive API Monitorâ to see all the invocation to hooked methods, arguments passed and returned values (this will appear after pressing âStart Instrumentationâ).
MobSF laat jou ook toe om jou eie Frida scripts te laai (om die resultate van jou Frida scripts na MobSF te stuur gebruik die funksie send()). Dit het ook veral geskryfde scripts wat jy kan laai (jy kan meer byvoeg in MobSF/DynamicAnalyzer/tools/frida_scripts/others/), kies net them, druk âLoadâ en druk âStart Instrumentationâ (jy sal die logs van daardie scripts binne âFrida Live Logsâ kan sien).
.png)
Verder het jy ân paar aanvullende Frida-funksies:
- Enumerate Loaded Classes: Dit sal al die gelaaide klasse uitdruk
- Capture Strings: Dit sal al die vasgelegde stringe uitstuur terwyl jy die toepassing gebruik (baie luidrugtig)
- Capture String Comparisons: Kan baie nuttig wees. Dit sal die 2 stringe wat vergelyk word wys en of die resultaat True of False was.
- Enumerate Class Methods: Gee die klassenaam (soos âjava.io.Fileâ) en dit sal al die metodes van die klas druk.
- Search Class Pattern: Soek klasse per patroon
- Trace Class Methods: Trace ân hele klas (sien insette en uitsette van alle metodes van die klas). Onthou dat standaard MobSF verskeie interessante Android Api methods trace.
Sodra jy die hulpmoduut gekies het wat jy wil gebruik, moet jy op âStart Intrumentationâ druk en jy sal al die uitvoer in âFrida Live Logsâ sien.
Shell
MobSF gee jou ook ân shell met sommige adb commands, MobSF commands, en algemene shell commands onderaan die dynamic analysis bladsy. Sommige interessante opdragte:
help
shell ls
activities
exported_activities
services
receivers
HTTP tools
Wanneer HTTP-verkeer vasgelĂȘ word, kan jy ân lelike weergawe van die vasgelĂȘ verkeer sien op die âHTTP(S) Trafficâ knoppie of ân netter weergawe op die groen âStart HTTPToolsâ knoppie. Vanaf die tweede opsie kan jy die captured requests stuur na proxies soos Burp of Owasp ZAP.
Om dit te doen, skakel Burp aan â> skakel Intercept af â> in MobSB HTTPTools kies die request â> druk âSend to Fuzzerâ â> kies die proxy-adres (http://127.0.0.1:8080\).
Sodra jy die dinamiese analise met MobSF voltooi het, kan jy op âStart Web API Fuzzerâ druk om fuzz http requests te doen en na kwesbaarhede te soek.
Tip
Na die uitvoering van ân dinamiese analise met MobSF kan die proxy-instellings verkeerd gekonfigureer wees en sal jy dit nie vanuit die GUI kan regmaak nie. Jy kan die proxy-instellings herstel deur:
adb shell settings put global http_proxy :0
Geassisteerde dinamiese ontleding met Inspeckage
You can get the tool from Inspeckage.
Hierdie instrument gebruik ân paar Hooks om jou te wys wat in die toepassing gebeur terwyl jy ân dinamiese analise uitvoer.
Yaazhini
Dit is ân geweldige instrument om static analysis met ân GUI uit te voer
.png)
Qark
Hierdie tool is ontwerp om na verskeie sekuriteitsverwante Android-toepassings-kwesbaarhede te soek, hetsy in source code of packaged APKs. Die tool is ook capable of creating a âProof-of-Conceptâ deployable APK en ADB commands om sommige van die gevonde kwesbaarhede te eksploiteer (Exposed activities, intents, tapjackingâŠ). Soos met Drozer, is dit nie nodig om die toetstoestel te root nie.
pip3 install --user qark # --user is only needed if not using a virtualenv
qark --apk path/to/my.apk
qark --java path/to/parent/java/folder
qark --java path/to/specific/java/file.java
ReverseAPK
- Wys alle onttrekte lĂȘers vir maklike verwysing
- Dekompileer APK-lĂȘers outomaties na Java- en Smali-formaat
- Analiseer AndroidManifest.xml vir algemene kwesbaarhede en gedrag
- Statiese bronkode-analise vir algemene kwesbaarhede en gedrag
- Toestelinligting
- en meer
reverse-apk relative/path/to/APP.apk
SUPER Android Analyzer
SUPER is ân opdragreĂ«ltoepassing wat op Windows, MacOS X en Linux gebruik kan word, en wat .apk lĂȘers ontleed op soek na kwesbaarhede. Dit doen dit deur APKs te dekomprimeer en ân reeks reĂ«ls toe te pas om daardie kwesbaarhede op te spoor.
Alle reĂ«ls is sentreer in die rules.json lĂȘer, en elke maatskappy of toetser kan sy eie reĂ«ls skep om te ontleed wat hulle nodig het.
Laai die jongste binaries af vanaf die download page
super-analyzer {apk_file}
StaCoAn
.png)
StaCoAn is ân crossplatform tool wat ontwikkelaars, bugbounty hunters en ethical hackers help met static code analysis op mobiele toepassings.
Die konsep is dat jy jou mobiele toepassingslĂȘer (an .apk or .ipa file) op die StaCoAn-toepassing sleur en los, en dit sal ân visuele en draagbare verslag vir jou genereer. Jy kan die instellings en wordlists aanpas om ân aangepaste ervaring te kry.
Download latest release:
./stacoan
AndroBugs
AndroBugs Framework is ân Android-kwesbaarheid-analisesisteem wat ontwikkelaars of hackers help om potensiĂ«le sekuriteitskwesbaarhede in Android-toepassings te vind.
Windows releases
python androbugs.py -f [APK file]
androbugs.exe -f [APK file]
Androwarn
Androwarn is ân hulpmiddel waarvan die hoofdoel is om potensieel kwaadwillige gedrag wat deur ân Android-toepassing ontwikkel is, op te spoor en die gebruiker daaroor te waarsku.
Die opsporing word uitgevoer deur die static analysis van die toepassing se Dalvik bytecode, wat as Smali voorgestel word, met die androguard biblioteek.
Hierdie hulpmiddel soek na algemene gedrag van âslegteâ toepassings soos: Telephony identifiers exfiltration, Audio/video flow interception, PIM data modification, Arbitrary code executionâŠ
python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
MARA Framework
.png)
MARA is a Mobile Application Reverse engineering and Analysis Framework. Dit is ân hulpmiddel wat algemeen gebruikte mobile application reverse engineering- en analise-instrumente bymekaar sit om te help met die toetsing van mobiele toepassings teen die OWASP mobile security threats. Dit het ten doel om hierdie taak makliker en meer gebruikersvriendelik te maak vir mobiele toepassingsontwikkelaars en sekuriteitsprofessionals.
Dit kan:
- Onttrek Java- en Smali-kode met verskeie gereedskap
- Analiseer APKâs met behulp van: smalisca, ClassyShark, androbugs, androwarn, APKiD
- Onttrek privaat inligting uit die APK met regexps.
- Analiseer die Manifest.
- Analiseer gevonde domeine met behulp van: pyssltest, testssl and whatweb
- Deobfuscate APK via apk-deguard.com
Koodous
Nuttig om malware op te spoor: https://koodous.com/
Obfuskering/Deobfuskering van kode
Neem kennis dat, afhangende van die diens en konfigurasie wat jy gebruik om die kode te obfuskeer, geheime moontlik wel of nie obfuskeer sal wees nie.
ProGuard
Van Wikipedia: ProGuard is ân open source opdragreĂ«l-hulpmiddel wat Java-kode verklein, optimaliseer en obfuskeer. Dit kan bytekode optimaliseer en ongebruikte instruksies opspoor en verwyder. ProGuard is vrye sagteware en word versprei onder die GNU General Public License, weergawe 2.
ProGuard word meeversprei as deel van die Android SDK en loop wanneer die toepassing in release-modus gebou word.
DexGuard
Vind ân stap-vir-stap gids om die apk te deobfuskeer by https://blog.lexfo.fr/dexguard.html
(Uit daardie gids) Die laaste keer wat ons gekyk het, was die Dexguard bedryfswyse:
- laai ân bron as ân InputStream;
- voer die resultaat na ân klas wat van FilterInputStream erf om dit te ontsleutel;
- doen ân paar nuttelose obfuskasies om ân paar minute van ân reverser se tyd te mors;
- voer die ontsleutelde resultaat na ân ZipInputStream om ân DEX-lĂȘer te kry;
- laastens laai die resulterende DEX as ân Resource met die
loadDexmetode.
DeGuard
DeGuard keer die obfuskeringproses om wat deur Android-obfuskeringinstrumente uitgevoer is. Dit stel verskeie sekuriteitsanalises in staat, insluitend kode-inspeksie en die identifisering van biblioteke.
Jy kan ân obfuskeerde APK na hul platform oplaai.
[Deobfuscate android App]https://github.com/In3tinct/deobfuscate-android-app
Dit is ân LLM-instrument om moontlike sekuriteitskwesbaarhede in Android-apps te vind en Android-appkode te deobfuskeer. Gebruik Googleâs Gemini openbare API.
Simplify
Dit is ân generiese android deobfuscator. Simplify virtueel voer ân app uit om sy gedrag te verstaan en probeer dan die kode optimaliseer sodat dit identies optree maar makliker vir ân mens is om te verstaan. Elke tipe optimalisering is eenvoudig en generies, so dit maak nie saak watter spesifieke tipe obfuskering gebruik is nie.
APKiD
APKiD gee jou inligting oor hoe ân APK gemaak is. Dit identifiseer baie compilers, packers, obfuscators, en ander vreemde goed. Dit is PEiD vir Android.
Manual
Lees hierdie handleiding om ân paar truuks te leer oor hoe om pasgemaakte obfuskering om te keer
Labs
Androl4b
AndroL4b is ân Android-sekuriteits-virtuele masjien gebaseer op ubuntu-mate en sluit ân versameling van die nuutste frameworks, tutoriale en labs van verskillende sekuriteits-entoesiaste en navorsers vir reverse engineering en malware-analise in.
Verwysings
- https://owasp.org/www-project-mobile-app-security/
- https://appsecwiki.com/#/ Dit is ân uitstekende lys hulpbronne
- https://maddiestone.github.io/AndroidAppRE/ Android vinnige kursus
- https://manifestsecurity.com/android-application-security/
- https://github.com/Ralireza/Android-Security-Teryaagh
- https://www.youtube.com/watch?v=PMKnPaGWxtg&feature=youtu.be&ab_channel=B3nacSec
- SSLPinDetect: Advanced SSL Pinning Detection for Android Security Analysis
- SSLPinDetect GitHub
- smali-sslpin-patterns
- Build a Repeatable Android Bug Bounty Lab: Emulator vs Magisk, Burp, Frida, and Medusa
- CoRPhone â Android in-memory JNI execution and packaging pipeline
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks

