# Lab VM Student Guide

Your approved lab scope is:

- `192.168.56.0/24`
- `hackerspace.test`
- DNS resolver: `192.168.56.10`

Do not scan outside this scope unless your instructor gives a new written
scope statement.

## Targets

| Target | Address | What to practice |
| --- | --- | --- |
| DNS | `192.168.56.10` | DNS record lookup and subdomain enumeration |
| Web | `192.168.56.20` | HTTP headers, paths, logs, and reporting |
| Services | `192.168.56.30` | TCP scanning and banner grabbing |

## Warmup

```powershell
python scripts/lab_healthcheck.py
```

## Suggested Path

1. Profile the DNS zone.

```powershell
python labs/dns_records.py hackerspace.test --resolver 192.168.56.10 --types A MX NS TXT
```

2. Enumerate likely subdomains.

```powershell
python labs/subdomain_enum.py hackerspace.test --wordlist wordlists/common_subdomains.txt --resolver 192.168.56.10
```

3. Scan the known target hosts.

```powershell
python labs/tcp_port_scanner.py 192.168.56.20 --ports 22,80,443,8080
python labs/tcp_port_scanner.py 192.168.56.30 --ports 22,2525,3306,8080,9090
```

4. Grab banners and headers.

```powershell
python labs/banner_grabber.py 192.168.56.20 80 --http
python labs/banner_grabber.py 192.168.56.30 2525
```

5. Parse evidence.

```powershell
python labs/log_triage.py infra/evidence/web_access.log
```

6. Build a short report.

```powershell
python labs/report_builder.py samples/findings.jsonl --scope 192.168.56.0/24
```

## Submit

Turn in:

- The command lines you ran
- The output or findings file
- One thing you can state as fact
- One thing that is only an inference
- One limitation of your tool or method
# Expanded Web and Traffic Labs

The original exercises below remain available. The six-week extension adds
a web/API practice service at `http://192.168.56.20:8090` after the instructor
reprovisions the web VM. A local version runs with `python infra/web_lab.py`
at `http://127.0.0.1:8090`.

Use the course Evidence tab for the two offline PCAPs and other datasets.
See [the course guide](COURSE_GUIDE.md) for the full six-week schedule and
commands. The web practice login is separate from the instructor console.
