INDEX

Please note that index links point to page beginnings from the print edition. Locations are approximate in e-readers, and you may need to page down one or more times after clicking a link to get to the indexed material.

32-bit operating system, 64

64-bit operating system, 64

A

access

broken access control, 8

cloud, 155

Commando VM and, 88

database, 194

dead-box, 194

DirectAccess, 111

disk, 59, 194

IAM role, 198–200, 211, 263–264, 287

Internet, 161

remote. See remote access

server, 201

web-based, 165

access control, 8, 46, 139

access control lists, 46, 139

ACK message, 221

Active Directory (AD), 229

ACU (Azure Compute Unit), 235, 236

AD (Active Directory), 229

address exhaustion, 30

Address Resolution Protocol. See ARP

Advanced Package Tool (APT), 91

Advanced Research Projects Agency Network (ARPANET), 22

Advanced Technology Attachment (ATA), 55

Agile methodology, 281

air gaps, 43

Amazon Aurora, 192, 193

Amazon Machine Image (AMI), 197–198

Amazon Marketplace, 197, 202

Amazon Web Services. See AWS

AMD processors, 63, 71, 98

AMI (Amazon Machine Image), 197–198

AND operator, 32

Ansible software, 292–293

Antergos Linux, 95

anycasting, 204

Apache Spark, 247

Apache web server, 265

API calls, 162–163

Apple iCloud, 160–161

application servers

Amazon Web Services, 196–202

Google Cloud Engine, 251, 258–261, 267, 271

Microsoft Azure, 234–238

applications

broken access control, 8

containers and, 73–75

failures of, 11–12

Java, 197–198

logging and, 10

stress testing, 10–12

web. See web applications

APT (Advanced Package Tool), 91

Arch-based Linux distributions, 94–97

ArchStrike, 95–97

ARP (Address Resolution Protocol), 23

ARP messages, 133

ARP request/response, 23–25

ARPANET (Advanced Research Projects Agency Network), 22

arrays, 26

AS (autonomous system), 146

asymmetric cryptography, 118

ATA (Advanced Technology Attachment), 55

AT&T Bell Labs, 90

attackers

command and control, 87–88

considerations, 10, 260

containers and, 73

dwell time and, 1, 2, 7

“living off the land,” 85–86

logging and, 10

penetration testing and, 12–13

red teaming and, 1, 7, 14–15, 87

threats from, 1

vulnerabilities, 7–10, 170

attacks

dwell time and, 1, 2

injection attacks, 8, 9, 267

LAND attacks, 11

“living off the land” attack, 85–86

red teaming and, 1, 7, 14–15, 87

spoofing attacks, 126, 139

SYN floods, 221

Teardrop attacks, 11

on web servers, 11–12

XML External Entity attack, 8

auditing, 4, 19

Aurora, 192, 193

authentication

AWS, 211

broken, 7–8

OpenVPN, 116

passwords, 7–8

remote access and, 107–108

shell access and, 119–120

Windows Active Directory, 199

Windows VPN, 112

automation, 279–295

command line access, 279–280, 284–291

DevOps, 280–283

DevSecOps, 280, 283–284

infrastructure as code, 291–294

Microsoft Azure, 225–226

overview, 279–280

autonomous system (AS), 146

availability

Amazon Web Services, 192, 193, 215

cloud services and, 165–166

Google Cloud Drive, 277

Microsoft Azure, 227–228, 237

overview, 5

availability set, 227–228

AWS (Amazon Web Services), 189–217

administration, 199–202

application server, 196–202

availability, 192, 193, 215

cloud services, 208–216

command line interface, 287–288

data storage, 192–196

databases, 192–196, 212–216

instances, 158, 195, 202, 290

load balancer, 204–208

message queuing services, 212, 213

microservices, 209–211

overview, 189–191

relational databases, 192, 212, 213, 217

security groups, 192, 200–201, 204

traditional web architecture, 191–208

web server, 202–204

AWS Lambda functions, 207, 209–211, 217

Azure, 219–248

administration, 228

App Service, 234–235

application servers, 234–238

automation and, 225–226

availability, 227–228, 237

cloud-native designs, 241–247

command line interface, 288–289

considerations, 295

containers, 244–246

databases, 239–241, 246–247

firewalls, 237, 238, 247

instances, 223–233, 239

load balancers, 221–226

overview, 219–220

PowerShell, 78, 105–106, 127, 288–289

resources, 223–226, 243

security groups, 237

serverless computing, 242–244

templates, 233, 293–294

traditional web architecture, 220–241

web servers, 226–233

Azure Compute Unit (ACU), 235, 236

Azure Cosmos DB service, 246–247

Azure Functions, 242–244

Azure Monitor, 237

Azure Pipelines Agent for Linux, 231–232

Azure Portal, 247

Azure SQL database, 239–240

B

BackTrack, 91

baseline, 6

bash (Bourne-again shell), 104

.bat extension, 105

batch files, 105

batch processing, 105

Bell Labs, 104

