Wie kann Metasploit an Neujahr auf dem Raspberry Pi Zero W mit Ruby in 3 Stunden installiert werden?

Mit den Worten von Wikipedia, Metasplit ist ein “freies Open-Source-Projekt zur Computersicherheit, das Informationen über Sicherheitslücken bietet und bei Penetrationstests sowie der Entwicklung von IDS-Signaturen eingesetzt werden kann.” Es ist in der Programmiersprache Ruby implementiert, ja es gibt auch eine JavaGui. Dazu später mehr.

Wie wird das nun aber auf einen Raspberry P Zero W installiert?

Ein Github Account und ein aktuelles Debian ist Vorraussetzung.

# System updaten
sudo apt-get update
sudo apt-get upgrade

# ein paar Abhängigkeiten die evl. noch nicht vorhanden sind installieren
sudo apt-get -y install \
screen \
build-essential zlib1g zlib1g-dev \
libxml2 libxml2-dev libxslt-dev locate \
libreadline6-dev libcurl4-openssl-dev git-core \
libssl-dev libyaml-dev openssl autoconf libtool \
ncurses-dev bison curl wget postgresql \
postgresql-contrib libpq-dev \
libapr1 libaprutil1 libsvn1 \
libpcap-dev

# Key von Michal Papis installieren
command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
# Ergebnis:
# gpg: key 3804BB82D39DC0E3: public key "Michal Papis (RVM signing) " imported
# gpg: Total number processed: 1
# gpg:               imported: 1
# gpg: marginals needed: 3  completes needed: 1  trust model: pgp
# gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
# gpg: next trustdb check due at 2019-12-26

# Ausführen des bash Script zum installieren von Ruby 2.4.1

curl -L https://get.rvm.io | bash -s stable --ruby

# es werden die folgenden Schritte ausgeführt:
#
#   rvm_install_initialize
#   rvm_install_commands_setup
#   rvm_install_default_settings
#   rvm_install_parse_params "$@"
#   rvm_install_validate_rvm_path
#   rvm_install_validate_volume_mount_mode
#   rvm_install_select_and_get_version
#   rvm_install_main
#   rvm_install_ruby_and_gems
#
# Stunden später da das compilieren dauert ...

#
# ...
# To start using RVM you need to run `source /home/pi/.rvm/scripts/rvm`
#    in all your open shell windows, in rare cases you need to reopen all shell windows.
# Ok, dann einmal:

source /home/pi/.rvm/scripts/rvm

# dann noch eine Default-Gemset erzeugen mit 

rvm use --create --default 2.4.1@msf
# das geht schnell, Ergebnis:
# ruby-2.4.1 - #gemset created /home/pi/.rvm/gems/ruby-2.4.1@msf
# ruby-2.4.1 - #generating msf wrappers..........
# Using /home/pi/.rvm/gems/ruby-2.4.1 with gemset msf

# nun erzeugen wir uns noch ein Verzeichnis für Metasploit 
mkdir metasploit
# und wechseln dahin
cd metasploit

# nun erzeugen wir auf dem Pi einen SSH Key und hinterlegen in auf GitHub zum clonen des Metasplit repo
# erzeugen des Keys, mit einem guten Passwort
ssh-keygen -t rsa -f ~/.ssh/github
# anlegen der .ssh/confi Datei mit dem Github eintrag:
vi ~/.ssh/config
Host github.com
  IdentityFile ~/.ssh/github

# unter Personal Settings - SSH keys - New SSH Key geben wir den Inhalt der Datei ~/.ssh/github ein
# dann können wir das Repo von Github clonen

git clone git@github.com:rapid7/metasploit-framework.git .

# Wir werden dann nach dem Key Passwort gefragt, und geben es ein. 
# nach ein 10 Minuten wenn alles abgeschlossen ist, starten wir die Datenbank

sudo /etc/init.d/postgresql start
# Ergebnis:
# Starting postgresql (via systemctl): postgresql.service.

# dann legen wir noch einen eigenen DB User mit Passwort an
sudo su postgres
createuser msf_user -P
# und die DB
createdb --owner=msf_user msf_database
exit

