The Offensive Security macOS Researcher (OSMR) certification exam simulates a macOS system in which multiple vulnerabilities need to be exploited or security features bypassed in order to gain full system compromise. You will have 47 hours and 45 minutes to fully compromise the system, and a further 24 hours to submit your documentation. You'll need to provide proof of exploitation for each exploit.
The OSMR exam guide is available at the following link: OSMR Exam Guide
Although this is a difficult question to answer, we recommend that at a minimum, you understand the majority of the concepts taught in the course and have completed the exercises and the extra miles.
To learn how to schedule an exam, how to see the amount of time you have left before your exam attempt expires or understand how rescheduling an exam works, please visit our Important information about exam scheduling in the Training Library article.
All exams have a cooling off period in between attempts. You can view additional details on the cooling off period here.
Once your exam starts, you will get access to the control panel. On the control panel, you will find four assignments with instructions on how to solve them.
Points are awarded by solving exam assignments.
The total score on the exam is 80 points, with a passing score of 70. This equals to solving three of the four exercises, two of which are mandatory.
No, only solutions that fully solve the assignment are rewarded exam points.
No, it is not possible to obtain any bonus points on the OSMR exam from completing the course exercises.
Yes, reverse engineering to locate vulnerabilities is part of the exam.
No, all vulnerabilities are meant to be located through the use of reverse engineering.
You should include enough information in the exam report so our graders can replicate your steps. This includes explaining your code as well as all exploitation and reverse engineering steps.
Yes, for assignments that require you to write an exploit, you must obtain a proof.txt from a target machine through a remote shell. Some assignments will not require the collection of proof.txt.
In the exam report, you must include a screenshot of the flag in its original location by using the "cat" command. You must also include the output of "ifconfig | grep inet".
Yes, the two mandatory assignments are dependent upon each other.
Yes, you can revert the exam machines through the control panel.
Yes, it is possible to pass the exam by solving three out of four assignments.
As part of the exam, students will have to write exploits and perform parts of reverse engineering on their exam VMs. A development VM will be provided in our VPN network.
All exploit code must be written in C, Objective-C, zsh or Python 3, depending on the situation. For example, dynamic libraries must be written in C or Objective-C, but scripts can be written in Python3 or zsh. This is to facilitate the grading process.
No, you must use lldb or Hopper in the exam. This is to facilitate the grading process.
No, you must use Hopper. IDA, Ghidra, and other disassemblers are not allowed.
Yes, you may use any custom or open source Hopper plugins, but you must be able to fully explain what the plugin does and how it works as part of your exam documentation. Note that the exam assignments can be fully solved using the tools and techniques taught through the course, so no additional plugins or extensions are required.
No, you may not transfer or download any exam-related files from the development VM provided, unless specifically stated in the exam assignment. In such cases which allow this, the exam-related files must be deleted at the end of the exam.
The challenges in the EXP-312 labs train students for most of the concepts that are tested in the exam.
The OSMR exam consists of a pool of exam sets. The exam sets are assigned at random, so there is no guarantee you will receive the same exam set on a retake.
All OSMR exams are proctored. Please make sure to read our online FAQ.