ronin 0.2.4 → 0.3.0
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.
- data.tar.gz.sig +0 -0
- data/History.txt +95 -0
- data/Manifest.txt +55 -25
- data/README.txt +64 -52
- data/Rakefile +21 -14
- data/bin/ronin +1 -1
- data/bin/ronin-add +1 -1
- data/bin/ronin-console +1 -1
- data/bin/ronin-help +1 -1
- data/bin/ronin-install +1 -1
- data/bin/ronin-list +1 -1
- data/bin/ronin-remove +1 -1
- data/bin/ronin-uninstall +1 -1
- data/bin/ronin-update +1 -1
- data/lib/ronin.rb +2 -4
- data/lib/ronin/arch.rb +66 -21
- data/lib/ronin/author.rb +27 -18
- data/lib/ronin/cacheable.rb +63 -23
- data/lib/ronin/code/emittable.rb +1 -4
- data/lib/ronin/code/reference.rb +2 -5
- data/lib/ronin/code/symbol_table.rb +1 -4
- data/lib/ronin/code/token.rb +1 -4
- data/lib/ronin/config.rb +31 -10
- data/lib/ronin/database.rb +1 -4
- data/lib/ronin/database/database.rb +42 -23
- data/lib/ronin/database/exceptions.rb +1 -4
- data/lib/ronin/database/exceptions/invalid_config.rb +1 -4
- data/lib/ronin/environment.rb +1 -5
- data/lib/ronin/extensions.rb +1 -5
- data/lib/ronin/extensions/array.rb +8 -6
- data/lib/ronin/extensions/file.rb +9 -4
- data/lib/ronin/extensions/ip_addr.rb +33 -13
- data/lib/ronin/extensions/kernel.rb +44 -9
- data/lib/ronin/extensions/meta.rb +1 -4
- data/lib/ronin/extensions/string.rb +8 -7
- data/lib/ronin/extensions/uri.rb +1 -4
- data/lib/ronin/extensions/uri/http.rb +1 -48
- data/lib/ronin/extensions/uri/query_params.rb +27 -8
- data/lib/ronin/formatting.rb +1 -4
- data/lib/ronin/formatting/binary.rb +1 -4
- data/lib/ronin/formatting/digest.rb +1 -4
- data/lib/ronin/formatting/extensions.rb +1 -4
- data/lib/ronin/formatting/extensions/binary.rb +1 -4
- data/lib/ronin/formatting/extensions/binary/file.rb +3 -28
- data/lib/ronin/formatting/extensions/binary/integer.rb +31 -12
- data/lib/ronin/formatting/extensions/binary/string.rb +59 -36
- data/lib/ronin/formatting/extensions/digest.rb +1 -4
- data/lib/ronin/formatting/extensions/digest/string.rb +31 -9
- data/lib/ronin/formatting/extensions/http.rb +1 -4
- data/lib/ronin/formatting/extensions/http/string.rb +16 -9
- data/lib/ronin/formatting/extensions/text.rb +1 -4
- data/lib/ronin/formatting/extensions/text/array.rb +17 -7
- data/lib/ronin/formatting/extensions/text/string.rb +70 -27
- data/lib/ronin/formatting/http.rb +1 -4
- data/lib/ronin/formatting/text.rb +1 -4
- data/lib/ronin/license.rb +72 -65
- data/lib/ronin/model.rb +1 -4
- data/lib/ronin/model/has_description.rb +37 -8
- data/lib/ronin/model/has_license.rb +12 -8
- data/lib/ronin/model/has_name.rb +10 -7
- data/lib/ronin/model/has_version.rb +14 -4
- data/lib/ronin/model/model.rb +71 -14
- data/lib/ronin/network.rb +1 -4
- data/lib/ronin/network/esmtp.rb +1 -4
- data/lib/ronin/network/extensions.rb +1 -4
- data/lib/ronin/network/extensions/esmtp.rb +1 -4
- data/lib/ronin/network/extensions/esmtp/net.rb +49 -21
- data/lib/ronin/network/extensions/http.rb +1 -4
- data/lib/ronin/network/extensions/http/net.rb +319 -531
- data/lib/ronin/network/extensions/imap.rb +1 -4
- data/lib/ronin/network/extensions/imap/net.rb +50 -23
- data/lib/ronin/network/extensions/pop3.rb +1 -4
- data/lib/ronin/network/extensions/pop3/net.rb +40 -17
- data/lib/ronin/network/extensions/smtp.rb +1 -4
- data/lib/ronin/network/extensions/smtp/net.rb +49 -21
- data/lib/ronin/network/extensions/tcp.rb +1 -4
- data/lib/ronin/network/extensions/tcp/net.rb +234 -31
- data/lib/ronin/network/extensions/telnet.rb +1 -4
- data/lib/ronin/network/extensions/telnet/net.rb +83 -51
- data/lib/ronin/network/extensions/udp.rb +1 -4
- data/lib/ronin/network/extensions/udp/net.rb +164 -27
- data/lib/ronin/{sessions.rb → network/helpers.rb} +10 -13
- data/lib/ronin/network/helpers/esmtp.rb +129 -0
- data/lib/ronin/{sessions/session.rb → network/helpers/helper.rb} +25 -17
- data/lib/ronin/network/helpers/http.rb +444 -0
- data/lib/ronin/network/helpers/imap.rb +115 -0
- data/lib/ronin/network/helpers/pop3.rb +110 -0
- data/lib/ronin/network/helpers/smtp.rb +123 -0
- data/lib/ronin/network/helpers/tcp.rb +309 -0
- data/lib/ronin/network/helpers/telnet.rb +158 -0
- data/lib/ronin/network/helpers/udp.rb +197 -0
- data/lib/ronin/network/http.rb +3 -156
- data/lib/ronin/network/http/exceptions.rb +1 -4
- data/lib/ronin/network/http/exceptions/unknown_request.rb +1 -4
- data/lib/ronin/network/http/http.rb +214 -0
- data/lib/ronin/network/http/proxy.rb +308 -0
- data/lib/ronin/network/imap.rb +7 -6
- data/lib/ronin/network/pop3.rb +7 -6
- data/lib/ronin/network/smtp.rb +1 -4
- data/lib/ronin/network/smtp/email.rb +34 -18
- data/lib/ronin/network/smtp/smtp.rb +19 -7
- data/lib/ronin/network/tcp.rb +1 -4
- data/lib/ronin/network/telnet.rb +25 -12
- data/lib/ronin/network/udp.rb +1 -4
- data/lib/ronin/os.rb +43 -21
- data/lib/ronin/path.rb +29 -9
- data/lib/ronin/platform.rb +1 -4
- data/lib/ronin/platform/exceptions.rb +1 -4
- data/lib/ronin/platform/exceptions/extension_not_found.rb +1 -4
- data/lib/ronin/platform/exceptions/overlay_cached.rb +1 -4
- data/lib/ronin/platform/exceptions/overlay_not_found.rb +1 -4
- data/lib/ronin/platform/extension.rb +195 -52
- data/lib/ronin/platform/extension_cache.rb +60 -24
- data/lib/ronin/platform/maintainer.rb +15 -8
- data/lib/ronin/platform/object_cache.rb +29 -8
- data/lib/ronin/platform/overlay.rb +82 -26
- data/lib/ronin/platform/overlay_cache.rb +179 -56
- data/lib/ronin/platform/platform.rb +154 -58
- data/lib/ronin/platform/ronin.rb +38 -11
- data/lib/ronin/product.rb +17 -17
- data/lib/ronin/rpc.rb +1 -4
- data/lib/ronin/rpc/call.rb +1 -4
- data/lib/ronin/rpc/client.rb +1 -4
- data/lib/ronin/rpc/console.rb +1 -4
- data/lib/ronin/rpc/exceptions.rb +1 -4
- data/lib/ronin/rpc/exceptions/not_implemented.rb +1 -4
- data/lib/ronin/rpc/exceptions/response_missing.rb +1 -4
- data/lib/ronin/rpc/response.rb +1 -4
- data/lib/ronin/rpc/service.rb +1 -4
- data/lib/ronin/rpc/shell.rb +1 -4
- data/lib/ronin/scanners.rb +1 -4
- data/lib/ronin/scanners/exceptions.rb +1 -4
- data/lib/ronin/scanners/exceptions/unknown_category.rb +1 -4
- data/lib/ronin/scanners/scanner.rb +82 -26
- data/lib/ronin/static.rb +1 -4
- data/lib/ronin/static/finders.rb +1 -4
- data/lib/ronin/static/static.rb +16 -7
- data/lib/ronin/templates.rb +2 -4
- data/lib/ronin/templates/erb.rb +24 -10
- data/lib/ronin/templates/template.rb +130 -0
- data/lib/ronin/ui.rb +2 -6
- data/lib/ronin/ui/command_line.rb +1 -4
- data/lib/ronin/ui/command_line/command.rb +137 -68
- data/lib/ronin/ui/command_line/command_line.rb +52 -29
- data/lib/ronin/ui/command_line/commands/add.rb +39 -67
- data/lib/ronin/ui/command_line/commands/console.rb +23 -27
- data/lib/ronin/ui/command_line/commands/help.rb +10 -29
- data/lib/ronin/ui/command_line/commands/install.rb +31 -56
- data/lib/ronin/ui/command_line/commands/list.rb +34 -52
- data/lib/ronin/ui/command_line/commands/remove.rb +12 -32
- data/lib/ronin/ui/command_line/commands/uninstall.rb +11 -31
- data/lib/ronin/ui/command_line/commands/update.rb +15 -35
- data/lib/ronin/ui/command_line/exceptions.rb +1 -4
- data/lib/ronin/ui/command_line/exceptions/unknown_command.rb +1 -4
- data/lib/ronin/ui/console.rb +54 -23
- data/lib/ronin/ui/hexdump.rb +1 -4
- data/lib/ronin/ui/hexdump/extensions.rb +1 -4
- data/lib/ronin/ui/hexdump/extensions/file.rb +8 -6
- data/lib/ronin/ui/hexdump/extensions/kernel.rb +4 -5
- data/lib/ronin/ui/hexdump/hexdump.rb +8 -5
- data/lib/ronin/{sessions/exceptions.rb → ui/output.rb} +3 -5
- data/lib/ronin/ui/output/handler.rb +121 -0
- data/lib/ronin/ui/output/helpers.rb +110 -0
- data/lib/ronin/ui/output/output.rb +144 -0
- data/lib/ronin/ui/shell.rb +38 -12
- data/lib/ronin/version.rb +2 -5
- data/lib/ronin/{sessions/exceptions/variable_missing.rb → yard.rb} +2 -10
- data/lib/ronin/{ronin.rb → yard/handlers.rb} +5 -15
- data/lib/ronin/yard/handlers/ruby.rb +27 -0
- data/lib/ronin/yard/handlers/ruby/base.rb +27 -0
- data/lib/ronin/yard/handlers/ruby/belongs_to_handler.rb +45 -0
- data/lib/ronin/yard/handlers/ruby/eval_block_handler.rb +18 -0
- data/lib/ronin/yard/handlers/ruby/has_handler.rb +49 -0
- data/lib/ronin/yard/handlers/ruby/legacy.rb +26 -0
- data/lib/ronin/yard/handlers/ruby/legacy/belongs_to_handler.rb +41 -0
- data/lib/ronin/yard/handlers/ruby/legacy/eval_block_handler.rb +19 -0
- data/lib/ronin/yard/handlers/ruby/legacy/has_handler.rb +34 -0
- data/lib/ronin/yard/handlers/ruby/legacy/metaclass_eval_handler.rb +21 -0
- data/lib/ronin/yard/handlers/ruby/legacy/property_handler.rb +41 -0
- data/lib/ronin/yard/handlers/ruby/legacy/scanner_handler.rb +61 -0
- data/lib/ronin/yard/handlers/ruby/metaclass_eval_handler.rb +18 -0
- data/lib/ronin/yard/handlers/ruby/property_handler.rb +45 -0
- data/lib/ronin/yard/handlers/ruby/scanner_handler.rb +66 -0
- data/spec/author_spec.rb +3 -3
- data/spec/extensions/classes/some_class.rb +2 -0
- data/spec/extensions/kernel_spec.rb +17 -0
- data/spec/extensions/uri/http_spec.rb +0 -31
- data/spec/formatting/binary/integer_spec.rb +4 -0
- data/spec/formatting/text/string_spec.rb +96 -0
- data/spec/license_spec.rb +6 -6
- data/spec/model/classes/basic_model.rb +13 -0
- data/spec/model/classes/custom_model.rb +17 -0
- data/spec/model/classes/described_model.rb +10 -0
- data/spec/model/has_description_spec.rb +42 -0
- data/spec/model/has_license_spec.rb +18 -4
- data/spec/model/model_spec.rb +68 -0
- data/spec/network/helpers/classes/test_helper.rb +11 -0
- data/spec/network/helpers/classes/uses_test_helper.rb +10 -0
- data/spec/network/helpers/helper_spec.rb +25 -0
- data/spec/network/{http_spec.rb → http/http_spec.rb} +0 -0
- data/spec/network/http/proxy_spec.rb +116 -0
- data/spec/os_spec.rb +4 -4
- data/spec/platform/extension_cache_spec.rb +14 -0
- data/spec/platform/extension_spec.rb +11 -0
- data/spec/platform/platform_spec.rb +8 -0
- data/spec/product_spec.rb +9 -9
- data/spec/spec_helper.rb +1 -1
- data/spec/templates/classes/{uses_erb.rb → example_erb.rb} +1 -1
- data/spec/templates/classes/example_template.rb +21 -0
- data/spec/templates/erb_spec.rb +2 -2
- data/spec/templates/helpers/static.rb +5 -0
- data/spec/templates/helpers/static/templates/_relative.erb +1 -0
- data/spec/templates/helpers/static/templates/example.erb +1 -0
- data/spec/templates/template_spec.rb +41 -0
- data/spec/ui/command_line/classes/test_command.rb +23 -0
- data/spec/ui/command_line/command_spec.rb +31 -0
- data/spec/ui/output_spec.rb +29 -0
- data/static/ronin/platform/overlay.xsl +135 -114
- data/tasks/spec.rb +1 -0
- data/tasks/yard.rb +18 -0
- metadata +98 -59
- metadata.gz.sig +0 -0
- data/TODO.txt +0 -15
- data/lib/ronin/extensions/hash.rb +0 -62
- data/lib/ronin/sessions/esmtp.rb +0 -57
- data/lib/ronin/sessions/http.rb +0 -678
- data/lib/ronin/sessions/imap.rb +0 -54
- data/lib/ronin/sessions/pop3.rb +0 -52
- data/lib/ronin/sessions/smtp.rb +0 -57
- data/lib/ronin/sessions/tcp.rb +0 -100
- data/lib/ronin/sessions/telnet.rb +0 -55
- data/lib/ronin/sessions/udp.rb +0 -73
- data/lib/ronin/ui/command_line/options.rb +0 -136
- data/lib/ronin/ui/diagnostics.rb +0 -66
- data/lib/ronin/ui/verbose.rb +0 -58
- data/spec/extensions/hash_spec.rb +0 -38
- data/spec/sessions/classes/test_session.rb +0 -11
- data/spec/sessions/classes/uses_test_session.rb +0 -10
- data/spec/sessions/session_spec.rb +0 -25
- data/spec/ui/verbose_spec.rb +0 -17
data/lib/ronin/network/imap.rb
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
|
|
3
|
-
# Ronin - A Ruby platform designed for information security and data
|
|
4
|
-
# exploration tasks.
|
|
2
|
+
# Ronin - A Ruby platform for exploit development and security research.
|
|
5
3
|
#
|
|
6
4
|
# Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
|
|
7
5
|
#
|
|
@@ -18,7 +16,6 @@
|
|
|
18
16
|
# You should have received a copy of the GNU General Public License
|
|
19
17
|
# along with this program; if not, write to the Free Software
|
|
20
18
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
-
#++
|
|
22
19
|
#
|
|
23
20
|
|
|
24
21
|
require 'ronin/network/extensions/imap'
|
|
@@ -30,14 +27,18 @@ module Ronin
|
|
|
30
27
|
DEFAULT_PORT = 143
|
|
31
28
|
|
|
32
29
|
#
|
|
33
|
-
#
|
|
30
|
+
# @return [Integer]
|
|
31
|
+
# The default Ronin IMAP port.
|
|
34
32
|
#
|
|
35
33
|
def IMAP.default_port
|
|
36
34
|
@@imap_default_port ||= DEFAULT_PORT
|
|
37
35
|
end
|
|
38
36
|
|
|
39
37
|
#
|
|
40
|
-
# Sets the default Ronin IMAP port
|
|
38
|
+
# Sets the default Ronin IMAP port.
|
|
39
|
+
#
|
|
40
|
+
# @param [Integer] port
|
|
41
|
+
# The new default Ronin IMAP port.
|
|
41
42
|
#
|
|
42
43
|
def IMAP.default_port=(port)
|
|
43
44
|
@@imap_default_port = port
|
data/lib/ronin/network/pop3.rb
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
|
|
3
|
-
# Ronin - A Ruby platform designed for information security and data
|
|
4
|
-
# exploration tasks.
|
|
2
|
+
# Ronin - A Ruby platform for exploit development and security research.
|
|
5
3
|
#
|
|
6
4
|
# Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
|
|
7
5
|
#
|
|
@@ -18,7 +16,6 @@
|
|
|
18
16
|
# You should have received a copy of the GNU General Public License
|
|
19
17
|
# along with this program; if not, write to the Free Software
|
|
20
18
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
-
#++
|
|
22
19
|
#
|
|
23
20
|
|
|
24
21
|
require 'ronin/network/extensions/pop3'
|
|
@@ -30,14 +27,18 @@ module Ronin
|
|
|
30
27
|
DEFAULT_PORT = 110
|
|
31
28
|
|
|
32
29
|
#
|
|
33
|
-
#
|
|
30
|
+
# @return [Integer]
|
|
31
|
+
# The default Ronin POP3 port.
|
|
34
32
|
#
|
|
35
33
|
def POP3.default_port
|
|
36
34
|
@@pop3_default_port ||= DEFAULT_PORT
|
|
37
35
|
end
|
|
38
36
|
|
|
39
37
|
#
|
|
40
|
-
# Sets the default Ronin POP3 port
|
|
38
|
+
# Sets the default Ronin POP3 port.
|
|
39
|
+
#
|
|
40
|
+
# @param [Integer] port
|
|
41
|
+
# The new default Ronin POP3 port.
|
|
41
42
|
#
|
|
42
43
|
def POP3.default_port=(port)
|
|
43
44
|
@@pop3_default_port = port
|
data/lib/ronin/network/smtp.rb
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
|
|
3
|
-
# Ronin - A Ruby platform designed for information security and data
|
|
4
|
-
# exploration tasks.
|
|
2
|
+
# Ronin - A Ruby platform for exploit development and security research.
|
|
5
3
|
#
|
|
6
4
|
# Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
|
|
7
5
|
#
|
|
@@ -18,7 +16,6 @@
|
|
|
18
16
|
# You should have received a copy of the GNU General Public License
|
|
19
17
|
# along with this program; if not, write to the Free Software
|
|
20
18
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
-
#++
|
|
22
19
|
#
|
|
23
20
|
|
|
24
21
|
require 'ronin/network/smtp/email'
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
|
|
3
|
-
# Ronin - A Ruby platform designed for information security and data
|
|
4
|
-
# exploration tasks.
|
|
2
|
+
# Ronin - A Ruby platform for exploit development and security research.
|
|
5
3
|
#
|
|
6
4
|
# Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
|
|
7
5
|
#
|
|
@@ -18,7 +16,6 @@
|
|
|
18
16
|
# You should have received a copy of the GNU General Public License
|
|
19
17
|
# along with this program; if not, write to the Free Software
|
|
20
18
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
-
#++
|
|
22
19
|
#
|
|
23
20
|
|
|
24
21
|
module Ronin
|
|
@@ -45,20 +42,35 @@ module Ronin
|
|
|
45
42
|
attr_accessor :body
|
|
46
43
|
|
|
47
44
|
#
|
|
48
|
-
# Creates a new Email object
|
|
49
|
-
# is given, it will be passed the newly created Email object.
|
|
45
|
+
# Creates a new Email object.
|
|
50
46
|
#
|
|
51
|
-
#
|
|
52
|
-
#
|
|
53
|
-
# <tt>:to</tt>:: The address that the email should be sent to.
|
|
54
|
-
# <tt>:subject</tt>:: The subject of the email.
|
|
55
|
-
# <tt>:message_id</tt>::
|
|
47
|
+
# @param [Hash] options
|
|
48
|
+
# Additional options.
|
|
56
49
|
#
|
|
57
|
-
#
|
|
58
|
-
#
|
|
59
|
-
#
|
|
60
|
-
#
|
|
61
|
-
#
|
|
50
|
+
# @option options [String] :from
|
|
51
|
+
# The address the email is from.
|
|
52
|
+
#
|
|
53
|
+
# @option options [String] :to
|
|
54
|
+
# The address that the email should be sent to.
|
|
55
|
+
#
|
|
56
|
+
# @option options [String] :subject
|
|
57
|
+
# The subject of the email.
|
|
58
|
+
#
|
|
59
|
+
# @option options [String] :message_id
|
|
60
|
+
# Message-ID of the email.
|
|
61
|
+
#
|
|
62
|
+
# @option options [String, Time] :date (Time.now)
|
|
63
|
+
# The date the email was sent on.
|
|
64
|
+
#
|
|
65
|
+
# @option options [String, Array<String>] :body
|
|
66
|
+
# The body of the email.
|
|
67
|
+
#
|
|
68
|
+
# @yield [email]
|
|
69
|
+
# If a block is given, it will be passed the newly created email
|
|
70
|
+
# object.
|
|
71
|
+
#
|
|
72
|
+
# @yieldparam [Email] email
|
|
73
|
+
# The newly created email object.
|
|
62
74
|
#
|
|
63
75
|
def initialize(options={},&block)
|
|
64
76
|
@from = options[:from]
|
|
@@ -78,8 +90,12 @@ module Ronin
|
|
|
78
90
|
end
|
|
79
91
|
|
|
80
92
|
#
|
|
81
|
-
# Formats the email into a SMTP message
|
|
82
|
-
#
|
|
93
|
+
# Formats the email into a SMTP message.
|
|
94
|
+
#
|
|
95
|
+
# @return [String]
|
|
96
|
+
# Properly formatted SMTP message.
|
|
97
|
+
#
|
|
98
|
+
# @see http://www.ruby-doc.org/stdlib/libdoc/net/smtp/rdoc/classes/Net/SMTP.html
|
|
83
99
|
#
|
|
84
100
|
def to_s
|
|
85
101
|
address = lambda { |info|
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
|
|
3
|
-
# Ronin - A Ruby platform designed for information security and data
|
|
4
|
-
# exploration tasks.
|
|
2
|
+
# Ronin - A Ruby platform for exploit development and security research.
|
|
5
3
|
#
|
|
6
4
|
# Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
|
|
7
5
|
#
|
|
@@ -18,7 +16,6 @@
|
|
|
18
16
|
# You should have received a copy of the GNU General Public License
|
|
19
17
|
# along with this program; if not, write to the Free Software
|
|
20
18
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
-
#++
|
|
22
19
|
#
|
|
23
20
|
|
|
24
21
|
require 'ronin/network/smtp/email'
|
|
@@ -30,7 +27,8 @@ module Ronin
|
|
|
30
27
|
DEFAULT_PORT = 25
|
|
31
28
|
|
|
32
29
|
#
|
|
33
|
-
#
|
|
30
|
+
# @return [Integer]
|
|
31
|
+
# The default Ronin SMTP port.
|
|
34
32
|
#
|
|
35
33
|
def SMTP.default_port
|
|
36
34
|
@@smtp_default_port ||= DEFAULT_PORT
|
|
@@ -39,13 +37,27 @@ module Ronin
|
|
|
39
37
|
#
|
|
40
38
|
# Sets the default Ronin SMTP port.
|
|
41
39
|
#
|
|
40
|
+
# @param [Integer] port
|
|
41
|
+
# The new default Ronin SMTP port.
|
|
42
|
+
#
|
|
42
43
|
def SMTP.default_port=(port)
|
|
43
44
|
@@smtp_default_port = port
|
|
44
45
|
end
|
|
45
46
|
|
|
46
47
|
#
|
|
47
|
-
#
|
|
48
|
-
#
|
|
48
|
+
# Creates a properly formatted email.
|
|
49
|
+
#
|
|
50
|
+
# @yield [email]
|
|
51
|
+
# If a block is given, it will be passed the newly created Email
|
|
52
|
+
# object.
|
|
53
|
+
#
|
|
54
|
+
# @yieldparam [Ronin::Network::Email::SMTP] email
|
|
55
|
+
# The new Email object.
|
|
56
|
+
#
|
|
57
|
+
# @return [String]
|
|
58
|
+
# Formatted SMTP email.
|
|
59
|
+
#
|
|
60
|
+
# @see Ronin::Network::SMTP::Email
|
|
49
61
|
#
|
|
50
62
|
def SMTP.message(options={},&block)
|
|
51
63
|
Email.new(options,&block).to_s
|
data/lib/ronin/network/tcp.rb
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
|
|
3
|
-
# Ronin - A Ruby platform designed for information security and data
|
|
4
|
-
# exploration tasks.
|
|
2
|
+
# Ronin - A Ruby platform for exploit development and security research.
|
|
5
3
|
#
|
|
6
4
|
# Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
|
|
7
5
|
#
|
|
@@ -18,7 +16,6 @@
|
|
|
18
16
|
# You should have received a copy of the GNU General Public License
|
|
19
17
|
# along with this program; if not, write to the Free Software
|
|
20
18
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
-
#++
|
|
22
19
|
#
|
|
23
20
|
|
|
24
21
|
require 'ronin/network/extensions/tcp'
|
data/lib/ronin/network/telnet.rb
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
|
|
3
|
-
# Ronin - A Ruby platform designed for information security and data
|
|
4
|
-
# exploration tasks.
|
|
2
|
+
# Ronin - A Ruby platform for exploit development and security research.
|
|
5
3
|
#
|
|
6
4
|
# Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
|
|
7
5
|
#
|
|
@@ -18,7 +16,6 @@
|
|
|
18
16
|
# You should have received a copy of the GNU General Public License
|
|
19
17
|
# along with this program; if not, write to the Free Software
|
|
20
18
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
-
#++
|
|
22
19
|
#
|
|
23
20
|
|
|
24
21
|
require 'ronin/network/extensions/telnet'
|
|
@@ -36,56 +33,72 @@ module Ronin
|
|
|
36
33
|
DEFAULT_TIMEOUT = 10
|
|
37
34
|
|
|
38
35
|
#
|
|
39
|
-
#
|
|
36
|
+
# @return [Integer]
|
|
37
|
+
# The default Ronin Telnet port.
|
|
40
38
|
#
|
|
41
39
|
def Telnet.default_port
|
|
42
40
|
@@telnet_default_port ||= DEFAULT_PORT
|
|
43
41
|
end
|
|
44
42
|
|
|
45
43
|
#
|
|
46
|
-
# Sets the default Ronin Telnet port
|
|
44
|
+
# Sets the default Ronin Telnet port.
|
|
45
|
+
#
|
|
46
|
+
# @param [Integer] port
|
|
47
|
+
# The new default Ronin Telnet port.
|
|
47
48
|
#
|
|
48
49
|
def Telnet.default_port=(port)
|
|
49
50
|
@@telnet_default_port = port
|
|
50
51
|
end
|
|
51
52
|
|
|
52
53
|
#
|
|
53
|
-
#
|
|
54
|
+
# @return [Regexp]
|
|
55
|
+
# The default Ronin Telnet prompt pattern.
|
|
54
56
|
#
|
|
55
57
|
def Telnet.default_prompt
|
|
56
58
|
@@telnet_default_prompt ||= DEFAULT_PROMPT
|
|
57
59
|
end
|
|
58
60
|
|
|
59
61
|
#
|
|
60
|
-
# Sets the default Ronin Telnet prompt
|
|
62
|
+
# Sets the default Ronin Telnet prompt pattern.
|
|
63
|
+
#
|
|
64
|
+
# @param [Regexp] prompt
|
|
65
|
+
# The new default Ronin Telnet prompt pattern.
|
|
61
66
|
#
|
|
62
67
|
def Telnet.default_prompt=(prompt)
|
|
63
68
|
@@telnet_default_prompt = prompt
|
|
64
69
|
end
|
|
65
70
|
|
|
66
71
|
#
|
|
67
|
-
#
|
|
72
|
+
# @return [Integer]
|
|
73
|
+
# The default Ronin Telnet timeout.
|
|
68
74
|
#
|
|
69
75
|
def Telnet.default_timeout
|
|
70
76
|
@@telnet_default_timeout ||= DEFAULT_TIMEOUT
|
|
71
77
|
end
|
|
72
78
|
|
|
73
79
|
#
|
|
74
|
-
# Sets the default Ronin Telnet timeout
|
|
80
|
+
# Sets the default Ronin Telnet timeout.
|
|
81
|
+
#
|
|
82
|
+
# @param [Integer] timeout
|
|
83
|
+
# The new default Ronin Telnet timeout.
|
|
75
84
|
#
|
|
76
85
|
def Telnet.default_timeout=(timeout)
|
|
77
86
|
@@telnet_default_timeout = timeout
|
|
78
87
|
end
|
|
79
88
|
|
|
80
89
|
#
|
|
81
|
-
#
|
|
90
|
+
# @return [Telnet, IO, nil]
|
|
91
|
+
# The Ronin Telnet proxy.
|
|
82
92
|
#
|
|
83
93
|
def Telnet.proxy
|
|
84
94
|
@@telnet_proxy ||= nil
|
|
85
95
|
end
|
|
86
96
|
|
|
87
97
|
#
|
|
88
|
-
# Sets the Ronin Telnet proxy
|
|
98
|
+
# Sets the Ronin Telnet proxy.
|
|
99
|
+
#
|
|
100
|
+
# @param [Telnet, IO, nil] new_proxy
|
|
101
|
+
# The new Ronin Telnet proxy.
|
|
89
102
|
#
|
|
90
103
|
def Telnet.proxy=(new_proxy)
|
|
91
104
|
@@telnet_proxy = new_proxy
|
data/lib/ronin/network/udp.rb
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
|
|
3
|
-
# Ronin - A Ruby platform designed for information security and data
|
|
4
|
-
# exploration tasks.
|
|
2
|
+
# Ronin - A Ruby platform for exploit development and security research.
|
|
5
3
|
#
|
|
6
4
|
# Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
|
|
7
5
|
#
|
|
@@ -18,7 +16,6 @@
|
|
|
18
16
|
# You should have received a copy of the GNU General Public License
|
|
19
17
|
# along with this program; if not, write to the Free Software
|
|
20
18
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
-
#++
|
|
22
19
|
#
|
|
23
20
|
|
|
24
21
|
require 'ronin/network/extensions/udp'
|
data/lib/ronin/os.rb
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
|
|
3
|
-
# Ronin - A Ruby platform designed for information security and data
|
|
4
|
-
# exploration tasks.
|
|
2
|
+
# Ronin - A Ruby platform for exploit development and security research.
|
|
5
3
|
#
|
|
6
4
|
# Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
|
|
7
5
|
#
|
|
@@ -18,7 +16,6 @@
|
|
|
18
16
|
# You should have received a copy of the GNU General Public License
|
|
19
17
|
# along with this program; if not, write to the Free Software
|
|
20
18
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
-
#++
|
|
22
19
|
#
|
|
23
20
|
|
|
24
21
|
require 'ronin/model'
|
|
@@ -44,8 +41,12 @@ module Ronin
|
|
|
44
41
|
validates_present :name
|
|
45
42
|
|
|
46
43
|
#
|
|
47
|
-
#
|
|
44
|
+
# Converts the os to a String.
|
|
48
45
|
#
|
|
46
|
+
# @return [String]
|
|
47
|
+
# The OS name and version.
|
|
48
|
+
#
|
|
49
|
+
# @example
|
|
49
50
|
# os = OS.new(:name => 'Linux', :version => '2.6.11')
|
|
50
51
|
# os.to_s # => "Linux 2.6.11"
|
|
51
52
|
#
|
|
@@ -58,33 +59,54 @@ module Ronin
|
|
|
58
59
|
end
|
|
59
60
|
|
|
60
61
|
#
|
|
61
|
-
# Defines a new
|
|
62
|
+
# Defines a new predefined OS.
|
|
63
|
+
#
|
|
64
|
+
# @param [Symbol, String] name
|
|
65
|
+
# The method name to define for the builtin OS.
|
|
66
|
+
#
|
|
67
|
+
# @param [String] os_name
|
|
68
|
+
# The name of the OS.
|
|
62
69
|
#
|
|
63
|
-
#
|
|
70
|
+
# @example
|
|
71
|
+
# OS.predefine :freebsd, 'FreeBSD'
|
|
64
72
|
#
|
|
65
|
-
def OS.
|
|
66
|
-
|
|
67
|
-
method_name = name.snake_case
|
|
73
|
+
def OS.predefine(name,os_name)
|
|
74
|
+
os_name = os_name.to_s
|
|
68
75
|
|
|
69
|
-
meta_def(
|
|
76
|
+
meta_def(name) do |*arguments|
|
|
70
77
|
if (version = arguments.first)
|
|
71
|
-
OS.first_or_create(:name =>
|
|
78
|
+
OS.first_or_create(:name => os_name, :version => version.to_s)
|
|
72
79
|
else
|
|
73
|
-
OS.new(:name =>
|
|
80
|
+
OS.new(:name => os_name)
|
|
74
81
|
end
|
|
75
82
|
end
|
|
76
83
|
|
|
77
84
|
return nil
|
|
78
85
|
end
|
|
79
86
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
# The Linux OS
|
|
88
|
+
predefine :linux, 'Linux'
|
|
89
|
+
|
|
90
|
+
# The FreeBSD OS
|
|
91
|
+
predefine :freebsd, 'FreeBSD'
|
|
92
|
+
|
|
93
|
+
# The OpenBSD OS
|
|
94
|
+
predefine :openbsd, 'OpenBSD'
|
|
95
|
+
|
|
96
|
+
# The NetBSD OS
|
|
97
|
+
predefine :netbsd, 'NetBSD'
|
|
98
|
+
|
|
99
|
+
# OSX
|
|
100
|
+
predefine :osx, 'OSX'
|
|
101
|
+
|
|
102
|
+
# The Solaris OS
|
|
103
|
+
predefine :solaris, 'Solaris'
|
|
104
|
+
|
|
105
|
+
# The Windows OS
|
|
106
|
+
predefine :windows, 'Windows'
|
|
107
|
+
|
|
108
|
+
# The family UNIX OSes
|
|
109
|
+
predefine :unix, 'UNIX'
|
|
88
110
|
|
|
89
111
|
end
|
|
90
112
|
end
|