ronin-exploits 1.0.4 → 1.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +1 -0
  3. data/.gitignore +1 -0
  4. data/ChangeLog.md +37 -0
  5. data/Gemfile +6 -4
  6. data/README.md +32 -6
  7. data/Rakefile +10 -0
  8. data/data/completions/ronin-exploits +111 -0
  9. data/data/completions/ronin-exploits.yml +12 -0
  10. data/data/new/exploit.rb.erb +5 -3
  11. data/gemspec.yml +3 -1
  12. data/lib/ronin/exploits/advisory.rb +1 -1
  13. data/lib/ronin/exploits/cli/command.rb +1 -1
  14. data/lib/ronin/exploits/cli/commands/completion.rb +64 -0
  15. data/lib/ronin/exploits/cli/commands/irb.rb +1 -1
  16. data/lib/ronin/exploits/cli/commands/list.rb +1 -1
  17. data/lib/ronin/exploits/cli/commands/new.rb +25 -16
  18. data/lib/ronin/exploits/cli/commands/run.rb +30 -4
  19. data/lib/ronin/exploits/cli/commands/show.rb +44 -1
  20. data/lib/ronin/exploits/cli/exploit_command.rb +1 -1
  21. data/lib/ronin/exploits/cli/exploit_methods.rb +1 -1
  22. data/lib/ronin/exploits/cli/ruby_shell.rb +1 -1
  23. data/lib/ronin/exploits/cli.rb +1 -1
  24. data/lib/ronin/exploits/client_side_web_vuln.rb +1 -1
  25. data/lib/ronin/exploits/command_injection.rb +78 -0
  26. data/lib/ronin/exploits/exceptions.rb +1 -1
  27. data/lib/ronin/exploits/exploit.rb +4 -3
  28. data/lib/ronin/exploits/heap_overflow.rb +1 -1
  29. data/lib/ronin/exploits/lfi.rb +1 -1
  30. data/lib/ronin/exploits/loot/file.rb +1 -1
  31. data/lib/ronin/exploits/loot.rb +1 -1
  32. data/lib/ronin/exploits/memory_corruption.rb +1 -1
  33. data/lib/ronin/exploits/metadata/arch.rb +1 -1
  34. data/lib/ronin/exploits/metadata/cookie_param.rb +1 -1
  35. data/lib/ronin/exploits/metadata/default_filename.rb +1 -1
  36. data/lib/ronin/exploits/metadata/default_port.rb +1 -1
  37. data/lib/ronin/exploits/metadata/header_name.rb +1 -1
  38. data/lib/ronin/exploits/metadata/os.rb +1 -1
  39. data/lib/ronin/exploits/metadata/shouts.rb +1 -1
  40. data/lib/ronin/exploits/metadata/url_path.rb +1 -1
  41. data/lib/ronin/exploits/metadata/url_query_param.rb +1 -1
  42. data/lib/ronin/exploits/mixins/binary.rb +1 -1
  43. data/lib/ronin/exploits/mixins/build_dir.rb +1 -1
  44. data/lib/ronin/exploits/mixins/file_builder.rb +1 -1
  45. data/lib/ronin/exploits/mixins/format_string.rb +1 -1
  46. data/lib/ronin/exploits/mixins/has_payload.rb +1 -1
  47. data/lib/ronin/exploits/mixins/has_targets.rb +1 -1
  48. data/lib/ronin/exploits/mixins/html.rb +1 -1
  49. data/lib/ronin/exploits/mixins/http.rb +3 -3
  50. data/lib/ronin/exploits/mixins/loot.rb +1 -1
  51. data/lib/ronin/exploits/mixins/nops.rb +1 -1
  52. data/lib/ronin/exploits/mixins/remote_tcp.rb +1 -1
  53. data/lib/ronin/exploits/mixins/remote_udp.rb +2 -2
  54. data/lib/ronin/exploits/mixins/seh.rb +1 -1
  55. data/lib/ronin/exploits/mixins/stack_overflow.rb +1 -1
  56. data/lib/ronin/exploits/mixins/text.rb +1 -1
  57. data/lib/ronin/exploits/mixins.rb +1 -1
  58. data/lib/ronin/exploits/open_redirect.rb +1 -1
  59. data/lib/ronin/exploits/params/base_url.rb +1 -1
  60. data/lib/ronin/exploits/params/bind_host.rb +1 -1
  61. data/lib/ronin/exploits/params/bind_port.rb +1 -1
  62. data/lib/ronin/exploits/params/filename.rb +1 -1
  63. data/lib/ronin/exploits/params/host.rb +1 -1
  64. data/lib/ronin/exploits/params/port.rb +1 -1
  65. data/lib/ronin/exploits/registry.rb +1 -1
  66. data/lib/ronin/exploits/rfi.rb +1 -1
  67. data/lib/ronin/exploits/root.rb +1 -1
  68. data/lib/ronin/exploits/seh_overflow.rb +1 -1
  69. data/lib/ronin/exploits/sqli.rb +1 -1
  70. data/lib/ronin/exploits/ssti.rb +1 -1
  71. data/lib/ronin/exploits/stack_overflow.rb +1 -1
  72. data/lib/ronin/exploits/target.rb +1 -1
  73. data/lib/ronin/exploits/test_result.rb +1 -1
  74. data/lib/ronin/exploits/use_after_free.rb +1 -1
  75. data/lib/ronin/exploits/version.rb +2 -2
  76. data/lib/ronin/exploits/web.rb +1 -1
  77. data/lib/ronin/exploits/web_vuln.rb +1 -1
  78. data/lib/ronin/exploits/xss.rb +1 -1
  79. data/lib/ronin/exploits.rb +2 -1
  80. data/man/ronin-exploits-completion.1 +76 -0
  81. data/man/ronin-exploits-completion.1.md +78 -0
  82. data/man/ronin-exploits-irb.1 +10 -15
  83. data/man/ronin-exploits-irb.1.md +6 -2
  84. data/man/ronin-exploits-list.1 +8 -16
  85. data/man/ronin-exploits-list.1.md +7 -3
  86. data/man/ronin-exploits-new.1 +23 -46
  87. data/man/ronin-exploits-new.1.md +24 -20
  88. data/man/ronin-exploits-run.1 +32 -56
  89. data/man/ronin-exploits-run.1.md +31 -24
  90. data/man/ronin-exploits-show.1 +10 -20
  91. data/man/ronin-exploits-show.1.md +9 -5
  92. data/man/ronin-exploits.1 +11 -23
  93. data/man/ronin-exploits.1.md +11 -7
  94. data/scripts/setup +58 -0
  95. metadata +12 -5