BGP (Border Gateway Protocol), 39, 145, 146

Bitbucket, 272

black box testing, 12

BlackArch, 95

block rules, 45

blue team testing, 15–16

Bluetooth devices, 73

Border Gateway Protocol (BGP), 39, 145, 146

Bourne shell, 104

Bourne, Stephen, 104

Bourne-again shell (bash), 104

breadboard, 66

bridge, 136

bridged networking, 149

Bring Your Own License (BYOL), 268

broadcast address, 23–24, 33

broadcast domains, 23, 134

bug bounties, 7, 17–18

bugs, 6–7, 17–18, 281, 283

build process, 283

bus topology, 40

BYOL (Bring Your Own License), 268

C

C shell (csh), 104, 105

C2 networks, 88

CA (certificate authority), 116–117

cables, 41, 58

California Consumer Privacy Act (CCPA), 4

CAM (content addressable memory), 26, 132

CAM tables, 132–133

Canonical, 169

canonical name (CNAME) record, 225

cases, computer, 58–59

C&C (command and control), 87–88

CCPA (California Consumer Privacy Act), 4

central processing unit (CPU), 60, 62

certificate authority (CA), 116–117

certificates, 115–118

Chef software, 294

Chocolatey package manager, 79–82

CIA (confidentiality, integrity, and availability), 2, 4

CIDR (Classless Interdomain Routing), 33

CirrOS, 173–178

CISC (complex instruction set computing) processors, 65

Classless Interdomain Routing (CIDR), 33

cloud computing, 155–187. See also cloud services

advantages of, 164–166

cloud services, 156–164

considerations, 155

delivery, 165

DevStack, 169–172, 178–179

downtime and, 165

elements of, 164–167

maintenance and, 166

multitenancy, 164–165

OpenStack, 167–186

overview, 155–156

private cloud, 167

security and, 166

self-service, 165

virtual private cloud, 203–204, 215

cloud providers

benefits of, 156–157

storage services, 160–161

cloud services, 156–164. See also cloud computing

Amazon Web Services, 208–216

considerations, 155–156

Google Cloud Engine, 271–277

infrastructure as a service, 157–159

Microsoft Azure, 241–247

overview, 156–157

platform as a service, 157, 159–160

software as a service, 157, 161–164

storage as a service, 157, 160–161

cloud-init, 230

cloud-native, 189

CLR (Common Language Runtime), 234

clusters, 215

CNAME (canonical name) record, 225

code. See also development

automation and, 283

forking, 192

infrastructure as, 291–294

Visual Studio Code, 89–90

code editors, 243

collision domains, 23, 134

COM (Component Object Model), 79

command and control (C&C), 87–88

command line

access, 279–280, 284–291

considerations, 78, 103–106

Commando VM, 83–90

Common Language Runtime (CLR), 234

complex instruction set computing (CISC) processors, 65

compliance, 2–4

Component Object Model (COM), 79

component vulnerabilities, 9–10

Compute Stick, 66

computer cases, 58

Computer Fraud and Abuse Act, 13, 42

computers

considerations, 10

general-purpose, 10–11

recycling, 64

single-board computer, 64–65, 98–100

stress testing, 10–12

confidentiality, 4–5

confidentiality, integrity, and availability (CIA), 2, 4

container namespaces, 73–74

containers, 73–75

Amazon, 192

Docker Containers, 74–75

Google Cloud Engine, 271, 272–276

Microsoft Azure, 244–246

MongoDB, 73–75

overview, 73–74

Tomcat, 73–75

virtual systems, 73–75

control units, 11

controls, 3–4, 21

CPU (central processing unit), 60

CPU fan, 62

CRM (customer relationship management), 162–163

cross-site scripting, 9

cryptography, 57, 117, 118

csh (C shell), 104, 105

customer relationship management (CRM), 162–163

D

Damn Vulnerable Web Application (DVWA), 102, 103

data

breaches, 7

confidentiality of, 4–5

integrity, 5

sensitive, 7, 8, 119

storage of. See data storage

data access layer, 22

data definition language (DDL), 291

Data Security Standards (DSS), 3, 14

data storage

Amazon Web Services, 192–196

variable-length, 271–272

data tuple, 251–252

database servers

AWS, 192, 215

Google Cloud Engine, 251–254, 257, 260, 265

Microsoft Azure, 239–240

databases

Amazon Web Services, 192–196, 212–216

considerations, 250–251

development, 192

document-based, 213–214

encryption, 194–195, 215, 216

Google Cloud Engine, 251–258, 276–277

databases (cont.)

graph, 215

Microsoft Azure, 239–241, 246–247

MongoDB. See MongoDB database

Neptune, 215–217

NoSQL, 213, 276, 278

production, 192

relational. See relational databases

SQL, 239–240, 254

testing, 192

DDL (data definition language), 291

Debian distribution, 91, 98

default gateway, 35, 44, 140, 141

DEI (drop eligible indicated), 137

delivery, 165

Deployment Center, 243

deserialization, 9

desktop, 52

