pwn 0.5.615 → 0.5.618
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +109 -85
- data/README.md.bak +200 -0
- data/bin/pwn +47 -2
- data/bin/pwn_gqrx_scanner +75 -18
- data/documentation/AI-Integration.md +42 -26
- data/documentation/AWS.md +57 -0
- data/documentation/Agent-Tool-Registry.md +56 -0
- data/documentation/Banner.md +17 -0
- data/documentation/Blockchain.md +18 -0
- data/documentation/Bounty.md +21 -0
- data/documentation/BurpSuite.md +41 -16
- data/documentation/CLI-Drivers.md +58 -0
- data/documentation/Configuration.md +66 -0
- data/documentation/Contributing.md +33 -19
- data/documentation/Cron.md +47 -0
- data/documentation/Diagrams.md +123 -40
- data/documentation/Drivers.md +43 -16
- data/documentation/Extrospection.md +54 -0
- data/documentation/FFI.md +14 -0
- data/documentation/Fuzzing.md +36 -0
- data/documentation/General-PWN-Usage.md +50 -30
- data/documentation/Hardware.md +40 -0
- data/documentation/Home.md +78 -51
- data/documentation/How-PWN-Works.md +59 -57
- data/documentation/Installation.md +53 -28
- data/documentation/Metasploit.md +34 -0
- data/documentation/NmapIt.md +18 -12
- data/documentation/PWN.png +0 -0
- data/documentation/PWN_Contributors_and_Users.png +0 -0
- data/documentation/Persistence.md +38 -0
- data/documentation/Plugins.md +97 -47
- data/documentation/Reporting.md +25 -18
- data/documentation/SAST.md +39 -22
- data/documentation/SDR.md +40 -0
- data/documentation/Sessions.md +39 -0
- data/documentation/Skills-Memory-Learning.md +49 -29
- data/documentation/Swarm.md +71 -0
- data/documentation/Transparent-Browser.md +26 -22
- data/documentation/Troubleshooting.md +44 -25
- data/documentation/WWW.md +32 -0
- data/documentation/What-is-PWN.md +51 -32
- data/documentation/Why-PWN.md +41 -11
- data/documentation/diagrams/agent-tool-registry.svg +284 -0
- data/documentation/diagrams/ai-integration-tool-calling.svg +141 -103
- data/documentation/diagrams/aws-cloud-security.svg +166 -0
- data/documentation/diagrams/build.sh +20 -0
- data/documentation/diagrams/burp-vs-zap-preference.svg +47 -62
- data/documentation/diagrams/code-scanning-sast.svg +139 -79
- data/documentation/diagrams/cron-scheduling.svg +148 -0
- data/documentation/diagrams/dot/_THEME.md +27 -0
- data/documentation/diagrams/dot/agent-tool-registry.dot +59 -0
- data/documentation/diagrams/dot/ai-integration-tool-calling.dot +47 -20
- data/documentation/diagrams/dot/aws-cloud-security.dot +48 -0
- data/documentation/diagrams/dot/burp-vs-zap-preference.dot +23 -12
- data/documentation/diagrams/dot/code-scanning-sast.dot +46 -18
- data/documentation/diagrams/dot/cron-scheduling.dot +40 -0
- data/documentation/diagrams/dot/driver-framework.dot +36 -14
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +55 -0
- data/documentation/diagrams/dot/fuzzing-workflow.dot +44 -24
- data/documentation/diagrams/dot/hardware-hacking.dot +48 -0
- data/documentation/diagrams/dot/history-to-drivers.dot +31 -17
- data/documentation/diagrams/dot/memory-skills-detailed.dot +57 -25
- data/documentation/diagrams/dot/network-infra-testing.dot +51 -19
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +110 -44
- data/documentation/diagrams/dot/penetration-testing-workflow.dot +56 -25
- data/documentation/diagrams/dot/persistence-filesystem.dot +29 -0
- data/documentation/diagrams/dot/plugin-ecosystem.dot +41 -27
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +87 -46
- data/documentation/diagrams/dot/pwn-repl-prototyping.dot +49 -30
- data/documentation/diagrams/dot/reporting-pipeline.dot +43 -14
- data/documentation/diagrams/dot/reverse-engineering-flow.dot +40 -18
- data/documentation/diagrams/dot/sdr-radio-flow.dot +45 -0
- data/documentation/diagrams/dot/sessions-cron-automation.dot +41 -14
- data/documentation/diagrams/dot/swarm-multi-agent.dot +70 -0
- data/documentation/diagrams/dot/web-application-testing.dot +45 -23
- data/documentation/diagrams/dot/zero-day-research-flow.dot +46 -24
- data/documentation/diagrams/driver-framework.svg +87 -66
- data/documentation/diagrams/extrospection-world-awareness.svg +185 -0
- data/documentation/diagrams/fuzzing-workflow.svg +128 -115
- data/documentation/diagrams/hardware-hacking.svg +163 -0
- data/documentation/diagrams/history-to-drivers.svg +84 -82
- data/documentation/diagrams/memory-skills-detailed.svg +167 -119
- data/documentation/diagrams/network-infra-testing.svg +146 -84
- data/documentation/diagrams/overall-pwn-architecture.svg +356 -185
- data/documentation/diagrams/penetration-testing-workflow.svg +161 -108
- data/documentation/diagrams/persistence-filesystem.svg +174 -0
- data/documentation/diagrams/plugin-ecosystem.svg +225 -121
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +257 -185
- data/documentation/diagrams/pwn-repl-prototyping.svg +126 -137
- data/documentation/diagrams/reporting-pipeline.svg +128 -68
- data/documentation/diagrams/reverse-engineering-flow.svg +100 -80
- data/documentation/diagrams/sdr-radio-flow.svg +146 -0
- data/documentation/diagrams/sessions-cron-automation.svg +112 -68
- data/documentation/diagrams/swarm-multi-agent.svg +225 -0
- data/documentation/diagrams/web-application-testing.svg +136 -100
- data/documentation/diagrams/zero-day-research-flow.svg +116 -112
- data/documentation/fax-spectrogram.png +0 -0
- data/documentation/fax-waveform.png +0 -0
- data/documentation/pwn-REPL.md +40 -24
- data/documentation/pwn-ai-Agent.md +59 -30
- data/documentation/pwn_android_war_dialer_session.png +0 -0
- data/documentation/pwn_install.png +0 -0
- data/documentation/pwn_wallpaper.jpg +0 -0
- data/documentation/ringing-spectrogram.png +0 -0
- data/documentation/ringing-waveform.png +0 -0
- data/git_commit.sh +1 -1
- data/lib/pwn/ai/agent/assembly.rb +1 -1
- data/lib/pwn/ai/agent/btc.rb +1 -1
- data/lib/pwn/ai/agent/burp_suite.rb +1 -1
- data/lib/pwn/ai/agent/extrospection.rb +618 -0
- data/lib/pwn/ai/agent/gqrx.rb +2 -2
- data/lib/pwn/ai/agent/hacker_one.rb +1 -1
- data/lib/pwn/ai/agent/introspection.rb +91 -0
- data/lib/pwn/ai/agent/learning.rb +6 -4
- data/lib/pwn/ai/agent/loop.rb +15 -0
- data/lib/pwn/ai/agent/prompt_builder.rb +10 -1
- data/lib/pwn/ai/agent/sast.rb +1 -1
- data/lib/pwn/ai/agent/swarm.rb +437 -0
- data/lib/pwn/ai/agent/tools/cron.rb +163 -0
- data/lib/pwn/ai/agent/tools/extrospection.rb +280 -0
- data/lib/pwn/ai/agent/tools/learning.rb +108 -0
- data/lib/pwn/ai/agent/tools/memory.rb +27 -0
- data/lib/pwn/ai/agent/tools/metrics.rb +61 -0
- data/lib/pwn/ai/agent/tools/sessions.rb +139 -0
- data/lib/pwn/ai/agent/tools/skills.rb +30 -0
- data/lib/pwn/ai/agent/tools/swarm.rb +229 -0
- data/lib/pwn/ai/agent/transparent_browser.rb +1 -1
- data/lib/pwn/ai/agent/vuln_gen.rb +2 -2
- data/lib/pwn/ai/agent.rb +3 -0
- data/lib/pwn/ai/anthropic.rb +19 -4
- data/lib/pwn/ai.rb +0 -1
- data/lib/pwn/config.rb +10 -23
- data/lib/pwn/cron.rb +16 -7
- data/lib/pwn/plugins/repl.rb +90 -281
- data/lib/pwn/sdr/decoder/base.rb +251 -0
- data/lib/pwn/sdr/decoder/gsm.rb +84 -185
- data/lib/pwn/sdr/decoder/pocsag.rb +62 -217
- data/lib/pwn/sdr/decoder.rb +1 -0
- data/lib/pwn/sdr/gqrx.rb +446 -65
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/ai/agent/extrospection_spec.rb +15 -0
- data/spec/lib/pwn/ai/agent/introspection_spec.rb +15 -0
- data/spec/lib/pwn/ai/agent/swarm_spec.rb +34 -0
- data/spec/lib/pwn/ai/agent/tools/cron_spec.rb +40 -0
- data/spec/lib/pwn/ai/agent/tools/extrospection_spec.rb +40 -0
- data/spec/lib/pwn/ai/agent/tools/metrics_spec.rb +20 -0
- data/spec/lib/pwn/ai/agent/tools/sessions_spec.rb +35 -0
- data/spec/lib/pwn/ai/agent/tools/swarm_spec.rb +17 -0
- data/spec/lib/pwn/{ai/introspection_spec.rb → sdr/decoder/base_spec.rb} +3 -3
- data/third_party/pwn_rdoc.jsonl +199 -37
- metadata +65 -3
- data/lib/pwn/ai/introspection.rb +0 -76
|
@@ -1,27 +1,47 @@
|
|
|
1
|
-
digraph "
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
digraph "PWN_Fuzz" {
|
|
2
|
+
graph [
|
|
3
|
+
label=<<B>Fuzzing with PWN</B><BR/><FONT POINT-SIZE="11" COLOR="#94a3b8">Plugins::Fuzz · Sock · Packet · Reports::Fuzz</FONT>>,
|
|
4
|
+
labelloc=t, fontsize=20, fontname="Helvetica",
|
|
5
|
+
rankdir=LR, splines=spline, nodesep=0.45, ranksep=1.2,
|
|
6
|
+
bgcolor="#0f172a", fontcolor="#e2e8f0", pad=0.6, newrank=true
|
|
7
|
+
];
|
|
8
|
+
node [fontname="Helvetica", fontsize=10, style="filled,rounded",
|
|
9
|
+
shape=box, penwidth=1.3, color="#334155", fontcolor="#0f172a"];
|
|
10
|
+
edge [fontname="Helvetica", fontsize=9, color="#94a3b8",
|
|
11
|
+
fontcolor="#cbd5e1", penwidth=1.3, arrowsize=0.8];
|
|
4
12
|
|
|
5
|
-
|
|
6
|
-
FuzzProto [label="Protocol Fuzz\n(pwn_fuzz_net_app_proto)"];
|
|
7
|
-
FuzzFile [label="File / Format Fuzz"];
|
|
8
|
-
FuzzNet [label="Network Service Fuzz"];
|
|
9
|
-
FuzzWeb [label="Web App Fuzz\n(XSS vectors, etc.)"];
|
|
10
|
-
PWNfuzz [label="PWN::Plugins::Fuzz", shape=ellipse];
|
|
11
|
-
Monitor [label="Monitor Crashes\n(PS, logging, core dumps)"];
|
|
12
|
-
Corpus [label="Interesting Inputs\n(saved for replay)", shape=cylinder];
|
|
13
|
-
Crash [label="Crash Analysis\n(identify root cause)", shape=ellipse];
|
|
13
|
+
Seed [label="Seed corpus /\nprotocol grammar", fillcolor="#7dd3fc"];
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
15
|
+
subgraph cluster_gen {
|
|
16
|
+
label="Generate"; fontcolor="#a7f3d0"; style=rounded;
|
|
17
|
+
color="#047857"; bgcolor="#022c22";
|
|
18
|
+
Fuzz [label="Plugins::Fuzz\nmutate · generate", fillcolor="#6ee7b7"];
|
|
19
|
+
Char [label="Plugins::Char\nencodings", fillcolor="#6ee7b7"];
|
|
20
|
+
}
|
|
21
|
+
subgraph cluster_deliver {
|
|
22
|
+
label="Deliver"; fontcolor="#fde68a"; style=rounded;
|
|
23
|
+
color="#a16207"; bgcolor="#422006";
|
|
24
|
+
Sock [label="Plugins::Sock\nTCP/UDP", fillcolor="#fcd34d"];
|
|
25
|
+
Packet [label="Plugins::Packet\nraw L2/L3", fillcolor="#fcd34d"];
|
|
26
|
+
NetApp [label="pwn_fuzz_net_app_proto\nCLI driver", fillcolor="#fcd34d"];
|
|
27
|
+
}
|
|
28
|
+
subgraph cluster_mon {
|
|
29
|
+
label="Monitor"; fontcolor="#fecaca"; style=rounded;
|
|
30
|
+
color="#b91c1c"; bgcolor="#450a0a";
|
|
31
|
+
PS [label="Plugins::PS\nprocess health", fillcolor="#fda4af"];
|
|
32
|
+
Log [label="Plugins::Log\ncrash detect", fillcolor="#fda4af"];
|
|
33
|
+
}
|
|
34
|
+
Report [label="Reports::Fuzz\ncrash triage", fillcolor="#7dd3fc"];
|
|
35
|
+
|
|
36
|
+
Seed -> Fuzz [color="#38bdf8"];
|
|
37
|
+
Seed -> Char [color="#38bdf8"];
|
|
38
|
+
Fuzz -> Sock [color="#f59e0b"];
|
|
39
|
+
Fuzz -> Packet [color="#f59e0b"];
|
|
40
|
+
Char -> NetApp [color="#f59e0b"];
|
|
41
|
+
Sock -> PS [color="#fb7185"];
|
|
42
|
+
Packet -> Log [color="#fb7185"];
|
|
43
|
+
NetApp -> Log [color="#fb7185"];
|
|
44
|
+
PS -> Report [color="#38bdf8"];
|
|
45
|
+
Log -> Report [color="#38bdf8"];
|
|
46
|
+
Log -> Fuzz [label="minimise + reseed", style=dashed, color="#fbbf24", constraint=false];
|
|
27
47
|
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
digraph "PWN_Hardware" {
|
|
2
|
+
graph [
|
|
3
|
+
label=<<B>Hardware & Physical-Layer Hacking</B><BR/><FONT POINT-SIZE="11" COLOR="#94a3b8">Serial · BusPirate · MSR206 · Android · BareSIP · SDR</FONT>>,
|
|
4
|
+
labelloc=t, fontsize=20, fontname="Helvetica",
|
|
5
|
+
rankdir=LR, splines=spline, nodesep=0.4, ranksep=1.2,
|
|
6
|
+
bgcolor="#0f172a", fontcolor="#e2e8f0", pad=0.6, newrank=true
|
|
7
|
+
];
|
|
8
|
+
node [fontname="Helvetica", fontsize=10, style="filled,rounded",
|
|
9
|
+
shape=box, penwidth=1.3, color="#334155", fontcolor="#0f172a"];
|
|
10
|
+
edge [fontname="Helvetica", fontsize=9, color="#94a3b8",
|
|
11
|
+
fontcolor="#cbd5e1", penwidth=1.3, arrowsize=0.8];
|
|
12
|
+
|
|
13
|
+
subgraph cluster_dev {
|
|
14
|
+
label="Physical Devices"; fontcolor="#fecaca"; style="rounded,dashed";
|
|
15
|
+
color="#b91c1c"; bgcolor="#450a0a";
|
|
16
|
+
Uart [label="UART / JTAG\nembedded target", fillcolor="#fda4af"];
|
|
17
|
+
Mag [label="Magstripe card", fillcolor="#fda4af"];
|
|
18
|
+
Phone [label="Android device", fillcolor="#fda4af"];
|
|
19
|
+
VoIP [label="SIP / PSTN", fillcolor="#fda4af"];
|
|
20
|
+
RF [label="RF spectrum", fillcolor="#fda4af"];
|
|
21
|
+
}
|
|
22
|
+
subgraph cluster_pl {
|
|
23
|
+
label="PWN::Plugins / SDR"; fontcolor="#a7f3d0"; style=rounded;
|
|
24
|
+
color="#047857"; bgcolor="#022c22";
|
|
25
|
+
Serial [label="Serial · BusPirate", fillcolor="#6ee7b7"];
|
|
26
|
+
MSR [label="MSR206", fillcolor="#6ee7b7"];
|
|
27
|
+
Adb [label="Android (adb)", fillcolor="#6ee7b7"];
|
|
28
|
+
Sip [label="BareSIP · Voice", fillcolor="#6ee7b7"];
|
|
29
|
+
Sdr [label="SDR::GQRX · Flipper",fillcolor="#6ee7b7"];
|
|
30
|
+
}
|
|
31
|
+
subgraph cluster_out {
|
|
32
|
+
label="Analysis"; fontcolor="#ddd6fe"; style=rounded;
|
|
33
|
+
color="#6d28d9"; bgcolor="#2e1065";
|
|
34
|
+
XXD [label="XXD · Assembly", fillcolor="#c4b5fd"];
|
|
35
|
+
Rep [label="Reports · Skills", fillcolor="#c4b5fd"];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
Uart -> Serial [color="#fb7185"];
|
|
39
|
+
Mag -> MSR [color="#fb7185"];
|
|
40
|
+
Phone -> Adb [color="#fb7185"];
|
|
41
|
+
VoIP -> Sip [color="#fb7185"];
|
|
42
|
+
RF -> Sdr [color="#fb7185"];
|
|
43
|
+
Serial -> XXD [color="#a78bfa"];
|
|
44
|
+
MSR -> XXD [color="#a78bfa"];
|
|
45
|
+
Adb -> Rep [color="#a78bfa"];
|
|
46
|
+
Sip -> Rep [color="#a78bfa"];
|
|
47
|
+
Sdr -> Rep [color="#a78bfa"];
|
|
48
|
+
}
|
|
@@ -1,20 +1,34 @@
|
|
|
1
|
-
digraph "
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
digraph "PWN_HistToDriver" {
|
|
2
|
+
graph [
|
|
3
|
+
label=<<B>From REPL History → Reusable Driver / Skill</B><BR/><FONT POINT-SIZE="11" COLOR="#94a3b8">explore → history → bin/pwn_* driver → distill_skill</FONT>>,
|
|
4
|
+
labelloc=t, fontsize=20, fontname="Helvetica",
|
|
5
|
+
rankdir=LR, splines=spline, nodesep=0.5, ranksep=1.2,
|
|
6
|
+
bgcolor="#0f172a", fontcolor="#e2e8f0", pad=0.6, newrank=true
|
|
7
|
+
];
|
|
8
|
+
node [fontname="Helvetica", fontsize=10, style="filled,rounded",
|
|
9
|
+
shape=box, penwidth=1.3, color="#334155", fontcolor="#0f172a"];
|
|
10
|
+
edge [fontname="Helvetica", fontsize=9, color="#94a3b8",
|
|
11
|
+
fontcolor="#cbd5e1", penwidth=1.3, arrowsize=0.8];
|
|
4
12
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Script [label="Prototype Script\n(.rb or bin/)", shape=box];
|
|
9
|
-
Driver [label="PWN Driver\n(/opt/pwn/bin/ example\nor PWN::Driver::Parser)", shape=box];
|
|
10
|
-
Skill [label="Distilled Skill\n(~/.pwn/skills/)", shape=cylinder, fillcolor=lightyellow];
|
|
11
|
-
Agent [label="pwn-ai Agent\n(future automation)"];
|
|
13
|
+
Explore [label="🐚 Explore in REPL\ncall PWN::Plugins::*", fillcolor="#7dd3fc"];
|
|
14
|
+
Hist [label="~/.pwn_history\nPry `history` cmd", shape=cylinder, fillcolor="#fcd34d"];
|
|
15
|
+
Extract [label="copy working lines", fillcolor="#6ee7b7"];
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
subgraph cluster_out {
|
|
18
|
+
label="Reusable Artefacts"; fontcolor="#ddd6fe"; style=rounded;
|
|
19
|
+
color="#6d28d9"; bgcolor="#2e1065";
|
|
20
|
+
Driver [label="bin/pwn_<name>\nOptionParser + PWN calls", fillcolor="#c4b5fd"];
|
|
21
|
+
Skill [label="~/.pwn/skills/<name>.md\nlearning_distill_skill", fillcolor="#c4b5fd"];
|
|
22
|
+
Cron [label="cron_create\nprompt: | ruby:", fillcolor="#c4b5fd"];
|
|
23
|
+
}
|
|
24
|
+
CI [label="⚙️ CI / CD\nheadless run", fillcolor="#7dd3fc"];
|
|
25
|
+
|
|
26
|
+
Explore -> Hist [label="auto-log", color="#38bdf8"];
|
|
27
|
+
Hist -> Extract [color="#f59e0b"];
|
|
28
|
+
Extract -> Driver [color="#a78bfa"];
|
|
29
|
+
Extract -> Skill [color="#a78bfa"];
|
|
30
|
+
Extract -> Cron [color="#a78bfa"];
|
|
31
|
+
Driver -> CI [color="#38bdf8", penwidth=2];
|
|
32
|
+
Skill -> CI [label="pwn --ai", color="#38bdf8"];
|
|
33
|
+
Cron -> CI [color="#38bdf8"];
|
|
20
34
|
}
|
|
@@ -1,28 +1,60 @@
|
|
|
1
|
-
digraph "
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
digraph "PWN_MemorySkills" {
|
|
2
|
+
graph [
|
|
3
|
+
label=<<B>Persistent Knowledge — Memory · Skills · Sessions</B><BR/><FONT POINT-SIZE="11" COLOR="#94a3b8">everything under ~/.pwn/ that shapes future prompts</FONT>>,
|
|
4
|
+
labelloc=t, fontsize=20, fontname="Helvetica",
|
|
5
|
+
rankdir=TB, splines=spline, nodesep=0.55, ranksep=0.95,
|
|
6
|
+
bgcolor="#0f172a", fontcolor="#e2e8f0", pad=0.6, newrank=true
|
|
7
|
+
];
|
|
8
|
+
node [fontname="Helvetica", fontsize=10, style="filled,rounded",
|
|
9
|
+
shape=box, penwidth=1.3, color="#334155", fontcolor="#0f172a"];
|
|
10
|
+
edge [fontname="Helvetica", fontsize=9, color="#94a3b8",
|
|
11
|
+
fontcolor="#cbd5e1", penwidth=1.3, arrowsize=0.8];
|
|
4
12
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
AgentPrompt [label="Agent System Prompt\n(injects skills + memory)"];
|
|
15
|
-
Recall [label="memory_recall"];
|
|
13
|
+
subgraph cluster_write {
|
|
14
|
+
label="Write-Side Tools"; fontcolor="#a7f3d0"; style=rounded;
|
|
15
|
+
color="#047857"; bgcolor="#022c22";
|
|
16
|
+
Rem [label="memory_remember\nkey · value · category", fillcolor="#6ee7b7"];
|
|
17
|
+
Skc [label="skill_create\nskill_add_reference", fillcolor="#6ee7b7"];
|
|
18
|
+
Note [label="learning_note_outcome\nlearning_reflect", fillcolor="#6ee7b7"];
|
|
19
|
+
Dist [label="learning_distill_skill\n(session → skill)", fillcolor="#6ee7b7"];
|
|
20
|
+
}
|
|
21
|
+
{rank=same; Rem; Skc; Note; Dist}
|
|
16
22
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
subgraph cluster_files {
|
|
24
|
+
label="~/.pwn/"; fontcolor="#fde68a"; style=rounded;
|
|
25
|
+
color="#a16207"; bgcolor="#422006";
|
|
26
|
+
Fmem [label="memory.json\nfact · pref · lesson · env", shape=cylinder, fillcolor="#fcd34d"];
|
|
27
|
+
Fskl [label="skills/*.md\nYAML front-matter refs", shape=cylinder, fillcolor="#fcd34d"];
|
|
28
|
+
Flrn [label="learning.jsonl\noutcome log", shape=cylinder, fillcolor="#fcd34d"];
|
|
29
|
+
Fses [label="sessions/*.jsonl\ntranscripts", shape=cylinder, fillcolor="#fcd34d"];
|
|
30
|
+
}
|
|
31
|
+
{rank=same; Fmem; Fskl; Flrn; Fses}
|
|
32
|
+
|
|
33
|
+
subgraph cluster_read {
|
|
34
|
+
label="Read-Side / Injection"; fontcolor="#ddd6fe"; style=rounded;
|
|
35
|
+
color="#6d28d9"; bgcolor="#2e1065";
|
|
36
|
+
Rec [label="memory_recall", fillcolor="#c4b5fd"];
|
|
37
|
+
Skv [label="skill_list · view", fillcolor="#c4b5fd"];
|
|
38
|
+
Out [label="learning_outcomes\nlearning_stats", fillcolor="#c4b5fd"];
|
|
39
|
+
Sesv [label="sessions_view\nsessions_current", fillcolor="#c4b5fd"];
|
|
40
|
+
}
|
|
41
|
+
{rank=same; Rec; Skv; Out; Sesv}
|
|
42
|
+
|
|
43
|
+
Prompt [label="PromptBuilder\nMEMORY + SKILLS + LEARNING blocks", fillcolor="#7dd3fc", penwidth=2];
|
|
44
|
+
|
|
45
|
+
Rem -> Fmem [color="#f59e0b"];
|
|
46
|
+
Skc -> Fskl [color="#f59e0b"];
|
|
47
|
+
Note -> Flrn [color="#f59e0b"];
|
|
48
|
+
Dist -> Fskl [color="#f59e0b"];
|
|
49
|
+
Dist -> Fses [dir=back, style=dashed, color="#fbbf24", label="mine"];
|
|
50
|
+
|
|
51
|
+
Fmem -> Rec [color="#a78bfa"];
|
|
52
|
+
Fskl -> Skv [color="#a78bfa"];
|
|
53
|
+
Flrn -> Out [color="#a78bfa"];
|
|
54
|
+
Fses -> Sesv [color="#a78bfa"];
|
|
55
|
+
|
|
56
|
+
Rec -> Prompt [color="#38bdf8"];
|
|
57
|
+
Skv -> Prompt [color="#38bdf8"];
|
|
58
|
+
Out -> Prompt [color="#38bdf8"];
|
|
59
|
+
Sesv -> Prompt [color="#38bdf8"];
|
|
28
60
|
}
|
|
@@ -1,22 +1,54 @@
|
|
|
1
|
-
digraph "
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
digraph "PWN_Network" {
|
|
2
|
+
graph [
|
|
3
|
+
label=<<B>Network & Infrastructure Testing</B><BR/><FONT POINT-SIZE="11" COLOR="#94a3b8">discovery → service enum → auth attacks → cloud / CI</FONT>>,
|
|
4
|
+
labelloc=t, fontsize=20, fontname="Helvetica",
|
|
5
|
+
rankdir=LR, splines=spline, nodesep=0.45, ranksep=1.2,
|
|
6
|
+
bgcolor="#0f172a", fontcolor="#e2e8f0", pad=0.6, newrank=true
|
|
7
|
+
];
|
|
8
|
+
node [fontname="Helvetica", fontsize=10, style="filled,rounded",
|
|
9
|
+
shape=box, penwidth=1.3, color="#334155", fontcolor="#0f172a"];
|
|
10
|
+
edge [fontname="Helvetica", fontsize=9, color="#94a3b8",
|
|
11
|
+
fontcolor="#cbd5e1", penwidth=1.3, arrowsize=0.8];
|
|
4
12
|
|
|
5
|
-
|
|
6
|
-
Discovery [label="Discovery\n(NmapIt, pwn_nmap_discover,\nShodan, IPInfo, crt.sh)"];
|
|
7
|
-
Enum [label="Service Enum\n(portscan, version, scripts)"];
|
|
8
|
-
Auth [label="Auth Testing\n(basic_auth, DAOs,\ncredential spray)"];
|
|
9
|
-
VulnScan [label="Vuln Scanning\n(NessusCloud, OpenVAS,\nNexpose, Zaproxy)"];
|
|
10
|
-
Packet [label="Packet Crafting\n(PWN::Plugins::Packet,\nSock, Tor)"];
|
|
11
|
-
Infra [label="Infra Specific\n(AWS, Jenkins, Jira,\nVsphere, RabbitMQ)"];
|
|
12
|
-
ExploitNet [label="Network Exploits"];
|
|
13
|
+
CIDR [label="CIDR / ASN\nscope", fillcolor="#7dd3fc"];
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
subgraph cluster_disc {
|
|
16
|
+
label="Discover"; fontcolor="#a7f3d0"; style=rounded;
|
|
17
|
+
color="#047857"; bgcolor="#022c22";
|
|
18
|
+
Nmap [label="NmapIt\npwn_nmap_discover_tcp_udp", fillcolor="#6ee7b7"];
|
|
19
|
+
Packet [label="Plugins::Packet\nraw craft / sniff", fillcolor="#6ee7b7"];
|
|
20
|
+
}
|
|
21
|
+
subgraph cluster_svc {
|
|
22
|
+
label="Service Enum"; fontcolor="#fde68a"; style=rounded;
|
|
23
|
+
color="#a16207"; bgcolor="#422006";
|
|
24
|
+
Sock [label="Plugins::Sock\nbanner grab", fillcolor="#fcd34d"];
|
|
25
|
+
DAO [label="DAO::LDAP · Mongo\nPostgres · SQLite3", fillcolor="#fcd34d"];
|
|
26
|
+
MQ [label="RabbitMQ\nSlack · IRC · Mail", fillcolor="#fcd34d"];
|
|
27
|
+
}
|
|
28
|
+
subgraph cluster_auth {
|
|
29
|
+
label="Auth / Exploit"; fontcolor="#fecaca"; style=rounded;
|
|
30
|
+
color="#b91c1c"; bgcolor="#450a0a";
|
|
31
|
+
MSF [label="Metasploit\nmsf_postgres_login", fillcolor="#fda4af"];
|
|
32
|
+
Auth [label="BasicAuth · OAuth2\nAuthenticationHelper", fillcolor="#fda4af"];
|
|
33
|
+
}
|
|
34
|
+
subgraph cluster_cloud {
|
|
35
|
+
label="Cloud / CI"; fontcolor="#ddd6fe"; style=rounded;
|
|
36
|
+
color="#6d28d9"; bgcolor="#2e1065";
|
|
37
|
+
AWS [label="PWN::AWS::*\n90 services", fillcolor="#c4b5fd"];
|
|
38
|
+
Jenk [label="Plugins::Jenkins\nvSphere · Vault", fillcolor="#c4b5fd"];
|
|
39
|
+
}
|
|
40
|
+
Report [label="Reports · DefectDojo", fillcolor="#7dd3fc"];
|
|
41
|
+
|
|
42
|
+
CIDR -> Nmap [color="#38bdf8"];
|
|
43
|
+
CIDR -> Packet [color="#38bdf8"];
|
|
44
|
+
Nmap -> Sock [color="#f59e0b"];
|
|
45
|
+
Nmap -> DAO [color="#f59e0b"];
|
|
46
|
+
Packet -> MQ [color="#f59e0b"];
|
|
47
|
+
Sock -> MSF [color="#fb7185"];
|
|
48
|
+
DAO -> Auth [color="#fb7185"];
|
|
49
|
+
MQ -> Auth [color="#fb7185"];
|
|
50
|
+
MSF -> AWS [color="#a78bfa"];
|
|
51
|
+
Auth -> Jenk [color="#a78bfa"];
|
|
52
|
+
AWS -> Report [color="#38bdf8"];
|
|
53
|
+
Jenk -> Report [color="#38bdf8"];
|
|
22
54
|
}
|
|
@@ -1,49 +1,115 @@
|
|
|
1
|
-
digraph "
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
digraph "PWN_Overall_Architecture" {
|
|
2
|
+
graph [
|
|
3
|
+
label=<<B>PWN — Offensive Security Automation Framework</B><BR/><FONT POINT-SIZE="11" COLOR="#94a3b8">Overall Architecture · lib/pwn/*</FONT>>,
|
|
4
|
+
labelloc=t, fontsize=22, fontname="Helvetica",
|
|
5
|
+
rankdir=TB, splines=spline, nodesep=0.55, ranksep=1.15,
|
|
6
|
+
bgcolor="#0f172a", fontcolor="#e2e8f0", pad=0.6, compound=true, newrank=true
|
|
7
|
+
];
|
|
8
|
+
node [fontname="Helvetica", fontsize=11, style="filled,rounded",
|
|
9
|
+
shape=box, penwidth=1.4, color="#334155", fontcolor="#0f172a"];
|
|
10
|
+
edge [fontname="Helvetica", fontsize=9, color="#94a3b8",
|
|
11
|
+
fontcolor="#cbd5e1", penwidth=1.3, arrowsize=0.8];
|
|
12
|
+
|
|
13
|
+
/* ───────── L0 · ACTORS ───────── */
|
|
14
|
+
subgraph cluster_actors {
|
|
15
|
+
label="Actors"; fontcolor="#94a3b8"; style="rounded,dashed";
|
|
16
|
+
color="#334155"; bgcolor="#1e293b";
|
|
17
|
+
User [label="👤 Researcher\nRed Team · Bug Hunter", fillcolor="#7dd3fc"];
|
|
18
|
+
CI [label="⚙️ CI / CD\nHeadless pipelines", fillcolor="#7dd3fc"];
|
|
19
|
+
LLM [label="🤖 LLM Providers\nOpenAI · Anthropic\nGrok · Gemini · Ollama", fillcolor="#c4b5fd"];
|
|
20
|
+
Target [label="🎯 Attack Surface\nHosts · Web · Cloud\nRadio · Hardware", fillcolor="#fda4af"];
|
|
21
|
+
}
|
|
22
|
+
{rank=same; User; CI; LLM; Target}
|
|
23
|
+
|
|
24
|
+
/* ───────── L1 · ENTRY POINTS ───────── */
|
|
25
|
+
subgraph cluster_entry {
|
|
26
|
+
label="Entry Points (bin/)"; fontcolor="#7dd3fc";
|
|
27
|
+
style=rounded; color="#0369a1"; bgcolor="#0c4a6e"; penwidth=2;
|
|
28
|
+
REPL [label="🐚 pwn REPL\nPry + PWN:: preload", fillcolor="#7dd3fc"];
|
|
29
|
+
PwnAI [label="✨ pwn-ai\nAgent TUI · pwn --ai", fillcolor="#7dd3fc"];
|
|
30
|
+
CLI [label="📜 bin/pwn_*\n52 CLI drivers", fillcolor="#7dd3fc"];
|
|
31
|
+
Cronb [label="⏱ PWN::Cron\nScheduled jobs", fillcolor="#7dd3fc"];
|
|
18
32
|
}
|
|
33
|
+
{rank=same; REPL; PwnAI; CLI; Cronb}
|
|
19
34
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
35
|
+
/* ───────── L2 · AI AGENT CORE ───────── */
|
|
36
|
+
subgraph cluster_agent {
|
|
37
|
+
label="PWN::AI::Agent"; fontcolor="#ddd6fe";
|
|
38
|
+
style=rounded; color="#6d28d9"; bgcolor="#2e1065"; penwidth=2;
|
|
39
|
+
Loop [label="Loop\nplan → dispatch → observe", fillcolor="#c4b5fd"];
|
|
40
|
+
Registry [label="Registry\n10 toolsets · 45+ tools", fillcolor="#c4b5fd"];
|
|
41
|
+
Swarm [label="Swarm\npersonas · debate · bus", fillcolor="#c4b5fd"];
|
|
42
|
+
Prompt [label="PromptBuilder\nMEMORY · SKILLS · EXTRO",fillcolor="#c4b5fd"];
|
|
27
43
|
}
|
|
44
|
+
{rank=same; Loop; Registry; Swarm; Prompt}
|
|
45
|
+
|
|
46
|
+
/* ───────── L3 · CAPABILITY NAMESPACES ───────── */
|
|
47
|
+
subgraph cluster_caps {
|
|
48
|
+
label="Capability Namespaces (lib/pwn/*)"; fontcolor="#a7f3d0";
|
|
49
|
+
style=rounded; color="#047857"; bgcolor="#022c22"; penwidth=2;
|
|
50
|
+
Plugins [label="Plugins\n66 modules", fillcolor="#6ee7b7"];
|
|
51
|
+
SAST [label="SAST\n48 rules", fillcolor="#6ee7b7"];
|
|
52
|
+
WWW [label="WWW\n21 site drivers", fillcolor="#6ee7b7"];
|
|
53
|
+
AWS [label="AWS\n90 services", fillcolor="#6ee7b7"];
|
|
54
|
+
SDR [label="SDR\nGQRX · Flipper · RFID", fillcolor="#6ee7b7"];
|
|
55
|
+
Chain [label="Blockchain\nBTC · ETH", fillcolor="#6ee7b7"];
|
|
56
|
+
Bounty [label="Bounty\nlifecycle replay", fillcolor="#6ee7b7"];
|
|
57
|
+
Reports [label="Reports\nHTML · JSON", fillcolor="#6ee7b7"];
|
|
58
|
+
}
|
|
59
|
+
{rank=same; Plugins; SAST; WWW; AWS; SDR; Chain; Bounty; Reports}
|
|
60
|
+
|
|
61
|
+
/* ───────── L4 · PERSISTENCE (~/.pwn) ───────── */
|
|
62
|
+
subgraph cluster_persist {
|
|
63
|
+
label="Persistence ~/.pwn/"; fontcolor="#fde68a";
|
|
64
|
+
style=rounded; color="#a16207"; bgcolor="#422006"; penwidth=2;
|
|
65
|
+
Memory [label="memory.json", shape=cylinder, fillcolor="#fcd34d"];
|
|
66
|
+
Skills [label="skills/*.md", shape=cylinder, fillcolor="#fcd34d"];
|
|
67
|
+
Learn [label="learning.jsonl", shape=cylinder, fillcolor="#fcd34d"];
|
|
68
|
+
Metrics [label="metrics.json", shape=cylinder, fillcolor="#fcd34d"];
|
|
69
|
+
Extro [label="extrospection.json", shape=cylinder, fillcolor="#fcd34d"];
|
|
70
|
+
Sessions [label="sessions/*.jsonl", shape=cylinder, fillcolor="#fcd34d"];
|
|
71
|
+
SwarmB [label="swarm/*/bus.jsonl", shape=cylinder, fillcolor="#fcd34d"];
|
|
72
|
+
CronF [label="cron/jobs.yml", shape=cylinder, fillcolor="#fcd34d"];
|
|
73
|
+
}
|
|
74
|
+
{rank=same; Memory; Skills; Learn; Metrics; Extro; Sessions; SwarmB; CronF}
|
|
75
|
+
|
|
76
|
+
/* ── L0 → L1 ── */
|
|
77
|
+
User -> REPL [color="#38bdf8"];
|
|
78
|
+
User -> PwnAI [color="#38bdf8"];
|
|
79
|
+
CI -> CLI [color="#38bdf8"];
|
|
80
|
+
CI -> Cronb [label="crontab", color="#38bdf8"];
|
|
81
|
+
|
|
82
|
+
/* ── L1 → L2 ── */
|
|
83
|
+
REPL -> Loop [color="#a78bfa"];
|
|
84
|
+
PwnAI -> Loop [label="natural language", color="#a78bfa", penwidth=2];
|
|
85
|
+
PwnAI -> Registry [color="#a78bfa"];
|
|
86
|
+
CLI -> Swarm [style=invis];
|
|
87
|
+
Cronb -> Prompt [style=invis];
|
|
88
|
+
|
|
89
|
+
/* ── L2 → L3 ── */
|
|
90
|
+
Loop -> Plugins [label="pwn_eval", color="#34d399", penwidth=2];
|
|
91
|
+
Loop -> SAST [color="#34d399"];
|
|
92
|
+
Registry -> WWW [color="#34d399"];
|
|
93
|
+
Registry -> AWS [color="#34d399"];
|
|
94
|
+
Swarm -> SDR [color="#34d399"];
|
|
95
|
+
Swarm -> Chain [color="#34d399"];
|
|
96
|
+
Prompt -> Bounty [style=invis];
|
|
97
|
+
Prompt -> Reports [style=invis];
|
|
98
|
+
CLI -> Plugins [color="#34d399", constraint=false];
|
|
99
|
+
|
|
100
|
+
/* ── L3 → L4 ── */
|
|
101
|
+
Plugins -> Memory [color="#f59e0b"];
|
|
102
|
+
SAST -> Skills [color="#f59e0b"];
|
|
103
|
+
WWW -> Learn [color="#f59e0b"];
|
|
104
|
+
AWS -> Metrics [color="#f59e0b"];
|
|
105
|
+
SDR -> Extro [color="#f59e0b"];
|
|
106
|
+
Chain -> Sessions [color="#f59e0b"];
|
|
107
|
+
Bounty -> SwarmB [color="#f59e0b"];
|
|
108
|
+
Reports -> CronF [color="#f59e0b"];
|
|
28
109
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
REPL -> SAST;
|
|
35
|
-
REPL -> Reports;
|
|
36
|
-
REPL -> Driver;
|
|
37
|
-
AI -> Plugins [label="tool calls\npwn_eval"];
|
|
38
|
-
AI -> Memory [label="remember/recall"];
|
|
39
|
-
REPL -> Memory;
|
|
40
|
-
REPL -> BinDrivers;
|
|
41
|
-
Driver -> BinDrivers;
|
|
42
|
-
Plugins -> Learn;
|
|
43
|
-
AI -> Learn [label="distill skills"];
|
|
44
|
-
Learn -> Skills [label="promote successful"];
|
|
45
|
-
Skills -> AI [label="context injection"];
|
|
46
|
-
Skills -> REPL;
|
|
47
|
-
Cron -> REPL [label="schedule drivers/agents"];
|
|
48
|
-
Sess -> REPL [label="replay / audit"];
|
|
110
|
+
/* ── side flows (few, non-constraining) ── */
|
|
111
|
+
Loop -> LLM [label="tool-use API", color="#c4b5fd", constraint=false, penwidth=2];
|
|
112
|
+
Plugins -> Target [label="attack", color="#fb7185", constraint=false, penwidth=2];
|
|
113
|
+
Prompt -> Memory [label="inject", dir=back, color="#fbbf24", constraint=false, style=dashed];
|
|
114
|
+
Reports -> User [label="findings", color="#38bdf8", constraint=false, penwidth=2];
|
|
49
115
|
}
|
|
@@ -1,29 +1,60 @@
|
|
|
1
|
-
digraph "
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
digraph "PWN_Pentest" {
|
|
2
|
+
graph [
|
|
3
|
+
label=<<B>End-to-End Penetration Testing with PWN</B><BR/><FONT POINT-SIZE="11" COLOR="#94a3b8">recon → enumerate → exploit → post-ex → report</FONT>>,
|
|
4
|
+
labelloc=t, fontsize=20, fontname="Helvetica",
|
|
5
|
+
rankdir=LR, splines=spline, nodesep=0.45, ranksep=1.2,
|
|
6
|
+
bgcolor="#0f172a", fontcolor="#e2e8f0", pad=0.6, newrank=true
|
|
7
|
+
];
|
|
8
|
+
node [fontname="Helvetica", fontsize=10, style="filled,rounded",
|
|
9
|
+
shape=box, penwidth=1.3, color="#334155", fontcolor="#0f172a"];
|
|
10
|
+
edge [fontname="Helvetica", fontsize=9, color="#94a3b8",
|
|
11
|
+
fontcolor="#cbd5e1", penwidth=1.3, arrowsize=0.8];
|
|
5
12
|
|
|
6
|
-
|
|
13
|
+
Scope [label="🎯 Scope\ntargets · rules", fillcolor="#7dd3fc"];
|
|
7
14
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
subgraph cluster_recon {
|
|
16
|
+
label="1 · Recon"; fontcolor="#a7f3d0"; style=rounded;
|
|
17
|
+
color="#047857"; bgcolor="#022c22";
|
|
18
|
+
Shodan [label="Plugins::Shodan\nHunter · IPInfo", fillcolor="#6ee7b7"];
|
|
19
|
+
CrtSh [label="bin/pwn_crt_sh\nWWW::WaybackMachine", fillcolor="#6ee7b7"];
|
|
20
|
+
}
|
|
21
|
+
subgraph cluster_enum {
|
|
22
|
+
label="2 · Enumerate"; fontcolor="#a7f3d0"; style=rounded;
|
|
23
|
+
color="#047857"; bgcolor="#022c22";
|
|
24
|
+
Nmap [label="Plugins::NmapIt\nTCP/UDP discover", fillcolor="#6ee7b7"];
|
|
25
|
+
Spider[label="Plugins::Spider\nTransparentBrowser", fillcolor="#6ee7b7"];
|
|
26
|
+
}
|
|
27
|
+
subgraph cluster_vuln {
|
|
28
|
+
label="3 · Vuln Scan"; fontcolor="#fde68a"; style=rounded;
|
|
29
|
+
color="#a16207"; bgcolor="#422006";
|
|
30
|
+
Burp [label="Plugins::BurpSuite\nactive scan", fillcolor="#fcd34d"];
|
|
31
|
+
Nessus [label="NessusCloud\nOpenVAS · Nexpose", fillcolor="#fcd34d"];
|
|
32
|
+
}
|
|
33
|
+
subgraph cluster_xpl {
|
|
34
|
+
label="4 · Exploit"; fontcolor="#fecaca"; style=rounded;
|
|
35
|
+
color="#b91c1c"; bgcolor="#450a0a";
|
|
36
|
+
MSF [label="Plugins::Metasploit", fillcolor="#fda4af"];
|
|
37
|
+
Fuzz [label="Plugins::Fuzz\nPacket · Sock", fillcolor="#fda4af"];
|
|
38
|
+
}
|
|
39
|
+
subgraph cluster_post {
|
|
40
|
+
label="5 · Post-Ex"; fontcolor="#ddd6fe"; style=rounded;
|
|
41
|
+
color="#6d28d9"; bgcolor="#2e1065";
|
|
42
|
+
Beef [label="Plugins::BeEF\nAndroid · Serial", fillcolor="#c4b5fd"];
|
|
43
|
+
Tor [label="Plugins::Tor\npivot / exfil", fillcolor="#c4b5fd"];
|
|
44
|
+
}
|
|
45
|
+
Report [label="PWN::Reports\nHTML · JSON · DefectDojo", fillcolor="#7dd3fc"];
|
|
15
46
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
47
|
+
Scope -> Shodan [color="#38bdf8"];
|
|
48
|
+
Scope -> CrtSh [color="#38bdf8"];
|
|
49
|
+
Shodan -> Nmap [color="#34d399"];
|
|
50
|
+
CrtSh -> Spider [color="#34d399"];
|
|
51
|
+
Nmap -> Burp [color="#f59e0b"];
|
|
52
|
+
Nmap -> Nessus [color="#f59e0b"];
|
|
53
|
+
Spider -> Burp [color="#f59e0b"];
|
|
54
|
+
Burp -> MSF [color="#fb7185"];
|
|
55
|
+
Nessus -> Fuzz [color="#fb7185"];
|
|
56
|
+
MSF -> Beef [color="#a78bfa"];
|
|
57
|
+
Fuzz -> Tor [color="#a78bfa"];
|
|
58
|
+
Beef -> Report [color="#38bdf8", penwidth=2];
|
|
59
|
+
Tor -> Report [color="#38bdf8", penwidth=2];
|
|
29
60
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
digraph "PWN_Persistence" {
|
|
2
|
+
graph [
|
|
3
|
+
label=<<B>~/.pwn/ — Everything PWN Persists Across Sessions</B>>,
|
|
4
|
+
labelloc=t, fontsize=20, fontname="Helvetica",
|
|
5
|
+
rankdir=LR, splines=spline, nodesep=0.3, ranksep=1.4,
|
|
6
|
+
bgcolor="#0f172a", fontcolor="#e2e8f0", pad=0.6, newrank=true
|
|
7
|
+
];
|
|
8
|
+
node [fontname="Helvetica", fontsize=10, style="filled,rounded",
|
|
9
|
+
shape=box, penwidth=1.3, color="#334155", fontcolor="#0f172a"];
|
|
10
|
+
edge [color="#94a3b8", penwidth=1.1, arrowsize=0.7];
|
|
11
|
+
|
|
12
|
+
Root [label="~/.pwn/", shape=folder, fillcolor="#7dd3fc", fontsize=13];
|
|
13
|
+
|
|
14
|
+
node [shape=cylinder, fillcolor="#fcd34d"];
|
|
15
|
+
cfg [label="config.yml\nengines · keys · agent opts"];
|
|
16
|
+
mem [label="memory.json\nfacts · prefs · lessons · env"];
|
|
17
|
+
skl [label="skills/*.md\nreusable procedures + refs"];
|
|
18
|
+
lrn [label="learning.jsonl\ntask outcomes"];
|
|
19
|
+
met [label="metrics.json\nper-tool telemetry"];
|
|
20
|
+
ext [label="extrospection.json\nhost snapshot + observations"];
|
|
21
|
+
ses [label="sessions/*.jsonl\ntranscripts"];
|
|
22
|
+
crn [label="cron/jobs.yml\nscheduled jobs + logs"];
|
|
23
|
+
agt [label="agents.yml\npersona registry"];
|
|
24
|
+
swm [label="swarm/<id>/bus.jsonl\nmulti-agent chat"];
|
|
25
|
+
hist [label="~/.pwn_history\nREPL history"];
|
|
26
|
+
|
|
27
|
+
Root->cfg; Root->mem; Root->skl; Root->lrn; Root->met; Root->ext;
|
|
28
|
+
Root->ses; Root->crn; Root->agt; Root->swm; Root->hist;
|
|
29
|
+
}
|