Foreword
Preface
- Description
- Purpose
- Reason
- Acknowledgements
- Influences
Introduction
7. VPS
- 1. SSM Asset Identification
- 2. SSM Identify Risks
- Forfeit Control thus Security
- Windows
- PsExec
- Synopsis
- The Play
- Pass The Hash (PTH) suite of Metasploit Modules
- PowerShell
- PowerShell Exploitation via Executable C/- Psmsf
- Synopsis
- The Play
- PowerShell Payload creation details
- PowerShell Exploitation Evolution
- PowerShell Exploitation via Office Documents C/- Nishang
- Synopsis
- The Play
- Adding Persistence C/- Meterpreter
- Adding Persistence C/- PowerSploit
- Synopsis
- The Play
- Unnecessary and Vulnerable Services
- Overly Permissive File Permissions, Ownership and Lack of Segmentation
- Synopsis
- The Play
- Weak Password Strategies
- Root Logins
- SSH
- Too Many Boot Options
- Portmap
- EXIM
- NIS
- Rpcbind
- Telnet
- FTP
- NFS
- Lack of Visibility
- Docker
- Consumption from Registries
- Doppelganger images
- The Default User is Root
- Docker Host, Engine and Containers
- Namespaces
- Control Groups
- Capabilities
- Linux Security Modules (LSM)
- SecComp
- Read-only Containers
- Application Security
- Using Components with Known Vulnerabilities
- Lack of Backup
- Lack of Firewall
- 3. SSM Countermeasures
- Forfeit Control thus Security
- Windows
- PsExec and Pass The Hash (PTH)
- PowerShell Exploitation with Persistence
- Minimise Attack Surface by Installing Only what you Need
- Disable, Remove Services. Harden what is left
- Partitioning on OS Installation
- Apt Proxy Set-up
- Review Password Strategies
- Consider changing to Bcrypt
- Password GRUB
- Disable Root Logins from All Terminals
- SSH
- Symmetric Cryptosystems
- Asymmetric Cryptosystems
- Hashing
- SSH Connection Procedure
- Establishing your SSH Servers Key Fingerprint
- Hardening SSH
- Tunnelling SSH
- Disable Boot Options
- Lock Down Partition Mounting
- Portmap
- Disable, Remove Exim
- Remove NIS
- Rpcbind
- Remove Telnet
- Remove FTP
- NFS
- Lack of Visibility
- Logging and Alerting
- Web Server Log Management
- System Loggers Reviewed
- Goals
- Environmental Considerations
- Initial Setup
- Improving the Strategy
- Proactive Monitoring
- Evaluation Criteria
- Goals
- Sysvinit, Upstart, systemd & Runit
- forever
- PM2
- Supervisor
- Monit
- Passenger
- Getting Started with Monit
- Keep Monit Alive
- Keep NodeJS Application Alive
- Statistics Graphing
- Collectd
- Graphite
- Assembling the Components
- Host Intrusion Detection Systems (HIDS)
- Tripwire
- RkHunter
- Chkrootkit
- Unhide
- Ossec
- Stealth
- Deeper with OSSEC
- Deeper with Stealth
- Outcomes
- Stealth Up and Running
- Docker
- Consumption from Registries
- Doppelganger images
- The Default User is Root
- Hardening Docker Host, Engine and Containers
- Haskell Dockerfile Linter
- Lynis
- Docker Bench
- CoreOS Clair
- Banyanops collector
- Anchore
- TwistLock
- Possible contenders to watch
- Namespaces
- Control Groups
- Capabilities
- Linux Security Modules (LSM)
- Seccomp
- Read-only Containers
- runC and where it fits in
- Using runC Standalone
- Application Security
- Using Components with Known Vulnerabilities
- Schedule Backups
- Host Firewall
- Preparation for DMZ
- Confirm DMZ has
- Additional Web Server Preparation
- Post DMZ Considerations
- 4. SSM Risks that Solution Causes
- Forfeit Control thus Security
- Windows
- PsExec and Pass The Hash (PTH)
- PowerShell Exploitation with Persistence
- Minimise Attack Surface by Installing Only what you Need
- Disable, Remove Services. Harden what is left
- Partitioning on OS Installation
- Review Password Strategies
- SSH
- Disable Boot Options
- Mounting of Partitions
- Portmap
- Exim
- Remove NIS
- Rpcbind
- Telnet
- FTP
- NFS
- Lack of Visibility
- Logging and Alerting
- Web Server Log Management
- Proactive Monitoring
- Statistics Graphing
- Host Intrusion Detection Systems (HIDS)
- Docker
- Linux Security Modules (LSM)
- Schedule Backups
- Host Firewall
- 5. SSM Costs and Trade-offs
- Forfeit Control thus Security
- Windows
- PsExec and Pass The Hash (PTH)
- PowerShell Exploitation with Persistence
- Minimise Attack Surface by Installing Only what you Need
- Disable, Remove Services. Harden what is left
- Partitioning on OS Installation
- Review Password Strategies
- SSH
- Disable Boot Options
- Mounting of Partitions
- Portmap
- Exim
- Remove NIS
- Rpcbind
- Telnet
- FTP
- NFS
- Lack of Visibility
- Logging and Alerting
- Web Server Log Management
- Proactive Monitoring
- Statistics Graphing
- Host Intrusion Detection Systems (HIDS)
- Docker
- Schedule Backups
- Host Firewall
8. Network
- 1. SSM Asset Identification
- 2. SSM Identify Risks
- Fortress Mentality
- Lack of Segmentation
- Lack of Visibility
- Insufficient Logging
- Lack of Network Intrusion Detection Systems (NIDS)
- Spoofing
- IP
- ARP (Address Resolution Protocol)
- DNS
- Referrer
- EMail Address
- Website
- Synopsis
- The Play
- BeEF Can Also Clone
- Synopsis
- The Play
- Data Exfiltration, Infiltration
- Ingress and Egress Techniques
- Dropbox
- Physical
- Mobile Phone Data
- DNS, SSH
- Doppelganger Domains
- Web-sites
- SMTP
- SSH
- Wrongful Trust When Loading Untrusted Web Resources
- TLS Downgrade
- 3. SSM Countermeasures
- Fortress Mentality
- Lack of Segmentation
- Lack of Visibility
- Insufficient Logging
- Network Time Protocol (NTP)
- Lack of Network Intrusion Detection Systems (NIDS)
- Spoofing
- IP
- ARP (Address Resolution Protocol)
- DNS
- Referrer
- EMail Address
- Website
- Data Exfiltration, Infiltration
- Dropbox
- Physical
- Mobile Phone Data
- DNS, SSH
- Doppelganger Domains
- Web-sites
- SMTP
- SSH
- Wrongful Trust When Loading Untrusted Web Resources
- Content Security Policy (CSP)
- Sub-resource Integrity (SRI)
- TLS Downgrade
- HTTP Strict Transport Security (HSTS)
- HTTP Strict Transport Security (HSTS) Preload
- X.509 Certificate Revocation Evolution
- Initiative 1: Certification Revocation List (CRL)
- Initiative 2: Online Certificate Status Protocol (OCSP)
- One of the Big Problems
- Initiative 3: Welcome to OCSP Stapling
- OCSP Stapling Problem
- Initiative 4: Fix for the OCSP Stapling Problem
- 4. SSM Risks that Solution Causes
- Fortress Mentality
- Lack of Segmentation
- Lack of Visibility
- Insufficient Logging
- Lack of Network Intrusion Detection Systems (NIDS)
- Spoofing
- IP
- ARP (Address Resolution Protocol)
- DNS
- Referrer
- Data Exfiltration, Infiltration
- Dropbox
- Physical
- Mobile Phone Data
- DNS, SSH
- Doppelganger Domains
- Wrongful Trust When Loading Untrusted Web Resources
- Content Security Policy (CSP)
- Sub-resource Integrity (SRI)
- TLS Downgrade
- HTTP Strict Transport Security (HSTS)
- HTTP Strict Transport Security (HSTS) Preload
- 5. SSM Costs and Trade-offs
- Fortress Mentality
- Lack of Segmentation
- Lack of Visibility
- Insufficient Logging
- Lack of Network Intrusion Detection Systems (NIDS)
- Spoofing
- Data Exfiltration, Infiltration
- Dropbox
- Physical
- Mobile Phone Data
- DNS, SSH
- Doppelganger Domains
- Wrongful Trust When Loading Untrusted Web Resources
- Content Security Policy (CSP)
- Sub-resource Integrity (SRI)
- TLS Downgrade
- HTTP Strict Transport Security (HSTS)
- HTTP Strict Transport Security (HSTS) Preload
9. Cloud
- 1. SSM Asset Identification
- Productivity
- Competitive Advantage
- Control
- Data
- 2. SSM Identify Risks
- Shared Responsibility Model
- CSP Responsibility
- CSP Customer Responsibility
- CSP Evaluation
- Cloud Service Provider vs In-house
- Skills
- EULA
- Giving up Secrets
- Location of Data
- Vendor lock-in
- Possible Single Points of Failure
- Review Other Chapters
- People
- Application Security
- Network Security
- Violations of Least Privilege
- Machine Instance Single User Root
- CSP Account Single User Root
- Storage of Secrets
- Private Key Abuse
- SSH
- TLS
- Credentials and Other Secrets
- Entered by People (manually)
- Entered by Software (automatically)
- Serverless
- Third Party Services
- Perimeterless
- Functions
- DoS of Lambda Functions
- Infrastructure and Configuration Management
- AWS
- Password-less sudo
- 3. SSM Countermeasures
- Shared Responsibility Model
- CSP Responsibility
- CSP Customer Responsibility
- CSP Evaluation
- Cloud Service Provider vs In-house
- Skills
- EULA
- Giving up Secrets
- Location of Data
- Vendor lock-in
- Possible Single Points of Failure
- Review Other Chapters
- People
- Application Security
- Network Security
- Violations of Least Privilege
- Machine Instance Single User Root
- CSP Account Single User Root
- Storage of Secrets
- Private Key Abuse
- SSH
- TLS
- Credentials and Other Secrets
- Entered by People (manually)
- Entered by Software (automatically)
- Serverless
- Third Party Services
- Perimeterless
- Functions
- DoS of Lambda Functions
- Centralised logging of AWS Lambda Functions
- Frameworks
- Infrastructure and Configuration Management
- AWS
- Password-less sudo
- Additional Tooling
- 4. SSM Risks that Solution Causes
- Shared Responsibility Model
- CSP Evaluation
- Cloud Service Provider vs In-house
- People
- Application Security
- Network Security
- Violations of Least Privilege
- Storage of Secrets
- Private Key Abuse
- SSH
- TLS
- Credentials and Other Secrets
- Entered by People (manually)
- Entered by Software (automatically)
- Serverless
- Functions
- DoS of Lambda Functions
- Frameworks
- Infrastructure and Configuration Management
- AWS
- Additional Tooling
- 5. SSM Costs and Trade-offs
- Shared Responsibility Model
- CSP Evaluation
- Cloud Service Provider vs In-house
- People
- Application Security
- Network Security
- Violations of Least Privilege
- Storage of Secrets
- Private Key Abuse
- SSH
- TLS
- Credentials and Other Secrets
- Entered by People (manually)
- Entered by Software (automatically)
- Serverless
- Functions
- DoS of Lambda Functions
- Frameworks
- Infrastructure and Configuration Management
- AWS
- Additional Tooling
10. Web Applications
- 1. SSM Asset Identification
- 2. SSM Identify Risks
- Lack of Visibility
- Insufficient Logging and Monitoring
- Lack of Input Validation, Filtering and Sanitisation
- Generic
- What is Validation
- What is Filtering
- What is Sanitisation
- Cross-Site Scripting (XSS)
- Synopsis
- The Play
- Cross-Site Request Forgery (CSRF)
- Injection
- SQLi
- Synopsis
- The Play
- NoSQLi
- Command Injection
- XML Injection
- XSLT Injection
- XPath Injection
- XQuery Injection
- LDAP Injection
- Captcha
- Management of Application Secrets
- Datastore Compromise
- Cracking
- Lack of Authentication, Authorisation and Session Management
- What is Authentication
- What is Authorisation
- Cryptography on the Client (AKA Untrusted Crypto)
- Consuming Free and Open Source
- Insufficient Attack Protection
- Lack of Active Automated Prevention
- 3. SSM Countermeasures
- Lack of Visibility
- Insufficient Logging
- Opening a UDP port
- Using Posix
- Insufficient Monitoring
- Dark Cockpit
- Statistics Graphing
- Lack of Input Validation, Filtering and Sanitisation
- Generic
- Types of Escaping:
- Example in JavaScript and C#
- Example in JavaScript and NodeJS
- Other things to think about
- Cross-Site Scripting (XSS)
- Cross-Site Request Forgery (CSRF)
- Injection
- SQLi
- NoSQLi
- Command Injection
- XML Injection
- XSLT Injection
- XPath Injection
- XQuery Injection
- LDAP Injection
- Captcha
- Types
- Offerings
- Alternative Approaches
- Still Not Cutting it
- User Time Expenditure
- Bot Pot
- Testing
- Management of Application Secrets
- Store Configuration in Configuration files
- node-config
- Windows
- Linux
- Least Privilege
- Location
- Datastore Compromise
- Which KDF to use?
- Caching of Sensitive Data
- Cracking
- Lack of Authentication, Authorisation and Session Management
- Chosen technologies:
- Technology and Design Decisions
- Reference Token vs JSON Web Token (JWT)
- IdentityServer3
- MembershipReboot
- External Identity Providers
- Architecture
- Securing Sessions
- Cryptography on the Client (AKA Untrusted Crypto)
- Web Cryptography API
- user agent
[[handle]]CryptoKey(Web API interface)- The other two Web Crypto API interfaces
Crypto(Web API interface)SubtleCrypto(Web API interface)- Cloud Storage
- Protected Data and Document Exchange
- Consuming Free and Open Source
- Process
- Consumption is Your Responsibility
- Keeping Safe
- wget, curl, etc
- npm install
- Doppelganger Packages
- Whitelisting Packages via npm Enterprise
- Tooling
- npm-outdated
- npm-check
- David
- RetireJS
- requireSafe
- bithound
- Node Security Platform (NSP)
- Snyk
- Github
- Insufficient Attack Protection
- Web Application Firewall (WAF)
- Application Intrusion Detection and Response
- Active Automated Prevention
- 4. SSM Risks that Solution Causes
- Lack of Visibility
- Insufficient Logging and Monitoring
- Lack of Input Validation, Filtering and Sanitisation
- Cross-Site Scripting (XSS)
- Cross-Site Request Forgery (CSRF)
- Injection
- SQLi
- NoSQLi
- Command Injection
- XML Injection
- XSLT Injection
- XPath Injection
- XQuery Injection
- LDAP Injection
- Captcha
- Management of Application Secrets
- Store Configuration in Configuration files
- node-config
- Windows:
- Linux:
- Least Privilege
- Location
- Datastore Compromise
- Lack of Authentication, Authorisation and Session Management
- Cryptography on the Client (AKA Untrusted Crypto)
- Consuming Free and Open Source
- Process
- Tooling
- Insufficient Attack Protection
- 5. SSM Costs and Trade-offs
- Lack of Visibility
- Insufficient Logging and Monitoring
- Lack of Input Validation, Filtering and Sanitisation
- Cross-Site Scripting (XSS)
- Cross-Site Request Forgery (CSRF)
- Injection
- SQLi
- NoSQLi
- Command Injection
- XML Injection
- XSLT Injection
- XPath Injection
- XQuery Injection
- LDAP Injection
- Captcha
- Management of Application Secrets
- Store Configuration in Configuration files
- Windows:
- Linux
- Least Privilege
- Location
- Datastore Compromise
- Lack of Authentication, Authorisation and Session Management
- Cryptography on the Client (AKA Untrusted Crypto)
- Consuming Free and Open Source
- Insufficient Attack Protection
Additional Resources
Attributions
- Introduction
- VPS
- Network
- Cloud
- Web Applications