development. See also code

Agile methodology, 281

automation. See automation

code reuse, 272

command line access, 279–280, 284–291

continuous integration, 283

deployment process, 283

DevOps, 280–283

DevSecOps, 280, 283–284

Extreme Programming, 281

overview, 280–281

security and, 283–284

traditional methods for, 281–282

waterfall methodology, 280–281

development databases, 192

development operations (DevOps), 237

development servers, 192

devices

Bluetooth, 73

failure of, 11

low-cost, 64–66, 98

rogue, 151

special-purpose, 11

stress testing, 10–12

USB, 73

DevOps, 280–283

DevOps (development operations), 237

DevSecOps, 280, 283–284

DevStack, 169–172, 178–179. See also OpenStack

DHCP (dynamic host configuration protocol), 44, 113, 149, 225

DHCP servers, 149–150

diagramming software, 163–164

diagrams, 162–163

dial-up connections, 112

digital subscriber line (DSL), 112

Dijkstra’s algorithm, 37–38

direct object references, 8

Disk Operating System (DOS), 68, 105

disks, 52–55

cost of, 54

latency, 53–54

logical representation of, 53

types of, 55

distance vector routing, 38–39, 145

DNS (domain name system), 225, 286

DNS servers, 205, 225

Docker Containers, 74–75

documentation, 42

document-based databases, 213–214

domain name system. See DNS

DOS (Disk Operating System), 68, 105

DOS command processor, 105

downtime, 165

DRAM (Dynamic RAM), 53

draw.io site, 163–164

drives. See disks

drop eligible indicated (DEI), 137

DSL (digital subscriber line), 112

DSS (Data Security Standards), 3, 14

duplex connections, 134

DVWA (Damn Vulnerable Web Application), 102, 103

dwell time, 1, 2, 7

dynamic host configuration protocol. See DHCP

dynamic IP addresses, 225

Dynamic RAM (DRAM), 53

dynamic routing, 144–148

E

Easy-RSA, 116–117

EBGP (Exterior Border Gateway Protocol), 39

EC2 (Elastic Compute Cloud), 189, 202, 292

Elastic Compute Cloud (EC2), 189, 202, 292

elastic pool, 240

encryption

considerations, 123

databases, 194–195, 215, 216

load balancing and, 271

privacy and, 209

QUIC, 271

telnet and, 119

VPNs and, 109, 112, 115

ESXi servers, 70, 128–129, 150, 152

Ethernet, 25

ethical issues, 18

Experian hack, 9

eXtensible Markup Language. See XML

extensions, 71, 230–231

Exterior Border Gateway Protocol (EBGP), 39

Extreme Programming, 281

F

Facebook, 215

fans, 62

Federal Risk and Authorization Management Program (FedRAMP), 14

FedRAMP (Federal Risk and Authorization Management Program), 14

files

batch, 105

configuration, 118

containers and, 74

DevStack, 170

OpenStack, 170

sharing, 161–162

FireEye, 1

Firejail sandbox, 94

firewalls

Fortinet, 268

Google Cloud Engine, 260–271

host-based, 45

isolation and, 17, 44–46

Microsoft Azure, 237, 238, 247

rules, 182–185

WAF, 267–268

firmware, 10

floating point operations, 56

floating point operations per second (FLOPS), 56

forking, 192

Fortinet firewall, 268

front-side bus (FSB), 60

FSB (front-side bus), 60

full-duplex connections, 134

G

gateways, 35, 44, 140, 141

GCP (Google Cloud Platform), 254–272

application servers, 258–261

cloud-native offerings, 271–277

command line interface, 290

databases, 276–277

firewalls, 260–261

load balancer, 269–271

overview, 254–258

web servers, 261–268

GCP console, 254

GDPR (General Data Protection Regulation), 4

General Data Protection Regulation (GDPR), 4

general routing encapsulation (GRE), 108–109, 112

Github, 272

Glance service, 168, 173, 186

GLBA (Gramm-Leach-Bliley Act), 4

GNOME, 93, 94

GNU Privacy Guard (GPG), 290

goals, 16–17

Google Cloud Engine, 249–278

application servers, 251, 258–261, 267, 271

cloud-native offerings, 271–277

containers, 271, 272–276

databases, 251–258, 276–277

firewalls, 260–271

instances, 253–268, 275–277

load balancers, 266, 269–271

Marketplace, 258, 263–265, 272

microservices, 271, 272

monitoring, 261

overview, 249–250

relational databases, 251–253

templates, 261–263

traditional web architecture, 250–271

users/roles, 251, 263–266, 272

web servers, 251, 260, 261–268

Google Cloud Platform. See GCP

Google Drive, 160, 161

GPG (GNU Privacy Guard), 290

GPU (graphics processing unit), 56, 57, 62–63

Gramm-Leach-Bliley Act (GLBA), 4

graph databases, 215

graphical user interfaces (GUIs), 78, 120–126

graphics processing unit (GPU), 56, 57, 62–63

GRE (general routing encapsulation), 108–109, 112

