Course Duration
5 Days
Cyber
Authorized Training
IT
Course cost:
£6,725.00
IT Certification Overview
This course accompanies Jonathan Levin's highly praised trilogy, '*OS Internals,' with deeper discussions and hands-on examples. It focuses on macOS Monterey (10.17), Ventura (10.18), and iOS versions 15 and 16, covering significant changes in these later versions. The course explores Apple's operating systems from a reverse engineer’s perspective, offering in-depth coverage of both documented and undocumented features, tools, and updates. The content is taught by the author himself and presents an opportunity to master reverse engineering techniques for macOS and iOS.
Newto Training Reviews
What Our Happy Alumni Say About Us
I had absolutely no experience in this field, but Newto Training recognised my potential and supported me every step of the way. The real-life scenarios were invaluable in making me job-ready.
The tutors at Newto are consistently patient, clear and more than willing to help. I couldn't have asked for a better learning environment.
From day one I felt welcomed and supported. The live sessions were interactive and the resources well thought-out. I passed my exam on the first attempt thanks to them.
I was nervous about switching careers but the practical approach and continual 1-to-1 support gave me the confidence I needed to succeed."
The training material was excellent, and the instructors really brought the subject to life with hands-on lab work. I feel fully prepared for the workplace."
What impressed me most was the flexibility and responsiveness of the support team. Whenever I had a question, they were there even outside of normal hours.
The course structure was superb. A great mix of theory and practice delivered at a pace that made sense even for beginners. Highly recommended.
Switching into IT felt overwhelming, but Newto Training made the journey manageable and quite enjoyable. Their coaching style is top class.
I particularly appreciated the way complex topics were broken down into manageable chunks, and the tutor actively encouraged questions at every stage.
The live-taught interactive classes set Newto apart from other providers. It wasn't just video-based learning and the real engagement made all the difference.
The cyber course exceeded my expectations. They've been on hand for everything and are constantly in touch with me
The resources provided were spot on and the teaching style made everything easy to understand. I particularly appreciated the extra help offered when needed.
Enrolling with Newto was one of the best decisions I've made. The job-readiness focus, strong teaching and excellent support all stood out.
I completed my SQL course and now feel confident in my skills. The real-world examples and supportive tutors made it all click.
I've just passed my AZ-900 exam thanks to the support received from Ken in the boot camp and his exam preparation sessions.
I've gained a qualification and the confidence to use it in real-world scenarios.
Their commitment to student success is obvious from the personalised guidance to the quality of delivery. I'd recommend them without hesitation.
Every tutor I encountered was professional, encouraging and keen to see me succeed. That personal touch made a big difference.
I'm now in a role I once thought was out of reach, thank you to the all the team
The bootcamps were excellent, we were given practical projects to complete and I feel so much more confident with my coding skills
I had absolutely no experience in this field, but Newto Training recognised my potential and supported me every step of the way. The real-life scenarios were invaluable in making me job-ready.
The tutors at Newto are consistently patient, clear and more than willing to help. I couldn't have asked for a better learning environment.
From day one I felt welcomed and supported. The live sessions were interactive and the resources well thought-out. I passed my exam on the first attempt thanks to them.
I was nervous about switching careers but the practical approach and continual 1-to-1 support gave me the confidence I needed to succeed."
The training material was excellent, and the instructors really brought the subject to life with hands-on lab work. I feel fully prepared for the workplace."
What impressed me most was the flexibility and responsiveness of the support team. Whenever I had a question, they were there even outside of normal hours.
The course structure was superb. A great mix of theory and practice delivered at a pace that made sense even for beginners. Highly recommended.
Switching into IT felt overwhelming, but Newto Training made the journey manageable and quite enjoyable. Their coaching style is top class.
I particularly appreciated the way complex topics were broken down into manageable chunks, and the tutor actively encouraged questions at every stage.
The live-taught interactive classes set Newto apart from other providers. It wasn't just video-based learning and the real engagement made all the difference.
I had absolutely no experience in this field, but Newto Training recognised my potential and supported me every step of the way. The real-life scenarios were invaluable in making me job-ready.
The tutors at Newto are consistently patient, clear and more than willing to help. I couldn't have asked for a better learning environment.
From day one I felt welcomed and supported. The live sessions were interactive and the resources well thought-out. I passed my exam on the first attempt thanks to them.
I was nervous about switching careers but the practical approach and continual 1-to-1 support gave me the confidence I needed to succeed."
The training material was excellent, and the instructors really brought the subject to life with hands-on lab work. I feel fully prepared for the workplace."
What impressed me most was the flexibility and responsiveness of the support team. Whenever I had a question, they were there even outside of normal hours.
The course structure was superb. A great mix of theory and practice delivered at a pace that made sense even for beginners. Highly recommended.
Switching into IT felt overwhelming, but Newto Training made the journey manageable and quite enjoyable. Their coaching style is top class.
I particularly appreciated the way complex topics were broken down into manageable chunks, and the tutor actively encouraged questions at every stage.
The live-taught interactive classes set Newto apart from other providers. It wasn't just video-based learning and the real engagement made all the difference.
The cyber course exceeded my expectations. They've been on hand for everything and are constantly in touch with me
The resources provided were spot on and the teaching style made everything easy to understand. I particularly appreciated the extra help offered when needed.
Enrolling with Newto was one of the best decisions I've made. The job-readiness focus, strong teaching and excellent support all stood out.
I completed my SQL course and now feel confident in my skills. The real-world examples and supportive tutors made it all click.
I've just passed my AZ-900 exam thanks to the support received from Ken in the boot camp and his exam preparation sessions.
I've gained a qualification and the confidence to use it in real-world scenarios.
Their commitment to student success is obvious from the personalised guidance to the quality of delivery. I'd recommend them without hesitation.
Every tutor I encountered was professional, encouraging and keen to see me succeed. That personal touch made a big difference.
I'm now in a role I once thought was out of reach, thank you to the all the team
The bootcamps were excellent, we were given practical projects to complete and I feel so much more confident with my coding skills
The cyber course exceeded my expectations. They've been on hand for everything and are constantly in touch with me
The resources provided were spot on and the teaching style made everything easy to understand. I particularly appreciated the extra help offered when needed.
Enrolling with Newto was one of the best decisions I've made. The job-readiness focus, strong teaching and excellent support all stood out.
I completed my SQL course and now feel confident in my skills. The real-world examples and supportive tutors made it all click.
I've just passed my AZ-900 exam thanks to the support received from Ken in the boot camp and his exam preparation sessions.
I've gained a qualification and the confidence to use it in real-world scenarios.
Their commitment to student success is obvious from the personalised guidance to the quality of delivery. I'd recommend them without hesitation.
Every tutor I encountered was professional, encouraging and keen to see me succeed. That personal touch made a big difference.
I'm now in a role I once thought was out of reach, thank you to the all the team
The bootcamps were excellent, we were given practical projects to complete and I feel so much more confident with my coding skills
Prerequisites
- Knowledge of macOS at a user level, including user-mode programming.
- Familiarity with x86_64 and/or ARM64 is highly recommended.
- Bring your own Mac or jailbroken i-Device.
Target Audience
- Reverse Engineers
- Security Researchers
- Malware Researchers
- Forensics Experts
Particularly those interested in macOS and iOS and reverse engineering techniques specific to Apple’s operating systems.
Learning Objectives
- Understand the process of binary linking and loading.
- Reverse engineer and analyse Mach-O binaries.
- Reverse engineer Objective-C and Swift code.
- Use Apple’s documented and undocumented APIs for tracing and debugging.
- Explain, interface with, and hook kernel system calls.
- Identify and explain common malware techniques.
- Understand attack surfaces in macOS and iOS, particularly in the kernel, kexts (I/O Kit), and system daemons.
Mac OS Internals Course Content
The course covers the following modules over five days, with hands-on exercises and guided demos:
Architectural Overview (3 hours)
- Introduction to the Architecture of macOS and iOS.
- Review of Apple's architectural diagrams and corrections for accuracy.
- Overview of iOS derivatives (TvOS, WatchOS).
- Introduction to private frameworks.
- The Darwin environment and XNU kernel.
- Hardware architecture for macOS (x86, x86_64, x86_64h) and iOS (armv8, A7+, A11).
- Apple Silicon and Rosetta II.
- Using sysctl for hardware details and MobileGestalt for software and hardware details.
Binaries (2+1 hours)
- Detailed examination of the Mach-O file format.
- Types of Mach-O files: Executables, bundles, dylibs, kexts, cores.
- Load commands, LC_SEGMENT[64], and process virtual memory setup.
- DYLD dependencies, code signing, and code encryption.
- Tools like otool(1) and JTool2 for static analysis.
- Exercises include analysing user-mode malware or other binaries and defeating code encryption in iOS.
Advanced Mach-O and DYLD (2+2 hours)
- Exploring lesser-known aspects of DYLD, Mach-O Loader, and loader opcodes.
- Dynamic linking, rebasing chains, and DYLD callbacks.
- Exercises include extending and hacking DYLD.
Debugging and Tracing Techniques (2+1 hours)
- Built-in tools for debugging and profiling macOS/iOS processes.
- Using LLDB, malloc_history, vmmap, sc_usage, and other tracing tools.
- Endpoint Security Framework and DTrace for macOS.
- Exercises include using KDebug, Process Explorer, and creating filters.
Launchd and XPC (2+1 hours)
- Describing macOS and iOS startup via launchd, LaunchDaemons, and LaunchAgents.
- Malware persistence through Launchd.
- Introduction to Mach ports, Mach services, and XPC APIs.
- Exercises include listing Mach and XPC endpoints, and adding a LaunchDaemon or LaunchAgent.
Mach Primitives and IPC (3+2 hours)
- Core concepts of XNU and Mach kernel, tasks, threads, and message passing.
- Remote code injection using Mach APIs.
- Exercises include enumerating Mach tasks and using Mach APIs for thread injection.
XNU Kernel, Up Close (1 hour)
- Detailed look at the XNU kernel, source tree layout, and compiling options.
- Reverse engineering without XNU source code (iOS).
- Introduction to the Kernel Debug Kit.
Programming KEXTs and DEXTs (1+1 hours)
- Architecture of Kernel Extensions (KEXTs) and Driver Extensions (DEXTs).
- Commands for managing KEXTs: kextstat, kextutil, and kmutil.
- OSKext* APIs and dependency handling.
- Exercises include building a KEXT and using OSKext APIs for kernel memory inspection.
I/O Kit (2+2 hours)
- In-depth exploration of I/O Kit, object-oriented driver runtime in XNU.
- IOUserClients, IOConnectCall* methods, and I/O Registry.
- Exercises include reverse engineering I/O Kit kernel modules and creating a simple fuzzer.
The Network Stack (Optional) (1+1 hours)
- Layer-by-layer discussion of the BSD-based network stack in macOS/iOS.
- Protocol implementations, interface filters, and Berkeley Packet Filter (BPF).
- Exercises include installing packet filters and intercepting connections.
Security (4 hours)
- Detailed look at macOS and iOS security mechanisms like AppleMobileFileIntegrity and the Sandbox kernel extensions.
- Code signing, entitlement handling, quarantine, and Gatekeeper.
- Detailed deconstruction of malware examples, including the NSO Group’s “Pegasus” for iOS.
- Exercises include analysis of student-provided malware samples.
Upcoming Dates
Dates and locations are available on request. Please contact us for the latest schedule.
Advance Your Career with Mac OS Internals
Gain the skills you need to succeed. Enrol in Mac OS Internals with Newto Training today.