From 77e25c0929d00ec4d44d2decf82da889751ef309 Mon Sep 17 00:00:00 2001 From: "Z. Cliffe Schreuders" Date: Wed, 23 Mar 2022 18:45:53 +0000 Subject: [PATCH] phishing --- .../email/mailserver/manifests/install.pp | 6 +- .../thunderbird/secgen_metadata.xml | 3 - .../phish_victim_bot/files/MailReader.class | Bin 12631 -> 13456 bytes .../phish_victim_bot/files/MailReader.java | 54 +++++++++++------- .../files/activation-1.1-rev-1.jar | Bin 0 -> 71081 bytes .../phish_victim_bot/manifests/install.pp | 35 ++++++++---- .../phish_victim_bot/secgen_metadata.xml | 9 ++- .../cyber_security_landscape/7_phishing.xml | 19 ++++++ 8 files changed, 87 insertions(+), 39 deletions(-) create mode 100644 modules/vulnerabilities/unix/email_phishing/phish_victim_bot/files/activation-1.1-rev-1.jar diff --git a/modules/services/unix/email/mailserver/manifests/install.pp b/modules/services/unix/email/mailserver/manifests/install.pp index acd7b49d2..e63137a07 100644 --- a/modules/services/unix/email/mailserver/manifests/install.pp +++ b/modules/services/unix/email/mailserver/manifests/install.pp @@ -1,6 +1,8 @@ class mailserver::install { - $secgen_params = secgen_functions::get_parameters($::base64_inputs_file) - $ip = $secgen_params['server_ip'][0] + # $secgen_parameters = secgen_functions::get_parameters($::base64_inputs_file) + # $ip = $secgen_parameters['server_ip'][0] + # TODO: read this from parameter + $ip = "accountingnow.com" package { 'postfix': ensure => installed, diff --git a/modules/utilities/unix/email_clients/thunderbird/secgen_metadata.xml b/modules/utilities/unix/email_clients/thunderbird/secgen_metadata.xml index 0ec6d8ecb..26d9c8c99 100644 --- a/modules/utilities/unix/email_clients/thunderbird/secgen_metadata.xml +++ b/modules/utilities/unix/email_clients/thunderbird/secgen_metadata.xml @@ -29,7 +29,4 @@ update - - desktop_environment - diff --git a/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/files/MailReader.class b/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/files/MailReader.class index 28328fd0118bc95c0a371af42b11cd3ed29c0465..fbc05d48741885de35016e91eb1a6235ed72b8ba 100644 GIT binary patch literal 13456 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 Oue$xav?z?ERsREefay{I literal 12631 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 U(RXsA@8w26;uoFOpYV(S2Z|6W5dZ)H diff --git a/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/files/MailReader.java b/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/files/MailReader.java index 99bccf0d3..e689fb117 100644 --- a/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/files/MailReader.java +++ b/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/files/MailReader.java @@ -127,8 +127,9 @@ public class MailReader implements AutoCloseable { public void sendEmail(Message prevMessage, ArrayList reasons) throws MessagingException { // Step 3: Create a message MimeMessage message = new MimeMessage(session); - message.setFrom(new InternetAddress(username + "@worklink.vm")); - message.setRecipients(Message.RecipientType.TO, "email@local.vm"); + // Cliffe TODO: read domain name from preferences + message.setFrom(new InternetAddress(username + "@" + prevMessage.getRecipients(Message.RecipientType.TO)[0].toString().split("@")[1])); + message.setRecipients(Message.RecipientType.TO, "guest@localhost"); message.setSubject("RE: " + prevMessage.getSubject()); // message.setText(); // Create the message part @@ -207,8 +208,10 @@ public class MailReader implements AutoCloseable { // A filter to check whether message body has enough keywords return m -> { int counter = 0; - for (String keyword : keywords) + for (String keyword : keywords) { + System.out.println("keyword " + keyword); // removing this line breaks things? when passing in a .split string? if (getMessageBody(m).toLowerCase().contains(keyword.toLowerCase())) counter++; + } return counter >= amount; }; } @@ -234,18 +237,25 @@ public class MailReader implements AutoCloseable { String userConfigPath = System.getProperty("user.home") + "/.user.properties"; Properties userProps = new Properties(); userProps.load(new FileInputStream(userConfigPath)); - String server = userProps.getProperty("server"); - String user = userProps.getProperty("user"); - String pass = userProps.getProperty("pass"); - String trusted_sender = userProps.getProperty("trusted_sender"); - String senders_name = userProps.getProperty("senders_name"); - String recipients_name = userProps.getProperty("recipients_name"); - String relevant_keyword = userProps.getProperty("relevant_keyword"); - int num_keywords = Integer.parseInt(userProps.getProperty("num_keywords")); - String accepted_file_extension = userProps.getProperty("accepted_file_extension"); - boolean reject_all = Boolean.parseBoolean(userProps.getProperty("reject_all")); - boolean suspicious_of_file_name = Boolean.parseBoolean(userProps.getProperty("suspicious_of_file_name")); + String server = userProps.getProperty("server").trim(); + String user = userProps.getProperty("user").trim(); + String pass = userProps.getProperty("pass").trim(); + String trusted_sender = userProps.getProperty("trusted_sender").trim(); + String senders_name = userProps.getProperty("senders_name").trim(); + String recipients_name = userProps.getProperty("recipients_name").trim(); + String relevant_keyword = userProps.getProperty("relevant_keyword").trim(); + int num_keywords = Integer.parseInt(userProps.getProperty("num_keywords").trim()); + String accepted_file_extension = userProps.getProperty("accepted_file_extension").trim(); + boolean reject_all = Boolean.parseBoolean(userProps.getProperty("reject_all".trim())); + boolean suspicious_of_file_name = Boolean.parseBoolean(userProps.getProperty("suspicious_of_file_name").trim()); System.out.println("Configured as " + user); + System.out.println("password " + pass); + System.out.println("trusted_sender " + trusted_sender); + System.out.println("senders_name " + senders_name); + System.out.println("recipients_name " + recipients_name); + System.out.println("relevant_keyword " + relevant_keyword); + System.out.println("num_keywords " + num_keywords); + System.out.println("accepted_file_extension " + accepted_file_extension); // Try connecting to the mailserver MailReader reader = new MailReader(server, user, pass); @@ -256,29 +266,29 @@ public class MailReader implements AutoCloseable { messageFilters.add(m -> false); messageReasons.add("I think this is a phishing email"); } else { - if(trusted_sender != "") { + if(trusted_sender != null && !trusted_sender.isBlank()) { // Message sender messageFilters.add(m -> getSender(m).startsWith(trusted_sender)); messageReasons.add("I don't trust the sender"); } - if(senders_name != "") { + if(senders_name != null && !senders_name.isBlank()) { // Message body contains sender name (either first or last name at least once) - messageFilters.add(containsKeywords(senders_name.split("|"), 1)); + messageFilters.add(containsKeywords(senders_name.split("\\|", -1), 1)); //new String[] { "jed", "jd" }, 1)); messageReasons.add("The message doesn't include the sender's name"); } - if(recipients_name != "") { + if(recipients_name != null && !recipients_name.isBlank()) { // Message body contains recipient name (either name at least once) - messageFilters.add(containsKeywords(recipients_name.split("|"), 1)); + messageFilters.add(containsKeywords(recipients_name.split("\\|", -1), 1)); messageReasons.add("It's not addressed to me"); } - if(relevant_keyword != "" && num_keywords != 0) { + if((relevant_keyword != null && !relevant_keyword.isBlank()) && num_keywords != 0) { // Message body seems relevant (contains keywords) - messageFilters.add(containsKeywords(relevant_keyword.split("|"), num_keywords)); + messageFilters.add(containsKeywords(relevant_keyword.split("\\|", -1), num_keywords)); messageReasons.add("It's unrelated to me"); } // Attachment has file extension (i.e. is an executable file, or document) attachmentFilters.add(a -> getFileExtension(a).equals(accepted_file_extension)); - if(accepted_file_extension == "") { + if(accepted_file_extension != null && !accepted_file_extension.isBlank()) { attachmentReasons.add("I cannot run that file extension"); } else { attachmentReasons.add("I can only open " + accepted_file_extension + "files"); diff --git a/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/files/activation-1.1-rev-1.jar b/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/files/activation-1.1-rev-1.jar new file mode 100644 index 0000000000000000000000000000000000000000..9fc65295d68dd68702a7d7c6519d9319acef7759 GIT binary patch literal 71081 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 IU_e0s5ACYKRR910 literal 0 HcmV?d00001 diff --git a/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/manifests/install.pp b/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/manifests/install.pp index 275dcbd7e..896f393d0 100644 --- a/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/manifests/install.pp +++ b/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/manifests/install.pp @@ -1,43 +1,50 @@ class phish_victim_bot::install { - require java $secgen_parameters = secgen_functions::get_parameters($::base64_inputs_file) - $port = $secgen_parameters['port'][0] $strings_to_leak = $secgen_parameters['strings_to_leak'] $leaked_filenames = $secgen_parameters['leaked_filenames'] $usernames = $secgen_parameters['usernames'] + $passwords = $secgen_parameters['passwords'] $phish_victim_bot_configs = $secgen_parameters['phish_victim_bot_configs'] + ensure_packages(['openjdk-11-jre', 'openjdk-11-jdk', 'zip' ]) + + user { 'guest': + ensure => present, + password => pw_hash("guestpassword", 'SHA-512', 'bXlzYWx0'), + managehome => true, + } + if $usernames { $usernames.each |$index, $username| { # Create user user { $username: ensure => present, - home => "/home/$username", + password => pw_hash($passwords[$index], 'SHA-512', 'bXlzYWx0'), managehome => true, } -> file { "/home/$username/.user.properties": ensure => present, - owner => 'root', - group => 'root', + owner => $username, + group => $username, mode => '0600', - content => $phish_victim_bot_config[index], + content => $phish_victim_bot_configs[$index], } # run on each boot via cron cron { "$username-mail": - command => "sleep 60 && cd /home/$username && java -cp mail.jar:. MailReader &", + command => "sleep 60 && cd /home/$username && java -cp /opt/mailreader/mail.jar:/opt/mailreader/activation-1.1-rev-1.jar:/opt/mailreader/ MailReader &", special => 'reboot', user => $username, } ::secgen_functions::leak_files { "$username-mail-file-leak": storage_directory => "/home/$username", - leaked_filenames => $leaked_filenames, - strings_to_leak => $strings_to_leak[$index], + leaked_filenames => [$leaked_filenames[$index]], + strings_to_leak => [$strings_to_leak[$index]], owner => $username, mode => '0600', - leaked_from => "phish_victim_bot", + leaked_from => "phish_victim_bot-$username", } } @@ -57,6 +64,13 @@ class phish_victim_bot::install { mode => '0755', source => 'puppet:///modules/phish_victim_bot/MailReader.class', }-> + file { '/opt/mailreader/activation-1.1-rev-1.jar': + ensure => present, + owner => 'root', + group => 'root', + mode => '0755', + source => 'puppet:///modules/phish_victim_bot/activation-1.1-rev-1.jar', + }-> file { '/opt/mailreader/mail.jar': ensure => present, owner => 'root', @@ -65,5 +79,4 @@ class phish_victim_bot::install { source => 'puppet:///modules/phish_victim_bot/mail.jar', } - } diff --git a/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/secgen_metadata.xml b/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/secgen_metadata.xml index d4dbcfef2..6421856f5 100644 --- a/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/secgen_metadata.xml +++ b/modules/vulnerabilities/unix/email_phishing/phish_victim_bot/secgen_metadata.xml @@ -22,7 +22,8 @@ strings_to_leak leaked_filenames phish_victim_bot_config - username + usernames + passwords @@ -41,6 +42,12 @@ mailuser + + password + + + + update diff --git a/scenarios/labs/cyber_security_landscape/7_phishing.xml b/scenarios/labs/cyber_security_landscape/7_phishing.xml index 4691fb241..ec46d3de8 100644 --- a/scenarios/labs/cyber_security_landscape/7_phishing.xml +++ b/scenarios/labs/cyber_security_landscape/7_phishing.xml @@ -42,6 +42,14 @@ j.baker j.wilkinson + + newbie + oldguy + jobgiver + kingmaker + monkeys + monkeys + @@ -50,7 +58,18 @@ + + flag + flag + flag + flag + file + file + + + IP_addresses + user=s.lord