Bienvenue dans mon cours Reverse Engineering iOS Applications . Si vous êtes ici, cela signifie que vous partagez mon intérêt pour la sécurité et l'exploitation des applications sur iOS. Ou peut-être que vous avez simplement cliqué sur le mauvais lien ?
Toutes les vulnérabilités que je vais vous montrer ici sont réelles, elles ont été trouvées dans les applications de production par des chercheurs en sécurité, y compris moi-même, dans le cadre de programmes Bug Bounty ou simplement des recherches régulières. L'une des raisons pour lesquelles vous ne voyez pas souvent des écrits avec ces types de vulnérabilités est que la plupart des entreprises interdisent la publication de ce contenu. Nous avons aidé ces entreprises en leur rapportant ces problèmes et nous avons été récompensés par des primes pour cela, mais personne d'autre que les chercheurs et l'équipe d'ingénierie de l'entreprise apprendront de ces expériences. Cela fait partie de la raison pour laquelle j'ai décidé de créer ce cours, en créant une fausse application iOS qui contient toutes les vulnérabilités que j'ai rencontrées dans mes propres recherches ou dans les très rares publications d'autres chercheurs. Même s'il y a déjà certains projets [^ 1] visant à vous enseigner des problèmes communs sur les applications iOS, je me sentais comme si nous en avions besoin qui montrait le type de vulnérabilités que nous avons vues sur les applications téléchargées depuis l'App Store.
Ce cours est divisé en 5 modules qui vous emmèneront de zéro pour inverser les applications de production sur l'App Store d'Apple. Chaque module est destiné à expliquer une seule partie du processus dans une série d'instructions étape par étape qui devraient vous guider jusqu'au succès.
Ceci est ma première tentative de création d'un cours en ligne, alors restez avec moi si ce n'est pas le meilleur. J'adore les commentaires et même si vous le détestez absolument, faites-le moi savoir; Mais j'espère que vous apprécierez cette balade et vous pourrez apprendre quelque chose de nouveau. Oui, je suis un N00B!
Si vous trouvez des fautes de frappe, des erreurs ou des concepts mauvais, soyez gentil et dites-moi pour que je puisse les réparer et que nous apprenons tous!
Grâce à la brillante idée de Natalia-Osa, il y a maintenant une version .epub du cours que vous pouvez télécharger à partir d'ici. Comme Natalia l'a mentionné, il s'agit d'une consommation plus facile du contenu. Merci encore pour cette idée fantastique, Natalia ?.
Copyright 2019 Ivan Rodriguez <ios [at] ivrodriguez.com>
L'autorisation est accordée gratuitement à toute personne qui obtient une copie de ce logiciel et des fichiers de documentation associés (le "logiciel"), pour traiter le logiciel sans restriction, y compris sans limiter les droits d'utilisation, de copie, de modification, de fusion, de publication, de distribution, de sublince et / ou de vendre des copies des conditions suivantes.
L'avis de droit d'auteur ci-dessus et le présent avis d'autorisation sont inclus dans toutes les copies ou des parties substantielles du logiciel.
Le logiciel est fourni "tel quel", sans garantie d'aucune sorte, express ou implicite, y compris, mais sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et de non-contrefaçon. En aucun cas, les auteurs ou les détenteurs de droits d'auteur ne seront pas responsables de toute réclamation, dommage ou autre responsabilité, que ce soit dans une action de contrat, de délit ou autre, découlant de, hors du logiciel ou de l'utilisation ou d'autres relations dans le logiciel.
Je n'accepte pas vraiment les dons parce que je fais cela pour partager ce que j'apprends avec la communauté. Si vous voulez me soutenir, ré-sharez ce contenu et aidez à atteindre plus de personnes. J'ai également une boutique en ligne (nullswag.com) avec des vêtements cool si vous voulez y obtenir quelque chose.
J'ai créé ce cours par moi-même et cela ne reflète pas les vues de mon employeur, tous les commentaires et opinions sont les miens.
L'utilisation de ce cours ou de ce matériel est, à tout moment, «à vos propres risques». Si vous n'êtes pas satisfait de tout aspect du cours, l'une de ces termes et conditions ou toute autre politique, votre seul remède consiste à interrompre l'utilisation du cours. En aucun cas je ne dois, le cours, ou ses fournisseurs, être responsable envers tout utilisateur ou tiers, pour tout dommage résultant de l'utilisation ou de l'incapacité d'utiliser ce cours ou le matériel sur ce site, que ce soit sur la garantie, le contrat, le délit ou toute autre théorie juridique, et que le site Web soit conseillé ou non de la possibilité de ces dommages. Utilisez tous les logiciels et techniques décrits dans ce cours, à tout moment, "à vos propres risques", je ne suis pas responsable des pertes, dommages ou responsabilités résultant de ce cours ou lié à ce cours. En aucun cas, je ne serai pas responsable des dommages indirects, spéciaux, punitifs, exemplaires, accessoires ou conséquents. Cette limitation s'appliquera, que l'autre partie ait été informée ou non de la possibilité de tels dommages.
Je ne recueille personnellement aucune information. Étant donné que tout ce cours est organisé sur GitHub, c'est la politique de confidentialité que vous souhaitez lire.
[^ 1] J'adore le travail @ Prateekg147 a fait avec Diva et Owasp a fait avec Igoat. Ce sont d'excellents outils pour commencer à apprendre les internes d'une application iOS et certains des bugs que les développeurs ont introduits dans le passé, mais je pense que bon nombre des problèmes qui ont montré qu'il existe juste théorique ou peu pratique et peut être comparé à un " auto-hack ". C'est comme regarder le code source d'une page Web dans un navigateur Web, vous comprenez le code statique (HTML / JavaScript) du site Web, mais toute modification que vous effectuez n'affectera pas d'autres utilisateurs. Je voulais montrer des vulnérabilités qui peuvent nuire à l'entreprise qui a créé l'application ou ses utilisateurs finaux.