🕶️
VICEINTELPRO
GitHub: HorrorClause
  • In Tenebris Videmus
  • 🚩CTFs
    • 💾Hack the Box
      • 🏫Academy
        • Command Injection Assessment
        • XSS Assessment
        • Web Attacks Assessment
    • Try Hack Me
      • In Progress
  • 📖Documents
  • 👨‍🏫HOW-TOs
    • Obisidian How-To
    • Setup Mandiant FLARE VM
  • 📑Security Fundamentals
    • Security Controls
      • Physical Security
      • Endpoint Security
      • Email Security
      • Network Security
      • AAA Controls
    • Networking 101
      • OSI Model
      • Network Fundamentals
      • Network Devices
      • Network Tools
      • Protocols and Ports
    • 👨‍💼Management Principles
      • Risk
      • Policies and Procedures
      • Compliance and Frameworks
      • Change and Patch Management
  • 🛡️Security Concepts
    • ⚠️Risk Assessment Models
      • DREAD Risk Assessment Model
      • STRIDE Threat Model
      • Common Vulnerability Scoring System (CVSS)
    • Pentesting
      • Common Terms
      • AV Identification-Evasion
      • Introduction to Payloads
      • Automating Payloads & Delivery with Metasploit
      • Shells Jack Us In, Payloads Deliver Us Shells
      • Web Shells
      • Pentesting Overview
      • Penetration Testing Process
    • 🐛Vulnerability Assessment
      • Common Vulnerabilities and Exposures (CVE)
      • Common Vulnerability Scoring System (CVSS)
      • Assessment Standards
      • Vulnerability Assessment
      • Vulnerability Scanning
      • Reporting
      • 🎯Nessus
        • Getting Started with Nessus
        • Nessus Scan
        • Working with Nessus Scan Output
        • Advanced Settings
        • Scanning Issues
      • 🦴OpenVAS (Greenbone)
        • Getting Started with OpenVAS
        • OpenVAS
        • Exporting Results
    • Passwords
      • Password Managers
      • Password Policies
      • Password Security Fundamentals
    • Frameworks
    • GRC
    • Logon Types
    • What is Dev-Null ?
  • ⚔️Offensive Security
    • OSINT
      • OSINT - Websites
      • Google Dorks
    • 🔫Attacking Common Services
      • The Concept of Attacks
      • Interacting with Common Services
      • Finding Sensitive Information
      • Attacking DNS
      • Attacking Email Services
      • Attacking FTP
      • Attacking RDP
      • Attacking SMB
      • Attacking SQL Databases
      • Cheat Sheet - Attacking Common Services
      • Service Misconfigurations
    • 🔪Attacking Web Apps with Ffuf
      • Web Fuzzing
      • Directory Fuzzing
      • Page Fuzzing
      • Recursive Fuzzing
      • DNS Records
      • Sub-domain Fuzzing
      • Vhost Fuzzing
      • Filtering Results
      • Parameter Fuzzing - GET
      • Parameter Fuzzing - POST
      • Value Fuzzing
    • ☁️Cloud
      • AWS
        • AWS S3 Buckets
    • 💉Command Injection
      • Command Injection Cheat Sheet
      • Intro to Command Injections
      • Detection
      • Injecting Commands
      • Other Injection Operators
      • Identifying Filters
      • Bypassing Space Filters
      • Bypassing Other Blacklisted Characters
      • Bypassing Blacklisted Commands
      • Advanced Command Obfuscation
      • Evasion Tools
      • Command Injection Prevention
    • Containers
      • Docker
    • ❌Cross-Site Scripting (XSS)
      • Introduction to XSS
      • Stored XSS
      • Reflected XSS
      • DOM XSS
      • XSS Discovery
      • Defacing
      • Phishing
      • Session Hijacking
      • XSS Prevention
    • Directory Busting
      • DirB
      • DirBuster
      • Ffuf
      • Gobuster
    • 🅰️DNS
      • DNSRecon
      • Fierce
    • File Inclusion
      • Local File Inclusion Cheatsheet
      • Intro to File Inclusion
      • Local File Inclusion (LFI)
      • Basic Bypass
      • PHP Filters
      • PHP Wrappers
      • Remote File Inclusion (RFI)
      • LFI and File Uploads
      • Log Poisoning
      • Automated Scanning
      • File Inclusion Prevention
    • File Transfers
      • Transferring Files
      • File Transfer - Quick Commands
      • Living off the Land
      • Windows File Transfer Methods
      • Linux File Transfer Methods
      • Catching Files over HTTP(S)
      • Transferring Files with Code
      • Miscellaneous File Transfer Methods
      • Protected File Transfers
      • Mounting Encrypted VHD Drives
      • Mounting VHD in Kali
      • File Transfer Detection
    • File Upload Attacks
      • File Upload Cheatsheet
      • Absent Validation
      • Upload Exploitation
      • Client-Side Validation
      • Blacklist Filters
      • Whitelist Filters
      • Type Filters
      • Limited File Uploads
      • Other Upload Attacks
      • Preventing File Upload Vulnerabilities
    • 👣Footprinting
      • Linux Remote Management Protocols
      • Windows Remote Management Protocols
      • Enumeration
        • Enumeration Methodology
        • 🖥️Host Based
          • Quick Commands
          • DNS
          • FTP
          • IMAP-POP3
          • IPMI
          • MSSQL
          • MySQL
          • NFS
          • Oracle TNS
          • SMB
  • Powershell
    • Powershell CheatSheet
  • Python
    • Map
    • Anonymous Functions
    • Recursion
      • ZipMap
      • Nested Sum
      • Recursion on a Tree
      • Count Nested Levels
      • Longest Word
    • Function Transformations
      • More Transformations
      • Why Transform?
    • Closures
    • Currying
    • Decorators
    • Sum Types
    • Enums
    • Match
    • Regex
  • Kusto (KQL)
    • SQL and KQL Comparison
    • Using the Where and Sort Operators
    • KQL Queries
  • HTML
  • Insecure File Uploads