GUIs (graphical user interfaces), 78, 120–126

gunzip, 186

H

hackers. See attackers

handshake, 226

hashes, 7–8

HDMI (High-Definition Multimedia Interface), 55

Health Insurance Portability and Accountability Act (HIPAA), 3

heating, ventilation, air conditioning (HVAC) system, 68

High-Definition Multimedia Interface (HDMI), 55

HIPAA (Health Insurance Portability and Accountability Act), 3

hostname, 225

host-only networking, 149, 150

HTML (Hypertext Markup Language), 234

HTTP (Hypertext Transport Protocol), 205–207

HTTP communication, 222

HTTP daemon (httpd), 265

HTTP header injection attacks, 267

HTTP listener, 271

HTTP load balancer, 269

HTTP requests, 234, 243

httpd (HTTP daemon), 265

HTTPS, 205–207

HTTPS listener, 207

HTTPTrigger, 243

hubs, 26, 39, 132, 133

HVAC (heating, ventilation, air conditioning) system, 68

Hypertext Markup Language (HTML), 234

Hypertext Transport Protocol. See HTTP

hypervisor servers, 168–169

hypervisors

considerations, 129, 285

desktop-based, 131

KVM hypervisor, 168–169

OpenStack and, 168–169

overview, 69–70

type 1, 69–71

type 2, 71–73

VM networking and, 149

I

IaaS (infrastructure as a service), 157–159

IAM (Identity and Access Management) role, 198–200, 211, 263–264, 287

IANA (Internet Assigned Numbers Authority), 31

IBGP (Interior Border Gateway Protocol), 146

ICANN (Internet Corporation for Assigned Names and Numbers), 31

iCloud, 160–161

ICMP (Internet Control Message Protocol), 28

Identity and Access Management (IAM) role, 198–200, 211, 263–264, 287

IEEE (Institute of Electrical and Electronics Engineers), 136

IIS (Internet Information Server), 234

IKEv2 (Internet Key Exchange), 112, 113–114

information. See data

infrastructure as a service (IaaS), 157–159

infrastructure as code, 291–294

injection attacks, 8, 9, 267

injection vulnerabilities, 7

input/output (I/O), 62

instances

Amazon Web Services, 158, 195, 202, 290

considerations, 165

Google Cloud Engine, 253–268, 275–277

Microsoft Azure, 223–233, 239

instantiation, OpenStack, 174–178

Institute of Electrical and Electronics Engineers (IEEE), 136

integrity, 5

Intel processors, 63, 64, 65, 66, 71

Inter-Switch Link (ISL), 137

Interior Border Gateway Protocol (IBGP), 146

Intermediate System to Intermediate System (IS-IS), 37–38

International Standards Organization. See ISO

Internet Assigned Numbers Authority (IANA), 31

Internet Control Message Protocol (ICMP), 28

Internet Corporation for Assigned Names and Numbers (ICANN), 31

Internet Information Server (IIS), 234

Internet Key Exchange (IKEv2), 112, 113–114

Internet of Things (IoT), 11, 99–100

Internet Protocol. See IP

Internet Service Provider (ISP), 112

internetworking layer, 27–39

interprocess communication (IPC), 254

intrusion protection system, 21

Invoke-CradleCrafter, 86–87

I/O (input/output), 62

IoT (Internet of Things), 11, 99–100

IP (Internet Protocol), 27

IP addresses

address exhaustion, 30

considerations, 27, 28

described, 29

dynamic, 225

load balancing and, 204–205, 207

vs. MAC addresses, 29

overview, 23–25

private, 31

IP addressing, 29–32

IPv4, 29–31

IPv6, 31–32

IP header, 28

IP messages, 28

IP networks, 29–32

IP Security. See IPSec

IPC (interprocess communication), 254

IPSec (IP Security), 112

IPSec VPNs, 115

IPv4, 29–31

IPv6, 31–32

IS-IS (Intermediate System to Intermediate System), 37–38

ISL (Inter-Switch Link), 137

ISO (International Standards Organization), 3

ISO 2700, 3

ISO 27001, 3

isolation

air gaps, 43

firewalls and, 17, 44–46

importance of, 42–46

memory, 73

overview, 17–18

routing, 43–44

ISP (Internet Service Provider), 112

J

Java applications, 197–198

Java programs, 234

Java virtual machine (JVM), 234

JavaScript Object Notation (JSON), 213–214, 225, 291–292

JBoss, 197–198

Joy, Bill, 104

JSON (JavaScript Object Notation), 213–214, 225, 291–292

JVM (Java virtual machine), 234

K

Kali Linux distribution, 90, 91–94, 98

kernel, 52, 272

Kernel-based Virtual Machine (KVM), 70–71, 168

Kubernetes, 272

KVM (Kernel-based Virtual Machine), 70–71, 168

L

Lamda functions, 207, 209–211, 217

LAMP stack, 265

LAND attacks, 11

LANs (local area networks), 135

latency, 53–54

layer 3 boundary, 134, 135, 137, 140

