Το προφίλ μας στο Google Plus
0

Εγκατάσταση Metasploit Framework στο Arch Linux, αλλά από το Github!

Αν θέλετε το Metasploit στο Arch Linux, τρεις είναι οι επιλογές σας: 1) να εγκαταστήσετε το πακέτο ονόματι metasploit από το AUR (ουσιαστικά, πρόκειται για το binary από τη Rapid7 για το Arch Linux), 2) να εγκαταστήσετε το πακέτο metasploit-git από το AUR (είναι η εκδοχή git με τη μορφή πακέτου και κατ’ αυτόν τον τρόπο θα αναβαθμίζετε το Framework μέσω του AUR κι όχι με το msfupdate), 3) να εγκαταστήσετε το Metasploit Framework απευθείας από το Github. Η 3η αυτή επιλογή είναι εκείνη που προτιμάμε — και σας την προτείνουμε.

Η εγκατάσταση του Metasploit στο Arch από το Github δεν είναι ό,τι πιο απλό. Ο γράφων είχε αντιμετωπίσει κάποια προβλήματα και γι’ αυτό αποφάσισε να φτιάξει ένα installation script για εκείνους που ενδιαφέρονται να εγκαταστήσουν χρησιμοποιώντας το Git. Η όλη ιδέα προέκυψε από τη δουλειά του Carloz Perez, ο οποίος έχει κάνει κάτι παρόμοιο για τις διανομές Linux που βασίζονται στο Debian. Μπορείτε να κατεβάσετε το script του γράφοντα από το ακόλουθο URL:

https://github.com/teravice/MSF-ArchInstaller

Προσοχή: Μην εκτελέσετε το script ως root. Κάθε φορά που το script θα χρειάζεται δικαιώματα root θα σας ζητά το σχετικό password.

Μετά το κατέβασμα βεβαιωθείτε ότι το script είναι εκτελέσιμο (chmod +x …), τρέξτε το και μετά από λίγο απολαύστε την πλέον πρόσφατη έκδοση του Metasploit. Σε περίπτωση κάποιου λάθους δείτε το LOGFILE.txt, το οποίο θα έχει δημιουργηθεί στο home directory. Αν δεν μπορείτε να βρείτε τι έχει “στραβώσει”, δημοσιεύστε το μήνυμα λάθους στο Github ή επικοινωνήστε με τον γράφοντα. Εναλλακτικά, μπορείτε πάντα να συμβουλευτείτε την παρούσα δημοσίευση και να ακολουθήσετε ένα προς ένα τα βήματα της διαδικασίας εγκατάστασης.

Σημείωση: Από την έκδοση v4.11.1 το Metasploit πέρασε στη Ruby 2.1.*. Αυτή η αλλαγή βελτιώνει *σημαντικά* την ταχύτητα του Framework.

Η διαδικασία της εγκατάστασης
Βεβαιωθείτε ότι το σύστημά σας είναι ενημερωμένο και φροντίστε ώστε να είναι παρούσες οι απαραίτητες εξαρτήσεις.

sudo pacman -Syyu
sudo pacman -S --needed wget git gcc patch curl zlib readline autoconf automake diffutils 
make libtool bison subversion gnupg postgresql python python2-pysqlite-legacy gtk2 pygtk

Κατεβάστε την πλέον πρόσφατη έκδοση της Ruby 2.1.* από το AUR, αποσυμπιέστε και δημιουργήστε τα αντίστοιχα packages. Για το κατέβασμα θα καταφύγουμε στο wget, ώστε να πάρουμε το tar.gz απευθείας. Εναλλακτικά, μπορείτε να πάτε στο https://aur.archlinux.org και να κατεβάσετε το tarball μόνος σας. Τέλος, μπορείτε να το εγκαταστήσετε πληκτρολογώντας “yaourt -S ruby-2.1” (χωρίς τα εισαγωγικά).