Powered by GitBook
On this page
  • Authentication
  • Authorization
  • Accountability
  1. Security Fundamentals
  2. Security Controls

AAA Controls

Authentication

This involves using some form of verification to confirm that the identity is correct. For example, when you are logging in to your computer, you are providing a username and password that only you know - this is how you prove that you are this user. There are three different types of authentication:

  • Something you know

  • Something you have

  • Something you are

  • Somewhere you are (additional)

  • Something you do (additional)

Let's take a look at some examples.

Something you know, also known as ‘authentication by knowledge’ is proving your identity using something that you can remember, such as a PIN code when using your bank card, a password when logging into a system, or security question answers such as your first pets name.

This is definitely the easiest to implement (why do you think we all use passwords for everything!) however it is definitely not secure as passwords can be stolen or guessed.

Something you have, or ‘authentication by ownership’ is proving your identity with a physical item that you have with you, such as an ID pass that uses RFID/RFC technology to let you through locked doors at work, or even a set of keys to get into your house or car.

While this is a good control, keys can be stolen, so having a set of keys for a house doesn't actually prove that you own the house. This is why we need a combination of AAA to have secure access controls - but more on this in a minute.

Something you are, or ‘authentication by the characteristic’ is one of the hardest controls to bypass because it is directly associated with an individual. For example, if biometric systems are being used for authentication, this could require an individual's fingerprints, retinal scans, or face identification (such as Face ID used on iPhones). As these characteristics are directly associated with a person (as all our fingerprints are unique) this becomes extremely hard to impersonate and is a great indicator that the individual is the correct one.

But to have strong authentication to ensure that only the right people can gain access to buildings and systems, we need a combination of at least 2, but preferably 3, of these controls. As mentioned earlier, someone can steal your keys, but if your house has an alarm system that requires a 6-digit PIN to disable, someone breaking into the house will trigger the alarm. We also mentioned that passwords can be stolen or cracked, but also having an authenticator app with a time-based access code, you can prevent attackers from getting into your account unless they manage to also obtain your mobile phone!

When we implement controls from 2 or 3 of these categories, we are employing a ‘multi-factor’ approach to access security.

Authorization

Authorization is all about what the authenticated user is permitted to do. For example, Joe Blogs at a company needs access to get through the turnstiles in the building entrance, and to access locked doors that allow him to reach the office room where his team works. Joe does not need access to the kitchens, loading area, or Executive offices. By only providing Joe's ID card with the access he requires, we are limiting where he can go to only necessary areas. This process of identifying what an entity can and can't access is called authorization.

The same applies to account-based permissions in Windows Active Directory, tools, and online services. A normal Tier 1 SOC Analyst needs access to the SIEM interface to investigate and respond to security events, but they likely do not need administrative access to the back-end of the SIEM where rules and log sources are configured.

Using the Principle of Least Privilege, we always want to give individuals only the access they require to complete their job, and nothing more. If we gave everyone unlimited access, if their account is compromised then the attacker is going to have all of that access too - by reducing items that employees can access, we also restrict the access an attacker or insider threat could gain and abuse.

Accountability

Accountability is the process of being able to identify what has happened and when which can be used as evidence during a security event or incident. Let's consider two examples:

An employee logs into his corporate laptop at 2 AM and begins deleting files from SharePoint. To hold that employee accountable, we can show logs from sign-in events, showing that they have logged into their system and SharePoint outside of normal work hours, and we can also look at SharePoint logs to show that files have been deleted by this specific user. The organization is able to provide accountability for the actions conducted.

In another example, if physical equipment is stolen from an office and the physical security team can see that John Smith's ID card was used to access the front gates and internal locked doors, CCTV cameras could be used to confirm if this was actually John, or if someone stole or cloned his ID card, giving them access to the building.

Accountability helps to validate what happened, by who, and in some cases can help to uncover if this was actually the individual or if someone else used this identity to conduct malicious actions.

PreviousNetwork SecurityNextNetworking 101

Last updated 3 months ago

📑