@@ -1,5 +1,9 @@
1
1
  # ronin-exploits-new 1 "2023-02-01" Ronin "User Manuals"
2
2
 
3
+ ## NAME
4
+
5
+ ronin-exploits-new - Creates a new exploit file
6
+
3
7
  ## SYNOPSIS
4
8
 
5
9
  `ronin-exploits new` [*options*] *PATH*
@@ -11,58 +15,58 @@ Creates a new exploit file.
11
15
  ## ARGUMENTS
12
16
 
13
17
  *PATH*
14
- The path to the exploit file to generate.
18
+ : The path to the exploit file to generate.
15
19
 
16
20
  ## OPTIONS
17
21
 
18
- `-t`, `--type` `exploit`\|`heap_overflow`\|`stack_overflow`\|`web`\|`open_redirect`\|`lfi`\|`rfi`\|`sqli`\|`ssti`\|`xss`
19
- The type for the new exploit.
22
+ `-t`, `--type` `exploit`\|`heap-overflow`\|`stack-overflow`\|`command-injection`\|`web`\|`open-redirect`\|`lfi`\|`rfi`\|`sqli`\|`ssti`\|`xss`
23
+ : The type for the new exploit.
20
24
 
21
25
  `-a`, `--author` *NAME*
22
- The name of the author. Defaults to the configured git author name or the
26
+ : The name of the author. Defaults to the configured git author name or the
23
27
  `USERNAME` environment variable.
24
28
 
25
29
  `-e`, `--author-email` *EMAIL*
26
- The email address of the author. Defaults to the configured git author email.
30
+ : The email address of the author. Defaults to the configured git author email.
27
31
 
28
32
  `-s`, `--summary` *TEXT*
29
- One sentence summary for the exploit.
33
+ : One sentence summary for the exploit.
30
34
 
31
35
  `-d`, `--description` *TEXT*
32
- Longer description for the exploit.
36
+ : Longer description for the exploit.
33
37
 
34
38
  `-I`, `--advisory-id` *ID*
