Skip to content

Commit 6aad8b3

Browse files
committed
Changed the conditions if/elsif to case statements
1 parent 75b559e commit 6aad8b3

File tree

1 file changed

+27
-25
lines changed

1 file changed

+27
-25
lines changed

modules/post/linux/gather/enum_system.rb

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ class Metasploit3 < Msf::Post
1111
include Msf::Post::File
1212
include Msf::Post::Linux::System
1313

14-
1514
def initialize(info={})
1615
super( update_info( info,
1716
'Name' => 'Linux Gather System and User Information',
@@ -53,13 +52,15 @@ def run
5352
users = execute("/bin/cat /etc/passwd | cut -d : -f 1")
5453
user = execute("/usr/bin/whoami")
5554

55+
print_good("\tModule running as \"#{user}\" user")
56+
5657
installed_pkg = get_packages(distro[:distro])
5758
installed_svc = get_services(distro[:distro])
5859

5960
mount = execute("/bin/mount -l")
6061
crons = get_crons(users, user)
6162
diskspace = execute("/bin/df -ahT")
62-
disks = (mount +"\n\/"+ diskspace)
63+
disks = (mount + "\n\/" + diskspace)
6364
logfiles = execute("find /var/log -type f -perm -4 2> /dev/null")
6465
uidgid = execute("find / -xdev -type f -perm +6000 -perm -1 2> /dev/null")
6566

@@ -71,7 +72,6 @@ def run
7172
save("Disk info", disks)
7273
save("Logfiles", logfiles)
7374
save("Setuid/setgid files", uidgid)
74-
7575
end
7676

7777

@@ -107,16 +107,17 @@ def cat_file(filename)
107107
end
108108

109109
def get_packages(distro)
110-
packages_installed = nil
111-
if distro =~ /fedora|redhat|suse|mandrake|oracle|amazon/
110+
packages_installed = ""
111+
case distro
112+
when /fedora|redhat|suse|mandrake|oracle|amazon/
112113
packages_installed = execute("rpm -qa")
113-
elsif distro =~ /slackware/
114-
packages_installed = execute("ls /var/log/packages")
115-
elsif distro =~ /ubuntu|debian/
116-
packages_installed = execute("dpkg -l")
117-
elsif distro =~ /gentoo/
114+
when /slackware/
115+
packages_installed = execute("/bin/ls /var/log/packages")
116+
when /ubuntu|debian/
117+
packages_installed = execute("/usr/bin/dpkg -l")
118+
when /gentoo/
118119
packages_installed = execute("equery list")
119-
elsif distro =~ /arch/
120+
when /arch/
120121
packages_installed = execute("/usr/bin/pacman -Q")
121122
else
122123
print_error("Could not determine package manager to get list of installed packages")
@@ -126,46 +127,47 @@ def get_packages(distro)
126127

127128
def get_services(distro)
128129
services_installed = ""
129-
if distro =~ /fedora|redhat|suse|mandrake|oracle|amazon/
130+
case distro
131+
when /fedora|redhat|suse|mandrake|oracle|amazon/
130132
services_installed = execute("/sbin/chkconfig --list")
131-
elsif distro =~ /slackware/
133+
when /slackware/
132134
services_installed << "\nEnabled:\n*************************\n"
133135
services_installed << execute("ls -F /etc/rc.d | /bin/grep \'*$\'")
134136
services_installed << "\n\nDisabled:\n*************************\n"
135137
services_installed << execute("ls -F /etc/rc.d | /bin/grep \'[a-z0-9A-z]$\'")
136-
elsif distro =~ /ubuntu|debian/
137-
services_installed = execute("/usr/bin/service --status-all")
138-
elsif distro =~ /gentoo/
138+
when /ubuntu|debian/
139+
services_installed = execute("/usr/sbin/service --status-all")
140+
when /gentoo/
139141
services_installed = execute("/bin/rc-status --all")
140-
elsif distro =~ /arch/
141-
services_installed = execute("/bin/egrep '^DAEMONS' /etc/rc.conf")
142+
when /arch/
143+
services_installed = execute("/bin/grep '^DAEMONS' /etc/rc.conf")
142144
else
143-
print_error("Could not determine the Linux Distribution to get list of configured services")
145+
print_error("Could not determine the Linux Distribuition to get list of configured services")
144146
end
145147
return services_installed
146148
end
147149

148150
def get_crons(users, user)
149-
if user == "root" and users != nil
151+
if user == "root" && users != nil
150152
users = users.chomp.split()
151153
users.each do |u|
152154
if u == "root"
153155
vprint_status("Enumerating as root")
154156
cron_data = ""
155-
users.each do |u|
156-
cron_data += "*****Listing cron jobs for #{u}*****\n"
157-
cron_data += execute("crontab -u #{u} -l") + "\n\n"
157+
users.each do |usr|
158+
cron_data += "*****Listing cron jobs for #{usr}*****\n"
159+
cron_data += execute("crontab -u #{usr} -l") + "\n\n"
158160
end
159161
end
160162
end
161163
else
162-
vprint_status("Enumerating as #{user}")
164+
vprint_status("Enumerating as \"#{user}\"")
163165
cron_data = "***** Listing cron jobs for #{user} *****\n\n"
164166
cron_data += execute("crontab -l")
165167
end
166168

167169
# Save cron data to loot
168170
return cron_data
169-
170171
end
172+
171173
end

0 commit comments

Comments
 (0)