mediummultiple choiceObjective-mapped

A penetration tester is attempting to exploit a Linux system that has ASLR and DEP enabled. The tester has identified a buffer overflow vulnerability in a network service compiled without stack canaries and with a non-executable stack (NX). The binary is statically linked and not PIE. Which exploitation technique is most likely to succeed under these conditions?

Question 1mediummultiple choice
Full question →

A penetration tester is attempting to exploit a Linux system that has ASLR and DEP enabled. The tester has identified a buffer overflow vulnerability in a network service compiled without stack canaries and with a non-executable stack (NX). The binary is statically linked and not PIE. Which exploitation technique is most likely to succeed under these conditions?

Answer choices

Why each option matters

Good practice is not just finding the correct option. The wrong answers often show the exact trap the exam wants you to fall into.

A

Distractor review

Heap spraying to place shellcode in the heap and then overwrite a function pointer to execute the shellcode

Heap spraying is often used when ASLR is present, but NX still prevents execution from the heap unless the heap is made executable. Also, the binary is not PIE, so addresses are known, but the heap may still be non-executable.

B

Distractor review

Return-to-libc attack using libc functions

Return-to-libc is a technique against NX, but since the binary is statically linked (no libc loaded dynamically), the attacker would need to use gadgets from the binary itself, not libc.

C

Best answer

Return-Oriented Programming (ROP) to call mprotect and then execute shellcode on the stack

ROP allows the attacker to chain gadgets to call mprotect and change memory permissions on the stack to executable, then jump to shellcode placed on the stack. This bypasses NX while leveraging the known addresses from the statically linked, non-PIE binary.

D

Distractor review

Ret2plt to call system() via the PLT

Ret2plt is used against dynamically linked binaries to call functions from libc; since the binary is statically linked, there is no PLT/GOT.

Common exam trap

Common exam trap: answer the scenario, not the keyword

Many certification questions include familiar terms but test a specific constraint. Read the exact wording before choosing an answer that is generally true but wrong for this case.

Technical deep dive

How to think about this question

This question should be treated as a scenario, not a definition check. Identify the problem, the constraint and the best action. Then compare each option against those facts.

KKey Concepts to Remember

  • Read the scenario before looking for a memorised answer.
  • Find the constraint that changes the correct option.
  • Eliminate answers that are true in general but not in this case.
  • Use explanations to understand the rule behind the answer.

TExam Day Tips

  • Underline the problem statement mentally.
  • Watch for words such as best, first, most likely and least administrative effort.
  • Review why wrong options are wrong, not only why the correct option is correct.

Related practice questions

Related PT0-002 practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

More questions from this exam

Keep practising from the same exam bank, or move into a focused topic page if this question exposed a weak area.

FAQ

Questions learners often ask

What does this PT0-002 question test?

Read the scenario before looking for a memorised answer.

What is the correct answer to this question?

The correct answer is: Return-Oriented Programming (ROP) to call mprotect and then execute shellcode on the stack — With NX enabled, the attacker cannot directly execute shellcode on the stack. However, since the binary is not PIE and statically linked, the attacker can use return-oriented programming (ROP) to chain together gadgets (existing code snippets) from the binary itself to perform a system call or execute desired commands. The attacker would typically call mprotect to make a memory region executable or directly invoke execve with arguments placed via ROP.

What should I do if I get this PT0-002 question wrong?

Then try more questions from the same exam bank and focus on understanding why the wrong options are tempting.

Discussion

Loading comments…

Sign in to join the discussion.