wget -P /tmp https://aur.archlinux.org/packages/ru/ruby-2.1/ruby-2.1.tar.gz
cd /tmp
tar -xvf ruby-2.1.tar.gz

Χάρη στο διακόπτη “-s” που δίνουμε στο makepkg, τυχούσες εξαρτήσεις της Ruby που απουσιάζουν θα εγκατασταθούν αυτομάτως.

cd ruby-2.1
makepkg -s

Θα δημιουργηθούν δύο πακέτα. Εγκαταστήστε τα αμφότερα, έτσι:

sudo pacman -U ruby*.pkg.tar.xz 

Στη συνέχεια οφείλουμε να προσθέσουμε στη μεταβλητή περιβάλλοντος PATH το directory στο οποίο θα εγκαθίστανται τα gems (της Ruby).

su root
echo 'PATH="$(ruby -e "print Gem.user_dir")/bin:$PATH"' >> /etc/profile
echo 'export PATH' >> /etc/profile
exit

Μιας και προς το παρόν δεν σκοπεύουμε να επανεκκινήσουμε το σύστημα, ας φροντίσουμε ώστε οι αλλαγές που μόλις κάναμε να ληφθούν υπόψη:

source /etc/profile

Εγκαθιστούμε τώρα τρία βασικά gems, τα οποία θα χρειαστούμε άμεσα.

gem install wirble sqlite3 bundler

Μετά από όλη αυτή την προετοιμασία, φτιάχνουμε ένα directory όπου θα εγκαταστήσουμε όλα όσα χρειαζόμαστε.

sudo mkdir /opt/development

Μπορείτε να εκτελέσετε την ακόλουθη εντολή πληκτρολογώντας ό,τι ακριβώς βλέπετε ή στη θέση του $USERNAME να βάλετε το όνομα του χρήστη σας. Την ιδιοκτησία του καταλόγου την αλλάζουμε, αφού κάποια gems που απαιτούνται από το Metasploit θα χρειαστούν δικαιώματα για τροποποίηση αρχείων.

sudo chown -R $USERNAME:$USERNAME /opt/development
cd /opt/development

Συνεχίζουμε με το κατέβασμα της τελευταίας έκδοσης του Nmap από το SVN — και την εγκατάστασή του.

svn co https://svn.nmap.org/nmap
cd nmap

Η μεταγλώττιση και η εγκατάσταση επιτυγχάνονται με το γνωστό τρόπο:

./configure
make
sudo make install
make clean

Στο σημείο αυτό οφείλουμε να ελέγξουμε αν έχουμε locales για en_US.utf8, διαφορετικά η Postgres θα συναντήσει προβλήματα.

locale -a

