Android App Bug Bounty Secrets

Sdílet
Vložit
  • čas přidán 16. 07. 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
  • Zábava

Komentáře • 142

  • @LiveOverflow
    @LiveOverflow  Před rokem +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 Před rokem +2

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

    • @justind4615
      @justind4615 Před rokem +2

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

  • @jothamprince8765
    @jothamprince8765 Před rokem +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 Před rokem +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

  • @andrekz9138
    @andrekz9138 Před rokem +2

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

  • @faboxbkn
    @faboxbkn Před 11 měsíci +2

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

  • @blizzy78
    @blizzy78 Před rokem +79

    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 Před rokem +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 Před rokem +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 Před rokem +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 Před 10 měsíci +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.

  • @kingshukcs
    @kingshukcs Před rokem +1

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

  • @SAMISAMI-em3ev
    @SAMISAMI-em3ev Před rokem

    I was waiting for it 🎉
    Thank you.

  • @ofeki4533
    @ofeki4533 Před rokem +6

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

  • @gooniesfan7911
    @gooniesfan7911 Před rokem +2

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

  • @user-xb9tw5cp1s
    @user-xb9tw5cp1s Před rokem

    Thanks for all the content!

  • @nikoshalk
    @nikoshalk Před rokem

    Nice explanation! Looking forward to more Android security videos!

  • @PhilippDurrer
    @PhilippDurrer Před rokem +15

    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 Před rokem

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

    • @PhilippDurrer
      @PhilippDurrer Před rokem

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

    • @thunfisch987
      @thunfisch987 Před rokem +1

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

  • @nicof_2000
    @nicof_2000 Před rokem

    Amazing video, very well explained. Thanks a lot!

  • @mattmmilli8287
    @mattmmilli8287 Před rokem

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

  • @libshastra
    @libshastra Před rokem +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

  • @takeiteasyeh
    @takeiteasyeh Před rokem

    great breakdown

  • @franmaric
    @franmaric Před rokem

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

  • @drac.96
    @drac.96 Před rokem +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.

  • @kRySt4LGaMeR
    @kRySt4LGaMeR Před rokem +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.

  • @jlsuperman
    @jlsuperman Před 2 lety +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 Před rokem +12

      What the hell!
      The comment was year ago!!

    • @aftermath1886
      @aftermath1886 Před rokem +4

      yeah wtf , u time traveler or something bro?

    • @adamsea
      @adamsea Před rokem +2

      I guess video was unlisted?

    • @toorero
      @toorero Před rokem +1

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

    • @arili-eo7vw
      @arili-eo7vw Před rokem +1

      This is crazy
      You timetraveler

  • @ivanov83
    @ivanov83 Před rokem +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 Před rokem

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

  • @maxmyzer9172
    @maxmyzer9172 Před rokem

    I used snapseed occasionally. Interesting!

  • @jacesec6484
    @jacesec6484 Před rokem

    sounds like a great ctf idea

  • @wijdswijdssd5125
    @wijdswijdssd5125 Před rokem

    Great Video

  • @thogameskanaal
    @thogameskanaal Před rokem +6

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

  • @tomaszlis993
    @tomaszlis993 Před rokem +12

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

  • @happyeverafter1797
    @happyeverafter1797 Před 7 měsíci

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

  • @nosystemissaf3
    @nosystemissaf3 Před rokem

    THIS IS SO COOL

  • @WarNinGXK
    @WarNinGXK Před rokem

    More Android videos, PLEASE!

  • @spooky4655
    @spooky4655 Před rokem +1

    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.

  • @abdelrahmansaeed8695
    @abdelrahmansaeed8695 Před rokem

    I hope you give us some resources to learn ❤

  • @BugMosphere
    @BugMosphere Před rokem

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

  • @exoqqen
    @exoqqen Před rokem +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.

  • @TheAces1979
    @TheAces1979 Před rokem +2

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

    • @NohusBluxome
      @NohusBluxome Před 11 měsíci

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

  • @RagedDev-DE
    @RagedDev-DE Před rokem

    if you are german
    cooles video!

  • @hvaandres
    @hvaandres Před rokem +1

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

    • @nelmatrix3942
      @nelmatrix3942 Před rokem

      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 Před rokem

      Which version which feature?

  • @anasshaikh5778
    @anasshaikh5778 Před rokem

    Any other resources for learning Android security?

  • @rafaelnasser1636
    @rafaelnasser1636 Před rokem

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

  • @berthold9582
    @berthold9582 Před rokem

    Woo motivation

  • @SaeedAlFalasi
    @SaeedAlFalasi Před 3 měsíci

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

  • @therealb888
    @therealb888 Před rokem

    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

  • @tg7943
    @tg7943 Před rokem

    Push!

  • @paillat
    @paillat Před 13 dny

    Why is this video hidden in your channel page?

  • @supastazz
    @supastazz Před rokem +2

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

  • @thearefinahmed
    @thearefinahmed Před 5 měsíci

    Continue 6:00

  • @HootanHM
    @HootanHM Před rokem

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

  • @nug203
    @nug203 Před rokem +1

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

  • @WarNinGXK
    @WarNinGXK Před rokem

    What Udemy courses do you guys recommend for Android development?

    • @LiveOverflow
      @LiveOverflow  Před rokem

      No udemy course. Just official android developer documentation

    • @itsm3dud39
      @itsm3dud39 Před měsícem

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

  • @theantirgbguy2256
    @theantirgbguy2256 Před 4 měsíci

    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 Před 3 měsíci

      as you can see from jadx, the code is obfuscated

  • @Ivan-ip4ze
    @Ivan-ip4ze Před 8 měsíci

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

  • @NewPolygons
    @NewPolygons Před rokem

    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?

  • @Originalimoc
    @Originalimoc Před rokem +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 Před rokem

      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 Před 11 měsíci

      @@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.

  • @NitinKumar82889
    @NitinKumar82889 Před rokem

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

  • @eyesoffloraandfauna8728
    @eyesoffloraandfauna8728 Před 11 měsíci

    Cloud bug hunting

  • @Shocker99
    @Shocker99 Před rokem +2

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

  • @kritikusi-666
    @kritikusi-666 Před rokem

    Right, right. Totally a "coincidence"

  • @dexterman6361
    @dexterman6361 Před rokem +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 Před rokem

      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 Před 11 měsíci +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.

  • @whiteninjazs
    @whiteninjazs Před 2 měsíci

    that man is rich

  • @frcl
    @frcl Před rokem

    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 Před rokem +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 Před rokem

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

    • @zvanmilisavljevic8879
      @zvanmilisavljevic8879 Před rokem

      @@schwingedeshaehers the port is 25565

    • @undefinedchannel9916
      @undefinedchannel9916 Před rokem

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

    • @zvanmilisavljevic8879
      @zvanmilisavljevic8879 Před rokem

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

    • @schwingedeshaehers
      @schwingedeshaehers Před rokem +1

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

  • @DWM864
    @DWM864 Před 6 měsíci

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

  • @emanuel6934
    @emanuel6934 Před rokem

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

    • @WarNinGXK
      @WarNinGXK Před rokem

      Because of flutter dart?

    • @emanuel6934
      @emanuel6934 Před rokem

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

    •  Před rokem

      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

    •  Před rokem

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

    • @emanuel6934
      @emanuel6934 Před rokem

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

  • @foobars3816
    @foobars3816 Před rokem

    Downvote for "how this looks like".

  • @nv1t
    @nv1t Před rokem

    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  Před rokem +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 Před rokem +1

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

    • @nv1t
      @nv1t Před rokem

      ​@@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 Před rokem

      @@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.

  • @cahntwhoat7351
    @cahntwhoat7351 Před 11 měsíci +1

    I can tell this guy loves to say the name sergey

  • @deletrious
    @deletrious Před rokem

    Please make a threads account!

  • @romualdaszukauskas2898

    You beleave russian?Fake job.

  • @melkileo
    @melkileo Před rokem +1

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

  • @AntonioDellaRovere
    @AntonioDellaRovere Před rokem

    $1337 Rewards --> cool :D

  • @zxcaaq
    @zxcaaq Před rokem

    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 Před rokem +9

      what exactly was clickbaity about this video?

    • @the_god_killah
      @the_god_killah Před rokem +2

      u are free to leave. -1

    • @LiveOverflow
      @LiveOverflow  Před rokem +6

      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 Před rokem +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 Před rokem +3

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

    • @krzysztofdziembaa4982
      @krzysztofdziembaa4982 Před rokem

      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 Před rokem

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

    • @Mr_venky55
      @Mr_venky55 Před rokem

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