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 @@
-
+