-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathmsfinstall
executable file
·160 lines (146 loc) · 5.4 KB
/
msfinstall
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
#!/bin/sh
print_pgp_key() {
cat <<-EOF
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
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
h3RIcafYvaF7yUDA
=hQKe
-----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
if [ ! -f $LIST_FILE ]; then
echo -n "Adding metasploit-framework to your repository list.."
echo "deb $DOWNLOAD_URI/apt lucid main" > $LIST_FILE
print_pgp_key | apt-key add -
fi
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 --force-yes 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
if [ ! -f $REPO_FILE ]; then
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}
fi
yum 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=http://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
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
;;
rpm)
install_rpm
;;
*)
install_pkg
esac