honeycomb 0.0.3 → 0.0.4

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 (46) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/Gemfile +3 -21
  4. data/LICENSE.txt +22 -675
  5. data/README.md +29 -0
  6. data/Rakefile +1 -51
  7. data/honeycomb.gemspec +23 -0
  8. data/lib/honeycomb.rb +4 -23
  9. data/lib/honeycomb/version.rb +3 -0
  10. metadata +54 -214
  11. data/.document +0 -5
  12. data/.rspec +0 -1
  13. data/Gemfile.lock +0 -75
  14. data/README.rdoc +0 -72
  15. data/VERSION +0 -1
  16. data/data/binaries/example_data +0 -0
  17. data/data/logsql/honeypot.sqlite +0 -0
  18. data/etc/config.yml.example +0 -11
  19. data/lib/honeycomb/database.rb +0 -20
  20. data/lib/honeycomb/database/interact.rb +0 -71
  21. data/lib/honeycomb/default_setup.rb +0 -28
  22. data/lib/honeycomb/environment.rb +0 -64
  23. data/lib/honeycomb/honeypot.rb +0 -20
  24. data/lib/honeycomb/honeypot/manage.rb +0 -204
  25. data/lib/honeycomb/interact.rb +0 -20
  26. data/lib/honeycomb/model.rb +0 -82
  27. data/lib/honeycomb/model/connections.rb +0 -77
  28. data/lib/honeycomb/model/dcerpcbinds.rb +0 -47
  29. data/lib/honeycomb/model/dcerpcrequests.rb +0 -46
  30. data/lib/honeycomb/model/dcerpcserviceops.rb +0 -48
  31. data/lib/honeycomb/model/dcerpcservices.rb +0 -44
  32. data/lib/honeycomb/model/downloads.rb +0 -47
  33. data/lib/honeycomb/model/emu_profiles.rb +0 -44
  34. data/lib/honeycomb/model/emu_services.rb +0 -44
  35. data/lib/honeycomb/model/logins.rb +0 -46
  36. data/lib/honeycomb/model/mssql_commands.rb +0 -46
  37. data/lib/honeycomb/model/mssql_fingerprints.rb +0 -48
  38. data/lib/honeycomb/model/offers.rb +0 -44
  39. data/lib/honeycomb/model/p0fs.rb +0 -58
  40. data/lib/honeycomb/model/resolves.rb +0 -48
  41. data/lib/honeycomb/model/virustotals.rb +0 -47
  42. data/lib/honeycomb/model/virustotalscans.rb +0 -46
  43. data/scripts/honeycomb_libpath.rb +0 -2
  44. data/spec/honeycomb_spec.rb +0 -7
  45. data/spec/spec_helper.rb +0 -12
  46. data/tasks/irb.rake +0 -8
@@ -1,20 +0,0 @@
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
- require 'honeycomb/interact/interact'
@@ -1,82 +0,0 @@
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
- require 'dm-core'
21
- require 'dm-types'
22
- require 'dm-transactions'
23
- require 'dm-validations'
24
- require 'dm-serializer'
25
- require 'dm-timestamps'
26
-
27
- require 'honeycomb/model'
28
- require 'honeycomb/environment'
29
-
30
- module Honeycomb
31
-
32
- module Model
33
- module FixtureTable
34
- def fixture_table?
35
- true
36
- end
37
- end
38
-
39
- Honeycomb::Env.read_config
40
-
41
- require 'honeycomb/model/connections'
42
- require 'honeycomb/model/logins'
43
- require 'honeycomb/model/dcerpcbinds'
44
- require 'honeycomb/model/dcerpcrequests'
45
- require 'honeycomb/model/dcerpcserviceops'
46
- require 'honeycomb/model/dcerpcservices'
47
- require 'honeycomb/model/downloads'
48
- require 'honeycomb/model/emu_profiles'
49
- require 'honeycomb/model/emu_services'
50
- require 'honeycomb/model/mssql_commands'
51
- require 'honeycomb/model/mssql_fingerprints'
52
- require 'honeycomb/model/offers'
53
- require 'honeycomb/model/p0fs'
54
- require 'honeycomb/model/resolves'
55
- require 'honeycomb/model/virustotals'
56
- require 'honeycomb/model/virustotalscans'
57
-
58
- # TODO: Comment
59
- def self.all_databases(dir = Pathname.new(__FILE__).dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
60
- ret = Dir.entries(dir)
61
- ret.delete_if {|x| x =~ /^\./}
62
- ret
63
- end
64
-
65
- # Sets up the model using with the currently configured db_conn
66
- # configuration.
67
- def self.setup!(dir = Pathname.new(__FILE__).dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
68
- num = 0
69
- # Don't plan on ever using the default database, but DataMapper complains
70
- # if you don't specify one. A necessary evil.
71
- DataMapper.setup(:default, "sqlite:///#{dir}honeypot.sqlite")
72
- self.all_databases(dir).each do |database|
73
- DataMapper.setup(num.to_s.to_sym, "sqlite:///#{dir}#{database}")
74
- num = num + 1
75
- end
76
- DataMapper.finalize
77
- @setup = true
78
- end
79
-
80
-
81
- end
82
- end
@@ -1,77 +0,0 @@
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 Connections
22
- include DataMapper::Resource
23
- include Model::FixtureTable
24
-
25
- def self.all_databases(dir = Honeycomb::Env::CONFIG["honey_config"]["download_databases"] ||
26
- Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
27
- ret = Dir.entries(dir)
28
- ret.delete_if {|x| x =~ /^\./}
29
- ret
30
- end
31
-
32
- (0..self.all_databases.count).each do |num|
33
- storage_names["#{num.to_s}".to_sym] = "connections"
34
- end
35
-
36
-
37
- property :connection, Integer, :key => true
38
-
39
- property :connection_type, Text
40
-
41
- property :connection_transport, Text
42
-
43
- property :connection_protocol, Text
44
-
45
- property :connection_timestamp, Integer
46
-
47
- property :connection_root, Integer
48
-
49
- property :connection_parent, Integer
50
-
51
- property :local_host, Text
52
-
53
- property :local_port, Integer
54
-
55
- property :remote_host, Text
56
-
57
- property :remote_hostname, Text
58
-
59
- property :remote_port, Integer
60
-
61
- has n, :logins, :child_key => [ :connection ]
62
- has n, :download, :child_key => [ :connection ]
63
- has n, :offers, :child_key => [ :connection ]
64
- has n, :dcerpcbinds, :child_key => [ :connection ]
65
- has n, :dcerpcrequests, :child_key => [ :connection ]
66
- has n, :dcerpcserviceops, :child_key => [ :connection ]
67
- has n, :dcerpcservices, :child_key => [ :connection ]
68
- has n, :emu_profiles, :child_key => [ :connection ]
69
- has n, :emu_services, :child_key => [ :connection ]
70
- has n, :mssql_commands, :child_key => [ :connection ]
71
- has n, :mssql_fingerprints, :child_key => [ :connection ]
72
- has n, :p0fs, :child_key => [ :connection ]
73
- has n, :resolves, :child_key => [ :connection ]
74
- #has n, :virustotals, :child_key => [ :connection ]
75
- #has n, :virustotalscans, :child_key => [ :connection ]
76
- end
77
- end
@@ -1,47 +0,0 @@
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 Dcerpcbind
22
- include DataMapper::Resource
23
- include Model::FixtureTable
24
-
25
- def self.all_databases(dir = Honeycomb::Env::CONFIG["honey_config"]["download_databases"] ||
26
- Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
27
- ret = Dir.entries(dir)
28
- ret.delete_if {|x| x =~ /^\./}
29
- ret
30
- end
31
-
32
- (0..self.all_databases.count).each do |num|
33
- storage_names["#{num.to_s}".to_sym] = "dcerpcbinds"
34
- end
35
-
36
-
37
- property :dcerpcbind, Integer, :key => true
38
-
39
- property :connection, Integer
40
-
41
- property :dcerpcbind_uuid, Text
42
-
43
- property :dcerpcbind_transfersyntax, Text
44
-
45
- belongs_to :connections, :child_key => [:connection]
46
- end
47
- end
@@ -1,46 +0,0 @@
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 Dcerpcrequest
22
- include DataMapper::Resource
23
- include Model::FixtureTable
24
-
25
- def self.all_databases(dir = Honeycomb::Env::CONFIG["honey_config"]["download_databases"] ||
26
- Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
27
- ret = Dir.entries(dir)
28
- ret.delete_if {|x| x =~ /^\./}
29
- ret
30
- end
31
-
32
- (0..self.all_databases.count).each do |num|
33
- storage_names["#{num.to_s}".to_sym] = "dcerpcrequests"
34
- end
35
-
36
- property :dcerpcrequest, Integer, :key => true
37
-
38
- property :connection, Integer
39
-
40
- property :dcerpcrequest_uuid, Text
41
-
42
- property :dcerpcrequest_opnum, Integer
43
-
44
- belongs_to :connections, :child_key => [:connection]
45
- end
46
- end
@@ -1,48 +0,0 @@
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 Dcerpcserviceop
22
- include DataMapper::Resource
23
- include Model::FixtureTable
24
-
25
- def self.all_databases(dir = Honeycomb::Env::CONFIG["honey_config"]["download_databases"] ||
26
- Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
27
- ret = Dir.entries(dir)
28
- ret.delete_if {|x| x =~ /^\./}
29
- ret
30
- end
31
-
32
- (0..self.all_databases.count).each do |num|
33
- storage_names["#{num.to_s}".to_sym] = "dcerpcserviceops"
34
- end
35
-
36
- property :dcerpcserviceop, Integer, :key => true
37
-
38
- property :dcerpcservice, Integer
39
-
40
- property :dcerpcserviceop_opnum, Integer
41
-
42
- property :dcerpcserviceop_name, Text
43
-
44
- property :dcerpcserviceop_vuln, Text
45
-
46
- belongs_to :connections, :child_key => [:connection]
47
- end
48
- end
@@ -1,44 +0,0 @@
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 Dcerpcservice
22
- include DataMapper::Resource
23
- include Model::FixtureTable
24
-
25
- def self.all_databases(dir = Honeycomb::Env::CONFIG["honey_config"]["download_databases"] ||
26
- Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
27
- ret = Dir.entries(dir)
28
- ret.delete_if {|x| x =~ /^\./}
29
- ret
30
- end
31
-
32
- (0..self.all_databases.count).each do |num|
33
- storage_names["#{num.to_s}".to_sym] = "dcerpcservices"
34
- end
35
-
36
- property :dcerpcservice, Integer, :key => true
37
-
38
- property :dcerpcservice_uuid, Text
39
-
40
- property :dcerpcservice_name, Text
41
-
42
- belongs_to :connections, :child_key => [:connection]
43
- end
44
- end
@@ -1,47 +0,0 @@
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 Download
22
- include DataMapper::Resource
23
- include Model::FixtureTable
24
-
25
- def self.all_databases(dir = Honeycomb::Env::CONFIG["honey_config"]["download_databases"] ||
26
- Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
27
- ret = Dir.entries(dir)
28
- ret.delete_if {|x| x =~ /^\./}
29
- ret
30
- end
31
-
32
- (0..self.all_databases.count).each do |num|
33
- storage_names["#{num.to_s}".to_sym] = "downloads"
34
- end
35
-
36
- property :download, Integer, :key => true
37
-
38
- property :connection, Integer
39
-
40
- property :download_url, Text
41
-
42
- property :download_md5_hash, Text
43
-
44
- belongs_to :connections, :child_key => [:connection]
45
- has n, :virustotals, :child_key => [ :download_md5_hash ]
46
- end
47
- end
@@ -1,44 +0,0 @@
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 EmuProfile
22
- include DataMapper::Resource
23
- include Model::FixtureTable
24
-
25
- def self.all_databases(dir = Honeycomb::Env::CONFIG["honey_config"]["download_databases"] ||
26
- Pathname.new(__FILE__).dirname.dirname.dirname.dirname.expand_path.join('data').join('logsql/').to_s)
27
- ret = Dir.entries(dir)
28
- ret.delete_if {|x| x =~ /^\./}
29
- ret
30
- end
31
-
32
- (0..self.all_databases.count).each do |num|
33
- storage_names["#{num.to_s}".to_sym] = "emu_profiles"
34
- end
35
-
36
- property :emu_profile, Integer, :key => true
37
-
38
- property :connection, Integer
39
-
40
- property :emu_profile_json, Text
41
-
42
- belongs_to :connections, :child_key => [:connection]
43
- end
44
- end