Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Understanding Post-exploitation and Pivoting
📖 Scenario: You are a cybersecurity analyst learning how attackers move inside a network after gaining initial access. Understanding post-exploitation and pivoting helps you protect networks better.
🎯 Goal: Build a simple step-by-step explanation of post-exploitation and pivoting concepts using a dictionary to represent compromised machines and their connections.
📋 What You'll Learn
Create a dictionary named compromised_machines with exact machine names and their IP addresses
Add a variable pivot_machine to represent the machine used for pivoting
Use a loop with for machine, ip in compromised_machines.items() to list machines reachable from the pivot
Add a final step to include a new machine accessed through pivoting in the dictionary
💡 Why This Matters
🌍 Real World
Cybersecurity professionals use post-exploitation and pivoting knowledge to understand attacker movements inside networks and improve defenses.
💼 Career
This knowledge is essential for penetration testers, red teamers, and security analysts to simulate attacks and protect organizational networks.
Progress0 / 4 steps
1
DATA SETUP: Create the compromised machines dictionary
Create a dictionary called compromised_machines with these exact entries: 'Workstation1': '192.168.1.10', 'Server1': '192.168.1.20', 'Laptop1': '192.168.1.30'.
Cybersecurity
Hint
Use curly braces {} to create a dictionary with keys as machine names and values as IP addresses.
2
CONFIGURATION: Define the pivot machine
Add a variable called pivot_machine and set it to the string 'Server1' to represent the machine used for pivoting.
Cybersecurity
Hint
Assign the string 'Server1' to the variable pivot_machine.
3
CORE LOGIC: List machines reachable from the pivot
Use a for loop with variables machine and ip in compromised_machines.items() to iterate over the dictionary and create a list called reachable_from_pivot containing machine names except the pivot machine.
Cybersecurity
Hint
Use a loop to check each machine and add it to the list only if it is not the pivot machine.
4
COMPLETION: Add a new machine accessed through pivoting
Add a new entry to the compromised_machines dictionary with key 'DatabaseServer' and value '10.0.0.5' to represent a machine accessed by pivoting through pivot_machine.
Cybersecurity
Hint
Use dictionary assignment syntax to add the new machine and its IP.
Practice
(1/5)
1. What is the main purpose of post-exploitation in cybersecurity?
easy
A. To prevent unauthorized access to a network
B. To install antivirus software
C. To perform actions after gaining access to a system
D. To encrypt data before sending
Solution
Step 1: Understand post-exploitation context
Post-exploitation refers to activities done after an attacker has gained access to a system.
Step 2: Identify main goal
The main goal is to explore, gather information, and maintain control over the compromised system.
Final Answer:
To perform actions after gaining access to a system -> Option C
Quick Check:
Post-exploitation = actions after access [OK]
Hint: Post-exploitation happens after breaking in [OK]
Common Mistakes:
Confusing post-exploitation with prevention
Thinking it means installing security tools
Mixing it with data encryption
2. Which of the following commands is commonly used to create a pivot in a compromised network?
easy
A. ssh -L 8080:target:80 user@compromised
B. netstat -an
C. ping 192.168.1.1
D. tracert google.com
Solution
Step 1: Identify pivoting command
Pivoting often uses SSH tunneling to forward ports from a compromised system to reach other targets.
Step 2: Analyze options
ssh -L 8080:target:80 user@compromised uses SSH local port forwarding, which is a common pivot technique.
Final Answer:
ssh -L 8080:target:80 user@compromised -> Option A
Quick Check:
SSH tunneling = pivoting method [OK]
Hint: Pivoting uses SSH tunnels like ssh -L [OK]
Common Mistakes:
Choosing ping or tracert which are just network tests
Confusing netstat with pivoting
Not recognizing SSH port forwarding syntax
3. After compromising a machine inside a network, which command sequence best demonstrates pivoting to access another internal host on port 3389?
medium
A. ssh -D 3389 user@compromised
B. ssh -L 3389:192.168.10.5:3389 user@compromised
C. ssh -R 3389:192.168.10.5:3389 user@compromised
D. ssh user@192.168.10.5 -p 3389
Solution
Step 1: Understand SSH port forwarding types
Local forwarding (-L) forwards a local port to a remote host:port, enabling pivoting.
Step 2: Match command to pivoting goal
ssh -L 3389:192.168.10.5:3389 user@compromised forwards local port 3389 to internal host 192.168.10.5 port 3389 via compromised machine, enabling access.
Final Answer:
ssh -L 3389:192.168.10.5:3389 user@compromised -> Option B
Quick Check:
Local port forwarding = pivoting access [OK]
Hint: Use ssh -L for local port forwarding pivot [OK]
Common Mistakes:
Confusing -L (local) with -R (remote) forwarding
Using -D which is dynamic SOCKS proxy, not direct pivot
Trying direct ssh to internal host without pivot
4. You tried to pivot using ssh -R 9000:10.0.0.5:80 user@compromised but cannot access the service on port 9000 locally. What is the most likely issue?
medium
A. You need to use -L instead of -R for local access
B. The target IP 10.0.0.5 is unreachable from compromised machine
C. Port 9000 is blocked by firewall on compromised machine
D. The remote port forwarding (-R) does not expose ports on the local machine
Solution
Step 1: Understand difference between -L and -R
-L forwards local port to remote host; -R forwards remote port to local host.
Step 2: Identify access goal
If you want to access the service locally on port 9000, you need local forwarding (-L), not remote (-R).
Final Answer:
You need to use -L instead of -R for local access -> Option A
Quick Check:
Local access requires -L, not -R [OK]
Hint: Use -L for local, -R for remote port forwarding [OK]
Common Mistakes:
Mixing up -L and -R options
Assuming remote forwarding exposes local ports
Ignoring firewall or network reachability
5. During a penetration test, you have compromised a Linux server inside a network. You want to access a Windows machine on the internal network that only allows RDP on port 3389. Which sequence of actions best achieves pivoting to the Windows machine?
hard
A. Install antivirus on Linux server to monitor Windows traffic
B. Run a port scan from your machine directly on Windows IP to find open ports
C. Use remote desktop client to connect directly to Windows IP from your machine
D. Set up SSH local port forwarding from your machine to Windows RDP port via compromised Linux server
Solution
Step 1: Recognize network restrictions
Direct access to Windows machine is blocked; only accessible via compromised Linux server inside network.
Step 2: Use SSH local port forwarding
Set up SSH tunnel from your local machine forwarding a local port to Windows machine's RDP port through Linux server.
Step 3: Connect via forwarded port
Use RDP client to connect to local forwarded port, effectively pivoting through Linux server.
Final Answer:
Set up SSH local port forwarding from your machine to Windows RDP port via compromised Linux server -> Option D
Quick Check:
Pivoting = SSH tunnel + local port forwarding [OK]
Hint: Pivot by tunneling RDP through compromised Linux server [OK]
Common Mistakes:
Trying direct connection ignoring network restrictions