hoofdstuk 2 stuff
							parent
							
								
									feb7ef7bd3
								
							
						
					
					
						commit
						d5287c4f1b
					
				| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					*.pdf
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,70 @@
 | 
				
			||||||
 | 
					# Introduction
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Teams involved in security
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* red: attack team
 | 
				
			||||||
 | 
					    * test effectiveness of security by performing attacks
 | 
				
			||||||
 | 
					* blue: defend team
 | 
				
			||||||
 | 
					    * defend against attacks by constantly surveiling the network
 | 
				
			||||||
 | 
					* yellow: build team
 | 
				
			||||||
 | 
					    * builds applications that can be used by the other teams
 | 
				
			||||||
 | 
					* sharing knowledge
 | 
				
			||||||
 | 
					    * orange: builders learn from attackers
 | 
				
			||||||
 | 
					    * green: builder learn from defenders
 | 
				
			||||||
 | 
					    * purple: defenders learn from attackers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Penetration testing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Penetration testers <-> red teams
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* penetration testing
 | 
				
			||||||
 | 
					    * methodical approach
 | 
				
			||||||
 | 
					    * limited by Rules of Engagement (restricted scope)
 | 
				
			||||||
 | 
					    * 1-2 week engagement
 | 
				
			||||||
 | 
					    * generally announced
 | 
				
			||||||
 | 
					    * goal is to assess security of network and systems
 | 
				
			||||||
 | 
					* red team
 | 
				
			||||||
 | 
					    * flexible approach
 | 
				
			||||||
 | 
					    * anything goes (as long as it's legal)
 | 
				
			||||||
 | 
					    * 1 week to 6 months engagement
 | 
				
			||||||
 | 
					    * no announcement
 | 
				
			||||||
 | 
					    * goal is to test general security posture of company
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Penetrating testing <-> vulnerability assessments
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* penetration testing
 | 
				
			||||||
 | 
					    * find vulnerabilities, both automated and manually
 | 
				
			||||||
 | 
					    * exploit them
 | 
				
			||||||
 | 
					    * attempt to gather confidential data
 | 
				
			||||||
 | 
					    * intended to go deeper and focus on technical issues
 | 
				
			||||||
 | 
					* vulnerability assessment
 | 
				
			||||||
 | 
					    * find vulnerabilities through automated means
 | 
				
			||||||
 | 
					    * don't exploit them or gather data
 | 
				
			||||||
 | 
					    * broader and often includes explicit policy and procedure review
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### assumed breach exercise
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* pentest where attackers are assumed to already be inside
 | 
				
			||||||
 | 
					* malware is dropped inside company boundaries
 | 
				
			||||||
 | 
					* getting caught not the end -> reset and try again
 | 
				
			||||||
 | 
					* **Time To Detect** (TTD): how long it takes to notice breach
 | 
				
			||||||
 | 
					* **Time To Mitigate** (TTM): how long it takes to perform corrective action
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Useful resources
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* [MITRE](https://attack.mitre.org/): knowledge base of attack tactics and
 | 
				
			||||||
 | 
					  techniques
 | 
				
			||||||
 | 
					  * explanation of **TTP**s (Tactics, Techniques and Procecures)
 | 
				
			||||||
 | 
					* [APT Groups and Operations](https://apt.threattracking.com/): Google doc containing
 | 
				
			||||||
 | 
					  list of dangerous groups
 | 
				
			||||||
 | 
					* [Cyber Fundamentals](https://atwork.safeonweb.be/nl/tools-resources/cyberfundamentals-framework)
 | 
				
			||||||
 | 
					    * concrete measures on how to protect data and ensure safety in company
 | 
				
			||||||
 | 
					    * four assurance levels
 | 
				
			||||||
 | 
					    * five core functions
 | 
				
			||||||
 | 
					        1. identify
 | 
				
			||||||
 | 
					        2. protect
 | 
				
			||||||
 | 
					        3. detect
 | 
				
			||||||
 | 
					        4. respond
 | 
				
			||||||
 | 
					        5. recover
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,234 @@
 | 
				
			||||||
 | 
					# Planning, Scoping, Recon and OSINT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* **Threat**: agent or actor that can cause harm
 | 
				
			||||||
 | 
					* **Vulnerability**: flaw that can be exploited to cause harm
 | 
				
			||||||
 | 
					* **Risk**: overlap between threat and vulnerability
 | 
				
			||||||
 | 
					* **Exploit**: code or technique that a threat uses to take advantage of a
 | 
				
			||||||
 | 
					  vulnerability
 | 
				
			||||||
 | 
					* **Hacking**: manipulate technology to make it do something it's not designed
 | 
				
			||||||
 | 
					  to do
 | 
				
			||||||
 | 
					  * **Ethnical hacking** (white hat): hacking with the permission of the target
 | 
				
			||||||
 | 
					  * **Penetration testing**: ethical hacking with the goal of finding and
 | 
				
			||||||
 | 
					    exploiting security vulnerabilities in target environment and reporting
 | 
				
			||||||
 | 
					    them
 | 
				
			||||||
 | 
					    * modelling techniques used by real-world attackers
 | 
				
			||||||
 | 
					    * determine risk to company
 | 
				
			||||||
 | 
					* **Security audit**
 | 
				
			||||||
 | 
					    * testing against a rigorous set of standards
 | 
				
			||||||
 | 
					    * detailed checklists
 | 
				
			||||||
 | 
					    * more in-depth than pen test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Types of penetration tests
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Network services test
 | 
				
			||||||
 | 
					    * find target systems on network
 | 
				
			||||||
 | 
					    * look for openings in OS or running network services and exploit them
 | 
				
			||||||
 | 
					    * over the internet or from within breached network
 | 
				
			||||||
 | 
					* Client-side software test
 | 
				
			||||||
 | 
					    * look for vulnerabilities in client-side software (e.g. browsers)
 | 
				
			||||||
 | 
					* Web application test
 | 
				
			||||||
 | 
					    * look for vulnerabilities in web-based applications deployed in the target
 | 
				
			||||||
 | 
					      environment
 | 
				
			||||||
 | 
					* Social engineering / phishing test
 | 
				
			||||||
 | 
					    * attempt to trick user into revealing sensitive information
 | 
				
			||||||
 | 
					    * using phishing mails to make users click malicious links
 | 
				
			||||||
 | 
					* Wireless security test
 | 
				
			||||||
 | 
					    * find unauthorized wireless access points or authorized ones with security
 | 
				
			||||||
 | 
					      weaknesses
 | 
				
			||||||
 | 
					* Physical security test
 | 
				
			||||||
 | 
					    * look for flaws in physical security practices
 | 
				
			||||||
 | 
					    * literally try to break in
 | 
				
			||||||
 | 
					    * dumpster diving
 | 
				
			||||||
 | 
					* Stolen equipment test
 | 
				
			||||||
 | 
					    * "obtain" (steal) a piece of equipment (e.g. laptop) and analyse it for
 | 
				
			||||||
 | 
					      sensitive info
 | 
				
			||||||
 | 
					* Cryptanalysis attack
 | 
				
			||||||
 | 
					    * break or bypass encryption on local or intercepted data
 | 
				
			||||||
 | 
					* Product security test
 | 
				
			||||||
 | 
					    * look for security flaws in software products that can be installed in
 | 
				
			||||||
 | 
					      tester's lab
 | 
				
			||||||
 | 
					* Remote war dial test (obsolete)
 | 
				
			||||||
 | 
					    * attempt to log into discovered modems
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Phases of an attack
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. Reconnaissance: OSINT, social engineering, dumpster diving...
 | 
				
			||||||
 | 
					2. Scanning: finding openings in the systems, listening ports...
 | 
				
			||||||
 | 
					3. Exploitation / gaining access: attempt to access and take control of target
 | 
				
			||||||
 | 
					   devices
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Malicious actors go further
 | 
				
			||||||
 | 
					    * install backdoors and rootkits
 | 
				
			||||||
 | 
					    * cover tracks with covert channels, log editing...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* public/free testing methodologies
 | 
				
			||||||
 | 
					    * Open Source Security Testing Methodology Manual ([OSSTMM](https://www.isecom.org/research.html))
 | 
				
			||||||
 | 
					    * Pen Testing Execution Standard ([PTES](Pen Testing Execution Standard))
 | 
				
			||||||
 | 
					    * [NIST](https://csrc.nist.gov/publications/detail/sp/800-115/final) (US National Institute of Standards and Technology)
 | 
				
			||||||
 | 
					    * ...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Lab
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* **Testing machine**: system used by pentester to attack other machines
 | 
				
			||||||
 | 
					    * don't use for anything personal
 | 
				
			||||||
 | 
					    * should be hardened to avoid being attacked themselves
 | 
				
			||||||
 | 
					    * scrub results between tests (avoid confusion, leave no trace)
 | 
				
			||||||
 | 
					* **Target machine**: machine being attacked/evaluated
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## The pentesting process
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* three phases
 | 
				
			||||||
 | 
					    1. preparation
 | 
				
			||||||
 | 
					        * perform necesary paperwork
 | 
				
			||||||
 | 
					        * clearly define rules of engagement
 | 
				
			||||||
 | 
					    2. testing: conduct the test
 | 
				
			||||||
 | 
					    3. conclusion
 | 
				
			||||||
 | 
					        * detailed analysis of results
 | 
				
			||||||
 | 
					        * write report
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### rules of engagement
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* must be defined in advance
 | 
				
			||||||
 | 
					* clear outline of what's allowed and what's not
 | 
				
			||||||
 | 
					* emergency contact information
 | 
				
			||||||
 | 
					* safe means of communication
 | 
				
			||||||
 | 
					* possible briefing calls
 | 
				
			||||||
 | 
					* agreement on period of engagement
 | 
				
			||||||
 | 
					* whether sysadmins are informed or not
 | 
				
			||||||
 | 
					* how much info is shared
 | 
				
			||||||
 | 
					    * **black box**: no info shared
 | 
				
			||||||
 | 
					        * more closely mimicks a true attack
 | 
				
			||||||
 | 
					        * takes longer
 | 
				
			||||||
 | 
					    * **grey box**: some info, e.g. password for non-privileged user
 | 
				
			||||||
 | 
					        * balance between efficiency and realism
 | 
				
			||||||
 | 
					    * **white box**: testers get everything
 | 
				
			||||||
 | 
					* what data can be viewed
 | 
				
			||||||
 | 
					    * remove personal data from sniffed packets
 | 
				
			||||||
 | 
					    * sometimes samples are allowed to prove they were there
 | 
				
			||||||
 | 
					* should be signed off before anything is done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Scoping
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* determine what should be focused on
 | 
				
			||||||
 | 
					    * ask organisation what their biggest weaknesses are
 | 
				
			||||||
 | 
					    * avoid scope creep
 | 
				
			||||||
 | 
					* ensure all targetted systems are allowed within scope
 | 
				
			||||||
 | 
					    * third-party systems should give *written* permission
 | 
				
			||||||
 | 
					    * large cloud ventors usually have pen testing rules in place
 | 
				
			||||||
 | 
					* ideally run test on staging environment (don't break prod)
 | 
				
			||||||
 | 
					* checking inside vulnerabilities
 | 
				
			||||||
 | 
					    * team travels onsite
 | 
				
			||||||
 | 
					    * team gets vpn or ssh access
 | 
				
			||||||
 | 
					* scope must specify level of testing allowed
 | 
				
			||||||
 | 
					    * ping sweep
 | 
				
			||||||
 | 
					    * port scanning
 | 
				
			||||||
 | 
					    * full on `nmap -A`
 | 
				
			||||||
 | 
					    * physical penetration attempts
 | 
				
			||||||
 | 
					    * social engineering
 | 
				
			||||||
 | 
					    * DoS checks
 | 
				
			||||||
 | 
					    * use of dangerous exploits
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Reporting and inventory management
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* report is important
 | 
				
			||||||
 | 
					    * only thing the client will read
 | 
				
			||||||
 | 
					    * should clearly define what's the problem
 | 
				
			||||||
 | 
					    * write it as you go
 | 
				
			||||||
 | 
					    * convince client the problem is real and in the room with them
 | 
				
			||||||
 | 
					    * rank vulnerabilities according to severity
 | 
				
			||||||
 | 
					* executive summary
 | 
				
			||||||
 | 
					    * statement of confidentiality: how to treat this document
 | 
				
			||||||
 | 
					    * engagement contacts: who was involved
 | 
				
			||||||
 | 
					    * summary for management to read
 | 
				
			||||||
 | 
					        * most important conclusions
 | 
				
			||||||
 | 
					        * what should be fixed
 | 
				
			||||||
 | 
					        * what's been done
 | 
				
			||||||
 | 
					* pentest assessment summary: overview of most important findings
 | 
				
			||||||
 | 
					* detailed walktrhough: technical overview
 | 
				
			||||||
 | 
					* technical
 | 
				
			||||||
 | 
					    * deep technical findings
 | 
				
			||||||
 | 
					    * big nerd talk for the nerds
 | 
				
			||||||
 | 
					* remediation summary
 | 
				
			||||||
 | 
					    * short, medium and long-term recommendations
 | 
				
			||||||
 | 
					    * summarize project, scope and security state of target
 | 
				
			||||||
 | 
					* appendices
 | 
				
			||||||
 | 
					    * output of commands
 | 
				
			||||||
 | 
					    * data dumps
 | 
				
			||||||
 | 
					    * password reviews
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Reconnaissance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* collect as much information as possible before launching any attack
 | 
				
			||||||
 | 
					* **Passive**: gather info without direct interaction with target
 | 
				
			||||||
 | 
					    * via social media
 | 
				
			||||||
 | 
					    * corporate website
 | 
				
			||||||
 | 
					    * search engines
 | 
				
			||||||
 | 
					    * ...
 | 
				
			||||||
 | 
					* **Active**: interact directly with target system
 | 
				
			||||||
 | 
					    * scanning
 | 
				
			||||||
 | 
					    * enumeration
 | 
				
			||||||
 | 
					    * higher risk of detection
 | 
				
			||||||
 | 
					* social engineering
 | 
				
			||||||
 | 
					    * important role in information gathering
 | 
				
			||||||
 | 
					    * life cycle
 | 
				
			||||||
 | 
					        1. investigate
 | 
				
			||||||
 | 
					            * gather information about targets
 | 
				
			||||||
 | 
					            * find details about them (job, personal interests...)
 | 
				
			||||||
 | 
					        2. hook
 | 
				
			||||||
 | 
					            * create plausible scenario to engage with target
 | 
				
			||||||
 | 
					            * establish trust
 | 
				
			||||||
 | 
					        3. play
 | 
				
			||||||
 | 
					            * manipulate target into providing desired information
 | 
				
			||||||
 | 
					            * trick target into revealing sensitive information
 | 
				
			||||||
 | 
					        4. exit
 | 
				
			||||||
 | 
					            * cover tracks to avoid detection
 | 
				
			||||||
 | 
					* document metadata analysis
 | 
				
			||||||
 | 
					    * gather information from e.g. pdf metadata tags
 | 
				
			||||||
 | 
					    * reveals what software they use, who works there
 | 
				
			||||||
 | 
					    * lots of documents are (accidentally) publicly available
 | 
				
			||||||
 | 
					    * use crawlers and search engines
 | 
				
			||||||
 | 
					* domain info
 | 
				
			||||||
 | 
					    * WHOIS ([Belgium](https://www.dnsbelgium.be/))
 | 
				
			||||||
 | 
					    * query registries about domains
 | 
				
			||||||
 | 
					    * can contain contact information of sysadmins
 | 
				
			||||||
 | 
					    * list domain servers
 | 
				
			||||||
 | 
					    * not as useful now due to privacy laws
 | 
				
			||||||
 | 
					    * Regional Internet Registries (RIRs) offer databases for IP -> domain lookup
 | 
				
			||||||
 | 
					* subdomain discovery
 | 
				
			||||||
 | 
					    * enumerate subdomains used by target
 | 
				
			||||||
 | 
					    * usually stored on target dns servers
 | 
				
			||||||
 | 
					    * useful tools
 | 
				
			||||||
 | 
					        * [knock](https://github.com/guelfoweb/knock/): brute-forcing tool
 | 
				
			||||||
 | 
					        * [sublist3r](https://github.com/aboul3la/Sublist3r): uses search engines for domain names
 | 
				
			||||||
 | 
					        * [SubBrute](https://github.com/TheRook/subbrute): uses open resolvers as proxies for dns queries
 | 
				
			||||||
 | 
					* search engines can provide useful info
 | 
				
			||||||
 | 
					    * search for employees or company websites
 | 
				
			||||||
 | 
					    * look at job offers
 | 
				
			||||||
 | 
					    * ...
 | 
				
			||||||
 | 
					    * use fancy lookup syntax
 | 
				
			||||||
 | 
					* DNS
 | 
				
			||||||
 | 
					    * translates domain names to IP addresses
 | 
				
			||||||
 | 
					    * **NS**: nameserver
 | 
				
			||||||
 | 
					    * **A**: address
 | 
				
			||||||
 | 
					    * **MX**: mail server address for domain
 | 
				
			||||||
 | 
					    * **TXT**: plain text strings for domain
 | 
				
			||||||
 | 
					    * **CNAME**: aliases for domain names
 | 
				
			||||||
 | 
					    * **SOA**: indicates that server is authoritative for DNS zone
 | 
				
			||||||
 | 
					    * **PTR**: pointer for inverse lookup (IP -> domain)
 | 
				
			||||||
 | 
					    * zone transfer: mechanism used to replicate DNS DB info to other server
 | 
				
			||||||
 | 
					        * allow secondary servers to sync with primary one
 | 
				
			||||||
 | 
					        * can be exploited to receive full information from DNS server
 | 
				
			||||||
 | 
					        * should be disabled for properly configured server
 | 
				
			||||||
 | 
					* useful tools
 | 
				
			||||||
 | 
					    * recon-ng framework
 | 
				
			||||||
 | 
					        * open reconaissance framework
 | 
				
			||||||
 | 
					        * does a lot automatically
 | 
				
			||||||
 | 
					        * the perfect automated stalker tool
 | 
				
			||||||
 | 
					        * can detect antivirus by checking which dns entries are cached in domain servers
 | 
				
			||||||
 | 
					    * spiderfoot framework
 | 
				
			||||||
 | 
					        * OSINT automation tool
 | 
				
			||||||
 | 
					    * OWASP AMASS framework
 | 
				
			||||||
 | 
					    * GitHub
 | 
				
			||||||
 | 
					        * filled with leaked secrets
 | 
				
			||||||
 | 
					        * trufflehog and git-all-secrets automatically scan GitHub for leaks
 | 
				
			||||||
 | 
					    * [have i been pwned](https://haveibeenpwned.com/)
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					# Scanning
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,2 @@
 | 
				
			||||||
 | 
					samenvatting.pdf: *.md metadata.yml
 | 
				
			||||||
 | 
						pandoc --toc -o $@ $^
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,5 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					geometry:
 | 
				
			||||||
 | 
					- top=30mm
 | 
				
			||||||
 | 
					- left=30mm
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
							
								
								
									
										130
									
								
								samenvatting.md
								
								
								
								
							
							
						
						
									
										130
									
								
								samenvatting.md
								
								
								
								
							| 
						 | 
					@ -1,130 +0,0 @@
 | 
				
			||||||
# Introduction
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Teams involved in security
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* red: attack team
 | 
					 | 
				
			||||||
    * test effectiveness of security by performing attacks
 | 
					 | 
				
			||||||
* blue: defend team
 | 
					 | 
				
			||||||
    * defend against attacks by constantly surveiling the network
 | 
					 | 
				
			||||||
* yellow: build team
 | 
					 | 
				
			||||||
    * builds applications that can be used by the other teams
 | 
					 | 
				
			||||||
* sharing knowledge
 | 
					 | 
				
			||||||
    * orange: builders learn from attackers
 | 
					 | 
				
			||||||
    * green: builder learn from defenders
 | 
					 | 
				
			||||||
    * purple: defenders learn from attackers
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Penetration testing
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Penetration testers <-> red teams
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* penetration testing
 | 
					 | 
				
			||||||
    * methodical approach
 | 
					 | 
				
			||||||
    * limited by Rules of Engagement (restricted scope)
 | 
					 | 
				
			||||||
    * 1-2 week engagement
 | 
					 | 
				
			||||||
    * generally announced
 | 
					 | 
				
			||||||
    * goal is to assess security of network and systems
 | 
					 | 
				
			||||||
* red team
 | 
					 | 
				
			||||||
    * flexible approach
 | 
					 | 
				
			||||||
    * anything goes (as long as it's legal)
 | 
					 | 
				
			||||||
    * 1 week to 6 months engagement
 | 
					 | 
				
			||||||
    * no announcement
 | 
					 | 
				
			||||||
    * goal is to test general security posture of company
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Penetrating testing <-> vulnerability assessments
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* penetration testing
 | 
					 | 
				
			||||||
    * find vulnerabilities, both automated and manually
 | 
					 | 
				
			||||||
    * exploit them
 | 
					 | 
				
			||||||
    * attempt to gather confidential data
 | 
					 | 
				
			||||||
    * inteded to go deeper and focus on technical issues
 | 
					 | 
				
			||||||
* vulnerability assessment
 | 
					 | 
				
			||||||
    * find vulnerabilities through automated means
 | 
					 | 
				
			||||||
    * don't exploit them or gather data
 | 
					 | 
				
			||||||
    * broader and often includes explicit policy and procedure review
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### assumed breach exercise
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* pentest where attackers are assumed to already be inside
 | 
					 | 
				
			||||||
* malware is dropped inside company boundaries
 | 
					 | 
				
			||||||
* getting caught not the end -> reset and try again
 | 
					 | 
				
			||||||
* **Time To Detect** (TTD): how long it takes to notice breach
 | 
					 | 
				
			||||||
* **Time To Mitigate** (TTM): how long it takes to perform corrective action
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Useful resources
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* [MITRE](https://attack.mitre.org/): knowledge base of attack tactics and
 | 
					 | 
				
			||||||
  techniques
 | 
					 | 
				
			||||||
* [APT Groups and Operations](https://attack.mitre.org/): Google doc containing
 | 
					 | 
				
			||||||
  list of dangerous groups
 | 
					 | 
				
			||||||
* [Cyber Fundamentals](https://atwork.safeonweb.be/nl/tools-resources/cyberfundamentals-framework)
 | 
					 | 
				
			||||||
    * concrete measures on how to protect data and ensure safety in company
 | 
					 | 
				
			||||||
    * four assurance levels
 | 
					 | 
				
			||||||
    * five core functions
 | 
					 | 
				
			||||||
        1. identify
 | 
					 | 
				
			||||||
        2. protect
 | 
					 | 
				
			||||||
        3. detect
 | 
					 | 
				
			||||||
        4. respond
 | 
					 | 
				
			||||||
        5. recover
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Planning, Scoping, Recon and OSINT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* **Threat**: agent or actor that can cause harm
 | 
					 | 
				
			||||||
* **Vulnerability**: flaw that can be exploited to cause harm
 | 
					 | 
				
			||||||
* **Risk**: overlap between threat and vulnerability
 | 
					 | 
				
			||||||
* **Exploit**: code or technique that a threat uses to take advantage of a
 | 
					 | 
				
			||||||
  vulnerability
 | 
					 | 
				
			||||||
* **Hacking**: manipulate technology to make it do something it's not designed
 | 
					 | 
				
			||||||
  to do
 | 
					 | 
				
			||||||
  * **Ethnical hacking** (white hat): hacking with the permission of the target
 | 
					 | 
				
			||||||
  * **Penetration testing**: ethical hacking with the goal of finding and
 | 
					 | 
				
			||||||
    exploiting security vulnerabilities in target environment and reporting
 | 
					 | 
				
			||||||
    them
 | 
					 | 
				
			||||||
* **Security audit**
 | 
					 | 
				
			||||||
    * testing against a rigorous set of standards
 | 
					 | 
				
			||||||
    * detailed checklists
 | 
					 | 
				
			||||||
    * more in-depth than pen test
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Types of penetration tests
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Network services test
 | 
					 | 
				
			||||||
    * find target systems on network
 | 
					 | 
				
			||||||
    * look for openings in OS or running network services and exploit them
 | 
					 | 
				
			||||||
    * over the internet or from within breached network
 | 
					 | 
				
			||||||
* Client-side software test
 | 
					 | 
				
			||||||
    * look for vulnerabilities in client-side software (e.g. browsers)
 | 
					 | 
				
			||||||
* Web application test
 | 
					 | 
				
			||||||
    * look for vulnerabilities in web-based applications deployed in the target
 | 
					 | 
				
			||||||
      environment
 | 
					 | 
				
			||||||
* Social engineering / phishing test
 | 
					 | 
				
			||||||
    * attempt to trick user into revealing sensitive information
 | 
					 | 
				
			||||||
    * using phishing mails to make users click malicious links
 | 
					 | 
				
			||||||
* Wireless security test
 | 
					 | 
				
			||||||
    * find unauthorized wireless access points or authorized ones with security
 | 
					 | 
				
			||||||
      weaknesses
 | 
					 | 
				
			||||||
* Physical security test
 | 
					 | 
				
			||||||
    * look for flaws in physical security practices
 | 
					 | 
				
			||||||
    * literally try to break in
 | 
					 | 
				
			||||||
    * dumpster diving
 | 
					 | 
				
			||||||
* Stolen equipment test
 | 
					 | 
				
			||||||
    * "obtain" (steal) a piece of equipment (e.g. laptop) and analyse it for
 | 
					 | 
				
			||||||
      sensitive info
 | 
					 | 
				
			||||||
* Cryptanalysis attack
 | 
					 | 
				
			||||||
    * break or bypass encryption on local or intercepted data
 | 
					 | 
				
			||||||
* Product security test
 | 
					 | 
				
			||||||
    * look for security flaws in software products that can be installed in
 | 
					 | 
				
			||||||
      tester's lab
 | 
					 | 
				
			||||||
* Remote war dial test (obsolete)
 | 
					 | 
				
			||||||
    * attempt to log into discovered modems
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Phases of an attack
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. Reconnaissance: OSINT, social engineering, dumpster diving...
 | 
					 | 
				
			||||||
2. Scanning: finidngo penings in the systems, listening ports...
 | 
					 | 
				
			||||||
3. Exploitation / gaining access: attempt to access and take control of target
 | 
					 | 
				
			||||||
   devices
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Malicious actors go further
 | 
					 | 
				
			||||||
    * install backdoors and rootkits
 | 
					 | 
				
			||||||
    * cover tracks with covert channels, log editing...
 | 
					 | 
				
			||||||
		Loading…
	
		Reference in New Issue