Αν στα αποτελέσματα υπάρχει το en_US.utf8, τότε είμαστε έτοιμοι για τη συνέχεια. Αν δεν είναι, τότε πληκτρολογούμε τις δύο ακόλουθες εντολές (ανοίγουμε το locale.conf με δικαιώματα root, αφαιρούμε το # στα αριστερά του en_US.utf8, αποθηκεύουμε και τρέχουμε locale-gen):

sudo nano /etc/locale.conf
sudo locale-gen

Σειρά έχει η ρύθμιση της Postgres. Αρχικά, την ξεκινάμε δίνοντας

sudo systemctl start postgresql

Φροντίζουμε ώστε να ξεκινά αυτόματα κατά την εκκίνηση του λειτουργικού:

sudo systemctl enable postgresql

Δημιουργούμε το χρήστη της Postgres ονόματι msf, τον οποίο θα χρησιμοποιεί το Metasploit προκειμένου να συνδέεται στη βάση του.

sudo -u postgres createuser msf -P -S -R -D

Φτιάχνουμε βεβαίως και τη βάση ονόματι msf, στην οποία θα έχει δικαιώματα ο ομώνυμος χρήστης:

sudo -u postgres createdb -O msf msf

Έφτασε η στιγμή για την εγκατάσταση του ίδιου του Metasploit!

cd /opt/development
git clone https://github.com/rapid7/metasploit-framework.git
cd metasploit-framework

Χρειαζόμαστε και τα απαραίτητα gems:

bundle install

Ένα bug στη Ruby2.1.*, το οποίο επιβιώνει για πολύ καιρό τώρα, ενδέχεται να αποτρέψει το Metasploit από το να λειτουργήσει σωστά. Συγκεκριμένα, το αρχείο robots.rb έχει λανθασμένα δικαιώματα πρόσβασης. Αλλά δεν υπάρχει θέμα, αρκεί να καταφύγουμε στο chmod και να τα τροποποιήσουμε:

sudo chmod a+r /usr/lib/ruby/gems/2.1.0/gems/robots-0.10.1/lib/robots.rb

Προκειμένου να τρέχουμε το Metasploit χωρίς να μεταβαίνουμε πρώτα στον κατάλογο που το φιλοξενεί, αρκεί να δημιουργήσουμε τα κατάλληλα symbolic links.

sudo bash -c 'for MSF in $(ls msf*); do ln -s $PWD/$MSF /usr/local/bin/$MSF;done'

Θέλουμε το Metasploit με το που ξεκινά να συνδέεται στην κατάλληλη βάση της Postgres. Προς τούτο, δημιουργούμε το αρχείο database.yml κι αναθέτουμε την πλήρη διαδρομή του στην κατάλληλη μεταβλητή. Ας δημιουργήσουμε πρώτα το αρχείο:

sudo echo -e 'production:\n adapter: postgresql\n database: msf\n username: msf\n password: \n host: 127.0.0.1\n port: 5432\n pool: 75\n timeout: 5\n' > /opt/development/metasploit-framework/config/database.yml

Κάνουμε κι αυτή την ανάθεση που μόλις είπαμε:

sudo sh -c "echo export MSF_DATABASE_CONFIG=/opt/development/metasploit-framework/config/database.yml >> /etc/profile"

Βεβαίως, φροντίζουμε ώστε να φορτωθεί το νέο περιβάλλον:

source /etc/profile

Μένει να ρυθμίσουμε και το Armitage. Θα καταφύγουμε στο curl, ώστε να λάβουμε τη νεότερη έκδοση.

curl -# -o /tmp/armitage.tgz http://www.fastandeasyhacking.com/download/armitage-latest.tgz

Αποσυμπιέζουμε:

sudo tar -xvzf /tmp/armitage.tgz -C /opt/development

Δημιουργούμε και symlinks, ώστε να μπορούμε να τρέχουμε το Armitage απ’ οπουδήποτε:

sudo ln -s /opt/development/armitage/armitage /usr/local/bin/armitage
sudo ln -s /opt/development/armitage/teamserver /usr/local/bin/teamserver
sudo sh -c "echo java -jar /opt/development/armitage/armitage.jar \$\* > /opt/development/armitage/armitage"
sudo perl -pi -e 's/armitage.jar/\/opt\/development\/armitage\/armitage.jar/g' /opt/development/armitage/teamserver

Είμαστε έτοιμοι. Δώστε κι εσείς msfconsole και χαρείτε την πλέον πρόσφατη έκδοση του Metasploit Framework με όλα τα καλά του, στο αγαπημένο σας Arch Linux. Κάθε τόσο τρέχετε το msfupdate, ώστε να διατηρείτε το Metasploit ενημερωμένο. Ελπίζουμε να βρήκατε χρήσιμο αυτό τον οδηγό. Για αναφορές προβλημάτων, ερωτήσεις και αιτήσεις σχετικές μ’ αυτό το πρότζεκτ, παρακαλούμε χρησιμοποιήστε το Github. Ιδέες, προτάσεις και σχόλια είναι πάντα ευπρόσδεκτα.

Σημείωση της διεύθυνσης. Μπορείτε να μάθετε για τα Metasploit και Armitage παρακολουθώντας τα deltaCast s01e11 και deltaCast s02e12.

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων