Android App Bug Bounty Secrets

Поділитися
Вставка
  • Опубліковано 11 чер 2024
  • Sergey Toshin tells us the story of how he became a top Android bug hunter and how he finds critical vulnerabilities. He also shows us a really cool vulnerability found in the Google Android Snapseed app. I didn't know this crazy attack vector exists!
    Start Android Bug Hunting Here! Google App Scan Results: bughunters.google.com/report/...
    Google Mobile VRP: bughunters.google.com/about/r...
    Oversecured Blog: blog.oversecured.com/
    Verify the output of tools: bughunters.google.com/learn/i...
    More Bug Bounty Videos: • Bug Bounty
    More Mobile Security: • Mobile Security
    Chapters:
    00:00 - Intro
    00:57 - Meet Sergey Toshin (Oversecured)
    02:51 - How Oversecured Started
    04:42 - Verify The Output of Tools!
    07:17 - First Look at Vulnerability
    09:58 - 1. Explained: Android Intents
    11:25 - 2. Explained: Content Providers
    12:51 - 3. Explained: App Permissions
    13:34 - Exploit Walkthrough
    16:17 - Proof of Concept and Report
    17:15 - Android VRP Rewards
    18:32 - Start Hunting for Bugs in Google Apps!
    =[ ❤️ Support ]=
    → per Video: / liveoverflow
    → per Month: / @liveoverflow
    =[ 🐕 Social ]=
    → Twitter: / liveoverflow
    → Instagram: / liveoverflow
    → Blog: liveoverflow.com/
    → Subreddit: / liveoverflow
    → Facebook: / liveoverflow
  • Розваги