35
- Add the advisory ID to the exploit.
39
+ : Add the advisory ID to the exploit.
36
40
 
37
41
  `-R`, `--reference` *URL*
38
- Adds a reference to the exploit.
42
+ : Adds a reference to the exploit.
39
43
 
40
44
  `-P`, `--has-payload` `payload`\|`asm`\|`shellcode`\|`c`\|`command`\|`shell`\|`powershell`\|`html`\|`javascript`\|`typescript`\|`java`\|`sql`\|`php`\|`nodejs`
41
- The payload type the exploit uses.
45
+ : The payload type the exploit uses.
42
46
 
43
- `-N`, `--networking` `remote_tcp`\|`remote_udp`\|`http`
44
- The networking mixin to use.
47
+ `-N`, `--networking` `remote-tcp`\|`remote-udp`\|`http`
48
+ : The networking mixin to use.
45
49
 
46
50
  `-A`, `--arch` `x86`\|`x86-64`\|`amd64`\|`ia64`\|`ppc`\|`ppc64`\|`arm`\|`armbe`\|`arm64`\|`arm64be`\|`mips`\|`mipsle`\|`mips64`\|`mips64le`
47
- The architecture to target.
51
+ : The architecture to target.
48
52
 
49
53
  `-O`, `--os` `linux`\|`macos`\|`windows`\|`freebsd`\|`openbsd`\|`netbsd`
50
- The Operating System (OS) to target.
54
+ : The Operating System (OS) to target.
51
55
 
52
56
  `--os-version` *VERSION*
53
- The OS version to target.
57
+ : The OS version to target.
54
58
 
55
59
  `-S`, `--software` *NAME*
56
- The software to target.
60
+ : The software to target.
57
61
 
58
62
  `-V`, `--software-version` *VERSION*
59
- The software version to target.
63
+ : The software version to target.
60
64
 
61
65
  `-L`, `--loot`
62
- Adds the loot mixin.
66
+ : Adds the loot mixin.
63
67
 
64
68
  `-h`, `--help`
65
- Print help information
69
+ : Print help information
66
70
 
67
71
  ## AUTHOR
68
72
 
@@ -70,4 +74,4 @@ Postmodern <postmodern.mod3@gmail.com>
70
74
 
71
75
  ## SEE ALSO
72
76
 
73
- ronin-exploits-show(1) ronin-exploits-run(1)
77
+ [ronin-exploits-show](ronin-exploits-show.1.md) [ronin-exploits-run](ronin-exploits-run.1.md)
@@ -1,117 +1,93 @@
1
- .\" Generated by kramdown-man 0.1.9
1
+ .\" Generated by kramdown-man 1.0.1
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-exploits-run 1 "2023-02-01" Ronin "User Manuals"
4
- .LP
4
+ .SH NAME
5
+ .PP
6
+ ronin\-exploits\-run \- Runs an exploit
5
7
  .SH SYNOPSIS
6
- .LP
7
8
  .PP
8
- \fBronin-exploits run\fR \[lB]\fIoptions\fP\[rB] \[lC]\fINAME\fP \[or] \fB--file\fR \fIFILE\fP\[rC]
9
- .LP
9
+ \fBronin\-exploits run\fR \[lB]\fIoptions\fP\[rB] \[lC]\fINAME\fP \[or] \fB\-\-file\fR \fIFILE\fP\[rC]
10
10
  .SH DESCRIPTION
11
- .LP
12
11
  .PP
13
12
  Loads and runs an exploit\.
14
- .LP
15
13
  .SH ARGUMENTS
16
- .LP
17
14
  .TP
18
15
  \fINAME\fP
19
16
  The name of the exploit to load\.
20
- .LP
21
17
  .SH OPTIONS
22
- .LP
23
18
  .TP
24
- \fB-f\fR, \fB--file\fR \fIFILE\fP
19
+ \fB\-f\fR, \fB\-\-file\fR \fIFILE\fP
25
20
  The exploit file to load\.
26
- .LP
27
21
  .TP
28
- \fB-p\fR, \fB--param\fR \fINAME\fP\[eq]\fIVALUE\fP
22
+ \fB\-p\fR, \fB\-\-param\fR \fINAME\fP\[eq]\fIVALUE\fP
29
23
  Sets a param for the exploit\.
30
- .LP
31
24
  .TP
32
- \fB-D\fR, \fB--dry-run\fR
25
+ \fB\-D\fR, \fB\-\-dry\-run\fR
33
26
  Builds the exploit but does not launch it\.
