ronin 1.4.1 → 1.5.0.rc1

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.
Files changed (66) hide show
  1. data/.document +1 -0
  2. data/.gitignore +1 -0
  3. data/ChangeLog.md +38 -1
  4. data/Gemfile +10 -10
  5. data/README.md +1 -1
  6. data/Rakefile +13 -2
  7. data/bin/ronin-net-proxy +25 -0
  8. data/gemspec.yml +21 -2
  9. data/lib/bond/completions/ronin.rb +16 -5
  10. data/lib/ronin/arch.rb +5 -5
  11. data/lib/ronin/auto_load.rb +22 -1
  12. data/lib/ronin/campaign.rb +1 -1
  13. data/lib/ronin/database/database.rb +36 -25
  14. data/lib/ronin/installation.rb +2 -2
  15. data/lib/ronin/model/model.rb +5 -6
  16. data/lib/ronin/model/types/description.rb +0 -3
  17. data/lib/ronin/os.rb +2 -2
  18. data/lib/ronin/password.rb +1 -1
  19. data/lib/ronin/repository.rb +6 -6
  20. data/lib/ronin/script/path.rb +1 -2
  21. data/lib/ronin/spec/database.rb +16 -4
  22. data/lib/ronin/ui/cli/cli.rb +1 -1
  23. data/lib/ronin/ui/cli/command.rb +50 -7
  24. data/lib/ronin/ui/cli/commands/console.rb +15 -6
  25. data/lib/ronin/ui/cli/commands/creds.rb +1 -1
  26. data/lib/ronin/ui/cli/commands/database.rb +41 -29
  27. data/lib/ronin/ui/cli/commands/emails.rb +20 -15
  28. data/lib/ronin/ui/cli/commands/help.rb +18 -5
  29. data/lib/ronin/ui/cli/commands/hosts.rb +34 -27
  30. data/lib/ronin/ui/cli/commands/install.rb +21 -4
  31. data/lib/ronin/ui/cli/commands/ips.rb +34 -23
  32. data/lib/ronin/ui/cli/commands/net/proxy.rb +403 -0
  33. data/lib/ronin/ui/cli/commands/repos.rb +4 -4
  34. data/lib/ronin/ui/cli/commands/uninstall.rb +10 -0
  35. data/lib/ronin/ui/cli/commands/update.rb +11 -1
  36. data/lib/ronin/ui/cli/commands/urls.rb +39 -30
  37. data/lib/ronin/ui/cli/commands/wordlist.rb +11 -1
  38. data/lib/ronin/ui/console.rb +1 -0
  39. data/lib/ronin/ui/console/commands.rb +16 -98
  40. data/lib/ronin/ui/console/shell.rb +184 -0
  41. data/lib/ronin/url.rb +3 -3
  42. data/lib/ronin/url_scheme.rb +3 -3
  43. data/lib/ronin/version.rb +1 -1
  44. data/man/ronin-campaigns.1.md +78 -0
  45. data/man/ronin-console.1.md +72 -0
  46. data/man/ronin-creds.1.md +66 -0
  47. data/man/ronin-database.1.md +82 -0
  48. data/man/ronin-emails.1.md +72 -0
  49. data/man/ronin-exec.1.md +49 -0
  50. data/man/ronin-help.1.md +34 -0
  51. data/man/ronin-hosts.1.md +78 -0
  52. data/man/ronin-install.1.md +79 -0
  53. data/man/ronin-ips.1.md +81 -0
  54. data/man/ronin-net-proxy.1.md +86 -0
  55. data/man/ronin-repos.1.md +77 -0
  56. data/man/ronin-uninstall.1.md +67 -0
  57. data/man/ronin-update.1.md +67 -0
  58. data/man/ronin-urls.1.md +84 -0
  59. data/man/ronin-wordlist.1.md +53 -0
  60. data/man/ronin.1.md +26 -0
  61. data/ronin.gemspec +38 -109
  62. data/spec/installation_spec.rb +2 -1
  63. data/spec/spec_helper.rb +2 -0
  64. data/spec/ui/cli/classes/test_command.rb +7 -0
  65. data/spec/ui/cli/command_spec.rb +235 -7
  66. metadata +217 -96
@@ -181,7 +181,7 @@ module Ronin
181
181
  #
182
182
  # Searches for all URLs sharing a common sub-directory.
183
183
  #
184
- # @param [String] sub_dir
184
+ # @param [String] root_dir
185
185
  # The sub-directory to search for.
186
186
  #
187
187
  # @return [Array<URL>]
@@ -191,8 +191,8 @@ module Ronin
191
191
  #
192
192
  # @api public
193
193
  #