legal issues, 18

lift-and-shift, 189

link local address, 35

link state routing, 36–38, 144–145

Linux systems, 90–97

Arch-based distributions, 94–97

automation and, 105–106

Azure Pipelines Agent, 231–232

CirrOS, 173–178

considerations, 77

Debian distribution, 91, 98

features, 104

GUI, 121–122, 124

Kali distribution, 90, 91–94, 98

KVM hypervisor, 168–169

managing via command line, 103–104

Metasploitable, 100–102

NOOBS distribution, 98

overview, 90–91

Parrot distribution, 91–94

Raspberry Pi and, 98

Raspbian distribution, 98

remote desktop access, 123–124

shell access, 78, 118–120

Ubuntu distribution, 91–94, 169, 170, 186

VPNs, 115–118

Windows Subsystem for Linux, 90

“living off the land” attack, 85–86

load balancers

Amazon Web Services, 204–208

Google Cloud Engine, 266, 269–271

Microsoft Azure, 221–226

local area networks (LANs), 135

logging, 10, 258, 260, 261

M

MAC addresses, 22–27

considerations, 151

vs. IP addresses, 29

overview, 22–23

switching and, 132–134

macOS systems

automation and, 105–106

remote desktop access, 122, 124, 125

Virtual Box, 73

VNC and, 115, 124, 125

VPN and, 114, 115

maintenance, 165, 166, 257, 281

Mandiant Consulting, 1, 83

Manjaro Linux, 95, 96

maximum transmission unit (MTU), 27

media access control. See MAC

memory, 50–52

considerations, 11, 51

overview, 50–52

physical, 52

RAM, 50, 53

testing and, 51–52

virtual, 52, 68

memory isolation, 73

memory speed, 50–51

message queuing services, 212, 213

Metasploit framework, 85

Metasploitable 2, 100, 101

Metasploitable 3, 100, 102

microSD card, 98, 99

microservices, 209–211, 271, 272

Microsoft Azure. See Azure

Microsoft Challenge-Handshake Authentication Protocol (MS-CHAP), 112

Microsoft OneDrive, 160–161, 162, 219

Microsoft SkyDrive, 219

Microsoft Store, 79, 80

Minix operating system, 90

mobile devices, 160–161

model-view-controller (MVC), 250

MongoDB containers, 73–75

MongoDB database

Amazon Web Services, 214, 217

Google Cloud Engine, 276–277

Microsoft Azure, 246–247

monitoring, 10, 55–56, 237, 261

Morris, Robert T., 42

motherboards, 58, 60

MS-CHAP (Microsoft Challenge-Handshake Authentication Protocol), 112

MTU (maximum transmission unit), 27

multicore processors, 64

Multics operating system, 90

multitenancy, 164–165

MVC (model-view-controller), 250

MySQL, 254–255, 265

N

namespace identifier, 272

namespaces, 73–75, 272

NAND flash, 53

NAND (NOT AND) gate, 53

NAT (network address translation), 30, 149

National Institute of Standards and Technologies. See NIST

NDP (neighbor discovery protocol), 35

neighbor discovery protocol (NDP), 35

Neptune database, 215–217

.NET framework, 88, 234

.NET platform, 219

.NET servers, 234

network access layer, 22–25

network address, 33

network address translation (NAT), 30, 149

network design, 21–48

design requirements, 41–42

documentation, 42

gathering requirements, 21

isolation and, 42–46

network topologies, 39–41

routing, 34–39

subnetting, 21, 30, 32–34

network firewalls. See also firewalls

network interface card (NIC), 22

network mask, 32–33, 34

network topologies, 39–41

networking, 131–154

basics, 22–39

bridged, 149

host-only, 149, 150

internetworking layer, 27–39

network access layer, 22–25

OpenStack/DevStack, 178–182

physical connections, 22

routing. See routing

software defined networking, 153

subnetting, 21, 30, 32–34

switches/switching, 25–26, 132–135

virtual machine networking, 148–153

networks

C2 networks, 88

considerations, 29

IP networks, 29–32

isolating, 17–18

LANs, 135

subnets, 21, 30, 32–34, 43

virtual networks, 17–18

VLANs, 135–140

VPNs. See VPNs

New Out Of Box Software (NOOBS), 98

Nginx AMI, 202

NIC (network interface card), 22

Ninite package manager, 82

NIST (National Institute of Standards and Technologies), 3, 14

NIST 800-53, 3

NOOBS (New Out Of Box Software), 98

northbridge chip, 60

NoSQL databases, 213, 276, 278

NOT AND (NAND) gate, 53

not so stubby area (NSSA), 147

Notepad++, 89

NSSA (not so stubby area), 147

O

octets, 22, 29

Office 365, 219

Office Online, 219

OmniGraffle, 163

OneDrive, 160–161, 162, 219

Open Shortest Path First (OSPF), 37, 145–147

open source projects, 14

Open Source Security Testing Methodology (OSSTM), 14

Open Web Application Security Project (OWASP), 7–10, 14, 102