34
- .LP
35
27
  .TP
36
- \fB--payload-file\fR \fIFILE\fP
28
+ \fB\-T\fR, \fB\-\-test\fR
29
+ Runs only the exploit test\.
30
+ .TP
31
+ \fB\-\-payload\-file\fR \fIFILE\fP
37
32
  Load the payload from the given Ruby file\.
38
- .LP
39
33
  .TP
40
- \fB--read-payload\fR \fIFILE\fP
34
+ \fB\-\-read\-payload\fR \fIFILE\fP
41
35
  Reads the payload string from the file\.
42
- .LP
43
36
  .TP
44
- \fB--payload-string\fR \fISTRING\fP
37
+ \fB\-\-payload\-string\fR \fISTRING\fP
45
38
  Uses the raw payload string instead\.
46
- .LP
47
39
  .TP
48
- \fB-P\fR, \fB--payload\fR \fINAME\fP
40
+ \fB\-P\fR, \fB\-\-payload\fR \fINAME\fP
49
41
  The payload to load and use\.
50
- .LP
51
42
  .TP
52
- \fB--payload-param\fR \fINAME\fP\[eq]\fIVALUE\fP
43
+ \fB\-\-payload\-param\fR \fINAME\fP\[eq]\fIVALUE\fP
53
44
  Sets a param in the payload\.
54
- .LP
55
45
  .TP
56
- \fB--encoder-file\fR \fIFILE\fP
46
+ \fB\-\-encoder\-file\fR \fIFILE\fP
57
47
  Load the payload encoder from the Ruby file\.
58
- .LP
59
48
  .TP
60
- \fB-E\fR, \fB--encoder\fR \fINAME\fP
49
+ \fB\-E\fR, \fB\-\-encoder\fR \fINAME\fP
61
50
  Loads the payload encoder by name\.
62
- .LP
63
51
  .TP
64
- \fB--encoder-param\fR \fIENCODER\fP\.\fINAME\fP\[eq]\fIVALUE\fP
52
+ \fB\-\-encoder\-param\fR \fIENCODER\fP\.\fINAME\fP\[eq]\fIVALUE\fP
65
53
  Sets a param for the ENCODER\.
66
- .LP
67
54
  .TP
68
- \fB-t\fR, \fB--target\fR \fIINDEX\fP
55
+ \fB\-t\fR, \fB\-\-target\fR \fIINDEX\fP
69
56
  Selects the target by index\.
70
- .LP
71
57
  .TP
72
- \fB-A\fR, \fB--target-arch\fR \fBx86\fR\[or]\fBx86-64\fR\[or]\fBamd64\fR\[or]\fBia64\fR\[or]\fBppc\fR\[or]\fBppc64\fR\[or]\fBarm\fR\[or]\fBarmbe\fR\[or]\fBarm64\fR\[or]\fBarm64be\fR\[or]\fBmips\fR\[or]\fBmipsle\fR\[or]\fBmips64\fR\[or]\fBmips64le\fR
58
+ \fB\-A\fR, \fB\-\-target\-arch\fR \fBx86\fR\[or]\fBx86\-64\fR\[or]\fBamd64\fR\[or]\fBia64\fR\[or]\fBppc\fR\[or]\fBppc64\fR\[or]\fBarm\fR\[or]\fBarmbe\fR\[or]\fBarm64\fR\[or]\fBarm64be\fR\[or]\fBmips\fR\[or]\fBmipsle\fR\[or]\fBmips64\fR\[or]\fBmips64le\fR
73
59
  Selects the target with the matching arch\.
74
- .LP
75
60
  .TP
76
- \fB-O\fR, \fB--target-os\fR \fBlinux\fR\[or]\fBmacos\fR\[or]\fBwindows\fR\[or]\fBfreebsd\fR\[or]\fBopenbsd\fR\[or]\fBnetbsd\fR
61
+ \fB\-O\fR, \fB\-\-target\-os\fR \fBlinux\fR\[or]\fBmacos\fR\[or]\fBwindows\fR\[or]\fBfreebsd\fR\[or]\fBopenbsd\fR\[or]\fBnetbsd\fR
77
62
  Selects the target with the matching OS\.
78
- .LP
79
63
  .TP
