#!/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 < /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 < ${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