OpenStack, 167–186

administration, 172–174

DevStack, 169–172, 178–179

finding images, 185–186

instantiation, 174–178

networking, 178–182

overview, 167–169

security groups, 182–185

OpenVPN, 115–116, 118

operating systems, 77–106

32-bit, 64

64-bit, 64

command line considerations, 103–106

defined, 52

DOS, 68

guest OS, 70

GUIs, 120–126

Linux. See Linux systems

logging and, 10

macOS. See macOS systems

Minix, 90

Multics, 90

overview, 77–78

remote management, 126–127

shell access, 118–120

single-board computer, 98–100

systems under test, 100–103

types of, 78–100

Unics, 90

Unix. See Unix systems

virtual machine access, 127–129

Windows. See Windows systems

operations testing, 15–16

organizationally unique identifier (OUI), 22

OSPF (Open Shortest Path First), 37, 145–147

OSSTM (Open Source Security Testing Methodology), 14

OUI (organizationally unique identifier), 22

outsourcing, 155, 156

OWASP (Open Web Application Security Project), 7–10, 14, 102

P

Packer software, 291–292

pages, 51–52

parallel ATA (PATA) drives, 55

Parrot OS, 91–94

password hashes, 112

passwords

considerations, 119, 127

default, 8, 124

red teaming and, 15

VNC and, 124

vulnerabilities, 7–8

PATA (parallel ATA) drives, 55

Payment Card Industry (PCI), 3, 14

Payment Card Industry Data Security Standards (PCI DSS), 3

PCI (Payment Card Industry), 3, 14

PCI DSS (Payment Card Industry Data Security Standards), 3

PDU (protocol data unit), 23, 132

penetration testing, 1, 12–14

Penetration Testing Execution Standard (PTES), 13–14

permissions, 8, 17, 71, 199, 210

PHPMyAdmin, 102–103

physical systems, 50–68

building your own, 58–63

buying new, 57–58

considerations, 49

disks, 52–55

low-cost devices, 64–66, 98

memory. See memory

new systems, 57–63

overview, 50

racking/stacking, 66–68

recycle/reuse of, 64

specifications, 50–57

video, 55–57

PKI (public key infrastructure), 116–117

platform as a service, 157, 159–160

Point-to-Point Protocol (PPP), 112

Point-to-Point Tunneling Protocol (PPTP), 112

ports, 136

PostgreSQL, 254–256

power supplies, 59–60

PowerShell, 79, 83–86, 105, 288–289

PowerShell Core, 105, 288–289

PowerShell language, 219

PPP (Point-to-Point Protocol), 112

PPP over Ethernet (PPPoE), 112

PPPoE (PPP over Ethernet), 112

PPTP (Point-to-Point Tunneling Protocol), 112

pre-shared key, 118

priority code point, 137

privacy laws, 4

private cloud, 167

private keys, 116–117, 120

private VLANs, 139–140

Process Hacker, 84

processes, 60, 62

processors, 60–62

AMD, 63, 71, 98

CISC, 65

considerations, 11, 65, 71, 241

Intel, 63, 64, 65, 66, 71

lower-capacity, 11

multicore, 64

older, 64

overview, 60–61

RISC, 65

production databases, 192

production servers, 192

programming languages, 89, 104, 105, 160, 234

promiscuous mode, 151

ProSafe utility, 135, 136

protocol data unit (PDU), 23, 132

proxy servers, 266–267

PTES (Penetration Testing Execution Standard), 13–14

public key infrastructure (PKI), 116–117

public keys, 115–117, 120

Puppet software, 294

Python, 89

Q

qcow2 format, 186

QEMU (quick emulator), 186

QEMU images, 173

Quagga software, 147

queries, 253

QUIC (Quick UDP Internet Connections), 271

quick emulator. See QEMU

Quick UDP Internet Connections (QUIC), 271

R

r-commands, 126

RAM (random access memory), 50, 53

random access memory (RAM), 50, 53

Raspberry Pi, 64–65, 98

Raspbian distribution, 98

RDP (Remote Desktop Protocol), 88, 122–124

red team testing, 1, 7, 14–15, 87

reduced instruction set computing (RISC) processor, 65

regional Internet registries (RIRs), 31

regulations, 2–4

relational databases

Amazon Web Services, 192, 212, 213, 217

Google Cloud Engine, 251–253

Microsoft Azure, 248

remote access, 107–130

GUIs, 120–126

overview, 107–108

RDP, 122–124

remote commands, 126–127

shell access, 118–120

virtual machine access, 127–129

virtual private networks. See VPNs

VPNs. See VPNs

Remote Access Server, 112–115

Remote Desktop Protocol (RDP), 88, 122–124

remote host, 126

remote management (no interface), 126–127

Request for Comments (RFC), 30

resolution, 55–56, 57

reverse proxy, 266–267

RFC (Request for Comments), 30

.rhosts file, 126

ring security model, 71

ring topology, 41

RIP (Routing Information Protocol), 39, 147

