Code Monkey home page Code Monkey logo

igoat's Introduction

GSOC 2019


Select the OWASP iGoat Version: Swift 4 Objective C

iGoat (Objective C) was presented at: AppSec USA 2017   c0c0n 2017   SEC-T 2017   BruCON 2017   Bugcrowd Levelup 2017

OWASP iGoat - A Learning Tool for iOS App Pentesting and Security Twitter Follow

iGoat is a learning tool for iOS developers (iPhone, iPad, etc.) and mobile app pentesters. It was inspired by the WebGoat project, and has a similar conceptual flow to it.

As such, iGoat is a safe environment where iOS developers can learn about the major security pitfalls they face as well as how to avoid them. It is made up of a series of lessons that each teach a single (but vital) security lesson.

The lessons are laid out in the following steps:

  1. Brief introduction to the problem.
  2. Verify the problem by exploiting it.
  3. Brief description of available remediations to the problem.
  4. Fix the problem by correcting and rebuilding the iGoat program.

Step 4 is optional, but highly recommended for all iOS developers. Assistance is available within iGoat if you don't know how to fix a specific problem.

Documentation: iGoat Guide

Project Details

Page - https://www.owasp.org/index.php/OWASP_iGoat_Tool_Project

Project Lead - Swaroop Yermalkar (@swaroopsy)

Twitter - (@OWASPiGoat)

Lead Developer - Anthony Gonsalves

Vulnerabities Covered (version 3.0):

  • Key Management

    • Hardcoded Encryption Keys
    • Key Storage Server Side
    • Random Key Generation
  • URL Scheme Attack

  • Social Engineering

  • Reverse Engineering

    • String Analysis
  • Data Protection (Rest)

    • Local Data Storage (SQLite)
    • Plist Storage
    • Keychain Usage
    • NSUserDefaults Storage
  • Data Protection (Transit)

    • Server Communication
    • Public Key Pinning
  • Authentication

    • Remote Authentication
  • Side Channel Data Leaks

    • Device Logs
    • Cut-and-Paste
    • Backgrounding
    • Keystroke Logging
  • Tampering

    • Method Swizzling
  • Injection Flaws

    • SQL Injection
    • Cross Site Scripting
  • Broken Cryptography

How to countribute?

  • You can add new exercises
  • Testing iGoat and checking if any issues
  • Suggest us new attacks
  • Writing blogs / article about iGoat
  • Spreading iGoat :)

To contribute to iGoat project, please contact Swaroop ( [email protected] or @swaroopsy )

Project Contributors -

  • Anthony Gonsalves
  • Junard Lebajan (@junard)
  • Ken van Wyk
  • Arun @he_hacks
  • Jonathan Carter
  • Heefan
  • Tilak Kumar
  • Bernhard Mueller
  • Sagar Popat
  • Chandrakant Nial
  • Valligayatri Rachakonda
  • Suraj Kumar
  • masbog
  • Cheena Kathpal
  • Matt Tesauro

igoat's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

igoat's Issues

igoatapp.com is redirecting to scam sites

I followed the link from this project to https://igoatapp.com/ where I scrolled down to the Download iGoat section and clicked on SWIFT VERSION. The mouse cursor did not change to a hand as usual. When I clicked a new browser tab opened with the following scam URL trying to convince me to launch some fake update. "https" has been replaced with "hxxps" so nobody clicks it by mistake.

hxxps://interfrogs.com/11/click/1/?source=3398217&csum=hNjjFae2TcG3E9vWM1KDKBiIiUzFrtfe-hwsKwTaBaI5ZkXldVrSN-4lYotsF1yxhsXavSIvTYzzsqMCDy15Tw%2C%2C&_subid=3qnkfg41cnbq1vlgti3m&_token=uuid_3qnkfg41cnbq1vlgti3m_3qnkfg41cnbq1vlgti3m600ebc5287a4e5.22325693

I could not reproduce this. I suspected cookies to be used to deliver the page only once so I opened https://igoatapp.com/ in a Firefox private window but the update page didn't show up.

The interfrogs link above cycles through different scams. When visited once more I got a "win an iPhone" scam instead.

Please review the site. Maybe some of the self-hosted minified JavaScript libraries are infected?

UI Scaling Issues in - Side Channel Data Leaks Module

Hi Team,
In the iGoat - Side Channel Data Leaks Module;
Most of all sub categories are having the UI scaling issues when we try to provide any user inputs.
This behaviour is observed in the iPhone 6s with iOS 10.2.
The below given screenshots depicts the same.

image

Key Storage Server Side: Enable HTTPS

Documenting a fix for this bug:

  1. Enable HTTPS on the API call.
  2. Store the key in the keychain instead of a local variable.

Can you enable both HTTP and HTTPS on this endpoint? This should be pretty easy to achieve using AWS certificate manager or . Or swap the endpoint over to an API Gateway lambda call, which supports HTTPS out of the box.

localhost in URL requests ?

Hi,

I'm sorry if it is a stupid question, but why all the requests made by the iGoat app target localhost (such as the authentication challenge) ?

If I understood well, the Ruby server is meant to be launched on the attacker machine, but HTTP traffic against localhost doesn't go through the proxy. As a consequence, I get the error message "Server reqest failed; see log for details". And I did, with the mention that there is no server at localhost.

Thanks in advance!

Application getting stuck in "Public Key Pinning"

Hello

In current igoat version 2.6 is getting stuck while doing "Public Key Pinning" exercise in "Data Protection (Transit) category.

After clicking submit button in Public Key Pinning exercise the application is getting stuck, then we have to re-start the application.

please go through attached snap.

Thanks.
screen shot 2017-04-22 at 5 23 02 pm

iGoat Installable IPA

Can you please provide with an installable IPA file of the latest version of iGoat application.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.