{"id":9467,"date":"2018-01-01T09:48:26","date_gmt":"2018-01-01T08:48:26","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=9467"},"modified":"2021-05-22T18:22:44","modified_gmt":"2021-05-22T16:22:44","slug":"wie-kann-metasploit-an-neujahr-auf-dem-raspberry-pi-zero-w-mit-ruby-in-3-stunden-installiert-werden","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=9467","title":{"rendered":"Wie kann Metasploit an Neujahr auf dem Raspberry Pi Zero W mit Ruby in 3 Stunden installiert werden?"},"content":{"rendered":"<p>Mit den Worten von Wikipedia, <a href=\"https:\/\/de.wikipedia.org\/wiki\/Metasploit\" rel=\"noopener\" target=\"_blank\">Metasploit<\/a> ist ein &#8222;freies Open-Source-Projekt zur Computersicherheit, das Informationen \u00fcber Sicherheitsl\u00fccken bietet und bei Penetrationstests sowie der Entwicklung von IDS-Signaturen eingesetzt werden kann.&#8220; Es ist in der Programmiersprache Ruby implementiert, ja es gibt auch eine JavaGui. Dazu sp\u00e4ter mehr.<\/p>\n<p>Wie wird das nun aber auf einen Raspberry P Zero W installiert?<\/p>\n<p>Ein Github Account und ein aktuelles Debian ist Vorraussetzung.<!--more--><\/p>\n<pre class=\"lang:default decode:true \" >\r\n\r\n# System updaten\r\nsudo apt-get update\r\nsudo apt-get upgrade\r\n\r\n# ein paar Abh\u00e4ngigkeiten die evl. noch nicht vorhanden sind installieren\r\nsudo apt-get -y install \\\r\nscreen \\\r\nbuild-essential zlib1g zlib1g-dev \\\r\nlibxml2 libxml2-dev libxslt-dev locate \\\r\nlibreadline6-dev libcurl4-openssl-dev git-core \\\r\nlibssl-dev libyaml-dev openssl autoconf libtool \\\r\nncurses-dev bison curl wget postgresql \\\r\npostgresql-contrib libpq-dev \\\r\nlibapr1 libaprutil1 libsvn1 \\\r\nlibpcap-dev\r\n\r\n# Key von Michal Papis installieren\r\ncommand curl -sSL https:\/\/rvm.io\/mpapis.asc | gpg2 --import -\r\n# Ergebnis:\r\n# gpg: key 3804BB82D39DC0E3: public key \"Michal Papis (RVM signing) <mpapis@gmail.com>\" imported\r\n# gpg: Total number processed: 1\r\n# gpg:               imported: 1\r\n# gpg: marginals needed: 3  completes needed: 1  trust model: pgp\r\n# gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u\r\n# gpg: next trustdb check due at 2019-12-26\r\n\r\n# Ausf\u00fchren des bash Script zum installieren von Ruby 2.4.1\r\n\r\ncurl -L https:\/\/get.rvm.io | bash -s stable --ruby\r\n\r\n# es werden die folgenden Schritte ausgef\u00fchrt:\r\n#\r\n#   rvm_install_initialize\r\n#   rvm_install_commands_setup\r\n#   rvm_install_default_settings\r\n#   rvm_install_parse_params \"$@\"\r\n#   rvm_install_validate_rvm_path\r\n#   rvm_install_validate_volume_mount_mode\r\n#   rvm_install_select_and_get_version\r\n#   rvm_install_main\r\n#   rvm_install_ruby_and_gems\r\n#\r\n# Stunden sp\u00e4ter da das compilieren dauert ...\r\n\r\n#\r\n# ...\r\n# To start using RVM you need to run `source \/home\/pi\/.rvm\/scripts\/rvm`\r\n#    in all your open shell windows, in rare cases you need to reopen all shell windows.\r\n# Ok, dann einmal:\r\n\r\nsource \/home\/pi\/.rvm\/scripts\/rvm\r\n\r\n# dann noch eine Default-Gemset erzeugen mit \r\n\r\nrvm use --create --default 2.4.1@msf\r\n# das geht schnell, Ergebnis:\r\n# ruby-2.4.1 - #gemset created \/home\/pi\/.rvm\/gems\/ruby-2.4.1@msf\r\n# ruby-2.4.1 - #generating msf wrappers..........\r\n# Using \/home\/pi\/.rvm\/gems\/ruby-2.4.1 with gemset msf\r\n\r\n# nun erzeugen wir uns noch ein Verzeichnis f\u00fcr Metasploit \r\nmkdir metasploit\r\n# und wechseln dahin\r\ncd metasploit\r\n\r\n# nun erzeugen wir auf dem Pi einen SSH Key und hinterlegen in auf GitHub zum clonen des Metasplit repo\r\n# erzeugen des Keys, mit einem guten Passwort\r\nssh-keygen -t rsa -f ~\/.ssh\/github\r\n# anlegen der .ssh\/confi Datei mit dem Github eintrag:\r\nvi ~\/.ssh\/config\r\nHost github.com\r\n  IdentityFile ~\/.ssh\/github\r\n\r\n# unter <strong>Personal Settings - SSH keys - New SSH Key<\/strong> geben wir den Inhalt der Datei ~\/.ssh\/github ein\r\n# dann k\u00f6nnen wir das Repo von Github clonen\r\n\r\ngit clone git@github.com:rapid7\/metasploit-framework.git .\r\n\r\n# Wir werden dann nach dem Key Passwort gefragt, und geben es ein. \r\n# nach ein 10 Minuten wenn alles abgeschlossen ist, starten wir die Datenbank\r\n\r\nsudo \/etc\/init.d\/postgresql start\r\n# Ergebnis:\r\n# Starting postgresql (via systemctl): postgresql.service.\r\n\r\n# dann legen wir noch einen eigenen DB User mit Passwort an\r\nsudo su postgres\r\ncreateuser msf_user -P\r\n# und die DB\r\ncreatedb --owner=msf_user msf_database\r\nexit\r\n\r\n# nun brauchen wir noch einen bundler 1.16.1, den wir installieren mit\r\ngem install bundler\r\n# Ergebniss\r\n# Fetching: bundler-1.16.1.gem (100%)\r\n# Successfully installed bundler-1.16.1\r\n# Parsing documentation for bundler-1.16.1\r\n# Installing ri documentation for bundler-1.16.1\r\n# Done installing documentation for bundler after 173 seconds\r\n# 1 gem installed\r\n\r\n# jetzt fehlt noch rake 12.3.0\r\ngem install rake\r\n# und Ascii85\r\ngem install Ascii85\r\n# und concurrent-ruby-1.0.5\r\ngem install concurrent-ruby\r\n# und i18n-0.9.1\r\ngem install i18n-0.9.1\r\n# und minitest-5.10.3\r\ngem install minitest-5.10.3\r\n# und thread_safe-0.3.6\r\ngem install thread_safe\r\n# und tzinfo-1.2.4\r\ngem install tzinfo\r\n# und activesupport 5.1.4\r\ngem install activesupport\r\n\r\n# alles installieren\r\nbundle install\r\n\r\n# nun noch das auto-configure f\u00fcr YARD einschalten f\u00fcr das automatische bauen des yri index f\u00fcr die installierten gems\r\nyard config --gem-install-yri\r\n\r\n# nun k\u00f6nnen wir zum ersten mal Metasploit starten\r\nruby .\/msfconsole -L\r\n# und nach ca. 2 Minuten l\u00e4uft Metasploit 4.16.29 auf dem Raspberry Pi Zero W ...\r\n\r\n# cool ...\r\n<\/pre>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/12\/Bildschirmfoto-2018-01-01-um-07.58.38.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/12\/Bildschirmfoto-2018-01-01-um-07.58.38.png\" alt=\"\" width=\"748\" height=\"216\" class=\"aligncenter size-full wp-image-9472\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/12\/Bildschirmfoto-2018-01-01-um-07.58.38.png 748w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/12\/Bildschirmfoto-2018-01-01-um-07.58.38-300x87.png 300w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><\/p>\n<p>Dann wollen wir uns von der Konsole mal mit der DB verbinden.<\/p>\n<pre class=\"lang:default decode:true \" >\r\n# PASSWORT durch das oben vergebene DB Passwort ersetzen\r\ndb_connect msf_user:PASSWORT@localhost\/msf_database\r\n\r\n# Antwort: [*] Rebuilding the module cache in the background...\r\n\r\n# Checken ob DB Verbindung steht mit\r\ndb_status\r\n\r\n# Anwort:\r\n# [*] postgresql connected to msf_database\r\n# Super, dann ist ja alles ok und es kann losgehen ...\r\n\r\n<\/pre>\n<p>Nun Checken wir mal mit dem <strong>banner<\/strong> Befehl, wieviele &#8222;dinge&#8220; so installiert sind, hier mal zwei Beispiele der Ausgabe:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/01\/Bildschirmfoto-2018-01-01-um-09.01.38.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/01\/Bildschirmfoto-2018-01-01-um-09.01.38-246x300.png\" alt=\"\" width=\"246\" height=\"300\" class=\"aligncenter size-medium wp-image-9475\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/01\/Bildschirmfoto-2018-01-01-um-09.01.38-246x300.png 246w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/01\/Bildschirmfoto-2018-01-01-um-09.01.38.png 699w\" sizes=\"auto, (max-width: 246px) 100vw, 246px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/01\/Bildschirmfoto-2018-01-01-um-09.02.17.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/01\/Bildschirmfoto-2018-01-01-um-09.02.17.png\" alt=\"\" width=\"886\" height=\"468\" class=\"aligncenter size-full wp-image-9476\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/01\/Bildschirmfoto-2018-01-01-um-09.02.17.png 886w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/01\/Bildschirmfoto-2018-01-01-um-09.02.17-300x158.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/01\/Bildschirmfoto-2018-01-01-um-09.02.17-768x406.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Es gibt also aktuell 1717 Exploits und 985 Auxiliaries und 507 Payloads.<\/p>\n<p><strong>Exploits<\/strong> sind Code, mit dem eine Schwachstelle ausgenutzt wird. <\/p>\n<p><strong>Auxiliarys<\/strong> helfen dabei, Informationen \u00fcber das Zielsystem einzuholen wie Portscanner und DNS-Abfragen.<\/p>\n<p><strong>Payload<\/strong> bezeichnet den eigentlichen Schadcode der in das Zielsystem gebracht wird.<\/p>\n<p>Es ist auch ein nmap 7.4 integriert, dann braucht man auf dem Pi wie <a href=\"http:\/\/blog.wenzlaff.de\/?p=3789\" rel=\"noopener\" target=\"_blank\">hier beschrieben<\/a> <strong>kein<\/strong> eigenes installieren.<\/p>\n<pre class=\"lang:default decode:true \" > \r\n\r\nnmap -version\r\n[*] exec: nmap -version\r\n\r\nNmap version 7.40 ( https:\/\/nmap.org )\r\nPlatform: arm-unknown-linux-gnueabihf\r\nCompiled with: liblua-5.3.3 openssl-1.1.0c libpcre-8.39 libpcap-1.8.1 nmap-libdnet-1.12 ipv6\r\nCompiled without:\r\nAvailable nsock engines: epoll poll select\r\n\r\n<\/pre>\n<p>Wie geht es jetzt weiter? Lesen der <a href=\"https:\/\/www.offensive-security.com\/metasploit-unleashed\/\" rel=\"noopener\" target=\"_blank\">metasploit-unleashed Anleitung<\/a> &#8230;<\/p>\n<p>Oder ein <strong>show exploits<\/strong> in der Konsole, dann sieht man wie lange es auf dem kleinen Pi dauert (10 min) &#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit den Worten von Wikipedia, Metasploit ist ein &#8222;freies Open-Source-Projekt zur Computersicherheit, das Informationen \u00fcber Sicherheitsl\u00fccken bietet und bei Penetrationstests sowie der Entwicklung von IDS-Signaturen eingesetzt werden kann.&#8220; Es ist in der Programmiersprache Ruby implementiert, ja es gibt auch eine JavaGui. Dazu sp\u00e4ter mehr. Wie wird das nun aber auf einen Raspberry P Zero W &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=9467\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eWie kann Metasploit an Neujahr auf dem Raspberry Pi Zero W mit Ruby in 3 Stunden installiert werden?\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[220,79,3087,1319],"tags":[3070,3090,3089,3091,3092,3093,3088,3094,256],"class_list":["post-9467","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-programmierung","category-ruby","category-sicherheit-2","tag-3070","tag-hacker","tag-metasploit","tag-neujahr","tag-pen","tag-pentest","tag-ruby","tag-testsicherheit","tag-tool"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/9467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9467"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/9467\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9467"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}