-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmsfinstall
More file actions
175 lines (160 loc) · 6 KB
/
Copy pathmsfinstall
File metadata and controls
175 lines (160 loc) · 6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
#!/bin/sh
print_pgp_key() {
cat <<-EOF
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
1eSkvlybSqyysNHzCJ1r
=ugjl
-----END PGP PUBLIC KEY BLOCK-----
EOF
}
install_deb() {
LIST_FILE=/etc/apt/sources.list.d/metasploit-framework.list
PREF_FILE=/etc/apt/preferences.d/pin-metasploit.pref
echo -n "Adding metasploit-framework to your repository list.."
echo "deb [signed-by=/usr/share/keyrings/metasploit-framework.gpg] $DOWNLOAD_URI/apt lucid main" > $LIST_FILE
print_pgp_key | gpg --dearmor -o /usr/share/keyrings/metasploit-framework.gpg
if [ ! -f $PREF_FILE ]; then
mkdir -p /etc/apt/preferences.d/
cat > $PREF_FILE <<EOF
Package: metasploit*
Pin: origin downloads.metasploit.com
Pin-Priority: 1000
EOF
fi
echo -n "Updating package cache.."
apt-get update > /dev/null
echo "OK"
echo "Checking for and installing update.."
apt-get install -y --allow-downgrades metasploit-framework
}
install_rpm() {
echo "Checking for and installing update.."
REPO_FILE=/etc/yum.repos.d/metasploit-framework.repo
GPG_KEY_FILE=/etc/pki/rpm-gpg/RPM-GPG-KEY-Metasploit
echo -n "Adding metasploit-framework to your repository list.."
cat > /etc/yum.repos.d/metasploit-framework.repo <<EOF
[metasploit]
name=Metasploit
baseurl=$DOWNLOAD_URI/rpm
gpgcheck=1
gpgkey=file://$GPG_KEY_FILE
enabled=1
EOF
print_pgp_key > ${GPG_KEY_FILE}
yum install -y metasploit-framework
}
install_suse() {
echo "Checking for and installing update.."
GPG_KEY_FILE_DIR=/etc/pki/rpm-gpg
GPG_KEY_FILE=${GPG_KEY_FILE_DIR}/RPM-GPG-KEY-Metasploit
echo -n "Adding metasploit-framework to your repository list.."
if [ ! -d $GPG_KEY_FILE_DIR ]; then
mkdir -p $GPG_KEY_FILE_DIR
fi
zypper ar -f $DOWNLOAD_URI/rpm metasploit
print_pgp_key > ${GPG_KEY_FILE}
rpmkeys --import ${GPG_KEY_FILE}
zypper install -y metasploit-framework
}
install_pkg()
{
(
cd ~/Downloads
echo "Downloading package..."
curl -O "$DOWNLOAD_URI/osx/metasploitframework-latest.pkg"
echo "Checking signature..."
if pkgutil --check-signature metasploitframework-latest.pkg; then
echo "Installing package..."
installer -pkg metasploitframework-latest.pkg -target /
fi
echo "Cleaning up..."
rm -fv metasploitframework-latest.pkg
)
}
DOWNLOAD_URI=https://downloads.metasploit.com/data/releases/metasploit-framework
PKGTYPE=unknown
ID=`id -u`
if [ -f /etc/redhat-release ] ; then
PKGTYPE=rpm
elif [ -f /etc/system-release ] ; then
# If /etc/system-release is present, this is likely a distro that uses RPM.
PKGTYPE=rpm
else
if uname -sv | grep 'Darwin' > /dev/null; then
PKGTYPE=pkg
elif [ -f /usr/bin/zypper ] ; then
PKGTYPE=sus
else
PKGTYPE=deb
fi
fi
if [ "$ID" -ne 0 ]; then
if ! hash sudo 2>/dev/null; then
echo "This script must be executed as the 'root' user or with sudo"
exit 1
else
echo "Switching to root user to update the package"
sudo -E $0 $@
exit 0
fi
fi
case $PKGTYPE in
deb)
install_deb
;;
sus)
install_suse
;;
rpm)
install_rpm
;;
*)
install_pkg
esac