80
- \fB--target-os-version\fR \fIVERSION\fP
64
+ \fB\-\-target\-os\-version\fR \fIVERSION\fP
81
65
  Selects the target with the matching OS version\.
82
- .LP
83
66
  .TP
84
- \fB-S\fR, \fB--target-software\fR \fINAME\fP
67
+ \fB\-S\fR, \fB\-\-target\-software\fR \fINAME\fP
85
68
  Selects the target with the matching software name\.
86
- .LP
87
69
  .TP
88
- \fB-V\fR, \fB--target-version\fR \fIVERSION\fP
70
+ \fB\-V\fR, \fB\-\-target\-version\fR \fIVERSION\fP
89
71
  Selects the target with the matching software version\.
90
- .LP
91
72
  .TP
92
- \fB-L\fR, \fB--save-loot\fR \fIDIR\fP
73
+ \fB\-L\fR, \fB\-\-save\-loot\fR \fIDIR\fP
93
74
  Saves any found loot to the \fIDIR\fP\.
94
- .LP
95
75
  .TP
96
- \fB-D\fR, \fB--debug\fR
76
+ \fB\-d\fR, \fB\-\-debug\fR
97
77
  Enables debugging messages\.
98
- .LP
99
78
  .TP
100
- \fB--irb\fR
79
+ \fB\-\-irb\fR
101
80
  Open an interactive Ruby shell inside the exploit\.
102
- .LP
103
81
  .TP
104
- \fB-h\fR, \fB--help\fR
82
+ \fB\-h\fR, \fB\-\-help\fR
105
83
  Print help information
106
- .LP
107
84
  .SH AUTHOR
108
- .LP
109
85
  .PP
110
86
  Postmodern
111
87
  .MT postmodern\.mod3\[at]gmail\.com
112
88
  .ME
113
- .LP
114
89
  .SH SEE ALSO
115
- .LP
116
90
  .PP
117
- ronin\-exploits\-list(1) ronin\-exploits\-show(1) ronin\-exploits\-new(1)
91
+ .BR ronin\-exploits\-list (1)
92
+ .BR ronin\-exploits\-show (1)
93
+ .BR ronin\-exploits\-new (1)
@@ -1,5 +1,9 @@
1
1
  # ronin-exploits-run 1 "2023-02-01" Ronin "User Manuals"
2
2
 
3
+ ## NAME
4
+
5
+ ronin-exploits-run - Runs an exploit
6
+
3
7
  ## SYNOPSIS
4
8
 
5
9
  `ronin-exploits run` [*options*] {*NAME* \| `--file` *FILE*}
@@ -11,72 +15,75 @@ Loads and runs an exploit.
11
15
  ## ARGUMENTS
12
16
 
13
17
  *NAME*
14
- The name of the exploit to load.
18
+ : The name of the exploit to load.
15
19
 
16
20
  ## OPTIONS
17
21
 
18
22
  `-f`, `--file` *FILE*
19
- The exploit file to load.
23
+ : The exploit file to load.
20
24
 
21
25
  `-p`, `--param` *NAME*=*VALUE*
22
- Sets a param for the exploit.
26
+ : Sets a param for the exploit.
23
27
 
24
28
  `-D`, `--dry-run`
25
- Builds the exploit but does not launch it.
29
+ : Builds the exploit but does not launch it.
30
+
31
+ `-T`, `--test`
32
+ : Runs only the exploit test.
26
33
 
27
34
  `--payload-file` *FILE*
28
- Load the payload from the given Ruby file.
35
+ : Load the payload from the given Ruby file.
29
36
 
30
37
  `--read-payload` *FILE*
31
- Reads the payload string from the file.
38
+ : Reads the payload string from the file.
32
39
 
33
40
  `--payload-string` *STRING*
34
- Uses the raw payload string instead.
41
+ : Uses the raw payload string instead.
35
42
 
36
43
  `-P`, `--payload` *NAME*
37
- The payload to load and use.
44
+ : The payload to load and use.
38
45
 
39
46
  `--payload-param` *NAME*=*VALUE*
40
- Sets a param in the payload.
47
+ : Sets a param in the payload.
41
48
 
42
49
  `--encoder-file` *FILE*
43
- Load the payload encoder from the Ruby file.
50
+ : Load the payload encoder from the Ruby file.
44
51
 
45
52
  `-E`, `--encoder` *NAME*
46
- Loads the payload encoder by name.
53
+ : Loads the payload encoder by name.
47
54
 
