network/metasploit: Added (The Metasploit Framework)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
parent
7ef84b5770
commit
c9b228669f
|
@ -0,0 +1,13 @@
|
|||
The Metasploit Framework is a development platform for creating security
|
||||
tools and exploits. The framework is used by network security professionals
|
||||
to perform penetration tests, system administrators to verify patch
|
||||
installations, product vendors to perform regression testing, and security
|
||||
researchers world-wide. The framework is written in the Ruby programming
|
||||
language and includes components written in C and assembler.
|
||||
|
||||
This is just a repackaged version of the installer you get from the Metasploit
|
||||
download page. This is an all-in-one installer with Metasploit's own versions
|
||||
of Ruby, Java, and PostgreSQL.
|
||||
|
||||
Take a look at README.SLACKWARE for important build requirements and upgrading
|
||||
suggestions.
|
|
@ -0,0 +1,34 @@
|
|||
Please run the SlackBuild script as root user.
|
||||
|
||||
You will need "postgres" user and group before running the installer, if you
|
||||
haven't installed SlackBuilds PostgreSQL you should run these commands to be
|
||||
compatible:
|
||||
|
||||
# groupadd -g 209 postgres
|
||||
# useradd -u 209 -g 209 -d /var/lib/pgsql postgres
|
||||
|
||||
otherwise, you're already setup. Also, remember to add something like:
|
||||
|
||||
# Start Metasploit Framework PostgreSQL
|
||||
if [ -x /etc/rc.d/rc.metasploit ]; then
|
||||
/etc/rc.d/rc.metasploit start
|
||||
fi
|
||||
|
||||
to /etc/rc.d/rc.local to start the shipped PostgreSQL daemon and something
|
||||
like:
|
||||
|
||||
# Stop Metasploit Framework PostgreSQL
|
||||
if [ -x /etc/rc.d/rc.metasploit ]; then
|
||||
/etc/rc.d/rc.metasploit stop
|
||||
fi
|
||||
|
||||
to /etc/rc.d/rc.local_shutdown to stop the service.
|
||||
Default database server listening port is 7175, if you want to use another
|
||||
port, just export the PG_PORT variable when running the SlackBuild, like this:
|
||||
|
||||
# PG_PORT="5454" ./metasploit.SalckBuild
|
||||
|
||||
An optional cron script to keep the framework up to date is distributed inside
|
||||
the /usr/doc/metasploit-${VERSION} directory and it's called "msfupdate.sh",
|
||||
there also is a logrotate config file called "msfupdate.logrotate" which can
|
||||
be useful.
|
|
@ -0,0 +1,23 @@
|
|||
config() {
|
||||
NEW="$1"
|
||||
OLD="`dirname $NEW`/`basename $NEW .new`"
|
||||
# If there's no config file by that name, mv it over:
|
||||
if [ ! -r $OLD ]; then
|
||||
mv $NEW $OLD
|
||||
elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
|
||||
rm $NEW
|
||||
fi
|
||||
# Otherwise, we leave the .new copy for the admin to consider...
|
||||
}
|
||||
|
||||
# Keep same perms on rc.metasploit.new:
|
||||
if [ -e etc/rc.d/rc.metasploit ]; then
|
||||
cp -a etc/rc.d/rc.metasploit etc/rc.d/rc.metasploit.new.incoming
|
||||
cat etc/rc.d/rc.metasploit.new > etc/rc.d/rc.metasploit.new.incoming
|
||||
mv etc/rc.d/rc.metasploit.new.incoming etc/rc.d/rc.metasploit.new
|
||||
fi
|
||||
|
||||
config etc/rc.d/rc.metasploit.new
|
||||
# Initialize a msf3 git repo for msfupdate
|
||||
( cd opt/metasploit/apps/pro/msf3
|
||||
git init >/dev/null )
|
|
@ -0,0 +1,142 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Slackware build script for Metasploit Framework
|
||||
|
||||
# Copyright 2013 Andrea Villa <andreakarimodm@gmail.com>
|
||||
# Copyright 2010-2011 Marco Bonetti <sid77@slackware.it>
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use of this script, with or without modification, is
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of this script must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
PRGNAM=metasploit
|
||||
VERSION=${VERSION:-4.5.2}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
# Automatically determine the architecture we're building on:
|
||||
if [ -z "$ARCH" ]; then
|
||||
case "$( uname -m )" in
|
||||
i?86) ARCH=i486 ;;
|
||||
arm*) ARCH=arm ;;
|
||||
# Unless $ARCH is already set, use uname -m for all other archs:
|
||||
*) ARCH=$( uname -m ) ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
CWD=$(pwd)
|
||||
TMP=${TMP:-/tmp/SBo}
|
||||
PKG=$TMP/package-$PRGNAM
|
||||
OUTPUT=${OUTPUT:-/tmp}
|
||||
|
||||
BASEINSTDIR="opt"
|
||||
INSTDIR="$BASEINSTDIR/metasploit"
|
||||
|
||||
# PostgreSQL user and group
|
||||
PG_UID=${PG_UID:-209}
|
||||
PG_GID=${PG_GID:-209}
|
||||
|
||||
# On which port is PostgreSQL listening to?
|
||||
# Default is 7175, set PG_PORT to any other value if you want to customize it.
|
||||
PG_PORT=${PG_PORT:-7175}
|
||||
|
||||
# Bail out if user or group isn't valid on your system
|
||||
# For slackbuilds.org, assigned postgres uid/gid are 209/209
|
||||
# See http://slackbuilds.org/uid_gid.txt
|
||||
# Other popular choice is 26/26
|
||||
if ! grep ^postgres: /etc/group 2>&1 > /dev/null; then
|
||||
echo " You must have a postgres group to run this script."
|
||||
echo " # groupadd -g $PG_GID postgres"
|
||||
exit 1
|
||||
elif ! grep ^postgres: /etc/passwd 2>&1 > /dev/null; then
|
||||
echo " You must have a postgres user to run this script."
|
||||
echo " # useradd -u $PG_UID -g $PG_GID -d /var/lib/pgsql postgres"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$ARCH" = "i486" ]; then
|
||||
INSTALLERARCH=""
|
||||
elif [ "$ARCH" = "i686" ]; then
|
||||
INSTALLERARCH=""
|
||||
elif [ "$ARCH" = "x86_64" ]; then
|
||||
INSTALLERARCH="-x64"
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
rm -rf $PKG
|
||||
mkdir -p $TMP $PKG $OUTPUT
|
||||
|
||||
# Install Metasploit Framework DIRECTLY under /opt/metasploit (sorry!)
|
||||
echo "Installing the Metasploit Framework..."
|
||||
chown root:root $CWD/metasploit-$VERSION-linux$INSTALLERARCH-installer.run
|
||||
chmod 755 $CWD/metasploit-$VERSION-linux$INSTALLERARCH-installer.run
|
||||
$CWD/metasploit-$VERSION-linux$INSTALLERARCH-installer.run \
|
||||
--mode unattended \
|
||||
--unattendedmodeui none \
|
||||
--postgres_port $PG_PORT
|
||||
|
||||
# Stop Metasploit Framework PostgreSQL
|
||||
echo "Stopping Metasploit Framework..."
|
||||
INITSCRIPT=metasploit
|
||||
/etc/init.d/$INITSCRIPT stop
|
||||
|
||||
# Move install dir
|
||||
mkdir -p $PKG/$BASEINSTDIR
|
||||
mv /$INSTDIR $PKG/$BASEINSTDIR/
|
||||
|
||||
# Fix init script and move it to the right directory
|
||||
# This script is not handled by the uninstaller and the user should not call
|
||||
# the uninstall script anyway, so no problem if we made it more Slackware-ish
|
||||
echo "Fixing Metasploit Framework init script..."
|
||||
mkdir -p $PKG/etc/rc.d
|
||||
mv /etc/init.d/$INITSCRIPT $PKG/etc/rc.d/rc.$INITSCRIPT.new
|
||||
chown root:root $PKG/etc/rc.d/rc.$INITSCRIPT.new
|
||||
chmod 755 $PKG/etc/rc.d/rc.$INITSCRIPT.new
|
||||
# Default installation makes pro stuff, starting metasploit_SCRIPT and PROSVC_SCRIPT. Disable this...
|
||||
# We want only to start framework's PostgresSQL
|
||||
chmod -x $PKG/$INSTDIR/apps/pro/ui/scripts/ctl.sh
|
||||
chmod -x $PKG/$INSTDIR/apps/pro/engine/scripts/ctl.sh
|
||||
|
||||
# Install /usr/bin links
|
||||
mkdir -p $PKG/usr/bin
|
||||
echo "Installing links into /usr/bin..."
|
||||
( cd $PKG/usr/bin
|
||||
for file in $(ls ../../$INSTDIR/app/msf*); do
|
||||
ln -sf $file $(basename $file)
|
||||
done
|
||||
# also links armitage
|
||||
ln -sf ../../$INSTDIR/app/armitage armitage
|
||||
)
|
||||
|
||||
# Every useful doc is included inside the framework folder, just copy over the
|
||||
# README which contains the important copyright disclaimer and the cron script
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a $PKG/$INSTDIR/apps/pro/msf3/README.md $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cat $CWD/msfupdate.sh > $PKG/usr/doc/$PRGNAM-$VERSION/msfupdate.sh
|
||||
cat $CWD/msfupdate.logrotate > $PKG/usr/doc/$PRGNAM-$VERSION/msfupdate.logrotate
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE
|
||||
|
||||
mkdir -p $PKG/install
|
||||
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||
cat $CWD/doinst.sh > $PKG/install/doinst.sh
|
||||
|
||||
# Do NOT chown -R root:root or it will bork the shipped PostgreSQL
|
||||
# installation: the bitrock installer should have taken care of permissions
|
||||
cd $PKG
|
||||
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
|
|
@ -0,0 +1,10 @@
|
|||
PRGNAM="metasploit"
|
||||
VERSION="4.5.2"
|
||||
HOMEPAGE="http://www.metasploit.com/"
|
||||
DOWNLOAD="http://downloads.metasploit.com/data/releases/archive/metasploit-4.5.2-linux-installer.run"
|
||||
MD5SUM="ae927cd94b7140c9ee559951f18941e5"
|
||||
DOWNLOAD_x86_64="http://downloads.metasploit.com/data/releases/archive/metasploit-4.5.2-linux-x64-installer.run"
|
||||
MD5SUM_x86_64="2472c672951d6a1171c3c352a6577301"
|
||||
REQUIRES=""
|
||||
MAINTAINER="Andrea Villa"
|
||||
EMAIL="andreakarimodm@gmail.com"
|
|
@ -0,0 +1,10 @@
|
|||
/var/log/msfupdate.log {
|
||||
daily
|
||||
rotate 5
|
||||
compress
|
||||
delaycompress
|
||||
missingok
|
||||
notifempty
|
||||
create 0644 root root
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/sh
|
||||
/usr/bin/msfupdate >> /var/log/msfupdate.log 2>&1
|
|
@ -0,0 +1,19 @@
|
|||
# HOW TO EDIT THIS FILE:
|
||||
# The "handy ruler" below makes it easier to edit a package description.
|
||||
# Line up the first '|' above the ':' following the base package name, and
|
||||
# the '|' on the right side marks the last column you can put a character in.
|
||||
# You must make exactly 11 lines for the formatting to be correct. It's also
|
||||
# customary to leave one space after the ':' except on otherwise blank lines.
|
||||
|
||||
|-----handy-ruler------------------------------------------------------|
|
||||
metasploit: The Metasploit Framework (http://www.metasploit/)
|
||||
metasploit:
|
||||
metasploit: The Metasploit Framework is a development platform for creating
|
||||
metasploit: security tools and exploits. The framework is used by network
|
||||
metasploit: security professionals to perform penetration tests, system
|
||||
metasploit: administrators to verify patch installations, product vendors to
|
||||
metasploit: perform regression testing, and security researchers world-wide.
|
||||
metasploit: The framework is written in the Ruby programming language and
|
||||
metasploit: includes components written in C and assembler.
|
||||
metasploit:
|
||||
metasploit:
|
Loading…
Reference in New Issue