honeycomb 0.0.1

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.
@@ -0,0 +1,45 @@
1
+ # honeycomb - Tool to manage and analyze data from the Dionaea Honeypot
2
+ # Project
3
+ # Josh Grunzweig
4
+ # Copyright (C) 2011 Trustwave Holdings
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify it
7
+ # under the terms of the GNU General Public License as published by the
8
+ # Free Software Foundation, either version 3 of the License, or (at your
9
+ # option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful, but
12
+ # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13
+ # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
+ # for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License along
17
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ #
19
+
20
+ module Honeycomb
21
+ class Login
22
+ include DataMapper::Resource
23
+ include Model::FixtureTable
24
+
25
+ def self.all_databases(dir = Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
26
+ ret = Dir.entries(dir)
27
+ ret.delete_if {|x| x =~ /^\./}
28
+ ret
29
+ end
30
+
31
+ (0..self.all_databases.count).each do |num|
32
+ storage_names["#{num.to_s}".to_sym] = "logins"
33
+ end
34
+
35
+ property :login, Serial
36
+
37
+ property :connection, Integer
38
+
39
+ property :login_username, Text
40
+
41
+ property :login_password, Text
42
+
43
+ belongs_to :connections, :child_key => [:connection]
44
+ end
45
+ end
@@ -0,0 +1,45 @@
1
+ # honeycomb - Tool to manage and analyze data from the Dionaea Honeypot
2
+ # Project
3
+ # Josh Grunzweig
4
+ # Copyright (C) 2011 Trustwave Holdings
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify it
7
+ # under the terms of the GNU General Public License as published by the
8
+ # Free Software Foundation, either version 3 of the License, or (at your
9
+ # option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful, but
12
+ # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13
+ # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
+ # for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License along
17
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ #
19
+
20
+ module Honeycomb
21
+ class MssqlCommand
22
+ include DataMapper::Resource
23
+ include Model::FixtureTable
24
+
25
+ def self.all_databases(dir = Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
26
+ ret = Dir.entries(dir)
27
+ ret.delete_if {|x| x =~ /^\./}
28
+ ret
29
+ end
30
+
31
+ (0..self.all_databases.count).each do |num|
32
+ storage_names["#{num.to_s}".to_sym] = "mssql_commands"
33
+ end
34
+
35
+ property :mssql_command, Integer, :key => true
36
+
37
+ property :connection, Integer
38
+
39
+ property :mssql_command_status, Text
40
+
41
+ property :mssql_command_cmd, Text
42
+
43
+ belongs_to :connections, :child_key => [:connection]
44
+ end
45
+ end
@@ -0,0 +1,47 @@
1
+ # honeycomb - Tool to manage and analyze data from the Dionaea Honeypot
2
+ # Project
3
+ # Josh Grunzweig
4
+ # Copyright (C) 2011 Trustwave Holdings
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify it
7
+ # under the terms of the GNU General Public License as published by the
8
+ # Free Software Foundation, either version 3 of the License, or (at your
9
+ # option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful, but
12
+ # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13
+ # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
+ # for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License along
17
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ #
19
+
20
+ module Honeycomb
21
+ class MssqlFingerprint
22
+ include DataMapper::Resource
23
+ include Model::FixtureTable
24
+
25
+ def self.all_databases(dir = Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
26
+ ret = Dir.entries(dir)
27
+ ret.delete_if {|x| x =~ /^\./}
28
+ ret
29
+ end
30
+
31
+ (0..self.all_databases.count).each do |num|
32
+ storage_names["#{num.to_s}".to_sym] = "mssql_fingerprints"
33
+ end
34
+
35
+ property :mssql_fingerprint, Integer, :key => true
36
+
37
+ property :connection, Integer
38
+
39
+ property :mssql_fingerprint_hostname, Text
40
+
41
+ property :mssql_fingerprint_appname, Text
42
+
43
+ property :mssql_fingerprint_cltintname, Text
44
+
45
+ belongs_to :connections, :child_key => [:connection]
46
+ end
47
+ end
@@ -0,0 +1,43 @@
1
+ # honeycomb - Tool to manage and analyze data from the Dionaea Honeypot
2
+ # Project
3
+ # Josh Grunzweig
4
+ # Copyright (C) 2011 Trustwave Holdings
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify it
7
+ # under the terms of the GNU General Public License as published by the
8
+ # Free Software Foundation, either version 3 of the License, or (at your
9
+ # option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful, but
12
+ # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13
+ # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
+ # for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License along
17
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ #
19
+
20
+ module Honeycomb
21
+ class Offer
22
+ include DataMapper::Resource
23
+ include Model::FixtureTable
24
+
25
+ def self.all_databases(dir = Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
26
+ ret = Dir.entries(dir)
27
+ ret.delete_if {|x| x =~ /^\./}
28
+ ret
29
+ end
30
+
31
+ (0..self.all_databases.count).each do |num|
32
+ storage_names["#{num.to_s}".to_sym] = "offers"
33
+ end
34
+
35
+ property :offer, Integer, :key => true
36
+
37
+ property :connection, Integer
38
+
39
+ property :offer_url, Text
40
+
41
+ belongs_to :connections, :child_key => [:connection]
42
+ end
43
+ end
@@ -0,0 +1,57 @@
1
+ # honeycomb - Tool to manage and analyze data from the Dionaea Honeypot
2
+ # Project
3
+ # Josh Grunzweig
4
+ # Copyright (C) 2011 Trustwave Holdings
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify it
7
+ # under the terms of the GNU General Public License as published by the
8
+ # Free Software Foundation, either version 3 of the License, or (at your
9
+ # option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful, but
12
+ # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13
+ # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
+ # for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License along
17
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ #
19
+
20
+ module Honeycomb
21
+ class P0f
22
+ include DataMapper::Resource
23
+ include Model::FixtureTable
24
+
25
+ def self.all_databases(dir = Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
26
+ ret = Dir.entries(dir)
27
+ ret.delete_if {|x| x =~ /^\./}
28
+ ret
29
+ end
30
+
31
+ (0..self.all_databases.count).each do |num|
32
+ storage_names["#{num.to_s}".to_sym] = "p0fs"
33
+ end
34
+
35
+ property :p0f, Integer, :key => true
36
+
37
+ property :connection, Integer
38
+
39
+ property :p0f_genre, Text
40
+
41
+ property :p0f_link, Text
42
+
43
+ property :p0f_detail, Text
44
+
45
+ property :p0f_uptime, Integer
46
+
47
+ property :p0f_tos, Text
48
+
49
+ property :p0f_dist, Integer
50
+
51
+ property :p0f_nat, Integer
52
+
53
+ property :p0f_fw, Integer
54
+
55
+ belongs_to :connections, :child_key => [:connection]
56
+ end
57
+ end
@@ -0,0 +1,47 @@
1
+ # honeycomb - Tool to manage and analyze data from the Dionaea Honeypot
2
+ # Project
3
+ # Josh Grunzweig
4
+ # Copyright (C) 2011 Trustwave Holdings
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify it
7
+ # under the terms of the GNU General Public License as published by the
8
+ # Free Software Foundation, either version 3 of the License, or (at your
9
+ # option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful, but
12
+ # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13
+ # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
+ # for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License along
17
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ #
19
+
20
+ module Honeycomb
21
+ class Resolf
22
+ include DataMapper::Resource
23
+ include Model::FixtureTable
24
+
25
+ def self.all_databases(dir = Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
26
+ ret = Dir.entries(dir)
27
+ ret.delete_if {|x| x =~ /^\./}
28
+ ret
29
+ end
30
+
31
+ (0..self.all_databases.count).each do |num|
32
+ storage_names["#{num.to_s}".to_sym] = "resolves"
33
+ end
34
+
35
+ property :resolve, Integer, :key => true
36
+
37
+ property :connection, Integer
38
+
39
+ property :resolve_hostname, Text
40
+
41
+ property :resolve_type, Text
42
+
43
+ property :resolve_result, Text
44
+
45
+ belongs_to :connections, :child_key => [:connection]
46
+ end
47
+ end
@@ -0,0 +1,46 @@
1
+ # honeycomb - Tool to manage and analyze data from the Dionaea Honeypot
2
+ # Project
3
+ # Josh Grunzweig
4
+ # Copyright (C) 2011 Trustwave Holdings
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify it
7
+ # under the terms of the GNU General Public License as published by the
8
+ # Free Software Foundation, either version 3 of the License, or (at your
9
+ # option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful, but
12
+ # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13
+ # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
+ # for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License along
17
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ #
19
+
20
+ module Honeycomb
21
+ class Virustotal
22
+ include DataMapper::Resource
23
+ include Model::FixtureTable
24
+
25
+ def self.all_databases(dir = Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
26
+ ret = Dir.entries(dir)
27
+ ret.delete_if {|x| x =~ /^\./}
28
+ ret
29
+ end
30
+
31
+ (0..self.all_databases.count).each do |num|
32
+ storage_names["#{num.to_s}".to_sym] = "virustotals"
33
+ end
34
+
35
+ property :virustotal, Integer, :key => true
36
+
37
+ property :virustotal_md5_hash, Text
38
+
39
+ property :virustotal_timestamp, Integer
40
+
41
+ property :virustotal_permalink, Text
42
+
43
+ belongs_to :download, :child_key => [:virustotal_md5_hash]
44
+ has n, :virustotalscans, :child_key => [ :virustotal ]
45
+ end
46
+ end
@@ -0,0 +1,45 @@
1
+ # honeycomb - Tool to manage and analyze data from the Dionaea Honeypot
2
+ # Project
3
+ # Josh Grunzweig
4
+ # Copyright (C) 2011 Trustwave Holdings
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify it
7
+ # under the terms of the GNU General Public License as published by the
8
+ # Free Software Foundation, either version 3 of the License, or (at your
9
+ # option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful, but
12
+ # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13
+ # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
+ # for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License along
17
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ #
19
+
20
+ module Honeycomb
21
+ class Virustotalscan
22
+ include DataMapper::Resource
23
+ include Model::FixtureTable
24
+
25
+ def self.all_databases(dir = Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
26
+ ret = Dir.entries(dir)
27
+ ret.delete_if {|x| x =~ /^\./}
28
+ ret
29
+ end
30
+
31
+ (0..self.all_databases.count).each do |num|
32
+ storage_names["#{num.to_s}".to_sym] = "virustotalscans"
33
+ end
34
+
35
+ property :virustotalscan, Integer, :key => true
36
+
37
+ property :virustotal, Integer
38
+
39
+ property :virustotalscan_scanner, Text
40
+
41
+ property :virustotalscan_result, Text
42
+
43
+ belongs_to :virustotal, :child_key => [:virustotal]
44
+ end
45
+ end
@@ -0,0 +1,7 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Honeycomb" do
4
+ it "fails" do
5
+ fail "hey buddy, you should probably rename this file and start specing for real"
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'honeycomb'
5
+
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ RSpec.configure do |config|
11
+
12
+ end
data/tasks/irb.rake ADDED
@@ -0,0 +1,8 @@
1
+
2
+ desc "Open an irb session preloaded with Honeycomb"
3
+ task :irb do
4
+ sh "irb -rubygems -I lib -I Honeycomb -r honeycomb/default_setup"
5
+ end
6
+
7
+
8
+
metadata ADDED
@@ -0,0 +1,237 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: honeycomb
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.1
6
+ platform: ruby
7
+ authors:
8
+ - Josh Grunzweig
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-07-01 00:00:00 -05:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rspec
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 2.3.0
24
+ type: :development
25
+ prerelease: false
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ~>
33
+ - !ruby/object:Gem::Version
34
+ version: 1.0.0
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: jeweler
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.6.2
46
+ type: :development
47
+ prerelease: false
48
+ version_requirements: *id003
49
+ - !ruby/object:Gem::Dependency
50
+ name: rcov
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: "0"
57
+ type: :development
58
+ prerelease: false
59
+ version_requirements: *id004
60
+ - !ruby/object:Gem::Dependency
61
+ name: net-ssh
62
+ requirement: &id005 !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: *id005
71
+ - !ruby/object:Gem::Dependency
72
+ name: net-scp
73
+ requirement: &id006 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: "0"
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: *id006
82
+ - !ruby/object:Gem::Dependency
83
+ name: dm-core
84
+ requirement: &id007 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: "0"
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: *id007
93
+ - !ruby/object:Gem::Dependency
94
+ name: dm-types
95
+ requirement: &id008 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: "0"
101
+ type: :development
102
+ prerelease: false
103
+ version_requirements: *id008
104
+ - !ruby/object:Gem::Dependency
105
+ name: dm-transactions
106
+ requirement: &id009 !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: "0"
112
+ type: :development
113
+ prerelease: false
114
+ version_requirements: *id009
115
+ - !ruby/object:Gem::Dependency
116
+ name: dm-validations
117
+ requirement: &id010 !ruby/object:Gem::Requirement
118
+ none: false
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: "0"
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: *id010
126
+ - !ruby/object:Gem::Dependency
127
+ name: dm-serializer
128
+ requirement: &id011 !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: "0"
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: *id011
137
+ - !ruby/object:Gem::Dependency
138
+ name: dm-timestamps
139
+ requirement: &id012 !ruby/object:Gem::Requirement
140
+ none: false
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: "0"
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: *id012
148
+ - !ruby/object:Gem::Dependency
149
+ name: dm-sqlite-adapter
150
+ requirement: &id013 !ruby/object:Gem::Requirement
151
+ none: false
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: "0"
156
+ type: :development
157
+ prerelease: false
158
+ version_requirements: *id013
159
+ description: Tool to manage and analyze data from the Dionaea Honeypot Project
160
+ email: jgrunzweig at trustwave dot com
161
+ executables: []
162
+
163
+ extensions: []
164
+
165
+ extra_rdoc_files:
166
+ - LICENSE.txt
167
+ - README.rdoc
168
+ files:
169
+ - .document
170
+ - .rspec
171
+ - Gemfile
172
+ - Gemfile.lock
173
+ - LICENSE.txt
174
+ - README.rdoc
175
+ - Rakefile
176
+ - VERSION
177
+ - data/binaries/example_data
178
+ - data/logsql/honeypot.sqlite
179
+ - etc/config.yml.example
180
+ - lib/honeycomb.rb
181
+ - lib/honeycomb/default_setup.rb
182
+ - lib/honeycomb/environment.rb
183
+ - lib/honeycomb/interact.rb
184
+ - lib/honeycomb/interact/interact.rb
185
+ - lib/honeycomb/model.rb
186
+ - lib/honeycomb/model/connections.rb
187
+ - lib/honeycomb/model/dcerpcbinds.rb
188
+ - lib/honeycomb/model/dcerpcrequests.rb
189
+ - lib/honeycomb/model/dcerpcserviceops.rb
190
+ - lib/honeycomb/model/dcerpcservices.rb
191
+ - lib/honeycomb/model/downloads.rb
192
+ - lib/honeycomb/model/emu_profiles.rb
193
+ - lib/honeycomb/model/emu_services.rb
194
+ - lib/honeycomb/model/logins.rb
195
+ - lib/honeycomb/model/mssql_commands.rb
196
+ - lib/honeycomb/model/mssql_fingerprints.rb
197
+ - lib/honeycomb/model/offers.rb
198
+ - lib/honeycomb/model/p0fs.rb
199
+ - lib/honeycomb/model/resolves.rb
200
+ - lib/honeycomb/model/virustotals.rb
201
+ - lib/honeycomb/model/virustotalscans.rb
202
+ - spec/honeycomb_spec.rb
203
+ - spec/spec_helper.rb
204
+ - tasks/irb.rake
205
+ has_rdoc: true
206
+ homepage: http://github.com/spiderlabs/honeycomb
207
+ licenses:
208
+ - GNU v3
209
+ post_install_message:
210
+ rdoc_options: []
211
+
212
+ require_paths:
213
+ - lib
214
+ required_ruby_version: !ruby/object:Gem::Requirement
215
+ none: false
216
+ requirements:
217
+ - - ">="
218
+ - !ruby/object:Gem::Version
219
+ hash: 3018595793207636104
220
+ segments:
221
+ - 0
222
+ version: "0"
223
+ required_rubygems_version: !ruby/object:Gem::Requirement
224
+ none: false
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: "0"
229
+ requirements: []
230
+
231
+ rubyforge_project:
232
+ rubygems_version: 1.6.2
233
+ signing_key:
234
+ specification_version: 3
235
+ summary: Tool to manage and analyze data from the Dionaea Honeypot Project
236
+ test_files: []
237
+