Difference between revisions of "Up to Speed"

From The iPhone Wiki
Jump to: navigation, search
m (redirect link fix)
(adding more links)
Line 1: Line 1:
So, all of this sounds intimidating. [[Jailbreak]], sign, [[secpack]], [[unlock]], [[Baseband Device|baseband]], [[iBoot]], [[seczone]], [[JailbreakMe]], [[pwnage]].
+
So, all of this sounds intimidating. [[Jailbreak]], sign, [[secpack]], [[unlock]], [[Baseband Device|baseband]], [[iBoot]], [[seczone]], [[JailbreakMe]], [[pwnage]] - there are lots of terms to learn, but most of them are defined here on the wiki. The basics:
 
Don't worry, this should bring you up to speed.
 
   
 
* [[Activation]] - to bypass the required [[iTunes]] signup.
 
* [[Activation]] - to bypass the required [[iTunes]] signup.
Line 10: Line 8:
   
 
=== Ways to get started ===
 
=== Ways to get started ===
* You can read about general exploitation techniques on Wikipedia, starting with [https://en.wikipedia.org/wiki/Vulnerability_(computing)#Software_vulnerabilities software vulnerabilities] and [https://en.wikipedia.org/wiki/Privilege_escalation privilege escalation].
+
* You can read about general exploitation techniques on Wikipedia, starting with [https://en.wikipedia.org/wiki/Vulnerability_(computing)#Software_vulnerabilities software vulnerabilities] and [https://en.wikipedia.org/wiki/Privilege_escalation privilege escalation]. Learning about types of vulnerabilities can be fun even if you don't have any background yet in programming or security research - it's like learning about how puzzles work. To learn more about security research in general (useful for the beginner), try these links: [http://www.reddit.com/r/netsec/wiki/start Getting Started in Information Security by /r/netsec], [http://www.reddit.com/r/netsecstudents/wiki/resources /r/netsecstudents resources], and [http://pentest.cryptocity.net/ Application Security and Vulnerability Analysis].
   
  +
* Read [http://winocm.com/research/2013/09/20/resources-for-getting-started/ winocm's recommendations for how to get started with iOS hacking]: learning ARM, understanding low-level parts of iOS, reading open source code in iOS and OS X, learning programming, learning about security/fuzzing, and then learning iOS-specific tools and tricks.
* Read the [[how to reverse]] page when you realize most of those tasks require reversing and you have no idea how.
 
   
  +
* Read [http://www.amazon.com/iOS-Hackers-Handbook-Charlie-Miller/dp/1118204123 ''iOS Hacker's Handbook''], published in May 2012: "The award-winning author team, experts in Mac and iOS security, examines the vulnerabilities and the internals of iOS to show how attacks can be mitigated. The book explains how the operating system works, its overall security architecture, and the security risks associated with it, as well as exploits, rootkits, and other payloads developed for it."
* Learn assembler for [[ARM]] processors.
 
   
 
* Listen to the [[25C3 presentation "Hacking the iPhone"]]. This was in 2008, but it explains the basics in detail.
 
* Listen to the [[25C3 presentation "Hacking the iPhone"]]. This was in 2008, but it explains the basics in detail.
   
  +
* See [http://techchannel.att.com/play-video.cfm/2013/1/8/Conference-TV-CSAW-THREADS-2012-iOS-Jailbreak-Analysis the presentation "Analysis of the iOS Development Community"] by Dino Dai Zovi in November 2012.
* Read [http://www.amazon.com/iOS-Hackers-Handbook-Charlie-Miller/dp/1118204123 ''iOS Hacker's Handbook''], published in May 2012: "The award-winning author team, experts in Mac and iOS security, examines the vulnerabilities and the internals of iOS to show how attacks can be mitigated. The book explains how the operating system works, its overall security architecture, and the security risks associated with it, as well as exploits, rootkits, and other payloads developed for it."
 
   
 
* [[i0n1c]] has given several presentations on iOS jailbreaking techniques, and there are PDFs of his slides available online, including: [https://media.blackhat.com/bh-us-11/Esser/BH_US_11_Esser_Exploiting_The_iOS_Kernel_Slides.pdf "iOS Kernel Exploitation"], [http://reverse.put.as/wp-content/uploads/2011/06/D2T1-Stefan-Esser-iPhone-Exploitation-One-ROPe-to-Bind-Them-All.pdf "iPhone Exploitation: One ROPe to bind them all?"], and [http://antid0te.com/CSW2012_StefanEsser_iOS5_An_Exploitation_Nightmare_FINAL.pdf "iOS 5: An Exploitation Nightmare?"]. He has also recommended a couple of books: [http://www.amazon.com/Shellcoders-Handbook-Discovering-Exploiting-Security/dp/047008023X ''The Shellcoder's Handbook''] and [http://www.amazon.com/Art-Software-Security-Assessment-Vulnerabilities/dp/0321444426 ''The Art of Software Security Assessment'']. You may also find it interesting to read [https://www.sektioneins.de/en/blog/13-07-03-trainingFrankfurt.html his outline for a workshop on developing kernel exploits] - note the requirements (knowing ARM assembly, ROP, buffer overflows, integer overflows; having access to IDA Pro, Hexrays, BinDiff).
 
* [[i0n1c]] has given several presentations on iOS jailbreaking techniques, and there are PDFs of his slides available online, including: [https://media.blackhat.com/bh-us-11/Esser/BH_US_11_Esser_Exploiting_The_iOS_Kernel_Slides.pdf "iOS Kernel Exploitation"], [http://reverse.put.as/wp-content/uploads/2011/06/D2T1-Stefan-Esser-iPhone-Exploitation-One-ROPe-to-Bind-Them-All.pdf "iPhone Exploitation: One ROPe to bind them all?"], and [http://antid0te.com/CSW2012_StefanEsser_iOS5_An_Exploitation_Nightmare_FINAL.pdf "iOS 5: An Exploitation Nightmare?"]. He has also recommended a couple of books: [http://www.amazon.com/Shellcoders-Handbook-Discovering-Exploiting-Security/dp/047008023X ''The Shellcoder's Handbook''] and [http://www.amazon.com/Art-Software-Security-Assessment-Vulnerabilities/dp/0321444426 ''The Art of Software Security Assessment'']. You may also find it interesting to read [https://www.sektioneins.de/en/blog/13-07-03-trainingFrankfurt.html his outline for a workshop on developing kernel exploits] - note the requirements (knowing ARM assembly, ROP, buffer overflows, integer overflows; having access to IDA Pro, Hexrays, BinDiff).
Line 29: Line 27:
   
 
* Here's some analysis of [[evasi0n]] [http://blog.accuvantlabs.com/blog/bthomas/evasi0n-jailbreaks-userland-component from Accuvant Labs] and [http://blog.azimuthsecurity.com/2013/02/from-usr-to-svc-dissecting-evasi0n.html from Azimuth Security], along with [http://www.forbes.com/sites/andygreenberg/2013/02/05/inside-evasi0n-the-most-elaborate-jailbreak-to-ever-hack-your-iphone/ a high-level explanation from planetbeing]. The evad3rs team gave [https://conference.hitb.org/hitbsecconf2013ams/materials/D2T1%20-%20Pod2g,%20Planetbeing,%20Musclenerd%20and%20Pimskeks%20aka%20Evad3rs%20-%20Swiping%20Through%20Modern%20Security%20Features.pdf a presentation about evasi0n with slides available].
 
* Here's some analysis of [[evasi0n]] [http://blog.accuvantlabs.com/blog/bthomas/evasi0n-jailbreaks-userland-component from Accuvant Labs] and [http://blog.azimuthsecurity.com/2013/02/from-usr-to-svc-dissecting-evasi0n.html from Azimuth Security], along with [http://www.forbes.com/sites/andygreenberg/2013/02/05/inside-evasi0n-the-most-elaborate-jailbreak-to-ever-hack-your-iphone/ a high-level explanation from planetbeing]. The evad3rs team gave [https://conference.hitb.org/hitbsecconf2013ams/materials/D2T1%20-%20Pod2g,%20Planetbeing,%20Musclenerd%20and%20Pimskeks%20aka%20Evad3rs%20-%20Swiping%20Through%20Modern%20Security%20Features.pdf a presentation about evasi0n with slides available].
  +
  +
* Read [[how to reverse]] for some inspiration.
  +
  +
* If you want to really get started, learn assembler for [[ARM]] processors. [http://opensecuritytraining.info/Training.html Open Security Training] has "Introduction to ARM" materials, for example.
   
 
===Now===
 
===Now===

Revision as of 10:17, 25 September 2013

So, all of this sounds intimidating. Jailbreak, sign, secpack, unlock, baseband, iBoot, seczone, JailbreakMe, pwnage - there are lots of terms to learn, but most of them are defined here on the wiki. The basics:

  • Activation - to bypass the required iTunes signup.
  • Jailbreak - to allow full write and execute privileges on the iPhone, iPod touch, iPhone 3G, iPhone 3GS, iPhone 4, iPhone 4S, iPad and iPad2.
  • Unlock - to allow the use of any mobile phone carrier's SIM.

Think of iPhone as a little computer, even though Apple doesn't want you to. It has a processor, RAM, a "hard drive", an operating system, and a cellular modem on the serial port.

Ways to get started

  • Read iOS Hacker's Handbook, published in May 2012: "The award-winning author team, experts in Mac and iOS security, examines the vulnerabilities and the internals of iOS to show how attacks can be mitigated. The book explains how the operating system works, its overall security architecture, and the security risks associated with it, as well as exploits, rootkits, and other payloads developed for it."
  • If you want to really get started, learn assembler for ARM processors. Open Security Training has "Introduction to ARM" materials, for example.

Now