meltingscales / NYU-CS-GY-6xxx-mobile-security-final-project

mobsec final

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Secrets and SAST scanning of publicly-available APKs

Related Links

Tasks

Goals

Determine what percentage of APKs on the Google Play store have exposed secrets in them.

Additionally, SAST scans can be performed and API URLs can be discovered.

We can target small organizations' applications as their security may be worse than larger ones.

Overview

  1. Download an .apk file from Google Play
  2. Decompile it with apktool
  3. Scan it with a secret scanning tool, review results and pentest further
  4. Scan it with a SAST tool, review results
  5. Search for API URLs, review results

Search methodology

We want to target applications that are developed by smaller companies which may have more lax security standards. Sample search terms are below:

  • Company portal
  • Student portal
  • Employee portal
  • Healthcare
  • HR portal
  • Accounting
  • Financial management
  • Inventory management
  • Point of sale (POS)
  • Time tracking
  • Task management

Decompiled APKs

  1. "Student Portal"

  2. "Q StudentConnection"

  3. "Axis Mobile - Corporate"

  4. "BHIM Axis Pay:UPI,Online Recha"

    • Status: Done.
    • https://play.google.com/store/apps/details?id=com.upi.axispay
    • https://github.com/meltingscales/com.upi.axispay
    • Summary:
      • No leaked secrets.
      • apkurlgrep:
        • Looks like they use DESede and AES CBC for some reason.
        • A LOT of URLs show up. At least 100 endpoints. They're probably related to https://upiuat.axisbank.co.in/v1/. I hope this company has a good API security program in place!
          • /v1/bank/transactions/pay
          • /v1/customer/accounts
          • /v1/customer/accounts/mobreg
          • /v1/customer/otp
          • /v1/customer/accounts/remove
          • /v1/customer/accounts/update
          • /v1/authenticate
          • /v1/bank/transactions/balanceinquiry/creditline
          • ...etc
      • Snyk SAST:
        • Hardcoded IVs for encryption,
        • Uses Random.nextInt for seeding encryption
        • Deserializes serialized untrusted data
        • A handful of Medium findings.
  5. "PrismHR Employee Portal"

  6. ClientiApp - Client management

  7. AppFolio Property Manager

  8. InteliChart Patient Portal

  9. Verizon Business Group Network Vendor Portal

  10. Paycom Software, Inc. Paycom

  11. WhatsApp (Michael)

  12. Facebook (Michael)

  13. Messenger (Michael)

  14. TikTok (Michael)

  15. Instagram (Michael)

  16. Facebook Lite (Henry)

  17. SHAREit (Henry)

  18. Netflix (Henry)

  19. Snapchat (Henry)

  20. Telegram (Henry)

Resources

Tools

Downloading APKs

Decompilation

URLs

SAST

Secrets Scanning

About

mobsec final