honeycomb 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
+