КОМЕНТАРІ • 141

  • @LiveOverflow
    @LiveOverflow  11 місяців тому +163

    Hey all! As you can see the video is still in the old style. In fact the video was prepared quite a while ago, but I was only able to publish it now. I hope you enjoy it regardless, because I think Sergey's story is super fascinating, and the bug he shows us is probably the coolest Android app bug.

    • @landyn436
      @landyn436 11 місяців тому +2

      were you waiting for google to fix this class of bugs before your audience got any funny ideas?

    • @justind4615
      @justind4615 11 місяців тому +2

      @@landyn436 ye i have same question please liveoverflow answer :D

  • @jothamprince8765
    @jothamprince8765 11 місяців тому +77

    I'm not a bug hunter by all means, I'm jhus a 3rd year CS student, but I found the video very very, interesting, I love the way you explained the concepts, I don't know java but I was following along and it was definitely very interesting, thanks man, keep up the good work

  • @bcut2965
    @bcut2965 11 місяців тому +78

    I've started looking into mobile bug hunting yesterday and today I wake up to this notification. I guess it's a good sign

    • @tbird81
      @tbird81 11 місяців тому

      It was the ghost of Steve Jobs.

    • @abdarafi
      @abdarafi 11 місяців тому

      Go go

    • @marshalrace9189
      @marshalrace9189 11 місяців тому +5

      Not luck but Google trackers😂 they know everything.

    • @therealb888
      @therealb888 10 місяців тому

      Thank the google trackers lol

    • @dindayalsingh2613
      @dindayalsingh2613 4 місяці тому

      So how it's going

  • @andrekz9138
    @andrekz9138 11 місяців тому +2

    One of my favorite videos you've produced. Thank you Sergey too

  • @blizzy78
    @blizzy78 11 місяців тому +78

    To be fair, the problem is not really in Snapseed, but in the Android API. It shouldn't be possible to grant permissions to another app just by setting a result Intent. Instead, you should have to use an explicit API call to grant permissions. Otherwise, each app would have to scan for malicious data inside an Intent it wants to return to the sender.

    • @Z3rgatul
      @Z3rgatul 11 місяців тому +2

      I am noob in android development (only tried developing 2-3 single apps for myself), but I had the same thoughts while watching this video

    • @prakash-niroula
      @prakash-niroula 11 місяців тому +3

      Perhaps not, because any other app can create new intent filled with the data it wants to return it to the sender which doesn't copy the malicious flags from the sender.
      Also as a new intent is created, it doesn't copy everything blindly and also, there is no way of _accidentally_ setting malicious flags
      PS: I am not a bug hunter by any means and this information could be inaccurate ( please be sure to correct me if that happens! )

    • @cryingwater
      @cryingwater 11 місяців тому +4

      ^ Tell me you hadn't made an Android app with Intents without telling me you didn't.
      The Intent was mishandled by Snapseed. So many wrong things have to happen for that vulnerability to even be possible and Snapseed happened to check them all. You shouldn't pass around raw Intents without some form of check as it's like passing around passwords

    • @blizzy78
      @blizzy78 9 місяців тому +2

      @@cryingwater This is not what I was trying to say. Yes, there was that bug in Snapseed. But had it not been for the bad API, this bug would not have been possible from the start.
      Also, yes, I have been developing native Android applications.

  • @faboxbkn
    @faboxbkn 10 місяців тому +2

    This video brings up so much value. Thank you both!

  • @kingshukcs
    @kingshukcs 11 місяців тому +1

    Really interesting to watch!! I enjoyed your detailed explanation! Thank you so much❤

  • @SAMISAMI-em3ev
    @SAMISAMI-em3ev 11 місяців тому

    I was waiting for it 🎉
    Thank you.

  • @ofeki4533
    @ofeki4533 11 місяців тому +6

    As a android developer, THIS IS GREAT! thank you for this content !

  • @PhilippDurrer
    @PhilippDurrer 11 місяців тому +14

    I have a list of dozens of apps that include hard coded API keys, you wouldn't believe how many app developers just don't care.

    • @WarNinGXK
      @WarNinGXK 11 місяців тому

      Or are newbies? Or it's from big apps?

    • @PhilippDurrer
      @PhilippDurrer 11 місяців тому

      @@WarNinGXK Big apps that have official bug bounty programs. Rejecting reports because they don't care if their API keys get abused.

    • @thunfisch987
      @thunfisch987 11 місяців тому

      The current version of Google Authenticator does for example🤔 (look at the results on oversecured)

  • @user-xb9tw5cp1s
    @user-xb9tw5cp1s 11 місяців тому

    Thanks for all the content!

  • @gooniesfan7911
    @gooniesfan7911 11 місяців тому +1

    Learned quite a bit from this video. Hope some people have success in their endevours ❤

  • @nikoshalk
    @nikoshalk 10 місяців тому

    Nice explanation! Looking forward to more Android security videos!

  • @nicof_2000
    @nicof_2000 11 місяців тому

    Amazing video, very well explained. Thanks a lot!

  • @kRySt4LGaMeR
    @kRySt4LGaMeR 11 місяців тому +5

    this intent reflection thing is quite surprising and I can see why many programmers would accidentally do it. unless google changes the API somehow I can see how sergey will laugh to the bank forever with this tool.

  • @ivanov83
    @ivanov83 11 місяців тому +11

    Sergei is a well known person in russian speaking infosec community. It’s great to see him here.
    Thank you for a great video

    • @Z3rgatul
      @Z3rgatul 11 місяців тому

      I hope he doesn't support war as many russians do

  • @franmaric
    @franmaric 11 місяців тому

    Great video!!! Please, make more videos about mobile app security.

  • @mattmmilli8287
    @mattmmilli8287 11 місяців тому

    Your Mona Lisa drawing was way way better than most could do 😂

  • @drac.96
    @drac.96 11 місяців тому +6

    As a mobile app developer, I am looking forward to seeing more bug reports for more and more apps and hopefully seeing them get patched.
    Also, I may be slightly concerned.

  • @libshastra
    @libshastra 11 місяців тому +7

    Franhofer institute (I'm butchering the spelling) built a framework for Code property analysis around the 2014s. While it was great for Java applications, it was very hit or miss for Android, usually it treated intents and other Android components as sinks. Glad to see that framework has adapted for Android

  • @tomaszlis993
    @tomaszlis993 11 місяців тому +12

    I wish your Intent as our ContentProvider would be to make more videos on Android.

  • @jlsuperman
    @jlsuperman 2 роки тому +31

    I love watching your videos and I've learned a lot from them. I work with Android security and this one is making the rounds :D

    • @SAMISAMI-em3ev
      @SAMISAMI-em3ev 11 місяців тому +12

      What the hell!
      The comment was year ago!!

    • @aftermath1886
      @aftermath1886 11 місяців тому +4

      yeah wtf , u time traveler or something bro?

    • @adamsea
      @adamsea 11 місяців тому +2

      I guess video was unlisted?

    • @toorero
      @toorero 11 місяців тому +1

      Wait, how is your comment from one year ago? 🧐

    • @arili-eo7vw
      @arili-eo7vw 11 місяців тому +1

      This is crazy
      You timetraveler

  • @takeiteasyeh
    @takeiteasyeh 11 місяців тому

    great breakdown

  • @thogameskanaal
    @thogameskanaal 11 місяців тому +6

    Dang, I use Snapseed almost daily. So easy for quick edits on amateur shots, since it supports RAW format.

  • @maxmyzer9172
    @maxmyzer9172 11 місяців тому

    I used snapseed occasionally. Interesting!

  • @jacesec6484
    @jacesec6484 11 місяців тому

    sounds like a great ctf idea

  • @wijdswijdssd5125
    @wijdswijdssd5125 11 місяців тому

    Great Video

  • @happyeverafter1797
    @happyeverafter1797 6 місяців тому

    I subscribed to you because of this video just want to let you know Happy hunting

  • @TheAces1979
    @TheAces1979 10 місяців тому +2

    Why does it say "advertisement" in the upper right. Is this whole video actually just a commercial for the tool?

    • @NohusBluxome
      @NohusBluxome 10 місяців тому

      It's an advertisement for Google's Bug Bounty program, he says so at the beginning.

  • @WarNinGXK
    @WarNinGXK 11 місяців тому

    More Android videos, PLEASE!

  • @spooky4655
    @spooky4655 11 місяців тому

    I've seen tons of apps that have their onesignal api's exposed and yes it is usable, its like they don't even try hiding it...
    for those who don't know onesignal is what you use to send out notifications.

  • @hvaandres
    @hvaandres 11 місяців тому +1

    So, I believe this is why Android added the functionality where it asks you if the app can share your data

    • @nelmatrix3942
      @nelmatrix3942 11 місяців тому

      Wow, that actually makes a lot of sense. This means that Android also needs the permission of the user to allow the app to give access to its content to other apps even if the app agreed to. This will simply block the app from allowing other apps to get access to its content even if it accepts to, but the user does not. It is like asking your mum(the app in this case) if you can go out on a data with this girl she met, she says yes, but your dad(the user in this case) says no. Therefore you do not get to go on a data with the girl. 😂

    • @Originalimoc
      @Originalimoc 11 місяців тому

      Which version which feature?

  • @nosystemissaf3
    @nosystemissaf3 11 місяців тому

    THIS IS SO COOL

  • @exoqqen
    @exoqqen 11 місяців тому +1

    Does anybody know where i could ask entry level webdev exploit questions? I have been googling myself for 2 days, reading research papers, docs and forum posts about indexedDB, WebGL and watched some defcon videos, but i seem to be stuck. Sadly theres no liveoverflow discord.

  • @BugMosphere
    @BugMosphere 11 місяців тому

    cool, I am an android developer, and this video just blow my mind

  • @abdelrahmansaeed8695
    @abdelrahmansaeed8695 11 місяців тому

    I hope you give us some resources to learn ❤

  • @anasshaikh5778
    @anasshaikh5778 10 місяців тому

    Any other resources for learning Android security?

  • @More-Raged
    @More-Raged 11 місяців тому

    if you are german
    cooles video!

  • @therealb888
    @therealb888 10 місяців тому

    Are there any such tools to scan the source code of opensource apps or repos? Something like github copilot x but for finding bugs & malicious code

  • @rafaelnasser1636
    @rafaelnasser1636 11 місяців тому

    Android bugs are the best ❤ scrapping so many apps through bugs 😂

  • @SaeedAlFalasi
    @SaeedAlFalasi 2 місяці тому

    I hope to meet u someday will hug you and never let go

  • @WarNinGXK
    @WarNinGXK 11 місяців тому

    What Udemy courses do you guys recommend for Android development?

    • @LiveOverflow
      @LiveOverflow  11 місяців тому

      No udemy course. Just official android developer documentation

    • @itsm3dud39
      @itsm3dud39 4 дні тому

      android pentesting blackbelt edition course will help you understand and find all the android vulnerabilities

  • @supastazz
    @supastazz 11 місяців тому +2

    bruh ed Sheeran is so talented. He even knows how to hack

  • @berthold9582
    @berthold9582 10 місяців тому

    Woo motivation

  • @tg7943
    @tg7943 11 місяців тому

    Push!

  • @NewPolygons
    @NewPolygons 11 місяців тому

    Damn, that oversecured site tried to charge me $500+ to scan a single apk. Are there any open source alternatives to this or do I have to find exploits off the muscle if im not already rolling in bounty cash?

  • @theantirgbguy2256
    @theantirgbguy2256 3 місяці тому

    But how did Sergey get the complete source code from the apk? Since the app was developed by google, I believe it must have some sort of obfuscation.

    • @musicality621
      @musicality621 2 місяці тому

      as you can see from jadx, the code is obfuscated

  • @Originalimoc
    @Originalimoc 11 місяців тому +1

    This feels more like an Android defect instead of something the App developer should worry about. A malicious company can intentionally create app A(snapseed) and B(attack app) then makes user think it's respecting privacy by not acquiring in B but in A. Someone should report this to Android Core devs.

    • @D1ndo
      @D1ndo 11 місяців тому

      Wow, you're right. WDYT would be a good defense for this? They can't cross-scan the whole playstore. Maybe introducing a new app permission for granting permissions to other apps? Or a system dialog that monitors all cross-app traffic and intercepts suspicious intents?

    • @NohusBluxome
      @NohusBluxome 10 місяців тому

      @@D1ndo There is no issue here, app A cannot grant app B a permission that app A wasn't already granted by the user. If an attacker already controls app A, then they don't need app B. Accessing the internet already requires no permission, so if you have access to the filesystem in app A, you can already send it all away to your server, no need for a second app. And if as a user you trusted app A with access to the filesystem, then you are already lost if it's malicious, again, no need for app B.

  • @nug203
    @nug203 11 місяців тому +1

    bwoah, 500 USD per apk scanned. That's a bit too $$$ for me, but I love concept.

  • @Ivan-ip4ze
    @Ivan-ip4ze 7 місяців тому

    8:36. What is happening there? Why the question marks?

  • @thearefinahmed
    @thearefinahmed 4 місяці тому

    Continue 6:00

  • @Shocker99
    @Shocker99 11 місяців тому +2

    Sounds like an advert for a get rich scheme...
    I'm shocked.

  • @HootanHM
    @HootanHM 10 місяців тому

    Basically G is paying us to label the output of the tool for them 🤔

  • @dexterman6361
    @dexterman6361 11 місяців тому +2

    That's interesting, that an app can fake permission from another app. Isn't the security model of android apps flawed in this case? I mean, if the original app didn't have permissions, why can it appropriate it from another? Shouldn't the OS check for it? I mean, it knows that the malicious app is trying to read files, right!

    • @key_bounce
      @key_bounce 11 місяців тому

      The security model is basically "App X is trusted to make decisions about accessing something". And in this case, the Google app is giving access without any check or verification.

    • @NohusBluxome
      @NohusBluxome 10 місяців тому +1

      No, the original app has permissions. In this case the user has granted Snapseed the permission to read files. Snapseed is then sending the contents of the files to the attacker app. The attacker app still doesn't have permission to access the filesystem, but can use Snapseed as a middleman to read the files for it.

  • @NitinKumar82889
    @NitinKumar82889 11 місяців тому

    Ayo pls create a public discord server and pls explain about the bungee exploit(also know as uuid spoofing) in minecraft.

  • @kritikusi-666
    @kritikusi-666 11 місяців тому

    Right, right. Totally a "coincidence"

  • @eyesoffloraandfauna8728
    @eyesoffloraandfauna8728 10 місяців тому

    Cloud bug hunting

  • @frcl
    @frcl 11 місяців тому

    intent also confuse me a lot when im studying android, i always taught to myself intent means "my intention to *"
    - intention to start activity
    - intention to share *

  • @zvanmilisavljevic8879
    @zvanmilisavljevic8879 11 місяців тому +1

    Yo Live, i made a minecraft server scanner. But it only spits out 52 ips? It scans ALL the hetzner ranges. Can you help?

    • @schwingedeshaehers
      @schwingedeshaehers 11 місяців тому

      rate limiting by hetzner? wrong port? (is mine in it xD (no i wount tell the ip))

    • @zvanmilisavljevic8879
      @zvanmilisavljevic8879 11 місяців тому

      @@schwingedeshaehers the port is 25565

    • @undefinedchannel9916
      @undefinedchannel9916 11 місяців тому

      send your code, we can't help you if there's no way to find the issue

    • @zvanmilisavljevic8879
      @zvanmilisavljevic8879 11 місяців тому

      @@undefinedchannel9916 im gonna send on discord. if thats ok for you=? google aint letting me put hastebin links

    • @schwingedeshaehers
      @schwingedeshaehers 11 місяців тому +1

      @@zvanmilisavljevic8879 okay for me (DC is in may channel description)

  • @whiteninjazs
    @whiteninjazs Місяць тому

    that man is rich

  • @emanuel6934
    @emanuel6934 11 місяців тому

    Meanwhile flutter dart is slowly replacing Kotlin/java. Bug hunting will not be possible (or at least almost) anymore.

    • @WarNinGXK
      @WarNinGXK 11 місяців тому

      Because of flutter dart?

    • @emanuel6934
      @emanuel6934 11 місяців тому

      @@WarNinGXK exactly. Disassembling/recompiling is not possible anymore. Actually it is, but the code is scrambled and not really usable as it was before

    •  11 місяців тому

      wrong! it will be not as easily as java/kotlin but it will still be possible, in the same that other languages that output to binary are susceptible to those types of analysis

    •  11 місяців тому

      It big flutter apps become valuable targets for bug exploitation, the tooling will improve and less manual work will be required

    • @emanuel6934
      @emanuel6934 11 місяців тому

      @ "or at least almost".
      It's easier to disassemble a compicated c++ library than disassembling a flutter dart compiled app.

  • @nv1t
    @nv1t 11 місяців тому

    I disagree on 9:30....it is still vulnerable code, the impact is just very very low to not existant. Why should debug code be in the app in the first place? If it is never reached, why is it there? Can it be reached in the future?
    It still IS a vulnerability, but not exploitable at the moment.

    • @LiveOverflow
      @LiveOverflow  11 місяців тому +2

      If you can reach it, it becomes a vulnerability. If you cannot reach it, it’s not a vulnerability. Simple ;)
      It might be risky, and maybe it’s a not a good idea to write code like that, but it’s imo clearly not a vulnerability.

    • @Z3rgatul
      @Z3rgatul 11 місяців тому +1

      Because java is not C/C++, it doesn't support conditional compilation symbols

    • @nv1t
      @nv1t 11 місяців тому

      ​@@LiveOverflow it still should be fixed and for my understanding, still at least an informational issue in every report. (should be at least).
      i still stand with the idea: if i can't find the path to reach it, maybe i didn't search long enough, maybe i missed something.
      If you can't find a path to it, yes, impact=0, which makes it an informational. And it still should be reported ;)

    • @D1ndo
      @D1ndo 11 місяців тому

      @@Z3rgatul Proguard and other android compilation tools already do this. It's basically just dead code analysis during minification. It has nothing to do with java.

  • @deletrious
    @deletrious 11 місяців тому

    Please make a threads account!

    • @LiveOverflow
      @LiveOverflow  11 місяців тому +3

      I live in EU

    • @tonyvelasquez6776
      @tonyvelasquez6776 11 місяців тому

      @@LiveOverflow vpn

    • @jfb-
      @jfb- 11 місяців тому

      take a look at how much data threads collects on you

  • @DWM864
    @DWM864 5 місяців тому

    at the of the day you're just helping criminals to mantain their monopoly and control over you, im not talking about hackers...

  • @foobars3816
    @foobars3816 11 місяців тому

    Downvote for "how this looks like".

  • @romualdaszukauskas2898
    @romualdaszukauskas2898 11 місяців тому

    You beleave russian?Fake job.

  • @cahntwhoat7351
    @cahntwhoat7351 10 місяців тому +1

    I can tell this guy loves to say the name sergey

  • @melkileo
    @melkileo 11 місяців тому +1

    I love how the rewards are multiples of 1337 (LEET) 😂

  • @AntonioDellaRovere
    @AntonioDellaRovere 10 місяців тому

    $1337 Rewards --> cool :D

  • @zxcaaq
    @zxcaaq 11 місяців тому

    I like your videos, but really can't stand the clickbait thumbnails and titles. I really don't want to but I have to unsub, I can't anymore.

    • @ItIsJan
      @ItIsJan 11 місяців тому +9

      what exactly was clickbaity about this video?

    • @the_god_killah
      @the_god_killah 11 місяців тому +2

      u are free to leave. -1

    • @LiveOverflow
      @LiveOverflow  11 місяців тому +5

      the thumbnail is literally one of the first frames of the video + the actual exploit developed in the video. How is that clickbait :D it's an extremely accurate thumbnail.

  • @minirop
    @minirop 11 місяців тому +6

    "some researchers submit without looking at them" I see you, CVE-2023-34585.
    a guy reported a "passwords stored in plaintext in OBS" because there was an ini file containing the string "password"... it is the localisation file.

    • @octav7438
      @octav7438 11 місяців тому +3

      I googled it, read it, and I can't believe this happened in 2023 and not like 2018....

    • @krzysztofdziembaa4982
      @krzysztofdziembaa4982 11 місяців тому

      It gets even better. There is CVE-2023-36262 published 2 weeks ago and it's a duplicate of CVE-2023-34585, which at the time was already withdrawn.

  • @Mr_venky55
    @Mr_venky55 11 місяців тому

    Hey bro Goodmorning, if possible u can hack this application vip pack , ChatGum

    • @Mr_venky55
      @Mr_venky55 11 місяців тому

      U can't guy's because This app soo secure