RIRs (regional Internet registries), 31

RISC (reduced instruction set computing) processor, 65

rogue devices, 151

routed daemon, 147

routing, 140–148

Classless Interdomain Routing, 39

distance vector routing, 38–39

dynamic routing, 144–148

isolation and, 43–44

link state routing, 36–38

network design and, 34–39

overview, 34–36, 140

static routing, 35, 36, 141–144

Routing Information Protocol (RIP), 39, 147

routing tables, 34–37, 140, 142–143

RSA algorithm, 116–117

S

S3 (Simple Storage Service), 189, 192, 210, 212

S3 bucket, 192, 210, 212

Salesforce, 162–163

sandboxes, 94

SATA (serial ATA), 55

SBC (single-board computer), 64–65, 98–100

scalability, 166

SCSI (Small Computer System Interface), 55

SD card, 98, 99

SDN (software defined networking), 153

Secure Shell. See SSH

Secure Socket Layer (SSL), 112

Secure Socket Tunneling Protocol (SSTP), 112

security

CIA triad, 2, 4

cloud computing and, 166

vs. compliance, 2–3

considerations, 5

cryptography, 57, 117, 118

development and, 283–284

encryption. See encryption

insecure deserialization, 9

passwords. See passwords

vulnerabilities. See vulnerabilities

security controls, 3–4, 21

security groups

Amazon Web Services, 192, 200–201, 204

Microsoft Azure, 237

OpenStack, 182–185

overview, 182

security testing

basic concepts, 4–6

black box testing, 12

blue team testing, 15–16

bug bounties and, 7, 17–18

command line considerations, 103–106

compliance, 2–4

considerations, 5, 18–19

goals of, 16–17

importance of, 1–2, 5

legal/ethical issues, 18

memory and, 51–52

operating systems. See operating systems

overview, 1–2

penetration testing, 1, 12–14

permissions for, 17

reasons for, 1–20

red team testing, 1, 7, 14–15, 87

software security testing, 6–10

stress testing, 10–12

system isolation and, 17–18

systems under test, 100–103

testing databases, 192

third-party testing, 12

white box testing, 12–13

workflow, 78

self-service, 165

serial ATA (SATA), 55

server key, 117

serverless computing, 242–244

servers

application. See application servers

database. See database servers

development, 192

DHCP servers, 149–150

DNS servers, 205, 225

ESXi servers, 70, 128–129, 150, 152

hypervisor servers, 168–169

.NET servers, 234

production servers, 192

proxy servers, 266–267

Remote Access Server, 112–115

SSH servers, 119–121, 126, 127, 201

telnet servers, 119

Tomcat servers, 198, 200, 271

VM servers, 128–129

VNC servers, 124

VPN servers, 113

web. See web servers

Windows Server, 111, 112–115

service level agreements, 164–165

session identifiers, 8

shell, 78, 104

shell access, 52, 78, 118–120

Simple Queue Service (SQS), 189

Simple Storage Service (S3), 189, 192, 210, 212

simplex connections, 134

single-board computer (SBC), 64–65, 98–100

SkyDrive, 219

slow HTTP stress testing, 11, 12

slowhttptest program, 11–12

Small Computer System Interface (SCSI), 55

software

bugs, 6–7

diagramming, 163

out-of-date, 10

stress testing, 10–12

software as a service, 157, 161–164

software defined networking (SDN), 153

software development. See development

software security testing, 6–10

solid-state drive (SSD), 53, 54

SONET (Synchronous Optical Network) devices, 41

source code. See code

spanning tree protocol (STP), 27

spoofing attacks, 126, 139

SQL (Structured Query Language), 253–258

SQL database, 239–240, 254

SQLite, 253

SQS (Simple Queue Service), 189

SSD (solid-state drive), 53, 54

SSH (Secure Shell), 119–120, 126–127, 268

SSH clients, 119–121, 126

SSH key, 228

SSH servers, 119–121, 126, 127, 201

SSH tunneling, 120, 121

SSL (Secure Socket Layer), 112

SSTP (Secure Socket Tunneling Protocol), 112

Stackdriver, 261

star topology, 39–40

static routing, 35, 36, 141–144

storage as a service, 157, 160–161

STP (spanning tree protocol), 27

stress testing, 10–12

Structured Query Language. See SQL

subnet mask, 32–33

subnets, 21, 30, 32–34, 43

subnetting, 21, 30, 32–34, 43

SUT (system under test), 100

switches/switching

basics, 25–26, 132–135

considerations, 43–44

example of, 39

vSwitches, 150–151

SYN floods, 221

SYN message, 221

Synchronous Optical Network (SONET) devices, 41

system configuration diagram, 60, 61

system under test (SUT), 100

systems

availability of, 5

cross-site scripting, 9

firmware, 10

isolating. See isolation

known vulnerabilities, 9–10

logging and, 10

out-of-date software, 10

physical. See physical systems

security misconfiguration, 8–9

virtual. See virtual systems

systems under test, 100–103

T

