pwn 0.5.613 → 0.5.615
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/Gemfile +10 -10
- data/README.md +110 -24
- data/documentation/AI-Integration.md +36 -0
- data/documentation/BurpSuite.md +26 -0
- data/documentation/Contributing.md +31 -0
- data/documentation/Diagrams.md +57 -0
- data/documentation/Drivers.md +25 -0
- data/documentation/General-PWN-Usage.md +40 -0
- data/documentation/Home.md +51 -0
- data/documentation/How-PWN-Works.md +60 -0
- data/documentation/Installation.md +50 -0
- data/documentation/NmapIt.md +18 -0
- data/documentation/Plugins.md +59 -0
- data/documentation/Reporting.md +28 -0
- data/documentation/SAST.md +32 -0
- data/documentation/Skills-Memory-Learning.md +44 -0
- data/documentation/Transparent-Browser.md +32 -0
- data/documentation/Troubleshooting.md +38 -0
- data/documentation/What-is-PWN.md +34 -0
- data/documentation/Why-PWN.md +18 -0
- data/documentation/diagrams/ai-integration-tool-calling.svg +134 -0
- data/documentation/diagrams/burp-vs-zap-preference.svg +84 -0
- data/documentation/diagrams/code-scanning-sast.svg +112 -0
- data/documentation/diagrams/dot/ai-integration-tool-calling.dot +23 -0
- data/documentation/diagrams/dot/burp-vs-zap-preference.dot +15 -0
- data/documentation/diagrams/dot/code-scanning-sast.dot +21 -0
- data/documentation/diagrams/dot/driver-framework.dot +17 -0
- data/documentation/diagrams/dot/fuzzing-workflow.dot +27 -0
- data/documentation/diagrams/dot/history-to-drivers.dot +20 -0
- data/documentation/diagrams/dot/memory-skills-detailed.dot +28 -0
- data/documentation/diagrams/dot/network-infra-testing.dot +22 -0
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +49 -0
- data/documentation/diagrams/dot/penetration-testing-workflow.dot +29 -0
- data/documentation/diagrams/dot/plugin-ecosystem.dot +31 -0
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +57 -0
- data/documentation/diagrams/dot/pwn-repl-prototyping.dot +37 -0
- data/documentation/diagrams/dot/reporting-pipeline.dot +17 -0
- data/documentation/diagrams/dot/reverse-engineering-flow.dot +21 -0
- data/documentation/diagrams/dot/sessions-cron-automation.dot +17 -0
- data/documentation/diagrams/dot/web-application-testing.dot +27 -0
- data/documentation/diagrams/dot/zero-day-research-flow.dot +27 -0
- data/documentation/diagrams/driver-framework.svg +90 -0
- data/documentation/diagrams/fuzzing-workflow.svg +147 -0
- data/documentation/diagrams/history-to-drivers.svg +117 -0
- data/documentation/diagrams/memory-skills-detailed.svg +154 -0
- data/documentation/diagrams/network-infra-testing.svg +121 -0
- data/documentation/diagrams/overall-pwn-architecture.svg +234 -0
- data/documentation/diagrams/penetration-testing-workflow.svg +148 -0
- data/documentation/diagrams/plugin-ecosystem.svg +172 -0
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +234 -0
- data/documentation/diagrams/pwn-repl-prototyping.svg +179 -0
- data/documentation/diagrams/reporting-pipeline.svg +91 -0
- data/documentation/diagrams/reverse-engineering-flow.svg +114 -0
- data/documentation/diagrams/sessions-cron-automation.svg +92 -0
- data/documentation/diagrams/web-application-testing.svg +137 -0
- data/documentation/diagrams/zero-day-research-flow.svg +149 -0
- data/documentation/pwn-REPL.md +33 -0
- data/documentation/pwn-ai-Agent.md +43 -0
- data/lib/pwn/ai/agent/learning.rb +377 -0
- data/lib/pwn/ai/agent/loop.rb +18 -3
- data/lib/pwn/ai/agent/metrics.rb +155 -0
- data/lib/pwn/ai/agent/prompt_builder.rb +23 -3
- data/lib/pwn/ai/agent/tools/learning.rb +113 -0
- data/lib/pwn/ai/agent/tools/skills.rb +94 -8
- data/lib/pwn/ai/agent.rb +2 -0
- data/lib/pwn/ai/grok.rb +249 -106
- data/lib/pwn/config.rb +86 -13
- data/lib/pwn/plugins/monkey_patch.rb +2 -2
- data/lib/pwn/plugins/repl.rb +68 -3
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/ai/agent/learning_spec.rb +68 -0
- data/spec/lib/pwn/ai/agent/metrics_spec.rb +27 -0
- data/spec/lib/pwn/ai/agent/tools/learning_spec.rb +30 -0
- metadata +84 -34
- data/documentation/PWN.png +0 -0
- data/documentation/PWN_Contributors_and_Users.png +0 -0
- data/documentation/fax-spectrogram.png +0 -0
- data/documentation/fax-waveform.png +0 -0
- data/documentation/frozen_string_literal_files_changed_from_false_to_true.txt +0 -54
- data/documentation/lifecycle_authz_replay.example.yaml +0 -27
- 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/documentation/vulnerability_report_template.md +0 -37
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
|
+
-->
|
|
6
|
+
<!-- Title: Network & Infrastructure Testing with PWN Pages: 1 -->
|
|
7
|
+
<svg width="236pt" height="490pt"
|
|
8
|
+
viewBox="0.00 0.00 236.00 490.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 486)">
|
|
10
|
+
<title>Network & Infrastructure Testing with PWN</title>
|
|
11
|
+
<polygon fill="white" stroke="none" points="-4,4 -4,-486 231.5,-486 231.5,4 -4,4"/>
|
|
12
|
+
<!-- Targets -->
|
|
13
|
+
<g id="node1" class="node">
|
|
14
|
+
<title>Targets</title>
|
|
15
|
+
<path fill="none" stroke="black" d="M155.75,-482C155.75,-482 76,-482 76,-482 70,-482 64,-476 64,-470 64,-470 64,-458 64,-458 64,-452 70,-446 76,-446 76,-446 155.75,-446 155.75,-446 161.75,-446 167.75,-452 167.75,-458 167.75,-458 167.75,-470 167.75,-470 167.75,-476 161.75,-482 155.75,-482"/>
|
|
16
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-465.95" font-family="Arial" font-size="9.00">Targets</text>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-455.45" font-family="Arial" font-size="9.00">(IPs, Domains, ASNs)</text>
|
|
18
|
+
</g>
|
|
19
|
+
<!-- Discovery -->
|
|
20
|
+
<g id="node2" class="node">
|
|
21
|
+
<title>Discovery</title>
|
|
22
|
+
<path fill="none" stroke="black" d="M174.12,-410C174.12,-410 57.62,-410 57.62,-410 51.62,-410 45.62,-404 45.62,-398 45.62,-398 45.62,-382.5 45.62,-382.5 45.62,-376.5 51.62,-370.5 57.62,-370.5 57.62,-370.5 174.12,-370.5 174.12,-370.5 180.12,-370.5 186.12,-376.5 186.12,-382.5 186.12,-382.5 186.12,-398 186.12,-398 186.12,-404 180.12,-410 174.12,-410"/>
|
|
23
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-397.45" font-family="Arial" font-size="9.00">Discovery</text>
|
|
24
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-386.95" font-family="Arial" font-size="9.00">(NmapIt, pwn_nmap_discover,</text>
|
|
25
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-376.45" font-family="Arial" font-size="9.00">Shodan, IPInfo, crt.sh)</text>
|
|
26
|
+
</g>
|
|
27
|
+
<!-- Targets->Discovery -->
|
|
28
|
+
<g id="edge1" class="edge">
|
|
29
|
+
<title>Targets->Discovery</title>
|
|
30
|
+
<path fill="none" stroke="black" d="M115.88,-445.63C115.88,-438.5 115.88,-430.02 115.88,-421.91"/>
|
|
31
|
+
<polygon fill="black" stroke="black" points="119.38,-421.99 115.88,-411.99 112.38,-421.99 119.38,-421.99"/>
|
|
32
|
+
</g>
|
|
33
|
+
<!-- Enum -->
|
|
34
|
+
<g id="node3" class="node">
|
|
35
|
+
<title>Enum</title>
|
|
36
|
+
<path fill="none" stroke="black" d="M165.12,-334.5C165.12,-334.5 66.62,-334.5 66.62,-334.5 60.62,-334.5 54.62,-328.5 54.62,-322.5 54.62,-322.5 54.62,-310.5 54.62,-310.5 54.62,-304.5 60.62,-298.5 66.62,-298.5 66.62,-298.5 165.12,-298.5 165.12,-298.5 171.12,-298.5 177.12,-304.5 177.12,-310.5 177.12,-310.5 177.12,-322.5 177.12,-322.5 177.12,-328.5 171.12,-334.5 165.12,-334.5"/>
|
|
37
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-318.45" font-family="Arial" font-size="9.00">Service Enum</text>
|
|
38
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-307.95" font-family="Arial" font-size="9.00">(portscan, version, scripts)</text>
|
|
39
|
+
</g>
|
|
40
|
+
<!-- Discovery->Enum -->
|
|
41
|
+
<g id="edge2" class="edge">
|
|
42
|
+
<title>Discovery->Enum</title>
|
|
43
|
+
<path fill="none" stroke="black" d="M115.88,-370.02C115.88,-362.75 115.88,-354.29 115.88,-346.33"/>
|
|
44
|
+
<polygon fill="black" stroke="black" points="119.38,-346.33 115.88,-336.33 112.38,-346.33 119.38,-346.33"/>
|
|
45
|
+
</g>
|
|
46
|
+
<!-- Auth -->
|
|
47
|
+
<g id="node4" class="node">
|
|
48
|
+
<title>Auth</title>
|
|
49
|
+
<path fill="none" stroke="black" d="M151.25,-262.5C151.25,-262.5 80.5,-262.5 80.5,-262.5 74.5,-262.5 68.5,-256.5 68.5,-250.5 68.5,-250.5 68.5,-235 68.5,-235 68.5,-229 74.5,-223 80.5,-223 80.5,-223 151.25,-223 151.25,-223 157.25,-223 163.25,-229 163.25,-235 163.25,-235 163.25,-250.5 163.25,-250.5 163.25,-256.5 157.25,-262.5 151.25,-262.5"/>
|
|
50
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-249.95" font-family="Arial" font-size="9.00">Auth Testing</text>
|
|
51
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-239.45" font-family="Arial" font-size="9.00">(basic_auth, DAOs,</text>
|
|
52
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-228.95" font-family="Arial" font-size="9.00">credential spray)</text>
|
|
53
|
+
</g>
|
|
54
|
+
<!-- Enum->Auth -->
|
|
55
|
+
<g id="edge3" class="edge">
|
|
56
|
+
<title>Enum->Auth</title>
|
|
57
|
+
<path fill="none" stroke="black" d="M115.88,-298.13C115.88,-291 115.88,-282.52 115.88,-274.41"/>
|
|
58
|
+
<polygon fill="black" stroke="black" points="119.38,-274.49 115.88,-264.49 112.38,-274.49 119.38,-274.49"/>
|
|
59
|
+
</g>
|
|
60
|
+
<!-- VulnScan -->
|
|
61
|
+
<g id="node5" class="node">
|
|
62
|
+
<title>VulnScan</title>
|
|
63
|
+
<path fill="none" stroke="black" d="M164.75,-187C164.75,-187 67,-187 67,-187 61,-187 55,-181 55,-175 55,-175 55,-159.5 55,-159.5 55,-153.5 61,-147.5 67,-147.5 67,-147.5 164.75,-147.5 164.75,-147.5 170.75,-147.5 176.75,-153.5 176.75,-159.5 176.75,-159.5 176.75,-175 176.75,-175 176.75,-181 170.75,-187 164.75,-187"/>
|
|
64
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-174.45" font-family="Arial" font-size="9.00">Vuln Scanning</text>
|
|
65
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-163.95" font-family="Arial" font-size="9.00">(NessusCloud, OpenVAS,</text>
|
|
66
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-153.45" font-family="Arial" font-size="9.00">Nexpose, Zaproxy)</text>
|
|
67
|
+
</g>
|
|
68
|
+
<!-- Auth->VulnScan -->
|
|
69
|
+
<g id="edge4" class="edge">
|
|
70
|
+
<title>Auth->VulnScan</title>
|
|
71
|
+
<path fill="none" stroke="black" d="M115.88,-222.82C115.88,-215.51 115.88,-206.95 115.88,-198.81"/>
|
|
72
|
+
<polygon fill="black" stroke="black" points="119.38,-198.88 115.88,-188.88 112.38,-198.88 119.38,-198.88"/>
|
|
73
|
+
</g>
|
|
74
|
+
<!-- Packet -->
|
|
75
|
+
<g id="node6" class="node">
|
|
76
|
+
<title>Packet</title>
|
|
77
|
+
<path fill="none" stroke="black" d="M97.75,-111.5C97.75,-111.5 12,-111.5 12,-111.5 6,-111.5 0,-105.5 0,-99.5 0,-99.5 0,-84 0,-84 0,-78 6,-72 12,-72 12,-72 97.75,-72 97.75,-72 103.75,-72 109.75,-78 109.75,-84 109.75,-84 109.75,-99.5 109.75,-99.5 109.75,-105.5 103.75,-111.5 97.75,-111.5"/>
|
|
78
|
+
<text xml:space="preserve" text-anchor="middle" x="54.88" y="-98.95" font-family="Arial" font-size="9.00">Packet Crafting</text>
|
|
79
|
+
<text xml:space="preserve" text-anchor="middle" x="54.88" y="-88.45" font-family="Arial" font-size="9.00">(PWN::Plugins::Packet,</text>
|
|
80
|
+
<text xml:space="preserve" text-anchor="middle" x="54.88" y="-77.95" font-family="Arial" font-size="9.00">Sock, Tor)</text>
|
|
81
|
+
</g>
|
|
82
|
+
<!-- VulnScan->Packet -->
|
|
83
|
+
<g id="edge5" class="edge">
|
|
84
|
+
<title>VulnScan->Packet</title>
|
|
85
|
+
<path fill="none" stroke="black" d="M100.17,-147.32C93.39,-139.16 85.32,-129.44 77.89,-120.48"/>
|
|
86
|
+
<polygon fill="black" stroke="black" points="80.79,-118.49 71.71,-113.03 75.4,-122.96 80.79,-118.49"/>
|
|
87
|
+
</g>
|
|
88
|
+
<!-- Infra -->
|
|
89
|
+
<g id="node7" class="node">
|
|
90
|
+
<title>Infra</title>
|
|
91
|
+
<path fill="none" stroke="black" d="M215.5,-111.5C215.5,-111.5 140.25,-111.5 140.25,-111.5 134.25,-111.5 128.25,-105.5 128.25,-99.5 128.25,-99.5 128.25,-84 128.25,-84 128.25,-78 134.25,-72 140.25,-72 140.25,-72 215.5,-72 215.5,-72 221.5,-72 227.5,-78 227.5,-84 227.5,-84 227.5,-99.5 227.5,-99.5 227.5,-105.5 221.5,-111.5 215.5,-111.5"/>
|
|
92
|
+
<text xml:space="preserve" text-anchor="middle" x="177.88" y="-98.95" font-family="Arial" font-size="9.00">Infra Specific</text>
|
|
93
|
+
<text xml:space="preserve" text-anchor="middle" x="177.88" y="-88.45" font-family="Arial" font-size="9.00">(AWS, Jenkins, Jira,</text>
|
|
94
|
+
<text xml:space="preserve" text-anchor="middle" x="177.88" y="-77.95" font-family="Arial" font-size="9.00">Vsphere, RabbitMQ)</text>
|
|
95
|
+
</g>
|
|
96
|
+
<!-- VulnScan->Infra -->
|
|
97
|
+
<g id="edge7" class="edge">
|
|
98
|
+
<title>VulnScan->Infra</title>
|
|
99
|
+
<path fill="none" stroke="black" d="M131.84,-147.32C138.73,-139.16 146.93,-129.44 154.48,-120.48"/>
|
|
100
|
+
<polygon fill="black" stroke="black" points="157,-122.93 160.77,-113.03 151.65,-118.41 157,-122.93"/>
|
|
101
|
+
</g>
|
|
102
|
+
<!-- ExploitNet -->
|
|
103
|
+
<g id="node8" class="node">
|
|
104
|
+
<title>ExploitNet</title>
|
|
105
|
+
<path fill="none" stroke="black" d="M146,-36C146,-36 85.75,-36 85.75,-36 79.75,-36 73.75,-30 73.75,-24 73.75,-24 73.75,-12 73.75,-12 73.75,-6 79.75,0 85.75,0 85.75,0 146,0 146,0 152,0 158,-6 158,-12 158,-12 158,-24 158,-24 158,-30 152,-36 146,-36"/>
|
|
106
|
+
<text xml:space="preserve" text-anchor="middle" x="115.88" y="-14.7" font-family="Arial" font-size="9.00">Network Exploits</text>
|
|
107
|
+
</g>
|
|
108
|
+
<!-- Packet->ExploitNet -->
|
|
109
|
+
<g id="edge6" class="edge">
|
|
110
|
+
<title>Packet->ExploitNet</title>
|
|
111
|
+
<path fill="none" stroke="black" d="M71.22,-71.52C78.14,-63.39 86.3,-53.79 93.74,-45.04"/>
|
|
112
|
+
<polygon fill="black" stroke="black" points="96.36,-47.36 100.17,-37.47 91.03,-42.82 96.36,-47.36"/>
|
|
113
|
+
</g>
|
|
114
|
+
<!-- Infra->ExploitNet -->
|
|
115
|
+
<g id="edge8" class="edge">
|
|
116
|
+
<title>Infra->ExploitNet</title>
|
|
117
|
+
<path fill="none" stroke="black" d="M161.26,-71.52C154.16,-63.3 145.76,-53.59 138.13,-44.76"/>
|
|
118
|
+
<polygon fill="black" stroke="black" points="141.02,-42.74 131.83,-37.46 135.72,-47.32 141.02,-42.74"/>
|
|
119
|
+
</g>
|
|
120
|
+
</g>
|
|
121
|
+
</svg>
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
|
+
-->
|
|
6
|
+
<!-- Title: PWN Overall Architecture Pages: 1 -->
|
|
7
|
+
<svg width="596pt" height="473pt"
|
|
8
|
+
viewBox="0.00 0.00 596.00 473.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 469.4)">
|
|
10
|
+
<title>PWN Overall Architecture</title>
|
|
11
|
+
<polygon fill="white" stroke="none" points="-4,4 -4,-469.4 592.25,-469.4 592.25,4 -4,4"/>
|
|
12
|
+
<g id="clust1" class="cluster">
|
|
13
|
+
<title>cluster_core</title>
|
|
14
|
+
<polygon fill="none" stroke="darkblue" points="82,-65 82,-166 559,-166 559,-65 82,-65"/>
|
|
15
|
+
<text xml:space="preserve" text-anchor="middle" x="320.5" y="-148.7" font-family="Times,serif" font-size="14.00">Core PWN</text>
|
|
16
|
+
</g>
|
|
17
|
+
<g id="clust2" class="cluster">
|
|
18
|
+
<title>cluster_persistent</title>
|
|
19
|
+
<polygon fill="none" stroke="darkgreen" points="8,-290.83 8,-457.4 291,-457.4 291,-290.83 8,-290.83"/>
|
|
20
|
+
<text xml:space="preserve" text-anchor="middle" x="149.5" y="-440.1" font-family="Times,serif" font-size="14.00">Persistent Layer</text>
|
|
21
|
+
</g>
|
|
22
|
+
<!-- User -->
|
|
23
|
+
<g id="node1" class="node">
|
|
24
|
+
<title>User</title>
|
|
25
|
+
<path fill="none" stroke="black" d="M411.12,-422.96C411.12,-422.96 332.88,-422.96 332.88,-422.96 326.88,-422.96 320.88,-416.96 320.88,-410.96 320.88,-410.96 320.88,-398.96 320.88,-398.96 320.88,-392.96 326.88,-386.96 332.88,-386.96 332.88,-386.96 411.12,-386.96 411.12,-386.96 417.12,-386.96 423.12,-392.96 423.12,-398.96 423.12,-398.96 423.12,-410.96 423.12,-410.96 423.12,-416.96 417.12,-422.96 411.12,-422.96"/>
|
|
26
|
+
<text xml:space="preserve" text-anchor="middle" x="372" y="-406.91" font-family="Arial" font-size="9.00">End User</text>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="372" y="-396.41" font-family="Arial" font-size="9.00">(Researcher, pwn-ai)</text>
|
|
28
|
+
</g>
|
|
29
|
+
<!-- REPL -->
|
|
30
|
+
<g id="node2" class="node">
|
|
31
|
+
<title>REPL</title>
|
|
32
|
+
<ellipse fill="lightgreen" stroke="black" cx="361" cy="-318.77" rx="44.72" ry="20.51"/>
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="361" y="-320.72" font-family="Arial" font-size="9.00">PWN REPL</text>
|
|
34
|
+
<text xml:space="preserve" text-anchor="middle" x="361" y="-310.22" font-family="Arial" font-size="9.00">(pry + pwn)</text>
|
|
35
|
+
</g>
|
|
36
|
+
<!-- User->REPL -->
|
|
37
|
+
<g id="edge1" class="edge">
|
|
38
|
+
<title>User->REPL</title>
|
|
39
|
+
<path fill="none" stroke="black" d="M369.72,-386.52C368.37,-376.15 366.61,-362.71 365.03,-350.6"/>
|
|
40
|
+
<polygon fill="black" stroke="black" points="368.55,-350.51 363.78,-341.05 361.61,-351.42 368.55,-350.51"/>
|
|
41
|
+
<text xml:space="preserve" text-anchor="middle" x="390.03" y="-359.42" font-family="Arial" font-size="8.00">pwn / pwn-ai</text>
|
|
42
|
+
</g>
|
|
43
|
+
<!-- AI -->
|
|
44
|
+
<g id="node3" class="node">
|
|
45
|
+
<title>AI</title>
|
|
46
|
+
<ellipse fill="lightblue" stroke="black" cx="173" cy="-232.01" rx="67" ry="20.51"/>
|
|
47
|
+
<text xml:space="preserve" text-anchor="middle" x="173" y="-233.96" font-family="Arial" font-size="9.00">PWN::AI</text>
|
|
48
|
+
<text xml:space="preserve" text-anchor="middle" x="173" y="-223.46" font-family="Arial" font-size="9.00">(Agent + Providers)</text>
|
|
49
|
+
</g>
|
|
50
|
+
<!-- REPL->AI -->
|
|
51
|
+
<g id="edge2" class="edge">
|
|
52
|
+
<title>REPL->AI</title>
|
|
53
|
+
<path fill="none" stroke="black" d="M330.68,-303.46C319.66,-298.78 306.97,-293.98 295,-290.83 259.25,-281.42 244.92,-298.02 212.5,-280.26 204.32,-275.78 197.13,-268.88 191.21,-261.71"/>
|
|
54
|
+
<polygon fill="black" stroke="black" points="194.12,-259.76 185.31,-253.87 188.53,-263.97 194.12,-259.76"/>
|
|
55
|
+
<text xml:space="preserve" text-anchor="middle" x="237.25" y="-272.66" font-family="Arial" font-size="8.00">launch pwn-ai</text>
|
|
56
|
+
</g>
|
|
57
|
+
<!-- Plugins -->
|
|
58
|
+
<g id="node4" class="node">
|
|
59
|
+
<title>Plugins</title>
|
|
60
|
+
<path fill="none" stroke="black" d="M187.5,-133.5C187.5,-133.5 102.5,-133.5 102.5,-133.5 96.5,-133.5 90.5,-127.5 90.5,-121.5 90.5,-121.5 90.5,-85 90.5,-85 90.5,-79 96.5,-73 102.5,-73 102.5,-73 187.5,-73 187.5,-73 193.5,-73 199.5,-79 199.5,-85 199.5,-85 199.5,-121.5 199.5,-121.5 199.5,-127.5 193.5,-133.5 187.5,-133.5"/>
|
|
61
|
+
<text xml:space="preserve" text-anchor="middle" x="145" y="-120.95" font-family="Arial" font-size="9.00">PWN::Plugins</text>
|
|
62
|
+
<text xml:space="preserve" text-anchor="middle" x="145" y="-110.45" font-family="Arial" font-size="9.00">(67+ modules:</text>
|
|
63
|
+
<text xml:space="preserve" text-anchor="middle" x="145" y="-99.95" font-family="Arial" font-size="9.00">Burp, NmapIt,</text>
|
|
64
|
+
<text xml:space="preserve" text-anchor="middle" x="145" y="-89.45" font-family="Arial" font-size="9.00">Metasploit, Fuzz,</text>
|
|
65
|
+
<text xml:space="preserve" text-anchor="middle" x="145" y="-78.95" font-family="Arial" font-size="9.00">TransparentBrowser...)</text>
|
|
66
|
+
</g>
|
|
67
|
+
<!-- REPL->Plugins -->
|
|
68
|
+
<g id="edge3" class="edge">
|
|
69
|
+
<title>REPL->Plugins</title>
|
|
70
|
+
<path fill="none" stroke="black" d="M331.97,-302.94C313,-291.7 289.34,-274.45 276,-252.51 257.59,-222.23 287.39,-198.73 262,-174 244.93,-157.38 230.36,-176.55 209,-166 197.11,-160.13 186,-151.25 176.48,-142.05"/>
|
|
71
|
+
<polygon fill="black" stroke="black" points="179.1,-139.72 169.61,-135.02 174.1,-144.61 179.1,-139.72"/>
|
|
72
|
+
<text xml:space="preserve" text-anchor="middle" x="304.5" y="-229.28" font-family="Arial" font-size="8.00">direct invocation</text>
|
|
73
|
+
</g>
|
|
74
|
+
<!-- SAST -->
|
|
75
|
+
<g id="node5" class="node">
|
|
76
|
+
<title>SAST</title>
|
|
77
|
+
<path fill="none" stroke="black" d="M454.38,-121.25C454.38,-121.25 413.62,-121.25 413.62,-121.25 407.62,-121.25 401.62,-115.25 401.62,-109.25 401.62,-109.25 401.62,-97.25 401.62,-97.25 401.62,-91.25 407.62,-85.25 413.62,-85.25 413.62,-85.25 454.38,-85.25 454.38,-85.25 460.38,-85.25 466.38,-91.25 466.38,-97.25 466.38,-97.25 466.38,-109.25 466.38,-109.25 466.38,-115.25 460.38,-121.25 454.38,-121.25"/>
|
|
78
|
+
<text xml:space="preserve" text-anchor="middle" x="434" y="-99.95" font-family="Arial" font-size="9.00">PWN::SAST</text>
|
|
79
|
+
</g>
|
|
80
|
+
<!-- REPL->SAST -->
|
|
81
|
+
<g id="edge4" class="edge">
|
|
82
|
+
<title>REPL->SAST</title>
|
|
83
|
+
<path fill="none" stroke="black" d="M377.69,-299.32C382.22,-293.54 386.77,-286.93 390,-280.26 413.71,-231.37 425.45,-168.45 430.58,-132.61"/>
|
|
84
|
+
<polygon fill="black" stroke="black" points="434,-133.43 431.87,-123.05 427.06,-132.49 434,-133.43"/>
|
|
85
|
+
</g>
|
|
86
|
+
<!-- Reports -->
|
|
87
|
+
<g id="node6" class="node">
|
|
88
|
+
<title>Reports</title>
|
|
89
|
+
<path fill="none" stroke="black" d="M371.88,-121.25C371.88,-121.25 322.12,-121.25 322.12,-121.25 316.12,-121.25 310.12,-115.25 310.12,-109.25 310.12,-109.25 310.12,-97.25 310.12,-97.25 310.12,-91.25 316.12,-85.25 322.12,-85.25 322.12,-85.25 371.88,-85.25 371.88,-85.25 377.88,-85.25 383.88,-91.25 383.88,-97.25 383.88,-97.25 383.88,-109.25 383.88,-109.25 383.88,-115.25 377.88,-121.25 371.88,-121.25"/>
|
|
90
|
+
<text xml:space="preserve" text-anchor="middle" x="347" y="-99.95" font-family="Arial" font-size="9.00">PWN::Reports</text>
|
|
91
|
+
</g>
|
|
92
|
+
<!-- REPL->Reports -->
|
|
93
|
+
<g id="edge5" class="edge">
|
|
94
|
+
<title>REPL->Reports</title>
|
|
95
|
+
<path fill="none" stroke="black" d="M369.77,-298.29C371.92,-292.59 373.91,-286.28 375,-280.26 383.39,-233.79 383.96,-220.37 375,-174 372.22,-159.63 366.51,-144.47 360.96,-131.96"/>
|
|
96
|
+
<polygon fill="black" stroke="black" points="364.23,-130.7 356.84,-123.11 357.89,-133.66 364.23,-130.7"/>
|
|
97
|
+
</g>
|
|
98
|
+
<!-- Driver -->
|
|
99
|
+
<g id="node7" class="node">
|
|
100
|
+
<title>Driver</title>
|
|
101
|
+
<path fill="none" stroke="black" d="M539.12,-121.25C539.12,-121.25 496.88,-121.25 496.88,-121.25 490.88,-121.25 484.88,-115.25 484.88,-109.25 484.88,-109.25 484.88,-97.25 484.88,-97.25 484.88,-91.25 490.88,-85.25 496.88,-85.25 496.88,-85.25 539.12,-85.25 539.12,-85.25 545.12,-85.25 551.12,-91.25 551.12,-97.25 551.12,-97.25 551.12,-109.25 551.12,-109.25 551.12,-115.25 545.12,-121.25 539.12,-121.25"/>
|
|
102
|
+
<text xml:space="preserve" text-anchor="middle" x="518" y="-99.95" font-family="Arial" font-size="9.00">PWN::Driver</text>
|
|
103
|
+
</g>
|
|
104
|
+
<!-- REPL->Driver -->
|
|
105
|
+
<g id="edge6" class="edge">
|
|
106
|
+
<title>REPL->Driver</title>
|
|
107
|
+
<path fill="none" stroke="black" d="M383.74,-301.1C391.28,-295 399.42,-287.75 406,-280.26 447.91,-232.61 484.91,-167.74 504.1,-131.54"/>
|
|
108
|
+
<polygon fill="black" stroke="black" points="507.01,-133.53 508.54,-123.04 500.81,-130.28 507.01,-133.53"/>
|
|
109
|
+
</g>
|
|
110
|
+
<!-- Memory -->
|
|
111
|
+
<g id="node8" class="node">
|
|
112
|
+
<title>Memory</title>
|
|
113
|
+
<path fill="none" stroke="black" d="M280.25,-121.25C280.25,-121.25 229.75,-121.25 229.75,-121.25 223.75,-121.25 217.75,-115.25 217.75,-109.25 217.75,-109.25 217.75,-97.25 217.75,-97.25 217.75,-91.25 223.75,-85.25 229.75,-85.25 229.75,-85.25 280.25,-85.25 280.25,-85.25 286.25,-85.25 292.25,-91.25 292.25,-97.25 292.25,-97.25 292.25,-109.25 292.25,-109.25 292.25,-115.25 286.25,-121.25 280.25,-121.25"/>
|
|
114
|
+
<text xml:space="preserve" text-anchor="middle" x="255" y="-99.95" font-family="Arial" font-size="9.00">PWN::Memory</text>
|
|
115
|
+
</g>
|
|
116
|
+
<!-- REPL->Memory -->
|
|
117
|
+
<g id="edge9" class="edge">
|
|
118
|
+
<title>REPL->Memory</title>
|
|
119
|
+
<path fill="none" stroke="black" d="M359.21,-298.1C356.61,-276.1 350.54,-239.83 337,-211.5 325.88,-188.23 316.7,-186.45 301,-166 292.18,-154.52 282.6,-141.7 274.47,-130.73"/>
|
|
120
|
+
<polygon fill="black" stroke="black" points="277.41,-128.83 268.65,-122.87 271.78,-132.99 277.41,-128.83"/>
|
|
121
|
+
</g>
|
|
122
|
+
<!-- BinDrivers -->
|
|
123
|
+
<g id="node13" class="node">
|
|
124
|
+
<title>BinDrivers</title>
|
|
125
|
+
<path fill="none" stroke="black" d="M576.25,-36C576.25,-36 519.75,-36 519.75,-36 513.75,-36 507.75,-30 507.75,-24 507.75,-24 507.75,-12 507.75,-12 507.75,-6 513.75,0 519.75,0 519.75,0 576.25,0 576.25,0 582.25,0 588.25,-6 588.25,-12 588.25,-12 588.25,-24 588.25,-24 588.25,-30 582.25,-36 576.25,-36"/>
|
|
126
|
+
<text xml:space="preserve" text-anchor="middle" x="548" y="-19.95" font-family="Arial" font-size="9.00">/opt/pwn/bin/</text>
|
|
127
|
+
<text xml:space="preserve" text-anchor="middle" x="548" y="-9.45" font-family="Arial" font-size="9.00">(Drivers & CLIs)</text>
|
|
128
|
+
</g>
|
|
129
|
+
<!-- REPL->BinDrivers -->
|
|
130
|
+
<g id="edge10" class="edge">
|
|
131
|
+
<title>REPL->BinDrivers</title>
|
|
132
|
+
<path fill="none" stroke="black" d="M394.13,-304.81C442.17,-283.94 529.12,-237.81 563,-166 581.05,-127.73 569.62,-77.76 559.2,-47.05"/>
|
|
133
|
+
<polygon fill="black" stroke="black" points="562.52,-45.93 555.83,-37.71 555.93,-48.3 562.52,-45.93"/>
|
|
134
|
+
</g>
|
|
135
|
+
<!-- AI->Plugins -->
|
|
136
|
+
<g id="edge7" class="edge">
|
|
137
|
+
<title>AI->Plugins</title>
|
|
138
|
+
<path fill="none" stroke="black" d="M156.11,-212C152.11,-206.41 148.39,-200.04 146.25,-193.5 141.25,-178.25 140.09,-160.72 140.48,-145.26"/>
|
|
139
|
+
<polygon fill="black" stroke="black" points="143.97,-145.59 140.97,-135.43 136.98,-145.24 143.97,-145.59"/>
|
|
140
|
+
<text xml:space="preserve" text-anchor="middle" x="163.12" y="-185.9" font-family="Arial" font-size="8.00">tool calls</text>
|
|
141
|
+
<text xml:space="preserve" text-anchor="middle" x="163.12" y="-176.15" font-family="Arial" font-size="8.00">pwn_eval</text>
|
|
142
|
+
</g>
|
|
143
|
+
<!-- AI->Memory -->
|
|
144
|
+
<g id="edge8" class="edge">
|
|
145
|
+
<title>AI->Memory</title>
|
|
146
|
+
<path fill="none" stroke="black" d="M185.63,-211.48C199.55,-189.97 222.02,-155.24 237.59,-131.16"/>
|
|
147
|
+
<polygon fill="black" stroke="black" points="240.49,-133.13 242.98,-122.83 234.61,-129.32 240.49,-133.13"/>
|
|
148
|
+
<text xml:space="preserve" text-anchor="middle" x="238.34" y="-181.03" font-family="Arial" font-size="8.00">remember/recall</text>
|
|
149
|
+
</g>
|
|
150
|
+
<!-- Learn -->
|
|
151
|
+
<g id="node12" class="node">
|
|
152
|
+
<title>Learn</title>
|
|
153
|
+
<path fill="none" stroke="black" d="M106.12,-421.27C106.12,-423.27 85.9,-424.9 61,-424.9 36.1,-424.9 15.88,-423.27 15.88,-421.27 15.88,-421.27 15.88,-388.65 15.88,-388.65 15.88,-386.65 36.1,-385.02 61,-385.02 85.9,-385.02 106.12,-386.65 106.12,-388.65 106.12,-388.65 106.12,-421.27 106.12,-421.27"/>
|
|
154
|
+
<path fill="none" stroke="black" d="M106.12,-421.27C106.12,-419.27 85.9,-417.65 61,-417.65 36.1,-417.65 15.88,-419.27 15.88,-421.27"/>
|
|
155
|
+
<text xml:space="preserve" text-anchor="middle" x="61" y="-406.91" font-family="Arial" font-size="9.00">Learning</text>
|
|
156
|
+
<text xml:space="preserve" text-anchor="middle" x="61" y="-396.41" font-family="Arial" font-size="9.00">(Metrics + JSONL)</text>
|
|
157
|
+
</g>
|
|
158
|
+
<!-- AI->Learn -->
|
|
159
|
+
<g id="edge13" class="edge">
|
|
160
|
+
<title>AI->Learn</title>
|
|
161
|
+
<path fill="none" stroke="black" d="M171.47,-252.98C168.34,-281.33 158.93,-333.49 131,-367.02 126.77,-372.1 121.67,-376.57 116.16,-380.48"/>
|
|
162
|
+
<polygon fill="black" stroke="black" points="114.45,-377.43 107.88,-385.74 118.2,-383.33 114.45,-377.43"/>
|
|
163
|
+
<text xml:space="preserve" text-anchor="middle" x="182.2" y="-316.04" font-family="Arial" font-size="8.00">distill skills</text>
|
|
164
|
+
</g>
|
|
165
|
+
<!-- Plugins->Learn -->
|
|
166
|
+
<g id="edge12" class="edge">
|
|
167
|
+
<title>Plugins->Learn</title>
|
|
168
|
+
<path fill="none" stroke="black" d="M127.8,-133.6C116.56,-154.53 102.92,-183.77 97,-211.5 93.19,-229.33 94.08,-234.52 97,-252.51 98.35,-260.84 101.65,-262.19 103,-270.51 109.87,-312.85 120.68,-327.94 103,-367.02 101.48,-370.39 99.48,-373.56 97.19,-376.54"/>
|
|
169
|
+
<polygon fill="black" stroke="black" points="94.79,-373.98 90.61,-383.72 99.95,-378.71 94.79,-373.98"/>
|
|
170
|
+
</g>
|
|
171
|
+
<!-- Driver->BinDrivers -->
|
|
172
|
+
<g id="edge11" class="edge">
|
|
173
|
+
<title>Driver->BinDrivers</title>
|
|
174
|
+
<path fill="none" stroke="black" d="M524.22,-85C528.2,-73.95 533.46,-59.36 538.01,-46.71"/>
|
|
175
|
+
<polygon fill="black" stroke="black" points="541.18,-48.25 541.28,-37.65 534.6,-45.87 541.18,-48.25"/>
|
|
176
|
+
</g>
|
|
177
|
+
<!-- Skills -->
|
|
178
|
+
<g id="node9" class="node">
|
|
179
|
+
<title>Skills</title>
|
|
180
|
+
<path fill="none" stroke="black" d="M87.75,-335.08C87.75,-337.08 71.73,-338.71 52,-338.71 32.27,-338.71 16.25,-337.08 16.25,-335.08 16.25,-335.08 16.25,-302.46 16.25,-302.46 16.25,-300.46 32.27,-298.83 52,-298.83 71.73,-298.83 87.75,-300.46 87.75,-302.46 87.75,-302.46 87.75,-335.08 87.75,-335.08"/>
|
|
181
|
+
<path fill="none" stroke="black" d="M87.75,-335.08C87.75,-333.08 71.73,-331.46 52,-331.46 32.27,-331.46 16.25,-333.08 16.25,-335.08"/>
|
|
182
|
+
<text xml:space="preserve" text-anchor="middle" x="52" y="-320.72" font-family="Arial" font-size="9.00">PWN::Skills</text>
|
|
183
|
+
<text xml:space="preserve" text-anchor="middle" x="52" y="-310.22" font-family="Arial" font-size="9.00">(~/.pwn/skills)</text>
|
|
184
|
+
</g>
|
|
185
|
+
<!-- Skills->REPL -->
|
|
186
|
+
<g id="edge16" class="edge">
|
|
187
|
+
<title>Skills->REPL</title>
|
|
188
|
+
<path fill="none" stroke="black" d="M85.29,-337.67C103.73,-347.05 127.43,-357.38 150,-362.15 209.14,-374.65 227.62,-377.82 286,-362.15 300.79,-358.18 315.67,-350.51 328.24,-342.71"/>
|
|
189
|
+
<polygon fill="black" stroke="black" points="330.04,-345.71 336.51,-337.32 326.22,-339.85 330.04,-345.71"/>
|
|
190
|
+
</g>
|
|
191
|
+
<!-- Skills->AI -->
|
|
192
|
+
<g id="edge15" class="edge">
|
|
193
|
+
<title>Skills->AI</title>
|
|
194
|
+
<path fill="none" stroke="black" d="M65.51,-298.57C72.79,-289.23 82.39,-278.36 92.75,-270.51 101.39,-263.97 111.36,-258.18 121.27,-253.23"/>
|
|
195
|
+
<polygon fill="black" stroke="black" points="122.61,-256.47 130.15,-249.03 119.62,-250.14 122.61,-256.47"/>
|
|
196
|
+
<text xml:space="preserve" text-anchor="middle" x="120.88" y="-272.66" font-family="Arial" font-size="8.00">context injection</text>
|
|
197
|
+
</g>
|
|
198
|
+
<!-- Sess -->
|
|
199
|
+
<g id="node10" class="node">
|
|
200
|
+
<title>Sess</title>
|
|
201
|
+
<path fill="none" stroke="black" d="M203.5,-419.69C203.5,-421.49 185.8,-422.96 164,-422.96 142.2,-422.96 124.5,-421.49 124.5,-419.69 124.5,-419.69 124.5,-390.23 124.5,-390.23 124.5,-388.43 142.2,-386.96 164,-386.96 185.8,-386.96 203.5,-388.43 203.5,-390.23 203.5,-390.23 203.5,-419.69 203.5,-419.69"/>
|
|
202
|
+
<path fill="none" stroke="black" d="M203.5,-419.69C203.5,-417.88 185.8,-416.42 164,-416.42 142.2,-416.42 124.5,-417.88 124.5,-419.69"/>
|
|
203
|
+
<text xml:space="preserve" text-anchor="middle" x="164" y="-401.66" font-family="Arial" font-size="9.00">PWN::Sessions</text>
|
|
204
|
+
</g>
|
|
205
|
+
<!-- Sess->REPL -->
|
|
206
|
+
<g id="edge18" class="edge">
|
|
207
|
+
<title>Sess->REPL</title>
|
|
208
|
+
<path fill="none" stroke="black" d="M180.75,-386.54C191.22,-376.59 205.5,-364.67 220.25,-357.27 250.8,-341.97 261.99,-348.12 295,-339.27 300.99,-337.67 307.26,-335.91 313.45,-334.14"/>
|
|
209
|
+
<polygon fill="black" stroke="black" points="314.36,-337.52 322.99,-331.36 312.41,-330.8 314.36,-337.52"/>
|
|
210
|
+
<text xml:space="preserve" text-anchor="middle" x="243.12" y="-359.42" font-family="Arial" font-size="8.00">replay / audit</text>
|
|
211
|
+
</g>
|
|
212
|
+
<!-- Cron -->
|
|
213
|
+
<g id="node11" class="node">
|
|
214
|
+
<title>Cron</title>
|
|
215
|
+
<path fill="none" stroke="black" d="M282.88,-419.69C282.88,-421.49 269.04,-422.96 252,-422.96 234.96,-422.96 221.12,-421.49 221.12,-419.69 221.12,-419.69 221.12,-390.23 221.12,-390.23 221.12,-388.43 234.96,-386.96 252,-386.96 269.04,-386.96 282.88,-388.43 282.88,-390.23 282.88,-390.23 282.88,-419.69 282.88,-419.69"/>
|
|
216
|
+
<path fill="none" stroke="black" d="M282.88,-419.69C282.88,-417.88 269.04,-416.42 252,-416.42 234.96,-416.42 221.12,-417.88 221.12,-419.69"/>
|
|
217
|
+
<text xml:space="preserve" text-anchor="middle" x="252" y="-401.66" font-family="Arial" font-size="9.00">PWN::Cron</text>
|
|
218
|
+
</g>
|
|
219
|
+
<!-- Cron->REPL -->
|
|
220
|
+
<g id="edge17" class="edge">
|
|
221
|
+
<title>Cron->REPL</title>
|
|
222
|
+
<path fill="none" stroke="black" d="M258.44,-386.65C262.76,-376.98 269.26,-365.31 278,-357.27 288.18,-347.91 301.1,-340.56 313.7,-334.95"/>
|
|
223
|
+
<polygon fill="black" stroke="black" points="314.83,-338.27 322.73,-331.22 312.16,-331.8 314.83,-338.27"/>
|
|
224
|
+
<text xml:space="preserve" text-anchor="middle" x="320" y="-359.42" font-family="Arial" font-size="8.00">schedule drivers/agents</text>
|
|
225
|
+
</g>
|
|
226
|
+
<!-- Learn->Skills -->
|
|
227
|
+
<g id="edge14" class="edge">
|
|
228
|
+
<title>Learn->Skills</title>
|
|
229
|
+
<path fill="none" stroke="black" d="M44.09,-384.87C40.28,-379.46 36.76,-373.32 34.75,-367.02 32.94,-361.35 33.32,-355.34 34.85,-349.58"/>
|
|
230
|
+
<polygon fill="black" stroke="black" points="38.07,-350.96 38.4,-340.37 31.54,-348.44 38.07,-350.96"/>
|
|
231
|
+
<text xml:space="preserve" text-anchor="middle" x="68.88" y="-359.42" font-family="Arial" font-size="8.00">promote successful</text>
|
|
232
|
+
</g>
|
|
233
|
+
</g>
|
|
234
|
+
</svg>
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
|
+
-->
|
|
6
|
+
<!-- Title: PWN Penetration Testing Workflow Pages: 1 -->
|
|
7
|
+
<svg width="295pt" height="807pt"
|
|
8
|
+
viewBox="0.00 0.00 295.00 807.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 802.91)">
|
|
10
|
+
<title>PWN Penetration Testing Workflow</title>
|
|
11
|
+
<polygon fill="white" stroke="none" points="-4,4 -4,-802.91 290.77,-802.91 290.77,4 -4,4"/>
|
|
12
|
+
<!-- Target -->
|
|
13
|
+
<g id="node1" class="node">
|
|
14
|
+
<title>Target</title>
|
|
15
|
+
<path fill="none" stroke="black" d="M224.77,-798.91C224.77,-798.91 148.77,-798.91 148.77,-798.91 142.77,-798.91 136.77,-792.91 136.77,-786.91 136.77,-786.91 136.77,-774.91 136.77,-774.91 136.77,-768.91 142.77,-762.91 148.77,-762.91 148.77,-762.91 224.77,-762.91 224.77,-762.91 230.77,-762.91 236.77,-768.91 236.77,-774.91 236.77,-774.91 236.77,-786.91 236.77,-786.91 236.77,-792.91 230.77,-798.91 224.77,-798.91"/>
|
|
16
|
+
<text xml:space="preserve" text-anchor="middle" x="186.77" y="-782.86" font-family="Arial" font-size="9.00">Target System</text>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="186.77" y="-772.36" font-family="Arial" font-size="9.00">(Host, Network, App)</text>
|
|
18
|
+
</g>
|
|
19
|
+
<!-- Recon -->
|
|
20
|
+
<g id="node2" class="node">
|
|
21
|
+
<title>Recon</title>
|
|
22
|
+
<ellipse fill="none" stroke="black" cx="186.77" cy="-697.97" rx="61.7" ry="27.93"/>
|
|
23
|
+
<text xml:space="preserve" text-anchor="middle" x="186.77" y="-705.17" font-family="Arial" font-size="9.00">Recon</text>
|
|
24
|
+
<text xml:space="preserve" text-anchor="middle" x="186.77" y="-694.67" font-family="Arial" font-size="9.00">(NmapIt, Shodan,</text>
|
|
25
|
+
<text xml:space="preserve" text-anchor="middle" x="186.77" y="-684.17" font-family="Arial" font-size="9.00">IPInfo, crt.sh)</text>
|
|
26
|
+
</g>
|
|
27
|
+
<!-- Target->Recon -->
|
|
28
|
+
<g id="edge1" class="edge">
|
|
29
|
+
<title>Target->Recon</title>
|
|
30
|
+
<path fill="none" stroke="black" d="M186.77,-762.74C186.77,-755.39 186.77,-746.47 186.77,-737.67"/>
|
|
31
|
+
<polygon fill="black" stroke="black" points="190.27,-737.82 186.77,-727.82 183.27,-737.82 190.27,-737.82"/>
|
|
32
|
+
</g>
|
|
33
|
+
<!-- Scanning -->
|
|
34
|
+
<g id="node3" class="node">
|
|
35
|
+
<title>Scanning</title>
|
|
36
|
+
<ellipse fill="none" stroke="black" cx="136.77" cy="-605.11" rx="70.18" ry="27.93"/>
|
|
37
|
+
<text xml:space="preserve" text-anchor="middle" x="136.77" y="-612.31" font-family="Arial" font-size="9.00">Vuln Scanning</text>
|
|
38
|
+
<text xml:space="preserve" text-anchor="middle" x="136.77" y="-601.81" font-family="Arial" font-size="9.00">(OpenVAS, Nessus,</text>
|
|
39
|
+
<text xml:space="preserve" text-anchor="middle" x="136.77" y="-591.31" font-family="Arial" font-size="9.00">Nexpose, ZAP/Burp)</text>
|
|
40
|
+
</g>
|
|
41
|
+
<!-- Recon->Scanning -->
|
|
42
|
+
<g id="edge2" class="edge">
|
|
43
|
+
<title>Recon->Scanning</title>
|
|
44
|
+
<path fill="none" stroke="black" d="M172.31,-670.69C167.48,-661.92 162.01,-651.98 156.83,-642.57"/>
|
|
45
|
+
<polygon fill="black" stroke="black" points="159.99,-641.05 152.1,-633.98 153.86,-644.42 159.99,-641.05"/>
|
|
46
|
+
</g>
|
|
47
|
+
<!-- Web -->
|
|
48
|
+
<g id="node4" class="node">
|
|
49
|
+
<title>Web</title>
|
|
50
|
+
<ellipse fill="none" stroke="black" cx="130.77" cy="-504.83" rx="73.89" ry="35.36"/>
|
|
51
|
+
<text xml:space="preserve" text-anchor="middle" x="130.77" y="-517.28" font-family="Arial" font-size="9.00">Web App Testing</text>
|
|
52
|
+
<text xml:space="preserve" text-anchor="middle" x="130.77" y="-506.78" font-family="Arial" font-size="9.00">(TransparentBrowser,</text>
|
|
53
|
+
<text xml:space="preserve" text-anchor="middle" x="130.77" y="-496.28" font-family="Arial" font-size="9.00">BurpSuite, Zaproxy,</text>
|
|
54
|
+
<text xml:space="preserve" text-anchor="middle" x="130.77" y="-485.78" font-family="Arial" font-size="9.00">URI Buster)</text>
|
|
55
|
+
</g>
|
|
56
|
+
<!-- Scanning->Web -->
|
|
57
|
+
<g id="edge3" class="edge">
|
|
58
|
+
<title>Scanning->Web</title>
|
|
59
|
+
<path fill="none" stroke="black" d="M135.1,-576.73C134.63,-569 134.1,-560.37 133.58,-551.86"/>
|
|
60
|
+
<polygon fill="black" stroke="black" points="137.08,-551.71 132.98,-541.94 130.09,-552.14 137.08,-551.71"/>
|
|
61
|
+
</g>
|
|
62
|
+
<!-- Fuzz -->
|
|
63
|
+
<g id="node5" class="node">
|
|
64
|
+
<title>Fuzz</title>
|
|
65
|
+
<ellipse fill="none" stroke="black" cx="120.77" cy="-404.54" rx="87.15" ry="27.93"/>
|
|
66
|
+
<text xml:space="preserve" text-anchor="middle" x="120.77" y="-411.74" font-family="Arial" font-size="9.00">Fuzzing</text>
|
|
67
|
+
<text xml:space="preserve" text-anchor="middle" x="120.77" y="-401.24" font-family="Arial" font-size="9.00">(PWN::Plugins::Fuzz,</text>
|
|
68
|
+
<text xml:space="preserve" text-anchor="middle" x="120.77" y="-390.74" font-family="Arial" font-size="9.00">pwn_fuzz_net_app_proto)</text>
|
|
69
|
+
</g>
|
|
70
|
+
<!-- Web->Fuzz -->
|
|
71
|
+
<g id="edge4" class="edge">
|
|
72
|
+
<title>Web->Fuzz</title>
|
|
73
|
+
<path fill="none" stroke="black" d="M127.25,-469.17C126.42,-461.06 125.54,-452.37 124.69,-444.1"/>
|
|
74
|
+
<polygon fill="black" stroke="black" points="128.19,-443.88 123.7,-434.29 121.23,-444.59 128.19,-443.88"/>
|
|
75
|
+
</g>
|
|
76
|
+
<!-- Exploit -->
|
|
77
|
+
<g id="node6" class="node">
|
|
78
|
+
<title>Exploit</title>
|
|
79
|
+
<ellipse fill="none" stroke="black" cx="120.77" cy="-293.18" rx="67" ry="27.93"/>
|
|
80
|
+
<text xml:space="preserve" text-anchor="middle" x="120.77" y="-300.38" font-family="Arial" font-size="9.00">Exploitation</text>
|
|
81
|
+
<text xml:space="preserve" text-anchor="middle" x="120.77" y="-289.88" font-family="Arial" font-size="9.00">(Metasploit, custom</text>
|
|
82
|
+
<text xml:space="preserve" text-anchor="middle" x="120.77" y="-279.38" font-family="Arial" font-size="9.00">BeEF, Serial, etc.)</text>
|
|
83
|
+
</g>
|
|
84
|
+
<!-- Fuzz->Exploit -->
|
|
85
|
+
<g id="edge5" class="edge">
|
|
86
|
+
<title>Fuzz->Exploit</title>
|
|
87
|
+
<path fill="none" stroke="black" d="M120.77,-376.23C120.77,-363.05 120.77,-347.01 120.77,-332.62"/>
|
|
88
|
+
<polygon fill="black" stroke="black" points="124.27,-333.04 120.77,-323.04 117.27,-333.04 124.27,-333.04"/>
|
|
89
|
+
</g>
|
|
90
|
+
<!-- Post -->
|
|
91
|
+
<g id="node7" class="node">
|
|
92
|
+
<title>Post</title>
|
|
93
|
+
<ellipse fill="none" stroke="black" cx="71.77" cy="-200.32" rx="71.77" ry="27.93"/>
|
|
94
|
+
<text xml:space="preserve" text-anchor="middle" x="71.77" y="-207.52" font-family="Arial" font-size="9.00">Post-Exploitation</text>
|
|
95
|
+
<text xml:space="preserve" text-anchor="middle" x="71.77" y="-197.02" font-family="Arial" font-size="9.00">(PS, FileFu, SSH,</text>
|
|
96
|
+
<text xml:space="preserve" text-anchor="middle" x="71.77" y="-186.52" font-family="Arial" font-size="9.00">credential extraction)</text>
|
|
97
|
+
</g>
|
|
98
|
+
<!-- Exploit->Post -->
|
|
99
|
+
<g id="edge6" class="edge">
|
|
100
|
+
<title>Exploit->Post</title>
|
|
101
|
+
<path fill="none" stroke="black" d="M106.33,-265.41C101.7,-256.81 96.48,-247.14 91.53,-237.96"/>
|
|
102
|
+
<polygon fill="black" stroke="black" points="94.65,-236.37 86.82,-229.23 88.49,-239.69 94.65,-236.37"/>
|
|
103
|
+
</g>
|
|
104
|
+
<!-- Report -->
|
|
105
|
+
<g id="node8" class="node">
|
|
106
|
+
<title>Report</title>
|
|
107
|
+
<ellipse fill="none" stroke="black" cx="83.77" cy="-106.13" rx="56.39" ry="20.51"/>
|
|
108
|
+
<text xml:space="preserve" text-anchor="middle" x="83.77" y="-108.08" font-family="Arial" font-size="9.00">Reporting</text>
|
|
109
|
+
<text xml:space="preserve" text-anchor="middle" x="83.77" y="-97.58" font-family="Arial" font-size="9.00">(PWN::Reports)</text>
|
|
110
|
+
</g>
|
|
111
|
+
<!-- Post->Report -->
|
|
112
|
+
<g id="edge7" class="edge">
|
|
113
|
+
<title>Post->Report</title>
|
|
114
|
+
<path fill="none" stroke="black" d="M75.31,-172.16C76.69,-161.55 78.28,-149.32 79.71,-138.35"/>
|
|
115
|
+
<polygon fill="black" stroke="black" points="83.16,-138.95 80.98,-128.58 76.22,-138.04 83.16,-138.95"/>
|
|
116
|
+
</g>
|
|
117
|
+
<!-- MemorySkills -->
|
|
118
|
+
<g id="node9" class="node">
|
|
119
|
+
<title>MemorySkills</title>
|
|
120
|
+
<path fill="none" stroke="black" d="M218.4,-36.25C218.4,-38.25 197.5,-39.88 171.77,-39.88 146.04,-39.88 125.15,-38.25 125.15,-36.25 125.15,-36.25 125.15,-3.62 125.15,-3.62 125.15,-1.62 146.04,0 171.77,0 197.5,0 218.4,-1.62 218.4,-3.62 218.4,-3.62 218.4,-36.25 218.4,-36.25"/>
|
|
121
|
+
<path fill="none" stroke="black" d="M218.4,-36.25C218.4,-34.25 197.5,-32.62 171.77,-32.62 146.04,-32.62 125.15,-34.25 125.15,-36.25"/>
|
|
122
|
+
<text xml:space="preserve" text-anchor="middle" x="171.77" y="-21.89" font-family="Arial" font-size="9.00">Memory + Skills</text>
|
|
123
|
+
<text xml:space="preserve" text-anchor="middle" x="171.77" y="-11.39" font-family="Arial" font-size="9.00">(persistent context)</text>
|
|
124
|
+
</g>
|
|
125
|
+
<!-- Report->MemorySkills -->
|
|
126
|
+
<g id="edge8" class="edge">
|
|
127
|
+
<title>Report->MemorySkills</title>
|
|
128
|
+
<path fill="none" stroke="black" d="M89.49,-85.55C92.93,-76.34 98.06,-65.69 105.27,-57.88 109.69,-53.09 114.87,-48.77 120.37,-44.93"/>
|
|
129
|
+
<polygon fill="black" stroke="black" points="121.99,-48.04 128.54,-39.71 118.23,-42.14 121.99,-48.04"/>
|
|
130
|
+
<text xml:space="preserve" text-anchor="middle" x="131.52" y="-60.02" font-family="Arial" font-size="8.00">note outcomes</text>
|
|
131
|
+
</g>
|
|
132
|
+
<!-- MemorySkills->Recon -->
|
|
133
|
+
<g id="edge9" class="edge">
|
|
134
|
+
<title>MemorySkills->Recon</title>
|
|
135
|
+
<path fill="none" stroke="black" d="M198.17,-40.32C215.8,-55.68 235.77,-78.88 235.77,-105.13 235.77,-606.11 235.77,-606.11 235.77,-606.11 235.77,-626.34 226.25,-646.39 215.6,-662.49"/>
|
|
136
|
+
<polygon fill="black" stroke="black" points="213.03,-660.05 210.14,-670.25 218.76,-664.09 213.03,-660.05"/>
|
|
137
|
+
<text xml:space="preserve" text-anchor="middle" x="261.27" y="-351.01" font-family="Arial" font-size="8.00">recall previous</text>
|
|
138
|
+
<text xml:space="preserve" text-anchor="middle" x="261.27" y="-341.26" font-family="Arial" font-size="8.00">findings</text>
|
|
139
|
+
</g>
|
|
140
|
+
<!-- MemorySkills->Exploit -->
|
|
141
|
+
<g id="edge10" class="edge">
|
|
142
|
+
<title>MemorySkills->Exploit</title>
|
|
143
|
+
<path fill="none" stroke="black" d="M172.36,-40.24C172.98,-77.4 171.9,-161.17 152.77,-228.25 150.16,-237.41 146.23,-246.83 142.02,-255.53"/>
|
|
144
|
+
<polygon fill="black" stroke="black" points="138.94,-253.87 137.5,-264.36 145.17,-257.06 138.94,-253.87"/>
|
|
145
|
+
<text xml:space="preserve" text-anchor="middle" x="192.21" y="-146.79" font-family="Arial" font-size="8.00">reuse exploits</text>
|
|
146
|
+
</g>
|
|
147
|
+
</g>
|
|
148
|
+
</svg>
|