# aasz253/networkwalks-week3-password-security architecture

> Architecture diagram of the GitHub repository aasz253/networkwalks-week3-password-security, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/aasz253/networkwalks-week3-password-security
- Repository: https://github.com/aasz253/networkwalks-week3-password-security

## Overview

This repository is a hands-on Week 3 cybersecurity training portfolio, not an executable application. Its main learning workflow is to practice authorized password/hash testing, retain raw results and screenshots, and document findings. The README supports that workflow and names the major exercise and documentation areas; source excerpts were unavailable, so implementation-level wiring and optional-module details are not inferred.

Main entry points: [`W3-PM1-JTR`](https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM1-JTR) (JTR exercise), [`W3-PM2-NW-Tools`](https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM2-NW-Tools) (NW Tools exercise), [`W3-PM1-JTR/hash-analysis`](https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM1-JTR/hash-analysis) (Hash analysis), [`W3-PM1-JTR/john`](https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM1-JTR/john) (John CLI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_exercises["Practice modules"]
  node_pm1["JTR exercise"]
  node_hash_analysis["Hash analysis"]
  node_john_cli["John CLI"]
  node_johnny_gui["Johnny GUI"]
  node_pm2["NW Tools exercise"]
  node_optional_ai["AI JTR exercise"]
  node_optional_mediroza["Mediroza exercise"]
end

subgraph group_learning["Learning materials"]
  node_concepts["Password concepts"]
  node_hashing_encryption["Hashing concepts"]
  node_methodology["Attack methodology"]
  node_defenses["Defensive guidance"]
  node_ethics["Ethics and scope"]
  node_troubleshooting["Troubleshooting<br/>[troubleshooting.md]"]
  node_lessons["Lessons learned<br/>[lessons-learned.md]"]
end

subgraph group_evidence["Evidence and reporting"]
  node_raw_results["Raw results<br/>[results.txt]"]
  node_pm2_results["NW Tools results<br/>[results.txt]"]
  node_pm1_findings["JTR findings<br/>[findings.md]"]
  node_pm2_findings["NW Tools findings<br/>[findings.md]"]
  node_evidence_index["Evidence index<br/>[evidence-index.md]"]
  node_screenshots["Evidence screenshots"]
end

node_learner(("Learner"))
node_authorized_file["Authorized file"]

node_learner -->|"performs"| node_pm1
node_authorized_file -->|"extracts hash"| node_hash_analysis
node_hash_analysis -->|"supports testing"| node_john_cli
node_pm1 -->|"uses CLI"| node_john_cli
node_pm1 -->|"offers GUI"| node_johnny_gui
node_learner -->|"performs"| node_pm2
node_pm1 -->|"records output"| node_raw_results
node_pm2 -->|"records output"| node_pm2_results
node_learner -->|"documents findings"| node_pm1_findings
node_learner -->|"documents findings"| node_pm2_findings
node_pm1 -->|"captures evidence"| node_screenshots
node_pm2 -->|"captures evidence"| node_screenshots
node_learner -->|"indexes evidence"| node_evidence_index
node_learner -.->|"may explore"| node_optional_ai
node_learner -.->|"may explore"| node_optional_mediroza
node_learner -->|"studies"| node_concepts
node_learner -->|"studies"| node_hashing_encryption
node_learner -->|"consults"| node_methodology
node_learner -->|"consults"| node_defenses
node_learner -->|"checks scope"| node_ethics
node_learner -->|"consults"| node_troubleshooting
node_learner -->|"reviews"| node_lessons

click node_pm1 "https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM1-JTR"
click node_hash_analysis "https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM1-JTR/hash-analysis"
click node_john_cli "https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM1-JTR/john"
click node_johnny_gui "https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM1-JTR/johnny"
click node_pm2 "https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM2-NW-Tools"
click node_optional_ai "https://github.com/aasz253/networkwalks-week3-password-security/tree/main/OPTIONAL/W3-OPTIONAL1-AI-JTR"
click node_optional_mediroza "https://github.com/aasz253/networkwalks-week3-password-security/tree/main/OPTIONAL/W3-OPTIONAL2-Mediroza"
click node_concepts "https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/password-security.md"
click node_hashing_encryption "https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/hashing-vs-encryption.md"
click node_methodology "https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/attack-methodology.md"
click node_defenses "https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/defensive-recommendations.md"
click node_ethics "https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/ethics-and-scope.md"
click node_troubleshooting "https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/troubleshooting.md"
click node_lessons "https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/lessons-learned.md"
click node_raw_results "https://github.com/aasz253/networkwalks-week3-password-security/blob/main/W3-PM1-JTR/john/results.txt"
click node_pm2_results "https://github.com/aasz253/networkwalks-week3-password-security/blob/main/W3-PM2-NW-Tools/outputs/results.txt"
click node_pm1_findings "https://github.com/aasz253/networkwalks-week3-password-security/blob/main/W3-PM1-JTR/report/findings.md"
click node_pm2_findings "https://github.com/aasz253/networkwalks-week3-password-security/blob/main/W3-PM2-NW-Tools/report/findings.md"
click node_evidence_index "https://github.com/aasz253/networkwalks-week3-password-security/blob/main/evidence/evidence-index.md"
click node_screenshots "https://github.com/aasz253/networkwalks-week3-password-security/tree/main/evidence/screenshots"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_pm1,node_hash_analysis,node_john_cli,node_johnny_gui,node_pm2,node_optional_ai,node_optional_mediroza toneBlue
class node_concepts,node_hashing_encryption,node_methodology,node_defenses,node_ethics,node_troubleshooting,node_lessons toneAmber
class node_raw_results,node_pm2_results,node_pm1_findings,node_pm2_findings,node_evidence_index,node_screenshots toneMint
class node_learner,node_authorized_file toneIndigo
```

## Components

### Practice modules

- [JTR exercise](https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM1-JTR): `W3-PM1-JTR`
- [Hash analysis](https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM1-JTR/hash-analysis): `W3-PM1-JTR/hash-analysis`
- [John CLI](https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM1-JTR/john): `W3-PM1-JTR/john`
- [Johnny GUI](https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM1-JTR/johnny): `W3-PM1-JTR/johnny`
- [NW Tools exercise](https://github.com/aasz253/networkwalks-week3-password-security/tree/main/W3-PM2-NW-Tools): `W3-PM2-NW-Tools`
- [AI JTR exercise](https://github.com/aasz253/networkwalks-week3-password-security/tree/main/OPTIONAL/W3-OPTIONAL1-AI-JTR): `OPTIONAL/W3-OPTIONAL1-AI-JTR`
- [Mediroza exercise](https://github.com/aasz253/networkwalks-week3-password-security/tree/main/OPTIONAL/W3-OPTIONAL2-Mediroza): `OPTIONAL/W3-OPTIONAL2-Mediroza`

### Learning materials

- [Password concepts](https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/password-security.md): `documentation/password-security.md`
- [Hashing concepts](https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/hashing-vs-encryption.md): `documentation/hashing-vs-encryption.md`
- [Attack methodology](https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/attack-methodology.md): `documentation/attack-methodology.md`
- [Defensive guidance](https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/defensive-recommendations.md): `documentation/defensive-recommendations.md`
- [Ethics and scope](https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/ethics-and-scope.md): `documentation/ethics-and-scope.md`
- [Troubleshooting](https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/troubleshooting.md): `documentation/troubleshooting.md`
- [Lessons learned](https://github.com/aasz253/networkwalks-week3-password-security/blob/main/documentation/lessons-learned.md): `documentation/lessons-learned.md`

### Evidence and reporting

- [Raw results](https://github.com/aasz253/networkwalks-week3-password-security/blob/main/W3-PM1-JTR/john/results.txt): `W3-PM1-JTR/john/results.txt`
- [NW Tools results](https://github.com/aasz253/networkwalks-week3-password-security/blob/main/W3-PM2-NW-Tools/outputs/results.txt): `W3-PM2-NW-Tools/outputs/results.txt`
- [JTR findings](https://github.com/aasz253/networkwalks-week3-password-security/blob/main/W3-PM1-JTR/report/findings.md): `W3-PM1-JTR/report/findings.md`
- [NW Tools findings](https://github.com/aasz253/networkwalks-week3-password-security/blob/main/W3-PM2-NW-Tools/report/findings.md): `W3-PM2-NW-Tools/report/findings.md`
- [Evidence index](https://github.com/aasz253/networkwalks-week3-password-security/blob/main/evidence/evidence-index.md): `evidence/evidence-index.md`
- [Evidence screenshots](https://github.com/aasz253/networkwalks-week3-password-security/tree/main/evidence/screenshots): `evidence/screenshots`

### Other components

- **Learner**
- **Authorized file**

## Connections

- Learner → JTR exercise: performs
- Authorized file → Hash analysis: extracts hash
- Hash analysis → John CLI: supports testing
- JTR exercise → John CLI: uses CLI
- JTR exercise → Johnny GUI: offers GUI
- Learner → NW Tools exercise: performs
- JTR exercise → Raw results: records output
- NW Tools exercise → NW Tools results: records output
- Learner → JTR findings: documents findings
- Learner → NW Tools findings: documents findings
- JTR exercise → Evidence screenshots: captures evidence
- NW Tools exercise → Evidence screenshots: captures evidence
- Learner → Evidence index: indexes evidence
- Learner → AI JTR exercise: may explore
- Learner → Mediroza exercise: may explore
- Learner → Password concepts: studies
- Learner → Hashing concepts: studies
- Learner → Attack methodology: consults
- Learner → Defensive guidance: consults
- Learner → Ethics and scope: checks scope
- Learner → Troubleshooting: consults
- Learner → Lessons learned: reviews
