Penetration Testing Learning Kit
Penetration Testing Learning Kit
Learning Kit
-Ariel Waissbein-
TROOPERS 08
Munich, Germany
April 24, 2008
Objectives
1. A first lesson.
i. Pentesting history & motivation.
ii. A first attack, dissected.
2. Introducing the Learning Kit.
i. Functionalities of the simulation-attack suite.
ii. A glimpse on the simulation-attack suite.
3. Completing the lesson into a course.
4. Other applications for the kit.
5. Discussion.
Our approach is to abstract highly technical
functions, e.g., treat them as APIs.
• Is there a way to learn pentesting gradually, without first being an
expert in:
– OS security.
– Network security.
– Cryptography.
– Access controls & authentication.
– Et cetera (Application security, wireless, voip, embedded devices,…).
Disclaimer: Next we will make a pentest mockup. But I won’t demo… I’ll only show some figures. All of
you interested in testing the kit, shoot me an email and I’ll send you credentials to download a preliminary
version.
A FIRST PENTESTING CLASS
Becoming a pen tester
This course introduces you into pentesting by letting you practice pentests.
CISSPs know all this: Access control; Telecommunications and network security; Information
security and risk management; Application security; Cryptography; Security architecture and
design; Operations security; Business continuity and disaster recovery planning; Legal,
regulations, compliance and investigations; Physical (environmental) security.
LEARN SOME HISTORY FIRST
We’ve grown from the MULTICS years
• Go hack yourself!
– Improving the security of your site by breaking into it (1993) - Dan
Farmer, Wietse Venema.
I. Arce’s USENIX SECURITY `06 keynote talk/slides.
Attackers are getting more pro
• Mitnick: IP spoofing & TCP hijacking (1994).
A pentest is
a time-constrained effort
to evaluate the security of a target
using the enemy’s approach
Much more than listing vulnerabilities
• Scoping
– Define an objective.
– Fix an adversarial model.
• Executing:
– Plan, execute the plan doing only what’s necessary & gain
access to important assets.
– Actions mimic attackers’ behavior, but must be robust.
– Document all that’s done.
• Reporting
– Presenting detailed technical info & risk analysis.
Scoping
Analysis &
Penetration
planning
Information Privilege
Attack
Gathering escalation
Analysis &
Penetration
planning
Information Privilege
Attack
Gathering escalation
Notes:
Although this attack is not likely to succeed today, it makes for a nice example.
IG
• After some Intelligence gathering (passive) we find
web servers, name servers and mail servers.
Analysis &
Penetration
planning
Information Privilege
Attack
Gathering escalation
IG in details
• The user chooses one of a few tools for each step. All data
that’s found is combined and viewed by the user.
Analysis &
Penetration
planning
Information Privilege
Attack
Gathering escalation
An exploit is code that adds features
• Sometimes applications are developed or designed
with so-called security bugs.
Analysis &
Penetration
planning
Information Privilege
Attack
Gathering escalation
Advances in payload engineering
• Pen testers must leverage exploits code to profit from
vulnerabilities:
– To this end they use the “new features.”
– For example, buffer overflows allow the pentester to inject code into a
new/running process. The code, is called an egg.
– Likewise a SQL-injection attack will allow the pentester to execute
~arbitrary SQL commands.
Analysis &
Penetration
planning
Information Privilege
Attack
Gathering escalation
The pentester’s view is enlared
• Continuing with the plan, he searches for internal servers.
• Plus
– Teaching exploit writing & engineering.
– Crypto protocols (e.g., I gained control of a box and can sign packets,
what can I do?).
– New attack vectors are explained (client-side, application, wireless, etc).
Going after the workstation first
Other exercises are performed outside the kit
• Exploits
– Writing your own exploits (binary, application,…)
– Testing exploits: exploits should be reliable.
• Students can use a small virtualized farm with a handful of OS configurations
to this end.
• Hybrid support
– Future versions of our kit will support hybrid simulation were simulated
computers are connected to real computers.
– An immediate application of this is webapps pen-testing with a real
webserver connected to a simulated network.
QUESTIONS?
OTHER APPLICATIONS OF THE
NETWORK ATTACK
SIMULATOR
A research tool 1/2
E-mail:
ariel.waissbein/\at/\coresecurity.com
Bibliography
• Multics Security Evaluation: Vulnerability Analysis, Karger, Schell (Air Force Electronic Systems
Division, 1974) http://csrc.nist.gov/publications/history/karg74.pdf
• Computer Security: the Achiles heel of the electronic air force, Schell (1979).
http://www.airpower.maxwell.af.mil/airchronicles/aureview/1979/jan-feb/schell.html
• Trusted Computer System Evaluation Criteria (aka, The orange book), National Security Institute -
5200.28-STD (1985). http://nsi.org/Library/Compsec/orangebo.txt
• The Internet Worm Incident, G. Spafford (1989). Technical Report CSD-TR-933, 1989.
http://homes.cerias.purdue.edu/~spaf/tech-reps/933.pdf
• Improving the security of your site by breaking into it (1993) - Dan Farmer, Wietse Venema.
http://www.porcupine.org/satan/admin-guide-to-cracking.html
• Syscall proxying, Max Caceres (2002). Black Hat Briefings 2002, Las Vegas.
• Modern Intrusion Practices, Gera Richarte (2003). Black Hat Briefings 2003, Las Vegas.