Tanenbaum, Andrew, 90

TCP (Transmission Control Protocol), 79

TCP/IP, 22

Teardrop attacks, 11

telnet client, 119

Telnet protocol, 118–119, 120

telnet servers, 119

telnetd, 119

TENEX C shell, 104–105

test plans, 16–17

testing. See security testing

third-party testing, 12

TLS (Transport Layer Security), 112, 115, 118, 207, 271

Tomcat containers, 73–75

Tomcat servers, 198, 200, 271

Torvalds, Linus, 90–91

Transmission Control Protocol (TCP), 79

Transport Layer Security (TLS), 112, 115, 118, 207, 271

trunk port, 137

tunnels/tunneling, 108–109, 112, 115, 120

tuple, 251–252

type 1 hypervisors, 69–71

type 2 hypervisors, 71–73

typographical errors, 8–9

U

Ubuntu Linux, 91–94, 169, 170, 186

UNetbootin software, 98

Unics operating system, 90

uniform resource identifier (URI), 267

uniform resource locator (URL), 267

Universal Serial Bus (USB) ports, 58

Unix systems

considerations, 104–105

overview, 90–91

r-commands, 126

shells, 104–105, 118

Unix-based shell languages, 105

URI (uniform resource identifier), 267

URL (uniform resource locator), 267

USB devices, 73

USB (Universal Serial Bus) ports, 58

user interface, 52

useradd program, 170

usernames, 8, 228

V

Vagrant software, 294

VBoxManage, 285

video, 55–57

virtual local area networks (VLANs), 135–140

virtual machine networking, 148–153

virtual machines

access to, 127–129

local, 284–285

system isolation and, 17–18

working with, 285–291

virtual memory, 52, 68

Virtual Network Computing. See VNC

virtual networks, 17–18

virtual private cloud (VPC), 203–204, 215

virtual private networks. See VPNs

virtual switches (vSwitches), 150–151

virtual systems, 68–75

considerations, 49

containers, 73–75

overview, 68–69

type 1 hypervisors, 69–71

type 2 hypervisors, 71–73

VirtualBox, 73, 285

virtualization, 68–75

containers, 73–75

described, 68–69

hypervisors, 69–73

Visio, 163

Visual Studio, 90, 243

Visual Studio Code, 89–90

VLANs (virtual local area networks), 135–140

overview, 135–136

private, 139–140

SDN and, 153

working with, 151–152

VM servers, 128–129

VMware, 138, 149, 150–151, 152

VMware ESXi servers, 70, 128–129, 150, 152

VMware Fusion, 73

VMware Player, 73

VNC (Virtual Network Computing), 88, 124–126

VNC servers, 124

Voice over IP (VoIP), 139

VoIP (Voice over IP), 139

Von Neumann architecture, 11, 241

Von Neumann, John, 11, 241

VPC (virtual private cloud), 203–204, 215

VPN servers, 113

VPNs (virtual private networks), 108–118

IPSec, 115

Linux, 115–118

OpenVPN, 115–116, 118

overview, 108–111

Windows, 111–115

vSwitches (virtual switches), 150–151

vulnerabilities

broken access control, 8

bugs and, 6–7

components, 9–10

development and, 283–284

injection, 7

listed, 7–10

passwords, 7–8

security misconfiguration, 8–9

sensitive data exposure, 8

W

WAF (web application firewall), 267–268

waterfall methodology, 280–281

web application firewall (WAF), 267–268

web applications, 101–103, 160

web pages, 9

web servers

Amazon Web Services, 202–204

Apache, 265

attacks on, 11–12

Google Cloud Engine, 251, 260, 261–268

Microsoft Azure, 226–233

web-based access, 165

WebGoat, 102

white box testing, 12–13

Windows 10 systems, 51

Windows Defender Firewall, 45, 46

Windows IoT Core, 99–100

Windows Management Instrumentation (WMI) interface, 79, 127

Windows remote management (winrm) tool, 127

Windows Server, 111, 112–115

Windows Subsystem for Linux (WSL), 90

Windows systems, 78–90

Commando VM, 83–90

considerations, 77, 78

overview, 78

package management, 79–83

PowerShell, 79

remote commands, 127

remote desktop access, 122–124

testing and, 79

versions, 79

VPNs and, 114–115

Windows VPNs, 111–115

winrm (Windows remote management) tool, 127

Wireshark, 22–23, 137, 145

WMI (Windows Management Instrumentation) interface, 79, 127

Wordpress, 197

workflow, 78

WSL (Windows Subsystem for Linux), 90

X

X forwarding, 121

X Windows, 121–123, 124

X11 forwarding, 121–122

X.509 certificate, 176

Xdmcp, 124

XML (eXtensible Markup Language), 8, 213

XML external entities, 8

XML External Entity attack, 8

Xrdp software, 123

Y

YAML (Yet Another Markup Language), 230, 275, 291–292

Yet Another Markup Language (YAML), 230, 275, 291–292

Z

Z-shell, 105

Zebra software, 147

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.211.87