194
- def self.directory(sub_dir)
195
- all(:path => sub_dir) | all(:path.like => "#{sub_dir}/%")
194
+ def self.directory(root_dir)
195
+ all(:path => root_dir) | all(:path.like => "#{root_dir}/%")
196
196
  end
197
197
 
198
198
  #
@@ -40,13 +40,13 @@ module Ronin
40
40
  has 0..n, :urls, :model => 'URL',
41
41
  :child_key => [:scheme_id]
42
42
 
43
- # Pre-defines the HTTP URL Scheme
43
+ # Predefines the HTTP URL Scheme
44
44
  predefine :http, :name => 'http'
45
45
 
46
- # Pre-defines the HTTPS URL Scheme
46
+ # Predefines the HTTPS URL Scheme
47
47
  predefine :https, :name => 'https'
48
48
 
49
- # Pre-defines the FTP URL Scheme
49
+ # Predefines the FTP URL Scheme
50
50
  predefine :ftp, :name => 'ftp'
51
51
 
52
52
  end
@@ -19,5 +19,5 @@
19
19
 
20
20
  module Ronin
21
21
  # Ronin version
22
- VERSION = '1.4.1'
22
+ VERSION = '1.5.0.rc1'
23
23
  end
@@ -0,0 +1,78 @@
1
+ # ronin-campaigns 1 "April 2012" Ronin "User Manuals"
2
+
3
+ ## SYNOPSIS
4
+
5
+ `ronin campaigns` *[options]*
6
+
7
+ ## DESCRIPTION
8
+
9
+ Manages Campaigns.
10
+
11
+ ## OPTIONS
12
+
13
+ `-v`, `--[no-]verbose`
14
+ Enable verbose output.
15
+
16
+ `-q`, `--[no-]quiet`
17
+ Disable verbose output.
18
+
19
+ `--[no-]silent`
20
+ Silence all output.
21
+
22
+ `--[no-]color`
23
+ Enables color output.
24
+
25
+ `-D`, `--database` [*URI*]
26
+ The database to URI (`mysql://user:password@host/ronin`).
27
+
28
+ `--[no-]csv`
29
+ CSV output.
30
+
31
+ `--[no-]xml`
32
+ XML output.
33
+
34
+ `--[no-]yaml`
35
+ YAML output.
36
+
37
+ `--[no-]json`
38
+ JSON output.
39
+
40
+ `-n`, `--named` *NAME*
41
+ Searches for Campaigns with the similar NAME.
42
+
43
+ `-d`, `--describing` *DESCRIPTION*
44
+ Searches for Campaigns with the similar DESCRIPTION.
45
+
46
+ `-T`, `--targeting` *ADDRESS* [...]
47
+ Searches for Campaigns targetting the given ADDRESSes.
48
+
49
+ `-O`, `--targeting-orgs` *NAME* [...]
50
+ Searches for Campaigns targetting the NAMEed Organizations.
51
+
52
+ `-l`, `--[no-]list`
53
+ Lists the Campaigns.
54
+
55
+ `-a`, `--add` *NAME*
56
+ Creates a new Campaign with the given NAME.
57
+
58
+ `--targets` *ADDRESS* [...]
59
+ ADDRESSes for the Campaign to target.
60
+
61
+ ## FILES
62
+
63
+ *~/.ronin/*
64
+ Ronin configuration directory.
65
+
66
+ *~/.ronin/database.log*
67
+ Database log.
68
+
69
+ *~/.ronin/database.sqlite3*
70
+ The default sqlite3 Database file.
71
+
72
+ *~/.ronin/database.yml*
73
+ Optional Database configuration.
74
+
75
+ ## AUTHOR
76
+
77
+ Postmodern <postmodern.mod3@gmail.com>
78
+
@@ -0,0 +1,72 @@
1
+ # ronin-console 1 "April 2012" Ronin "User Manuals"
2
+
3
+ ## SYNOPSIS
4
+
5
+ `ronin console` [*options*]
6
+
7
+ ## DESCRIPTION
8
+
9
+ Start the Ronin Console.
10
+
11
+ ## OPTIONS
12
+
13
+ `--[no-]color`
14
+ Enables color output.
15
+
16
+ `-q`, `--[no-]quiet`
17
+ Disable verbose output.
18
+
19
+ `--[no-]silent`
20
+ Silence all output.
21
+
22
+ `-v`, `--[no-]verbose`
23
+ Enable verbose output.
24
+
25
+ `-D`, `--database` [*URI*]
26
+ The database to URI (`mysql://user:password@host/ronin`).
27
+
28
+ `--[no-]backtrace`
29
+ Enable or disables long backtraces.
30
+
31
+ `-V`, `--[no-]version`
32
+ Print the Ronin version.
33
+
34
+ `-r`, `--require` [*PATH*]
35
+ Ruby files to require.
36
+
37
+ ## FILES
38
+
39
+ *~/.ronin/*
40
+ Ronin configuration directory.
41
+
42
+ *~/.ronin/config.rb*
43
+ Configuration file that is loaded before the Ronin Console starts.
44
+
45
+ *~/.ronin/console.log*
46
+ History log for the Ronin Console.
47
+
48
+ *~/.ronin/database.log*
49
+ Database log.
50
+
51
+ *~/.ronin/database.sqlite3*
52
+ The default sqlite3 Database file.
53
+
54
+ *~/.ronin/database.yml*
55
+ Optional Database configuration.
56
+
57
+ ## ENVIRONMENT
58
+
59
+ HOME
60
+ Specifies the home directory of the user. Ronin will search for the `.ronin`
61
+ configuration directory within the home directory.
62
+
63
+ EDITOR
64
+ Specifies the editor to use when invoking the `.edit` console command.
65
+
66
+ ## AUTHOR
67
+
68
+ Postmodern <postmodern.mod3@gmail.com>
69
+
70
+ ## SEE ALSO
71
+
72
+ ronin(1)
@@ -0,0 +1,66 @@
1
+ # ronin-creds 1 "April 2012" Ronin "User Manuals"
2
+
3
+ ## SYNOPSIS
4
+
5
+ `ronin creds` [*options*]
6
+
7
+ ## DESCRIPTION
8
+
9
+ Lists Credentials.
10
+
11
+ ## OPTIONS
12
+
13
+ `-v`, `--[no-]verbose`
14
+ Enable verbose output.
15
+
16
+ `-q`, `--[no-]quiet`
17
+ Disable verbose output.
18
+
19
+ `--[no-]silent`
20
+ Silence all output.
21
+
22
+ `--[no-]color`
23
+ Enables color output.
24
+
25
+ `-D`, `--database` *URI*
26
+ The database to URI (`mysql://user:password@host/ronin`).
27
+
28
+ `--[no-]csv`
29
+ CSV output.
30
+
31
+ `--[no-]xml`
32
+ XML output.
33
+
34
+ `--[no-]yaml`
35
+ YAML output.
36
+
37
+ `--[no-]json`
38
+ JSON output.
39
+
40
+ `-u`, `--for-user` *USER*
41
+ Searches for Credentials associated with the USER.
42
+
43
+ `-p`, `--with-password` *PASSWORD*
44
+ Searches for Credentials that have the PASSWORD.
45
+
46
+ `-l`, `--[no-]list`
47
+ Lists the Credentials.
48
+
49
+ ## FILES
50
+
51
+ *~/.ronin/*
52
+ Ronin configuration directory.
53
+
54
+ *~/.ronin/database.log*
55
+ Database log.
56
+
57
+ *~/.ronin/database.sqlite3*
58
+ The default sqlite3 Database file.
59
+
60
+ *~/.ronin/database.yml*
61
+ Optional Database configuration.
62
+
63
+ ## AUTHOR
64
+
65
+ Postmodern <postmodern.mod3@gmail.com>
66
+
@@ -0,0 +1,82 @@
1
+ # ronin-database 1 "April 2012" Ronin "User Manuals"
2
+
3
+ ## SYNOPSIS
4
+
5
+ `ronin database` [*options*]
6
+
7
+ ## DESCRIPTION
8
+
9
+ Manages the Ronin Database.
10
+
11
+ ## OPTIONS
12
+
13
+ `-v`, `--[no-]verbose`
14
+ Enable verbose output.
15
+
16
+ `-q`, `--[no-]quiet`
17
+ Disable verbose output.
18
+
19
+ `--[no-]silent`
20
+ Silence all output.
21
+
22
+ `--[no-]color`
23
+ Enables color output.
24
+
25
+ `-a`, `--add` *NAME*
26
+ Adds a new Database Repository.
27
+
28
+ `-s`, `--set` *NAME*
29
+ Sets the configure information for a Database Repository.
30
+
31
+ `-r`, `--remove` *NAME*
32
+ Removes a Database Repository.
33
+
34
+ `-C`, `--clear` *NAME*
35
+ `WARNING:` This will delete all database within a Database Repository.
36
+
37
+ `--uri` *URI*
38
+ The URI of a Database Repository (`sqlite3:///path/to/db`).
39
+
40
+ `--adapter` *ADAPTER*
41
+ The Database ADAPTER to use:
42
+
43
+ * `sqlite3`
44
+ * `mysql`
45
+ * `postgres`
46
+
47
+ `--host` *HOST*
48
+ The HOST that the Database is running on.
49
+
50
+ `--port` *PORT*
51
+ The PORT that the Database is listening on.
52
+
53
+ `--user` *USER*
54
+ The USER to login as.
55
+
56
+ `--password` *PASSWORD*
57
+ The PASSWORD to use while authenticating.
58
+
59
+ `--database` *NAME*
60
+ The name of the Database.
61
+
62
+ `--path` *PATH*
63
+ The path to the Database. Only valid with `sqlite3` Databases.
64
+
65
+ ## FILES
66
+
67
+ *~/.ronin/*
68
+ Ronin configuration directory.
69
+
70
+ *~/.ronin/database.log*
71
+ Database log.
72
+
73
+ *~/.ronin/database.sqlite3*
74
+ The default sqlite3 Database file.
75
+
76
+ *~/.ronin/database.yml*
77
+ Optional Database configuration.
78
+
79
+ ## AUTHOR
80
+
81
+ Postmodern <postmodern.mod3@gmail.com>
82
+
@@ -0,0 +1,72 @@
1
+ # ronin-emails 1 "April 2012" Ronin "User Manuals"
2
+
3
+ ## SYNOPSIS
4
+
5
+ `ronin emails` [*options*]
6
+
7
+ ## DESCRIPTION
8
+
9
+ Manages EmailAddresses.
10
+
11
+ ## OPTIONS
12
+
13
+ `-v`, `--[no-]verbose`
14
+ Enable verbose output.
15
+
16
+ `-q`, `--[no-]quiet`
17
+ Disable verbose output.
18
+
19
+ `--[no-]silent`
20
+ Silence all output.
21
+
22
+ `--[no-]color`
23
+ Enables color output.
24
+
25
+ `-D`, `--database` [*URI*]
26
+ The database to URI (`mysql://user:password@host/ronin`).
27
+
28
+ `--[no-]csv`
29
+ CSV output.
30
+
31
+ `--[no-]xml`
32
+ XML output.
33
+
34
+ `--[no-]yaml`
35
+ YAML output.
36
+
37
+ `--[no-]json`
38
+ JSON output.
39
+
40
+ `-H`, `--with-hosts` *HOST* [...]
41
+ Searches for EmailAddresses associated with the HOST(s).
42
+
43
+ `-I`, `--with-ips` *IP* [...]
44
+ Searches for EmailAddresses associated with the IP Address(es).
45
+
46
+ `-u`, `--with-users` *NAME* [...]
47
+ Searches for EmailAddresses associated with the user NAME(s).
48
+
49
+ `-l`, `--[no-]list`
50
+ Lists the EmailAddresses.
51
+
52
+ `-i`, `--import` *FILE*
53
+ Imports EmailAddresses from the FILE.
54
+
55
+ ## FILES
56
+
57
+ *~/.ronin/*
58
+ Ronin configuration directory.
59
+
60
+ *~/.ronin/database.log*
61
+ Database log.
62
+
63
+ *~/.ronin/database.sqlite3*
64
+ The default sqlite3 Database file.
65
+
66
+ *~/.ronin/database.yml*
67
+ Optional Database configuration.
68
+
69
+ ## AUTHOR
70
+
71
+ Postmodern <postmodern.mod3@gmail.com>
72
+
@@ -0,0 +1,49 @@
1
+ # ronin-exec 1 "April 2012" Ronin "User Manuals"
2
+
3
+ ## SYNOPSIS
4
+
5
+ `ronin exec` *SCRIPT* [*ARGS* ...]
6
+
7
+ ## DESCRIPTION
8
+
9
+ Runs a script from a Ronin Repository.
10
+
11
+ ## ARGUMENTS
12
+
13
+ *SCRIPT*
14
+ The name of the script to search for within the `bin/` directories within the
15
+ Repositories.
16
+
17
+ *ARGS*
18
+ Additional arguments to pass to the SCRIPT.
19
+
20
+ ## FILES
21
+
22
+ *~/.ronin/*
23
+ Ronin configuration directory.
24
+
25
+ *~/.ronin/config.rb*
26
+ Configuration file that is loaded before the Ronin Console starts.
27
+
28
+ *~/.ronin/console.log*
29
+ History log for the Ronin Console.
30
+
31
+ *~/.ronin/database.log*
32
+ Database log.
33
+
34
+ *~/.ronin/database.sqlite3*
35
+ The default sqlite3 Database file.
36
+
37
+ *~/.ronin/database.yml*
38
+ Optional Database configuration.
39
+
40
+ ## ENVIRONMENT
41
+
42
+ HOME
43
+ Specifies the home directory of the user. Ronin will search for the `.ronin`
44
+ configuration directory within the home directory.
45
+
46
+ ## AUTHOR
47
+
48
+ Postmodern <postmodern.mod3@gmail.com>
49
+