diff --git a/lib/helpers/constants.rb b/lib/helpers/constants.rb index 6b1ef1a6a..e9a8c7609 100644 --- a/lib/helpers/constants.rb +++ b/lib/helpers/constants.rb @@ -41,6 +41,7 @@ DOCUMENTATION_DIR = "#{ROOT_DIR}/documentation/yard/doc" # Path to resources WORDLISTS_DIR = "#{ROOT_DIR}/lib/resources/wordlists" +LINELISTS_DIR = "#{ROOT_DIR}/lib/resources/linelists" IMAGES_DIR = "#{ROOT_DIR}/lib/resources/images" # Path to build puppet modules @@ -74,4 +75,4 @@ RETRIES_LIMIT = 10 # Version number of SecGen # e.g. [release state (0 = alpha, 3 = final release)].[Major bug fix].[Minor bug fix].[Cosmetic or other features] -VERSION_NUMBER = '0.0.1.1' \ No newline at end of file +VERSION_NUMBER = '0.0.1.1' diff --git a/lib/resources/line_lists/powned_messages b/lib/resources/line_lists/powned_messages new file mode 100644 index 000000000..336abcf60 --- /dev/null +++ b/lib/resources/line_lists/powned_messages @@ -0,0 +1,7 @@ +All your base are belong to us! +You've been hacked! +Hahaha... Your security is not so good. +Mess with the best, die like the rest. +Hack the planet! +When I was a child, I spake as a child, I understood as a child, I thought as a child: but when I became a man, I put away childish things +Your server is powned! diff --git a/lib/resources/line_lists/server_greetings b/lib/resources/line_lists/server_greetings new file mode 100644 index 000000000..a9ebf8dc3 --- /dev/null +++ b/lib/resources/line_lists/server_greetings @@ -0,0 +1,3 @@ +Welcome to the server! +Greetings! Welcome to the server. +G-day mate! diff --git a/modules/generators/messages/random_line/manifests/.no_puppet b/modules/generators/messages/random_line/manifests/.no_puppet new file mode 100644 index 000000000..e69de29bb diff --git a/modules/generators/messages/random_line/random_line.pp b/modules/generators/messages/random_line/random_line.pp new file mode 100644 index 000000000..e69de29bb diff --git a/modules/generators/messages/random_line/secgen_local/local.rb b/modules/generators/messages/random_line/secgen_local/local.rb new file mode 100644 index 000000000..ea0d2f0eb --- /dev/null +++ b/modules/generators/messages/random_line/secgen_local/local.rb @@ -0,0 +1,32 @@ +#!/usr/bin/ruby +require_relative '../../../../../lib/objects/local_string_generator.rb' + +class LineGenerator < StringGenerator + + def initialize + super + self.line_list = [] + self.module_name = 'Random Word Generator' + end + + def get_options_array + super + [['--linelist', GetoptLong::OPTIONAL_ARGUMENT]] + end + + def process_options(opt, arg) + super + case opt + when '--linelist' + self.line_list << arg; + end + end + + def generate + # read all the lines, and select one at random + line = File.readlines("#{LINELISTS_DIR}/#{self.linelist.sample.chomp}").sample.chomp + # strip out everything except alphanumeric and basic punctuation (no ' or ") + self.outputs << line.gsub(/[^\w !.,]/, '') + end +end + +LineGenerator.new.run diff --git a/modules/generators/messages/random_line/secgen_metadata.xml b/modules/generators/messages/random_line/secgen_metadata.xml new file mode 100644 index 000000000..abacad972 --- /dev/null +++ b/modules/generators/messages/random_line/secgen_metadata.xml @@ -0,0 +1,24 @@ + + + + Random Line Generator + Z. Cliffe Schreuders + MIT + Returns a line from a list of lines. + + string_generator + random_line_generator + local_calculation + linux + windows + + linelist + + server_greetings + + + generated_strings + + diff --git a/scenarios/labs/7_live_analysis.xml b/scenarios/labs/7_live_analysis.xml index e68941a34..8d73dd43f 100644 --- a/scenarios/labs/7_live_analysis.xml +++ b/scenarios/labs/7_live_analysis.xml @@ -19,8 +19,11 @@ + 172.16.0.2 + 172.16.0.3 + 172.16.0.4 @@ -41,10 +44,18 @@ true - + u_r_powned-hme + .a_hidden_flag-hme + a_flag-hme - + + + powned_messages + + + + @@ -160,7 +171,7 @@ - +