diff --git a/lib/schemas/vulnerability_metadata_schema.xsd b/lib/schemas/vulnerability_metadata_schema.xsd
index 3923b62c8..428edca7f 100644
--- a/lib/schemas/vulnerability_metadata_schema.xsd
+++ b/lib/schemas/vulnerability_metadata_schema.xsd
@@ -9,6 +9,7 @@
+
@@ -55,7 +56,7 @@
-
+
diff --git a/modules/services/unix/http/apache_bash_cgi/apache_bash_cgi.pp b/modules/services/unix/http/apache_bash_cgi/apache_bash_cgi.pp
new file mode 100644
index 000000000..f9dc48eff
--- /dev/null
+++ b/modules/services/unix/http/apache_bash_cgi/apache_bash_cgi.pp
@@ -0,0 +1 @@
+require apache_bash_cgi::init
\ No newline at end of file
diff --git a/modules/services/unix/http/apache_bash_cgi/files/test.cgi b/modules/services/unix/http/apache_bash_cgi/files/test.cgi
new file mode 100755
index 000000000..28885459c
--- /dev/null
+++ b/modules/services/unix/http/apache_bash_cgi/files/test.cgi
@@ -0,0 +1,7 @@
+#!/bin/bash
+echo "Content-type: text/plain"
+echo $(env)
+echo
+echo "Hi"
+bash --version
+bash /dev/null
\ No newline at end of file
diff --git a/modules/services/unix/http/apache_bash_cgi/manifests/init.pp b/modules/services/unix/http/apache_bash_cgi/manifests/init.pp
new file mode 100644
index 000000000..0e53bbe5e
--- /dev/null
+++ b/modules/services/unix/http/apache_bash_cgi/manifests/init.pp
@@ -0,0 +1,11 @@
+class apache_bash_cgi::init {
+ file { '/usr/lib/cgi-bin/':
+ ensure => directory,
+ }
+
+ file { '/usr/lib/cgi-bin/test.cgi':
+ ensure => file,
+ source => 'puppet:///modules/apache_bash_cgi/test.cgi',
+ mode => '755',
+ }
+}
\ No newline at end of file
diff --git a/modules/services/unix/http/apache_bash_cgi/secgen_metadata.xml b/modules/services/unix/http/apache_bash_cgi/secgen_metadata.xml
new file mode 100644
index 000000000..19b2d9839
--- /dev/null
+++ b/modules/services/unix/http/apache_bash_cgi/secgen_metadata.xml
@@ -0,0 +1,21 @@
+
+
+
+ Apache Bash CGI
+ Thomas Shaw
+ MIT
+ Hosts a bash CGI script on a default apache installation.
+
+ httpd
+ unix
+
+ https://httpd.apache.org/
+ Apache v2
+
+
+ modules/services/unix/http/apache
+
+
+
\ No newline at end of file
diff --git a/modules/services/unix/file_share/samba/LICENSE b/modules/services/unix/smb/samba/LICENSE
similarity index 100%
rename from modules/services/unix/file_share/samba/LICENSE
rename to modules/services/unix/smb/samba/LICENSE
diff --git a/modules/services/unix/file_share/samba/README.md b/modules/services/unix/smb/samba/README.md
similarity index 100%
rename from modules/services/unix/file_share/samba/README.md
rename to modules/services/unix/smb/samba/README.md
diff --git a/modules/services/unix/file_share/samba/Rakefile b/modules/services/unix/smb/samba/Rakefile
similarity index 100%
rename from modules/services/unix/file_share/samba/Rakefile
rename to modules/services/unix/smb/samba/Rakefile
diff --git a/modules/services/unix/file_share/samba/checksums.json b/modules/services/unix/smb/samba/checksums.json
similarity index 100%
rename from modules/services/unix/file_share/samba/checksums.json
rename to modules/services/unix/smb/samba/checksums.json
diff --git a/modules/services/unix/file_share/samba/manifests/init.pp b/modules/services/unix/smb/samba/manifests/init.pp
similarity index 100%
rename from modules/services/unix/file_share/samba/manifests/init.pp
rename to modules/services/unix/smb/samba/manifests/init.pp
diff --git a/modules/services/unix/file_share/samba/manifests/params.pp b/modules/services/unix/smb/samba/manifests/params.pp
similarity index 100%
rename from modules/services/unix/file_share/samba/manifests/params.pp
rename to modules/services/unix/smb/samba/manifests/params.pp
diff --git a/modules/services/unix/file_share/samba/manifests/spec.pp b/modules/services/unix/smb/samba/manifests/spec.pp
similarity index 100%
rename from modules/services/unix/file_share/samba/manifests/spec.pp
rename to modules/services/unix/smb/samba/manifests/spec.pp
diff --git a/modules/services/unix/file_share/samba/metadata.json b/modules/services/unix/smb/samba/metadata.json
similarity index 100%
rename from modules/services/unix/file_share/samba/metadata.json
rename to modules/services/unix/smb/samba/metadata.json
diff --git a/modules/services/unix/file_share/samba/samba.pp b/modules/services/unix/smb/samba/samba.pp
similarity index 100%
rename from modules/services/unix/file_share/samba/samba.pp
rename to modules/services/unix/smb/samba/samba.pp
diff --git a/modules/services/unix/file_share/samba/secgen_metadata.xml b/modules/services/unix/smb/samba/secgen_metadata.xml
similarity index 72%
rename from modules/services/unix/file_share/samba/secgen_metadata.xml
rename to modules/services/unix/smb/samba/secgen_metadata.xml
index fc0dec3ff..4220a6a82 100644
--- a/modules/services/unix/file_share/samba/secgen_metadata.xml
+++ b/modules/services/unix/smb/samba/secgen_metadata.xml
@@ -5,10 +5,11 @@
xsi:schemaLocation="http://www.github/cliffe/SecGen/service">
Samba file share Server
example42
+ Jason Keighley
Apache v2
An installation of Samba
- file_share
+ smb
linux
@@ -16,7 +17,7 @@
samba
Apache v2
-
+
samba
@@ -25,10 +26,4 @@
update
-
-
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/modules/services/unix/file_share/samba/spec/classes/standard42_spec.rb b/modules/services/unix/smb/samba/spec/classes/standard42_spec.rb
similarity index 100%
rename from modules/services/unix/file_share/samba/spec/classes/standard42_spec.rb
rename to modules/services/unix/smb/samba/spec/classes/standard42_spec.rb
diff --git a/modules/services/unix/file_share/samba/spec/spec_helper.rb b/modules/services/unix/smb/samba/spec/spec_helper.rb
similarity index 100%
rename from modules/services/unix/file_share/samba/spec/spec_helper.rb
rename to modules/services/unix/smb/samba/spec/spec_helper.rb
diff --git a/modules/services/unix/file_share/samba/templates/spec.erb b/modules/services/unix/smb/samba/templates/spec.erb
similarity index 100%
rename from modules/services/unix/file_share/samba/templates/spec.erb
rename to modules/services/unix/smb/samba/templates/spec.erb
diff --git a/modules/services/unix/file_share/samba/tests/absent.pp b/modules/services/unix/smb/samba/tests/absent.pp
similarity index 100%
rename from modules/services/unix/file_share/samba/tests/absent.pp
rename to modules/services/unix/smb/samba/tests/absent.pp
diff --git a/modules/services/unix/file_share/samba/tests/disable.pp b/modules/services/unix/smb/samba/tests/disable.pp
similarity index 100%
rename from modules/services/unix/file_share/samba/tests/disable.pp
rename to modules/services/unix/smb/samba/tests/disable.pp
diff --git a/modules/services/unix/file_share/samba/tests/init.pp b/modules/services/unix/smb/samba/tests/init.pp
similarity index 100%
rename from modules/services/unix/file_share/samba/tests/init.pp
rename to modules/services/unix/smb/samba/tests/init.pp
diff --git a/modules/utilities/unix/scanners/nmap/manifests/install.pp b/modules/utilities/unix/scanners/nmap/manifests/install.pp
new file mode 100644
index 000000000..dffc07245
--- /dev/null
+++ b/modules/utilities/unix/scanners/nmap/manifests/install.pp
@@ -0,0 +1,5 @@
+class nmap::install {
+ package { 'nmap':
+ ensure => installed,
+ }
+}
\ No newline at end of file
diff --git a/modules/utilities/unix/scanners/nmap/nmap.pp b/modules/utilities/unix/scanners/nmap/nmap.pp
new file mode 100644
index 000000000..b5eb3746e
--- /dev/null
+++ b/modules/utilities/unix/scanners/nmap/nmap.pp
@@ -0,0 +1 @@
+include nmap::install
\ No newline at end of file
diff --git a/modules/utilities/unix/scanners/nmap/secgen_metadata.xml b/modules/utilities/unix/scanners/nmap/secgen_metadata.xml
new file mode 100644
index 000000000..0b2304f7e
--- /dev/null
+++ b/modules/utilities/unix/scanners/nmap/secgen_metadata.xml
@@ -0,0 +1,21 @@
+
+
+
+ Nmap Security Scanner
+ Thomas Shaw
+ Apache v2
+ Nmap network host, service and security scanner.
+
+ utility
+ linux
+
+
+ https://nmap.org/
+
+
+ update
+
+
+
\ No newline at end of file
diff --git a/modules/utilities/unix/smb/smbclient/manifests/install.pp b/modules/utilities/unix/smb/smbclient/manifests/install.pp
new file mode 100644
index 000000000..f61995291
--- /dev/null
+++ b/modules/utilities/unix/smb/smbclient/manifests/install.pp
@@ -0,0 +1,5 @@
+class smbclient::install {
+ package { 'smbclient':
+ ensure => 'installed',
+ }
+}
\ No newline at end of file
diff --git a/modules/utilities/unix/smb/smbclient/secgen_metadata.xml b/modules/utilities/unix/smb/smbclient/secgen_metadata.xml
new file mode 100644
index 000000000..924574468
--- /dev/null
+++ b/modules/utilities/unix/smb/smbclient/secgen_metadata.xml
@@ -0,0 +1,27 @@
+
+
+
+ Samba client
+ Jason Keighley
+ Apache v2
+ An installation of smbclient
+
+ smb
+ linux
+
+
+ smbclient
+ Apache v2
+
+
+
+ smbclient
+
+
+
+ update
+
+
+
\ No newline at end of file
diff --git a/modules/utilities/unix/smb/smbclient/smbclient.pp b/modules/utilities/unix/smb/smbclient/smbclient.pp
new file mode 100644
index 000000000..5810c6277
--- /dev/null
+++ b/modules/utilities/unix/smb/smbclient/smbclient.pp
@@ -0,0 +1 @@
+class { smbclient::install: }
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/access_control_misconfigurations/uid_less_root/manifests/change_uid_permissions.pp b/modules/vulnerabilities/unix/access_control_misconfigurations/uid_less_root/manifests/change_uid_permissions.pp
new file mode 100644
index 000000000..91e2c793d
--- /dev/null
+++ b/modules/vulnerabilities/unix/access_control_misconfigurations/uid_less_root/manifests/change_uid_permissions.pp
@@ -0,0 +1,9 @@
+class uid_less_root::change_uid_permissions ($file_input = [], $user = 'root') {
+ $file_input.each |$file, $permission_code| {
+ file { $file:
+ mode => $permission_code,
+ owner => $user,
+ }
+ notice("File {$file} permissions have been checked.")
+ }
+}
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/access_control_misconfigurations/uid_less_root/secgen_metadata.xml b/modules/vulnerabilities/unix/access_control_misconfigurations/uid_less_root/secgen_metadata.xml
new file mode 100644
index 000000000..54f6350ff
--- /dev/null
+++ b/modules/vulnerabilities/unix/access_control_misconfigurations/uid_less_root/secgen_metadata.xml
@@ -0,0 +1,23 @@
+
+
+
+ Access control mis-configurations uid less
+ Jason Keighley
+ Apache v2
+ Mis-configure files to enable root privileges
+
+ access_control_mis-configurations
+ root
+ local
+ unix
+
+
+
+
+
+ Text viewer permission misconfiguration
+ Less editor running as user root
+
+
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/access_control_misconfigurations/uid_less_root/uid_less_root.pp b/modules/vulnerabilities/unix/access_control_misconfigurations/uid_less_root/uid_less_root.pp
new file mode 100644
index 000000000..6ab2160da
--- /dev/null
+++ b/modules/vulnerabilities/unix/access_control_misconfigurations/uid_less_root/uid_less_root.pp
@@ -0,0 +1,7 @@
+class {'uid_less_root::change_uid_permissions':
+ user => 'root',
+ file_input => {
+ '/bin/less' => '4777',
+ '/usr/bin/less' => '4777',
+ },
+}
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/bash/shellshock/files/bash-4.1.tar.gz b/modules/vulnerabilities/unix/bash/shellshock/files/bash-4.1.tar.gz
new file mode 100644
index 000000000..0ed6b53c3
Binary files /dev/null and b/modules/vulnerabilities/unix/bash/shellshock/files/bash-4.1.tar.gz differ
diff --git a/modules/vulnerabilities/unix/bash/shellshock/manifests/install.pp b/modules/vulnerabilities/unix/bash/shellshock/manifests/install.pp
new file mode 100644
index 000000000..fd5194b8e
--- /dev/null
+++ b/modules/vulnerabilities/unix/bash/shellshock/manifests/install.pp
@@ -0,0 +1,19 @@
+class shellshock::install{
+
+ file { '/usr/local/src/bash-4.1.tar.gz':
+ ensure => file,
+ source => 'puppet:///modules/shellshock/bash-4.1.tar.gz',
+ }
+
+ exec { 'unpack-bash-tar':
+ cwd => '/usr/local/src',
+ command => '/bin/tar -xzf /usr/local/src/bash-4.1.tar.gz',
+ creates => '/usr/local/src/bash-4.1/',
+ }
+
+ exec { 'configure-make-make-install-bash':
+ cwd => '/usr/local/src/bash-4.1/',
+ command => '/bin/bash /usr/local/src/bash-4.1/configure; /usr/bin/make; /usr/bin/make install;',
+ require => Exec['unpack-bash-tar'],
+ }
+}
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/bash/shellshock/secgen_metadata.xml b/modules/vulnerabilities/unix/bash/shellshock/secgen_metadata.xml
new file mode 100644
index 000000000..5b4853b41
--- /dev/null
+++ b/modules/vulnerabilities/unix/bash/shellshock/secgen_metadata.xml
@@ -0,0 +1,27 @@
+
+
+
+ Bashbug / Shellshock
+ Thomas Shaw
+ MIT
+ Installs GNU bash version 4.1 which contains the bashbug / shellshock vulnerability.
+
+ bash
+ none
+ local
+ unix
+
+
+ medium
+ CVE-2014-6271
+ 10
+ AV:N/AC:L/Au:N/C:C/I:C/A:C
+
+ https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6271
+ http://www.symantec.com/connect/blogs/shellshock-all-you-need-know-about-bash-bug-vulnerability
+ bash
+ GPLv3+
+
+
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/bash/shellshock/shellshock.pp b/modules/vulnerabilities/unix/bash/shellshock/shellshock.pp
new file mode 100644
index 000000000..1e93f4b44
--- /dev/null
+++ b/modules/vulnerabilities/unix/bash/shellshock/shellshock.pp
@@ -0,0 +1 @@
+include shellshock::install
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/local/setuid_nmap/manifests/init.pp b/modules/vulnerabilities/unix/local/setuid_nmap/manifests/init.pp
new file mode 100644
index 000000000..0590c71d2
--- /dev/null
+++ b/modules/vulnerabilities/unix/local/setuid_nmap/manifests/init.pp
@@ -0,0 +1,5 @@
+class setuid_nmap::init {
+ file { '/usr/bin/nmap':
+ mode => '4755',
+ }
+}
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/local/setuid_nmap/secgen_metadata.xml b/modules/vulnerabilities/unix/local/setuid_nmap/secgen_metadata.xml
new file mode 100644
index 000000000..318e6796c
--- /dev/null
+++ b/modules/vulnerabilities/unix/local/setuid_nmap/secgen_metadata.xml
@@ -0,0 +1,23 @@
+
+
+
+ Nmap Setuid
+ Thomas Shaw
+ MIT
+ Nmap setuid local privilege escalation
+
+ access_controls
+ root
+ local
+ linux
+
+
+ medium
+
+
+ modules/utilities/unix/scanners/nmap
+
+
+
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/local/setuid_nmap/setuid_nmap.pp b/modules/vulnerabilities/unix/local/setuid_nmap/setuid_nmap.pp
new file mode 100644
index 000000000..dfb647d4d
--- /dev/null
+++ b/modules/vulnerabilities/unix/local/setuid_nmap/setuid_nmap.pp
@@ -0,0 +1 @@
+include setuid_nmap::init
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/smb/samba_public_writable_share/files/smb_conf_public_share_definition b/modules/vulnerabilities/unix/smb/samba_public_writable_share/files/smb_conf_public_share_definition
new file mode 100644
index 000000000..0964fe4e6
--- /dev/null
+++ b/modules/vulnerabilities/unix/smb/samba_public_writable_share/files/smb_conf_public_share_definition
@@ -0,0 +1,15 @@
+#
+# Insecure Public share definition
+#
+[public]
+comment = Public Share
+# Path to directory
+path = /tmp
+# Allow writing to share
+read only = no
+# Force connections as guests
+guest ok = yes
+locking = no
+# Sets the umask for files/directories created on this share
+force create mode = 777
+force directory mode = 777
diff --git a/modules/vulnerabilities/unix/smb/samba_public_writable_share/manifests/install.pp b/modules/vulnerabilities/unix/smb/samba_public_writable_share/manifests/install.pp
new file mode 100644
index 000000000..bcb56024a
--- /dev/null
+++ b/modules/vulnerabilities/unix/smb/samba_public_writable_share/manifests/install.pp
@@ -0,0 +1,19 @@
+class samba_public_writable_share::install {
+
+ concat { '/etc/samba/smb.conf':
+ ensure => present,
+ }
+
+ concat::fragment { 'smb-conf-base':
+ source => '/etc/samba/smb.conf',
+ target => '/etc/samba/smb.conf',
+ order => '01',
+ }
+
+ concat::fragment { 'smb-conf-public-share-definition':
+ source => 'puppet:///modules/samba_public_writable_share/smb_conf_public_share_definition',
+ target => '/etc/samba/smb.conf',
+ order => '02',
+ }
+
+}
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/smb/samba_public_writable_share/samba_public_writable_share.pp b/modules/vulnerabilities/unix/smb/samba_public_writable_share/samba_public_writable_share.pp
new file mode 100644
index 000000000..fa00c9fbb
--- /dev/null
+++ b/modules/vulnerabilities/unix/smb/samba_public_writable_share/samba_public_writable_share.pp
@@ -0,0 +1 @@
+require samba_public_writable_share::install
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/smb/samba_public_writable_share/secgen_metadata.xml b/modules/vulnerabilities/unix/smb/samba_public_writable_share/secgen_metadata.xml
new file mode 100644
index 000000000..4fac706a8
--- /dev/null
+++ b/modules/vulnerabilities/unix/smb/samba_public_writable_share/secgen_metadata.xml
@@ -0,0 +1,30 @@
+
+
+
+ Samba Public Writable Share
+ Thomas Shaw
+ MIT
+
+ Samba file server configured with a public anonymously accessible share with read / write permissions.
+
+
+ samba
+ user
+ remote
+ linux
+
+
+ low
+
+
+ http://allarsblog.com/2015/11/07/Setting-Up-Samba-No-Security/
+ smbd
+ MIT
+
+
+ modules/services/unix/smb/samba
+
+
+
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/smb/samba_symlink_traversal/files/smb_conf_wide_links b/modules/vulnerabilities/unix/smb/samba_symlink_traversal/files/smb_conf_wide_links
new file mode 100644
index 000000000..6c6e9561e
--- /dev/null
+++ b/modules/vulnerabilities/unix/smb/samba_symlink_traversal/files/smb_conf_wide_links
@@ -0,0 +1,3 @@
+# wide links for symlink traversal ( enabled by default in versions <= 3.4.5 )
+wide links = yes
+follow symlinks = yes
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/smb/samba_symlink_traversal/manifests/install.pp b/modules/vulnerabilities/unix/smb/samba_symlink_traversal/manifests/install.pp
new file mode 100644
index 000000000..6cd16b623
--- /dev/null
+++ b/modules/vulnerabilities/unix/smb/samba_symlink_traversal/manifests/install.pp
@@ -0,0 +1,23 @@
+class samba_symlink_traversal::install {
+
+ # Insert the 'allow insecure wide links = yes' line into the [global] section
+ exec { 'sed-insert-global-allow-insecure-wide-links':
+ command => "/bin/sed -i \'/\\[global\\]/a allow insecure wide links = yes\' /etc/samba/smb.conf"
+ }
+
+ concat { '/etc/samba/smb.conf':
+ ensure => present,
+ }
+
+ concat::fragment { 'smb-conf-base':
+ source => '/etc/samba/smb.conf',
+ target => '/etc/samba/smb.conf',
+ order => '01',
+ }
+
+ concat::fragment { 'smb-conf-wide-links':
+ source => 'puppet:///modules/samba_symlink_traversal/smb_conf_wide_links',
+ target => '/etc/samba/smb.conf',
+ order => '03',
+ }
+}
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/smb/samba_symlink_traversal/samba_symlink_traversal.pp b/modules/vulnerabilities/unix/smb/samba_symlink_traversal/samba_symlink_traversal.pp
new file mode 100644
index 000000000..e31b24a80
--- /dev/null
+++ b/modules/vulnerabilities/unix/smb/samba_symlink_traversal/samba_symlink_traversal.pp
@@ -0,0 +1 @@
+require samba_symlink_traversal::install
\ No newline at end of file
diff --git a/modules/vulnerabilities/unix/smb/samba_symlink_traversal/secgen_metadata.xml b/modules/vulnerabilities/unix/smb/samba_symlink_traversal/secgen_metadata.xml
new file mode 100644
index 000000000..54ffcebbd
--- /dev/null
+++ b/modules/vulnerabilities/unix/smb/samba_symlink_traversal/secgen_metadata.xml
@@ -0,0 +1,36 @@
+
+
+
+ Samba Symlink Traversal
+ Thomas Shaw
+ MIT
+
+ Samba file server configured with a public anonymously accessible share with read / write permissions and the
+ unix extensions = yes, wide links = yes and allow insecure wide links = yes settings.
+
+
+ samba
+ user
+ remote
+ linux
+
+
+ low
+
+
+ https://www.samba.org/samba/news/symlink_attack.html
+ https://www.rapid7.com/db/modules/auxiliary/admin/smb/samba_symlink_traversal
+ smbd
+ MIT
+
+
+ auxiliary/admin/smb/samba_symlink_traversal
+
+
+ modules/services/unix/smb/samba
+ modules/vulnerabilities/unix/smb/samba_public_writable_share
+
+
+
\ No newline at end of file
diff --git a/scenarios/simple_examples/access_control_misconfigurations_uid_less_root.xml b/scenarios/simple_examples/access_control_misconfigurations_uid_less_root.xml
new file mode 100644
index 000000000..525b0b660
--- /dev/null
+++ b/scenarios/simple_examples/access_control_misconfigurations_uid_less_root.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+ access_control_misconfigurations_root
+
+
+
+
+
+
+
+
diff --git a/scenarios/simple_examples/samba_service.xml b/scenarios/simple_examples/samba_service.xml
index 3e35cfb8a..d97e2d1ef 100644
--- a/scenarios/simple_examples/samba_service.xml
+++ b/scenarios/simple_examples/samba_service.xml
@@ -4,12 +4,12 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.github/cliffe/SecGen/scenario">
-
+
samba_service
-
+
diff --git a/scenarios/simple_examples/samba_symlink_traversal_vulnerability.xml b/scenarios/simple_examples/samba_symlink_traversal_vulnerability.xml
new file mode 100644
index 000000000..2a8a3205b
--- /dev/null
+++ b/scenarios/simple_examples/samba_symlink_traversal_vulnerability.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+ samba_service
+
+
+
+
+
+
+
+
diff --git a/scenarios/simple_examples/setuid_nmap_escalation_vulnerability.xml b/scenarios/simple_examples/setuid_nmap_escalation_vulnerability.xml
new file mode 100644
index 000000000..3637c6bc3
--- /dev/null
+++ b/scenarios/simple_examples/setuid_nmap_escalation_vulnerability.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ box_with_remote_user_level_vuln_and_setuid_nmap_priv_escalation
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/scenarios/simple_examples/shellshock_apache_vulnerability.xml b/scenarios/simple_examples/shellshock_apache_vulnerability.xml
new file mode 100644
index 000000000..ab095d2be
--- /dev/null
+++ b/scenarios/simple_examples/shellshock_apache_vulnerability.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+ storage_server
+
+
+
+
+
+
+
+
+
diff --git a/scenarios/simple_examples/shellshock_vulnerability.xml b/scenarios/simple_examples/shellshock_vulnerability.xml
new file mode 100644
index 000000000..90d4af8d7
--- /dev/null
+++ b/scenarios/simple_examples/shellshock_vulnerability.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ storage_server
+
+
+
+
+
+
+
+
diff --git a/scenarios/simple_examples/smbclient_utility.xml b/scenarios/simple_examples/smbclient_utility.xml
new file mode 100644
index 000000000..abc148d8d
--- /dev/null
+++ b/scenarios/simple_examples/smbclient_utility.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ smbclient_utility
+
+
+
+
+
+
+
+
diff --git a/secgen.rb b/secgen.rb
index 9b6f4b4f7..c251a775b 100644
--- a/secgen.rb
+++ b/secgen.rb
@@ -25,6 +25,7 @@ def usage
build-project, p: builds project (vagrant and puppet config), but does not build VMs
build-vms [/project/dir], v [project #]: builds VMs from a previously generated project
(use in combination with --project [dir])
+ list-scenarios: lists all scenarios that can be used with the --scenario option
"
exit
end
@@ -101,6 +102,13 @@ def default_project_dir
"#{PROJECTS_DIR}/SecGen#{Time.new.strftime("%Y%m%d_%H%M")}"
end
+def list_scenarios
+ Print.info "Full paths to scenario files are displayed below"
+ Dir["#{ROOT_DIR}/scenarios/**/*"].select{ |file| !File.directory? file}.each_with_index do |scenario_name, scenario_number|
+ Print.std "#{scenario_number}) #{scenario_name}"
+ end
+end
+
# end of method declarations
# start of program execution
@@ -195,6 +203,9 @@ case ARGV[0]
usage
exit
end
+ when 'list-scenarios'
+ list_scenarios
+ exit
else
Print.err "Command not valid: #{ARGV[0]}"
usage