honeycomb 0.0.3 → 0.0.4

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