# nun brauchen wir noch einen bundler 1.16.1, den wir installieren mit
gem install bundler
# Ergebniss
# Fetching: bundler-1.16.1.gem (100%)
# Successfully installed bundler-1.16.1
# Parsing documentation for bundler-1.16.1
# Installing ri documentation for bundler-1.16.1
# Done installing documentation for bundler after 173 seconds
# 1 gem installed

# jetzt fehlt noch rake 12.3.0
gem install rake
# und Ascii85
gem install Ascii85
# und concurrent-ruby-1.0.5
gem install concurrent-ruby
# und i18n-0.9.1
gem install i18n-0.9.1
# und minitest-5.10.3
gem install minitest-5.10.3
# und thread_safe-0.3.6
gem install thread_safe
# und tzinfo-1.2.4
gem install tzinfo
# und activesupport 5.1.4
gem install activesupport

# alles installieren
bundle install

# nun noch das auto-configure für YARD einschalten für das automatische bauen des yri index für die installierten gems
yard config --gem-install-yri

# nun können wir zum ersten mal Metasploit starten
ruby ./msfconsole -L
# und nach ca. 2 Minuten läuft Metasploit 4.16.29 auf dem Raspberry Pi Zero W ...

# cool ...

Wie kann Metasploit an Neujahr auf dem Raspberry Pi Zero W mit Ruby in 3 Stunden installiert werden?

Dann wollen wir uns von der Konsole mal mit der DB verbinden.

# PASSWORT durch das oben vergebene DB Passwort ersetzen
db_connect msf_user:PASSWORT@localhost/msf_database

# Antwort: [*] Rebuilding the module cache in the background...

# Checken ob DB Verbindung steht mit
db_status

# Anwort:
# [*] postgresql connected to msf_database
# Super, dann ist ja alles ok und es kann losgehen ...

Nun Checken wir mal mit dem banner Befehl, wieviele “dinge” so installiert sind, hier mal zwei Beispiele der Ausgabe:

Wie kann Metasploit an Neujahr auf dem Raspberry Pi Zero W mit Ruby in 3 Stunden installiert werden?

Wie kann Metasploit an Neujahr auf dem Raspberry Pi Zero W mit Ruby in 3 Stunden installiert werden?

Es gibt also aktuell 1717 Exploits und 985 Auxiliaries und 507 Payloads.

Exploits sind Code, mit dem eine Schwachstelle ausgenutzt wird.

Auxiliarys helfen dabei, Informationen über das Zielsystem einzuholen wie Portscanner und DNS-Abfragen.

Payload bezeichnet den eigentlichen Schadcode der in das Zielsystem gebracht wird.

Es ist auch ein nmap 7.4 integriert, dann braucht man auf dem Pi wie hier beschrieben kein eigenes installieren.

nmap -version
[*] exec: nmap -version

Nmap version 7.40 ( https://nmap.org )
Platform: arm-unknown-linux-gnueabihf
Compiled with: liblua-5.3.3 openssl-1.1.0c libpcre-8.39 libpcap-1.8.1 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select

Wie geht es jetzt weiter? Lesen der metasploit-unleashed Anleitung

Oder ein show exploits in der Konsole, dann sieht man wie lange es auf dem kleinen Pi dauert (10 min) …

Ähnliche Artikel:

  1. Wie kann das klassische Tool, nmap Version 6.46 zum Analysieren eines LANs (und auch WLANs) auf einem Raspberry Pi installiert werden?
  2. Wie kann die aktuellste Node.js v0.10.29 auf einem Raspberry Pi (Version Jessie) installiert werden?
  3. Wie kann auf einem Raspberry Pi ein Subversion und Apache Server installiert werden?

wallpaper-1019588
Defekt ist nicht gleich defekt
wallpaper-1019588
„Viele haben bei dem Begriff „klassischen R’n’B“ vielleicht immer noch so ne Plastik Assoziation“ – Ray Novacane im Interview
wallpaper-1019588
Zähne im Alter – Behandlungsmöglichkeiten, Zahnarztkosten und die großen Preisunterschiede
wallpaper-1019588
Kurzfilm: "Die Reise zum Mond" / "Le voyage dans la lune" [F 1902]
wallpaper-1019588
Kluster: Gleich beim ersten Ton
wallpaper-1019588
Bodhicitta ist kein Benefizkonzert oder…
wallpaper-1019588
Mystery Art Orchestra: Vor Ort gefischt
wallpaper-1019588
Gemeinsam Lesen 24.04.2018