48
55
  `--encoder-param` *ENCODER*.*NAME*=*VALUE*
49
- Sets a param for the ENCODER.
56
+ : Sets a param for the ENCODER.
50
57
 
51
58
  `-t`, `--target` *INDEX*
52
- Selects the target by index.
59
+ : Selects the target by index.
53
60
 
54
61
  `-A`, `--target-arch` `x86`\|`x86-64`\|`amd64`\|`ia64`\|`ppc`\|`ppc64`\|`arm`\|`armbe`\|`arm64`\|`arm64be`\|`mips`\|`mipsle`\|`mips64`\|`mips64le`
55
- Selects the target with the matching arch.
62
+ : Selects the target with the matching arch.
56
63
 
57
64
  `-O`, `--target-os` `linux`\|`macos`\|`windows`\|`freebsd`\|`openbsd`\|`netbsd`
58
- Selects the target with the matching OS.
65
+ : Selects the target with the matching OS.
59
66
 
60
67
  `--target-os-version` *VERSION*
61
- Selects the target with the matching OS version.
68
+ : Selects the target with the matching OS version.
62
69
 
63
70
  `-S`, `--target-software` *NAME*
64
- Selects the target with the matching software name.
71
+ : Selects the target with the matching software name.
65
72
 
66
73
  `-V`, `--target-version` *VERSION*
67
- Selects the target with the matching software version.
74
+ : Selects the target with the matching software version.
68
75
 
69
76
  `-L`, `--save-loot` *DIR*
70
- Saves any found loot to the *DIR*.
77
+ : Saves any found loot to the *DIR*.
71
78
 
72
- `-D`, `--debug`
73
- Enables debugging messages.
79
+ `-d`, `--debug`
80
+ : Enables debugging messages.
74
81
 
75
82
  `--irb`
76
- Open an interactive Ruby shell inside the exploit.
83
+ : Open an interactive Ruby shell inside the exploit.
77
84
 
78
85
  `-h`, `--help`
79
- Print help information
86
+ : Print help information
80
87
 
81
88
  ## AUTHOR
82
89
 
@@ -84,4 +91,4 @@ Postmodern <postmodern.mod3@gmail.com>
84
91
 
85
92
  ## SEE ALSO
86
93
 
87
- ronin-exploits-list(1) ronin-exploits-show(1) ronin-exploits-new(1)
94
+ [ronin-exploits-list](ronin-exploits-list.1.md) [ronin-exploits-show](ronin-exploits-show.1.md) [ronin-exploits-new](ronin-exploits-new.1.md)
@@ -1,45 +1,35 @@
1
- .\" Generated by kramdown-man 0.1.9
1
+ .\" Generated by kramdown-man 1.0.1
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-exploits-show 1 "2023-02-01" Ronin "User Manuals"
4
- .LP
4
+ .SH NAME
5
+ .PP
6
+ ronin\-exploits\-show \- Prints information about an exploit
5
7
  .SH SYNOPSIS
6
- .LP
7
8
  .PP
8
- \fBronin-exploits show\fR \[lB]\fIoptions\fP\[rB] \[lC]\fINAME\fP \[or] \-\-file \fIFILE\fP\[rC]
9
- .LP
9
+ \fBronin\-exploits show\fR \[lB]\fIoptions\fP\[rB] \[lC]\fINAME\fP \[or] \-\-file \fIFILE\fP\[rC]
10
10
  .SH DESCRIPTION
11
- .LP
12
11
  .PP
13
12
  Prints information about an exploit\.
14
- .LP
15
13
  .SH ARGUMENTS
16
- .LP
17
14
  .TP
18
15
  \fINAME\fP
19
16
  The name of the exploit to load\.
20
- .LP
21
17
  .SH OPTIONS
22
- .LP
23
18
  .TP
24
- \fB-v\fR, \fB--verbose\fR
19
+ \fB\-v\fR, \fB\-\-verbose\fR
25
20
  Prints additional information about the exploit\.
26
- .LP
27
21
  .TP
28
- \fB-f\fR, \fB--file\fR \fIFILE\fP
22
+ \fB\-f\fR, \fB\-\-file\fR \fIFILE\fP
29
23
  Optionally loads the exploit from the file\.
30
- .LP
31
24
  .TP
32
- \fB-h\fR, \fB--help\fR
25
+ \fB\-h\fR, \fB\-\-help\fR
33
26
  Print help information
34
- .LP
35
27
  .SH AUTHOR
36
- .LP
37
28
  .PP
38
29
  Postmodern
39
30
  .MT postmodern\.mod3\[at]gmail\.com
40
31
  .ME
41
- .LP
42
32
  .SH SEE ALSO
43
- .LP
44
33
  .PP
45
- ronin\-exploits\-list(1) ronin\-exploits\-run(1)
34
+ .BR ronin\-exploits\-list (1)
35
+ .BR ronin\-exploits\-run (1)
@@ -1,5 +1,9 @@
1
1
  # ronin-exploits-show 1 "2023-02-01" Ronin "User Manuals"
2
2
 
3
+ ## NAME
4
+
5
+ ronin-exploits-show - Prints information about an exploit
6
+
3
7
  ## SYNOPSIS
4
8
 
5
9
  `ronin-exploits show` [*options*] {*NAME* \| --file *FILE*}
@@ -11,18 +15,18 @@ Prints information about an exploit.
11
15
  ## ARGUMENTS
12
16
 
13
17
  *NAME*
14
- The name of the exploit to load.
18
+ : The name of the exploit to load.
15
19
 
16
20
  ## OPTIONS
17
21
 
18
22
  `-v`, `--verbose`
19
- Prints additional information about the exploit.
23
+ : Prints additional information about the exploit.
20
24
 
21
25
  `-f`, `--file` *FILE*
22
- Optionally loads the exploit from the file.
26
+ : Optionally loads the exploit from the file.
23
27
 
24
28
  `-h`, `--help`
25
- Print help information
29
+ : Print help information
26
30
 
27
31
  ## AUTHOR
28
32
 
@@ -30,4 +34,4 @@ Postmodern <postmodern.mod3@gmail.com>
30
34
 
31
35
  ## SEE ALSO
32
36
 
33
- ronin-exploits-list(1) ronin-exploits-run(1)
37
+ [ronin-exploits-list](ronin-exploits-list.1.md) [ronin-exploits-run](ronin-exploits-run.1.md)
data/man/ronin-exploits.1 CHANGED
@@ -1,55 +1,43 @@
1
- .\" Generated by kramdown-man 0.1.9
1
+ .\" Generated by kramdown-man 1.0.1
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-exploits 1 "2023-02-01" Ronin "User Manuals"
4
- .LP
4
+ .SH NAME
5
+ .PP
6
+ ronin\-exploits \- A Ruby micro\-framework for writing and running exploits and payloads
5
7
  .SH SYNOPSIS
6
- .LP
7
8
  .PP
8
- \fBronin-exploits\fR \[lB]\fIoptions\fP\[rB] \[lB]\fICOMMAND\fP \[lB]\.\.\.\[rB]\[rB]
9
- .LP
9
+ \fBronin\-exploits\fR \[lB]\fIoptions\fP\[rB] \[lB]\fICOMMAND\fP \[lB]\.\.\.\[rB]\[rB]
10
10
  .SH DESCRIPTION
11
- .LP
12
11
  .PP
13
- Runs a \fBronin-exploits\fR \fICOMMAND\fP\.
14
- .LP
12
+ Runs a \fBronin\-exploits\fR \fICOMMAND\fP\.
15
13
  .SH ARGUMENTS
16
- .LP
17
14
  .TP
18
15
  \fICOMMAND\fP
19
- The \fBronin-exploits\fR command to execute\.
20
- .LP
16
+ The \fBronin\-exploits\fR command to execute\.
21
17
  .SH OPTIONS
22
- .LP
23
18
  .TP
24
- \fB-h\fR, \fB--help\fR
19
+ \fB\-h\fR, \fB\-\-help\fR
25
20
  Print help information
26
- .LP
27
21
  .SH COMMANDS
28
- .LP
29
22
  .TP
30
23
  \fBirb\fR
31
24
  Starts ronin\-exploits interactive Ruby shell\.
32
- .LP
33
25
  .TP
34
26
  \fBlist\fR
35
27
  Lists available exploits\.
36
- .LP
37
28
  .TP
38
29
  \fBrun\fR
39
30
  Runs an exploit\.
40
- .LP
41
31
  .TP
42
32
  \fBhelp\fR
43
33
  Lists available commands or shows help about a specific command\.
44
- .LP
45
34
  .SH AUTHOR
46
- .LP
47
35
  .PP
48
36
  Postmodern
49
37
  .MT postmodern\.mod3\[at]gmail\.com
50
38
  .ME
51
- .LP
52
39
  .SH SEE ALSO
53
- .LP
54
40
  .PP
55
- ronin\-exploits\-console(1) ronin\-exploits\-list(1) ronin\-exploits\-run(1)
41
+ .BR ronin\-exploits\-irb (1)
42
+ .BR ronin\-exploits\-list (1)
43
+ .BR ronin\-exploits\-run (1)
@@ -1,5 +1,9 @@
1
1
  # ronin-exploits 1 "2023-02-01" Ronin "User Manuals"
2
2
 
3
+ ## NAME
4
+
5
+ ronin-exploits - A Ruby micro-framework for writing and running exploits and payloads
6
+
3
7
  ## SYNOPSIS
4
8
 
5
9
  `ronin-exploits` [*options*] [*COMMAND* [...]]
@@ -11,26 +15,26 @@ Runs a `ronin-exploits` *COMMAND*.
11
15
  ## ARGUMENTS
12
16
 
13
17
  *COMMAND*
14
- The `ronin-exploits` command to execute.
18
+ : The `ronin-exploits` command to execute.
15
19
 
16
20
  ## OPTIONS
17
21
 
18
22
  `-h`, `--help`
19
- Print help information
23
+ : Print help information
20
24
 
21
25
  ## COMMANDS
22
26
 
23
27
  `irb`
24
- Starts ronin-exploits interactive Ruby shell.
28
+ : Starts ronin-exploits interactive Ruby shell.
25
29
 
26
30
  `list`
27
- Lists available exploits.
31
+ : Lists available exploits.
28
32
 
29
33
  `run`
30
- Runs an exploit.
34
+ : Runs an exploit.
31
35
 
32
36
  `help`
33
- Lists available commands or shows help about a specific command.
37
+ : Lists available commands or shows help about a specific command.
34
38
 
35
39
  ## AUTHOR
36
40
 
@@ -38,4 +42,4 @@ Postmodern <postmodern.mod3@gmail.com>
38
42
 
39
43
  ## SEE ALSO
40
44
 
41
- ronin-exploits-console(1) ronin-exploits-list(1) ronin-exploits-run(1)
45
+ [ronin-exploits-irb](ronin-exploits-irb.1.md) [ronin-exploits-list](ronin-exploits-list.1.md) [ronin-exploits-run](ronin-exploits-run.1.md)
data/scripts/setup ADDED
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env bash
2
+
3
+ #
4
+ # Prints a log message.
5
+ #
6
+ function log()
7
+ {
8
+ if [[ -t 1 ]]; then
9
+ echo -e "\x1b[1m\x1b[32m>>>\x1b[0m \x1b[1m$1\x1b[0m"
10
+ else
11
+ echo ">>> $1"
12
+ fi
13
+ }
14
+
15
+ #
16
+ # Prints a warn message.
17
+ #
18
+ function warn()
19
+ {
20
+ if [[ -t 1 ]]; then
21
+ echo -e "\x1b[1m\x1b[33m***\x1b[0m \x1b[1m$1\x1b[0m" >&2
22
+ else
23
+ echo "*** $1" >&2
24
+ fi
25
+ }
26
+
27
+ #
28
+ # Prints an error message.
29
+ #
30
+ function error()
31
+ {
32
+ if [[ -t 1 ]]; then
33
+ echo -e "\x1b[1m\x1b[31m!!!\x1b[0m \x1b[1m$1\x1b[0m" >&2
34
+ else
35
+ echo "!!! $1" >&2
36
+ fi
37
+ }
38
+
39
+ #
40
+ # Prints an error message and exists with -1.
41
+ #
42
+ function fail()
43
+ {
44
+ error "$@"
45
+ exit -1
46
+ }
47
+
48
+ # default to installing gems into vendor/bundle
49
+ if [[ ! -f .bundle/config ]]; then
50
+ bundle config set --local path vendor/bundle >/dev/null || \
51
+ fail "Failed to run 'bundle config'"
52
+ fi
53
+
54
+ log "Installing gems ..."
55
+ bundle install || fail "Failed to run 'bundle install'!"
56
+
57
+ log "Setting up the project ..."
58
+ bundle exec rake setup || "Failed to run 'rake setup'!"