Posts mit dem Label DNS werden angezeigt. Alle Posts anzeigen
Posts mit dem Label DNS werden angezeigt. Alle Posts anzeigen

Sonntag, 22. Februar 2026

Domain - Subdomain-Suche mit Hilfe von Subfinder

Subfinder ist ein beliebtes Open-Source-Tool, das Subdomains einer Domain aus öffentlichen Quellen sammelt. Es wird häufig von Pentestern und Sicherheitsforschern genutzt, um schnell einen Überblick über die Angriffsfläche einer Domain zu erhalten. Das Tool durchsucht verschiedene öffentliche Datenquellen und aggregiert die gefundenen Subdomains in einer übersichtlichen Liste.

Wofür wird Subfinder genutzt?

Mit Subfinder kannst du herausfinden, welche Subdomains einer Domain öffentlich auffindbar sind. Das ist besonders nützlich für:

  • Sicherheitsanalysen: Identifikation potenzieller Schwachstellen oder veralteter Systeme.
  • Bug Bounty: Erhöhung der Chancen, bisher unentdeckte Subdomains und damit verbundene Sicherheitslücken zu finden.
  • Infrastruktur-Überblick: Schnelle Übersicht über die digitale Präsenz eines Unternehmens.

Installation (Go-Toolchain)

Subfinder ist in Go geschrieben und lässt sich einfach installieren. Voraussetzung ist eine funktionierende Go-Umgebung. Die Installation erfolgt mit folgendem Befehl:

go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest

Nach der Installation steht dir der Befehl subfinder in deinem Terminal zur Verfügung.

Erste Schritte

Um Subdomains für eine Domain zu sammeln, führe einfach folgenden Befehl aus:

subfinder -d beispiel.de

Das Tool durchsucht nun verschiedene Quellen und gibt eine Liste aller gefundenen Subdomains aus.

Ähnlich wie theHarvester (Domain - Digitale Spurensuche mit dem Tool theHarvester), kann man auch hier für Dienste die einen API-Schlüssel benötigen diese hinterlegen. Siehe https://docs.projectdiscovery.io/opensource/subfinder/install#post-install-configuration.

Fazit

Subfinder ist ein mächtiges Werkzeug für jeden, der sich mit IT-Sicherheit, Pentesting oder Bug Bounty beschäftigt. Dank der einfachen Installation und Bedienung ist es ideal für den schnellen Einstieg in die Subdomain-Discovery.


Dienstag, 14. Oktober 2025

Domain - Digitale Spurensuche mit dem Tool theHarvester

theHarvester ist ein OSINT-Tool, das automatisiert öffentlich verfügbare Informationen zu Domains aggregiert. Es nutzt über 40 Datenquellen (Suchmaschinen, DNS-Scanner und Metadaten-Dienste), um IPs, Subdomains, E-Mail-Adressen und mehr für eine initiale Angriffsflächenanalyse zu erfassen. Eine weitere Möglichkeit hatte ich vor einiger Zeit unter Security - Amass (Automated Attack Surface Mapping).


theHarvester ist über Kali Linux bereits vorinstalliert (siehe auch Windows-Subsystem für Linux (WSL) - Installation Kali Linux). Alternativ lässt sich theHarvester auch via Docker, pipx oder über den Python-Paketmanager uv aus dem lokalen Quellcode starten. Siehe auch https://github.com/laramies/theHarvester/wiki/Installation.

Unter Windows 11 kann man die Module mit dem Paketmanager winget installieren:
winget install uv Git.Git
git clone https://github.com/laramies/theHarvester
cd theHarvester


Steam Deck (Arch Linux) Installation:
curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.local/bin/env
git clone https://github.com/laramies/theHarvester
cd theHarvester

Ausführen (-d 'shemel.de' Domain welche zu untersuchen ist, -b 'all' alle hinterlegten Quellen durchsuchen):
uv run theHarvester -d shemel.de -b all


Mit Hilfe von -f result, lassen sich alle Ergebnisse in eine result.xml und result.json schreiben.

Die Meldung "Missing API key for …" bedeutet, dass diese Dienste einen API-Schlüssel benötigen, für die in der Regel Gebühren anfallen. Den Schlüssel muss man in die Datei "api-keys.yaml" eintragen.

Donnerstag, 8. Mai 2025

E-Mail - Anbieter wechseln (Microsoft Exchange -> mailbox.org) mit eigener Domain (MX-Einträge in den DNS-Einstellungen)

Bereits seit über 7 Jahren nutze ich für E-Mail, Adressen und Termine Microsoft Exchange als gehosteten Service bei einem deutschen Anbieter (Hosted Microsoft Exchange von IONOS). Ich möchte nun den US-Anbieter Microsoft direkt meiden (nach dem ich bereits vor 2 Jahren komplett zu Linux gewechselt bin).


1. Schritt: Bestellung des "Standard-Tarif" beim E-Mail-Dienst mailbox.org

Dieser beinhaltet aktuell u.a. 10 GB Mail-Speicher, 25 Aliasse @mailbox.org, Kalender und Adressbuch. Zudem ist auch eine Nutzung von Exchange ActiveSync möglich.

Hinweis: Mann kann mailbox.org 30 Tage kostenlos testen, ohne das irgendwelche Kosten anfallen.

Um den Account vollständig zu aktivieren, muss man vor Ablauf der Testphase Guthaben einzahlen (hier werden versch. Zahlungsmöglichkeiten z.B. auch Bargeld auf dem Postweg angeboten).

2. Schritt: E-Mail-Adressen mit eigener Domain nutzen

Die nachfolgende Anleitung in der Wissensdatenbank von mailbox.org durchführen:
https://kb.mailbox.org/de/privat/e-mail-mit-eigener-domain/e-mail-adressen-mit-eigener-domain-nutzen/

Aktuell zeigt mein DNS-MX Eintrag noch auf ionos.de . Weitere Infos zu dem Thema findet ihr unter DNS - HTTPS Resource Record verwenden (Backup Server, Port-Signalisierung) und Mailserver - Zugriff auf TCP Port 25 (smtp) mit telnet testen.

dig hemel.it mx (vor DNS Umstellung)


Jetzt fügt man seinen Alias als Externe Adresse hinzu. Mailbox.org fragt nun im Hintergrund die DNS-Daten Ihrer Domain ab und prüft, ob der mailbox.org-Sicherheitsschlüssel bereits hinterlegt ist. 

Jetzt kann der mailbox.org-Schlüssel in den DNS-Einstellungen des Domain-Providers (in meinem Fall ist dies Host Europe) hinterlegt werden.

Bitte die Wartezeit des DNS-Updates beachten! Auch wenn es meistens deutlich schneller geht, kann die weltweite Synchronisation des neuen DNS-Eintrages bis zu 24 Stunden dauern.


Nun müssen die mailbox.org-MX-Einträge in den DNS-Einstellungen hinterlegt werden. Dies sorgt dafür, dass Mails die an den Domain-Alias geschickt werden auch zu den mailbox.org-Servern geroutet werden.

dig hemel.it mx (nach DNS Umstellung)


3. Schritt: Spam-Reputation im DNS optimieren

Bitte die Anleitung (https://kb.mailbox.org/de/privat/e-mail-mit-eigener-domain/spf-dkim-und-dmarc-spam-reputation-verbessern-und-bounces-vermeiden/) beachten und die folgenden DNS-Einstellungen vornehmen:

  1. Setzen des SPF-Eintrags und der Parameter als TXT-Record in den DNS-Einstellungen des Providers. Siehe z.B. https://www.hosteurope.de/faq/webhosting/allgemeines3/spf-eintrag-fuer-domain-setzen.
    • v=spf1 include:mailbox.org ~all

  2. Setzen der DKIM-Einträge als CNAME-Records in den DNS-Einstellungen Ihres Providers

  3. Setzen des DMARC-Eintrags und der Parameter als TXT-Record in den DNS-Einstellungen Ihres Providers

Ich wünsche euch viel Erfolg beim Einrichten und vor allem viel Spaß beim Nutzen von mailbox.org #UnplugTrump!


Dienstag, 11. Juni 2024

AVM FRITZ!Box - Risiko bei der lokalen Namensauflösung (fritz.box)

Schon seit 2016 kann die Top Level Domain .box gebucht werden (Neue Top Level Domain .box bringt manche Netze durcheinander), dies kann abhängig vom jeweiligen DNS-Resolver zu Problemen führen.Bei der Fritzbox von AVM wird standardmäßig der Domainname fritz.box im internen Netz verwendet.


Domainname fritz.box

Die Fritzbox ist im lokalen Netz über den Namen fritz.box erreichbar. Mann muss daher nicht die IP-Adresse z.B. 192.168.178.1, 192.168.1.1 eingeben. 

Allerdings kann die Domains fritz.box sowohl in privaten Netzen als auch im Internet registriert sein (Überfällig: ICANN legt sich auf Namen für interne Domains fest)! Überprüfen lässt sich dies mit Hilfe von nslookup fritz.box (siehe auch für die Verwendung).


Wie lässt sich das Problem bzw. der DNS-Resolver umgehen? 

 

Freitag, 17. Mai 2024

DNS - HTTPS Resource Record verwenden (Backup Server, Port-Signalisierung)

In meinem letzten Beitrag zum Thema DNS habe ich gezeigt, wie man die Eigene Domain auf eine andere IP mit Hilfe von Bind umleiten kann. Mit Hilfe des Domain Name System (DNS) wird die Namensauflösung im Internet durchgeführt. Diese Einträge werden als Resource Records (RR) bezeichnet. Die A- und die AAAA-Records sind zum Beispiel die Einträge für IPv4-/IPv6-Adressen der Server. Der DNS-Record „HTTPS“ kann als weiteres Steuerelement verwendet werden.


Der HTTPS-Record ist eine Variante des SVCB-Records und wurde speziell für die Verwendung mit dem HTTPS-Protokoll entwickelt. Um eine HTTPS-Verbindung aufzubauen, muss ein Client in der Regel zuerst eine HTTP-Verbindung aufbauen, dies erzeugt Latenz. Der DNS-Eintrag vom Typ HTTPS kann diese Latenz zu verringern.

Aufbau des HTTPS Resource Records

example.com. 300 IN HTTPS 10 backup01.example.com. alpn="h3,h2" port=8443

  • example.com. => Name - Domainname der Website
  • 300 => TTL - Time to Live: maximale Caching-Zeit
  • IN => Klasse Internet (konstanter Wert)
  • HTTPS => Typ des Resource Records
  • 10 => SvcPriority - Priorität des Eintrags (kleiner Wert = höhere Priorität)
  • backup01.example.com. => TargetName - Hostname des Webservers. Der Wert „.“ bedeutet, dass der Hostname dem Domainnamen der Website entspricht
  • alpn="h3,h2" port=8443 => SvcParams - Liste von definierten Parametern nach dem Schema „key=value“.

Quelle: https://de.wikipedia.org/wiki/HTTPS_Resource_Record

Die Abfrage des HTTPS-Record ist mit den Tools dig oder kdig möglich. Nicht aber mit nslookup!
dig google.com https

Installation mit Hilfe von sudo pacman -S dnsutils

Beispiele für die Nutzung des HTTPS-Record

Backup Server
example.com. 300 IN HTTPS 10 backup01.example.com.
example.com. 300 IN HTTPS 20 backup02.example.net.
example.com. 300 IN HTTPS 30 backup03.example.de.


Port-Signalisierung
app1.example.de IN HTTPS 1 . port=8443
Hier wird die Applikation nicht über den üblichen Port 443 ausgeliefert. Die Eingabe vom Port https://app1.example.de:8443/login in der URL kann entfallen.

Beispiel Abfragen von Records mit Hilfe von nslookup

Nslookup gefolgt vom Domänennamen zeigt den „A-Record“ (IP-Adresse) der Domain an.

(deck@steamdeck ~)$ nslookup shemel.de
Server:         127.0.0.53
Address:        127.0.0.53#53


Non-authoritative answer:
Name:   shemel.de
Address: 178.254.0.77



Abfrage des NS-Eintrags einer Domain
Der NS-Eintrag zeigt alle Nameserver einer Domain an.

(deck@steamdeck ~)$ nslookup -type=ns shemel.de
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
shemel.de       nameserver = ns01.1blu.de.
shemel.de       nameserver = ns02.1blu.de.



Abfrage des MX-Eintrags
Der MX-Eintrag (Mail-Exchange-Server) einer Domain. Siehe auch Mailserver - Zugriff auf TCP Port 25 (smtp) mit telnet testen.

(deck@steamdeck ~)$ nslookup -type=mx microsoft.com
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
microsoft.com   mail exchanger = 10 microsoft-com.mail.protection.outlook.com


Freitag, 5. Januar 2024

Raspberry Pi Pico - WLAN und Webserver Bibliothek "phew"

Der Raspberry Pi Pico W kostet nur ca. 10 Euro und ist somit viel günstiger als der normale Raspberry Pi oder Raspberry Pi Zero. Der Pico arbeitet mit einem RP2040 Mikrocontroller (ARM Cortex M0+ mit bis zu 133 MHz Taktfrequenz als CPU, 264 kByte RAM und 2 MByte Flash-Speicher).

In diesem Beitrag werde ich zeigen, wie man einen WLAN-Hotspot einrichtet und per Webserver eine Webseite bzw. eine Hotspot Anmeldewebseite (Captive Portal) ausliefert. Diese kann nun zum Identitätsdiebstahl dienen.


MicroPython installieren

MicroPython steht auf der folgenden Webseite https://micropython.org/download/RPI_PICO_W/ zum Download bereit.

Nach dem Download muss die UF2-Datei auf den Pico geladen werden. Hierfür muss die Boot-Selektor-Taste (BootSEL) gedrückt gehalten werden und der Pico per USB-Kabel mit dem Rechner verbunden werden.
Die Taste BootSEL kann jetzt losgelassen werden, der Pico wird jetzt als Massenspeicher RPI-RP2 erkannt und die Firmwaredatei kann kopiert werden.

Nach dem kopieren der Firmware-Datei, wird diese sofort installiert und es wird ein Reset durchgeführt (der Massenspeicher wird nicht mehr angezeigt).

Die Programmierung kann anschließend mit der Entwicklungsumgebung Thonny erfolgen.

Unter Linux (in meinem Fall das Steam Deck) ist folgendes zu beachten:
(deck@steamdeck Tools)$ ls -l /dev/ttyACM1
crw-rw---- 1 root uucp 166, 1 Jan  2 20:08 /dev/ttyACM1
(deck@steamdeck Tools)$ sudo usermod -a -G uucp deck


Siehe auch https://support.arduino.cc/hc/en-us/articles/360016495679-Fix-port-access-on-Linux.

"phew" Bibliothek (WLAN- und Webserver) installieren

Das aktuelle Release von "phew" unter https://github.com/pimoroni/phew/releases herunterladen und mit Hilfe von Thonny auf den Pico übertragen.


Jetzt lässt sich "phew" wie jede andere Bibliothek einbinden.

Hotspot-Popup (Captive-Portal) programmieren

Wir beginnen mit der main.py . Hier gibt es Abschnitte mit den Kommentaren „#Android Redirects“, „#Apple Redir“ und „#Microsoft Windows Redirects“. In diesen Abschnitten werden die jeweiligen Tests behandelt, die jedes Betriebssystem ausführt um auf ein Captive Portal zu reagieren.

#!/usr/bin/python
# coding=utf-8
# Captive Portal with a Raspberry Pi Pico W
# (c) Sebastian Hemel, www.shemel.de
# Based on picockpit.com/raspberry-pi/raspberry-pi-pico-w-captive-portal-hotspot-access-point-pop-up/
#-----------------------------------------------------------------------------------

from phew import access_point, logging, server, dns
from phew.template import render_template
from os import stat

# This is the address that is shown on the Captive Portal
DOMAIN = "fritz.box" #pico.wireless
# Change this to whatever Wifi SSID you wish
SSID = "Gast-WLAN" #Pico W Captive
HTDOCS = "htdocs"

#How to trigger the pop-up
@server.route("/hotspot-detect.html", methods=["GET"])     # apple redir
@server.route("/generate_204", methods=["GET"])            # android redirects
@server.route("/redirect", methods=["GET"])
def hotspot(request):
    logging.info("redirecting hotspot request " + request.path)
    return server.redirect(f"http://{DOMAIN}/", 302)

@server.route("/ncsi.txt", methods=["GET"])                # microsoft windows redirects
@server.route("/connecttest.txt", methods=["GET"])
def hotspot(request):
    return "", 200

@server.route("/", methods=['GET'])
def index(request):
    logging.info("route/ retrieving index.html")
    logging.info("Got data: " + request.query_string)
    return render_template(HTDOCS + "/index.html")

@server.route("route/data.html", methods=["GET"])
def hotspot(request):
    logging.info("/data.html retrieving index.html")
    logging.info("Got data: " + request.query_string)
    return render_template(HTDOCS + "/index.html")

@server.route("/log.txt", methods=["GET"])
def hotspot(request):
    return render_template("log.txt")

@server.catchall()
def catch_all(request):
    try:
        print("***************CATCHALL***********************\n" + str(request))
        stat(HTDOCS + request.path)
        return render_template(HTDOCS + request.path)
    except OSError:
        return "Not found:" + request.path, 404

# Set to Accesspoint mode
ap = access_point(SSID)
ip = ap.ifconfig()[0]
# Grab the IP address and store it
logging.info(f"starting DNS server on {ip}")
# Catch all (DNS server) requests and reroute them
dns.run_catchall(ip)
# Run the server
server.run()
logging.info("Webserver Started")


Im nächsten Schritt benötigen wir eine index.html , hierbei handelt es sich um eine einfache "Proof-of-Concept-Datei". Diese gibt sich als "Captive Portal" aus und fordert den User auf seine Zugangsdaten einzugeben.

     

<!DOCTYPE html>
<html lang="de">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Pico W Captive Portal</title>
      </head>
      <body>
        <h1>Willkommen beim Captive Portal</h1>
     
        <h2>Login</h2>
           <form id="login-form">
              <p>
            <input type="text" name="username" id="username-field" class="login-form-field" placeholder="Benutzername">
            </p>
              <p>
            <input type="password" name="password" id="password-field" class="login-form-field" placeholder="Passwort">
            </p>
            <input type="submit" value="Absenden" id="login-form-submit" onclick="validate()">
        </form>
       
<script>
    function validate(){
        var username = document.getElementById("username-field").value;
        var password = document.getElementById("password-field").value;
        if (username && password){
            alert ("Login erfolgreich!");
            window.location = "index.html?username="+username+"&password="+password; // Redirecting to other page.
            return false;
        }
        else{
            alert("Bitte geben Sie Ihre Zugangsdaten ein!");
            return false;
        }
    }   
</script>
       
    </body>
</html>

Diese werden durch das Python Script jedoch in eine log.txt gespeichert ;-) .

Hinweis: Bitte beachtet hier den § 202c Vorbereiten des Ausspähens und Abfangens von Daten!

Sonntag, 20. August 2023

Raspberry Pi-hole - Android ignoriert PiHole DNS

Ich hatte bei meinem Google Pixel Android Smartphone das Problem, dass die DNS-Einstellungen einer (per DHCP zugewiesen) mein PiHole umgangen wurde "Android sometimes bypassing the PiHole".


Dies kann folgende Ursachen haben:

  • Android 9 und höher verfügt über eine private DNS-Option, die Google DNS im automatischen Modus verwendet. "Private DNS" sollte "deaktiviert sein". Überprüft daher dies unter Einstellungen/Netzwerk und Internet/Privates DNS.
  • Durch das Anbieten eines anderen DNS-Server (z.B. FritzBox 2. DNS Eintrag). Pi-hole sollte der einzige für Clients verfügbare DNS-Server sein.
  • Android werwendet IPv6, "IPv6 deaktivieren", um zu überprüfen, ob das die Ursache ist? => Dies war auch genau mein Problem. Ich habe auf meiner FritzBox im Heimnetzwerk IPv6 komplett deaktiviert.

  • Android verwendet heimlich 8.8.8.8 (Google DNS) als sekundären DNS.


Sonntag, 23. Oktober 2022

Raspberry Pi-hole - Lokale Namen auflösen (Conditional Forwarding)

Möchte man in seinem lokalen Netz den eigenen Server oder auch die AVM FRITZ!Box unter dem eigen Namen erreichen, klappt dies nach der Raspberry Pi-hole - Installation nicht mehr. Es wird nämlich die lokale Namensauflösung übergangen. Dies lässt sich aber mit Hilfe von Conditional Forwarding wieder konfigurieren.

Mit Hilfe von Conditional Forwarding kann man den Filter auffordern, lokale Adressen nicht beim Upstream-DNS-Server zu erfragen.

Hierfür unter "Settings" => "DNS" => "Conditional Forwarding" den folgenden Eintrag (z.B. für eine fritz.box) eintragen:



Sonntag, 31. Juli 2022

Windows 11 - DNS-Abfragen über HTTPS (DoH) absichern

DNS over HTTPS (DoH) bzw. Verschlüsselte Namensauflösung im Internet (#DNS over TLS) ist ein Sicherheits-Feature, das die Authentizität des DNS-Servers gewährleistet und die Anfragen an diesen Dienst verschlüsselt überträgt. Microsoft hat den Support für DoH in Windows 11 und Windows 10 integriert. Alternativ ist dies auch mit Hilfe vom Pi-hole möglich. In diesem Beitrag gehe ich kurz auf die Aktivierung der Funktion ein.

DoH-Unterstützung im Web-Browser

Die aktuellen Versionen aller gängigen Browser unterstützen bereits DoH. Siehe hierzu auch Microsoft Edge - Privatsphärenschutz verbessern / Startseite entfernen. Der Browser löst dann die Adressen über seinen eigenen integrierten DNS-Client verschlüsselt auf.

DoH-Unterstützung unter Windows

Unter "Einstellungen" => "Netzwerk und Internet" kann man die Einstellungen von Ethernet oder WLAN bearbeiten. Dabei muss man von "DHCP" auf "Manuell" umstellen und den DNS-Server manuell setzen.
Hier erlaubt Windows jetzt die Auswahl einer Option für die DNS-Verschlüsselung, wenn die Adressen dieser Server in der Liste der bekannten DoH-Server vorhanden sind (Get-DNSClientDohServerAddress).

Siehe auch https://docs.microsoft.com/de-de/windows-server/networking/dns/doh-client-support.


Samstag, 18. Dezember 2021

Android - Werbeblocker (DNS-Server ändern) unterwegs nutzen

Mit Hilfe von Pi-Hole (siehe auch Raspberry Pi-hole - Installation) und einem alternativen DNS-Anbieter ist es recht einfach möglich systemweit Werbung (in Browser und Apps) zu blocken (siehe auch Werbung und Usertracking per DNS unterbinden). Möchte man diesen Vorteil auch unterwegs nutzen und es besteht keine Möglichkeit sich per VPN (VPN Zugriff mit der Fritz Box) in das Heimnetz einzuwählen, dann lässt sich ein alternativer DNS-Server auch direkt unter Android leicht einrichten.


Alternative DNS-Server unter Android einrichten

DNS-Konfiguration unter Android:

  • "Einstellungen" => "Drahtlos & Netzwerke" bzw. "Netzwerk & Internet"
  • Option => "Privates DNS"
  • Option => "Privates DNS konfigurieren"


Und jetzt im Textfeld die Adresse des DNS-Server Anbieters eingeben:


DNS-Anbieter:

  • dnsforge.de - https://dnsforge.de
  • BlahDNS - https://blahdns.com
  • Quad9 - https://www.quad9.net


Am Ende kann man die Einstellungen einfach schließen, der DNS ist jetzt fertig eingerichtet.

Montag, 26. Juli 2021

Security - Amass (Automated Attack Surface Mapping)

Amass ist ein vielseitiges Cybersicherheitstool zum Sammeln von Informationen über Internet-Domains. Amass fragt z.B. Suchmaschinen an, untersucht SSL-Zertifikate und sendet Reverse-DNS-Anfragen an die jeweilige Domain. So lassen sich z.B. vergessene Server aufspüren und gezielt angreifen.

Eine Installation mit Hilfe von Docker, ist sehr schnell möglich:

sudo docker build -t amass https://github.com/OWASP/Amass.git

Hinweis: Docker muss natürlich installiert sein (sudo apt install docker.io) und der Docker Daemon muss gestartet sein (sudo dockerd) "Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?". Siehe auch https://sebastianhemel.blogspot.com/2020/12/raspberry-pi-docker-installieren-arm.html .

Andere Installationsmöglichkeiten finden sich unter: https://github.com/OWASP/Amass/blob/master/doc/install.md

Zu dem ist Amass auch Bestandteil von Kali Linux einer Linux-Distribution (Debian basierend), die eine Sammlung von Tools für Penetrationstests und digitale Forensik umfasst. Siehe auch https://gitlab.com/kalilinux/packages/amass/blob/kali/master/doc/user_guide.md.

Das Ausführen über das Docker-Image ist relativ einfach und so kann man z.B. mit dem folgenden Befehl alle Subdomains einer bestimmten Domain herausfinden.

sudo docker run -v ~:/.config/amass/ amass enum -ip -d shemel.de

Amass verfügt über folgende Unterbefehle:

  • amass intel -- Discover targets for enumerations
  • amass enum -- Perform enumerations and network mapping
  • amass viz -- Visualize enumeration results
  • amass track -- Track differences between enumerations
  • amass db -- Manipulate the Amass graph database

Weitere Informationen und Beispiele finden sich hier:

 

Mittwoch, 6. September 2017

DNS - Eigene Domain auf eine andere IP mit Bind umleiten

Mit Hilfe des Domain Name System (DNS) wird die Namensauflösung im Internet durchgeführt. Gibt man z.B. die Domain beispiel.de ein, dann wird diese vom DNS in die zugehörige IP-Adresse umgewandelt.

Zum Beispiel wird eine Domain in eine
  • IPv4-Adresse 82.165.229.138 oder eine 
  • IPv6-Adresse 2a02:2e0:3fe:1001:7777:772e:2:85
umgewandelt und der Browser leitet die Anfragen zu dem richtigen Server weiter.

Dies kann man selber z.B. mit dem Befehl ping in der Komandozeile testen:
Möchte man sichergehen, dass eine IPv6 Adresse angezeigt wird (sofern vorhanden), dann verwendent man ping -6 www.domainname.de .

DNS Eintrag einer eigenen Domain ändern

Besitzt man einen eigenen Server (z.B. virtueller Server von Host Europe) kann man diesen als DNS-Server mit Hilfe des Programms Bind verwenden. Hierdurch ist es möglich, eine Domain auf einen anderen Server zeigen zu lassen. Anwendungsfälle wären  z.B. ein Server Umzug oder ein schneller Domainumzug ohne auth-code.

Bind ist die aktuell am häufigsten verwendete DNS Software im Internet. Dieser kann mit dem folgenden Befehl installiert werden:
sudo apt-get install bind9
Des weiteren ist es auch sinnvoll, die Programme dig und dnsutils zu installieren, damit man die Namensauflösungen anschließend testen kann.
sudo apt-get install dnsutils
sudo apt-get install dig

Beispiel: Anpassen der IP-Adresse für eine Domain

Bevor man mit der Anpassung starten kann, ist es nötig die neue IP-Adresse noch bei einem weiteren DNS-Server einzutragen (secondary DNS). Denn nur so, wird auch wirklich die neue IP-Adresse übernommen. Hierfür kann man z.B. den Service von http://www.twisted4life.com verwenden.

Man gibt dafür den Domainnamen ein und die IP-Adresse des primären DNS Server (auf den wir soeben bind installiert haben).


Anschließend sagt uns der Service auch, welchen Eintrag wir in der Zonendatei (named.conf.local) vornehmen müssen:

zone "simxxxxxx.xe" { //yourdomain.com
    type master;
    file "/etc/bind/db.simxxxxxx.xe"; //yourdomain.com
    allow-transfer {
       202.157.182.142;
    };
};


Nach der Installation befinden sich alle nötigen Dateien unter /etc/bind/ , hier ist die zentrale Datei /etc/bind/named.conf . In der die folgenden Dateien inkludiert werden:
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
Jetzt wird der oben genannte Eintrag in named.conf.local vorgenommen und es muss noch eine Zonendatei für den Master Eintrag erstellt werden.

Die Datei db.simxxxxxx.xe sollte dann in etwa so aussehen (IPextern ist dann die neue IP-Adresse der Domain):

// Serial aufbau: Form YYYYMMDDSS, mit YYYY=Jahr, MM=Monat, DD=Tag und SS=zweistellige Seriennummer, die bei mehreren Änderungen an einem Tag jeweils um eins erhöht wird.
// Kommentare werden durch „;“ (Semikolon) eingeleitet. Alles, was rechts von einem „;“ auftaucht, gilt als Kommentar.


; simxxxxxx.xe
$TTL    604800
@       IN      SOA    
simxxxxxx.xe root.simxxxxxx.xe. (
2014010301 ; Serial
28800 ; refresh - 8 Stunden
7200 ; retry - 2 Stunden
604800 ; expire - 1 Woche
604800 ; Negative Cache TTL
                        )

@               IN      NS      ns1.
simxxxxxx.xe.
@               IN      NS      ns1.twisted4life.com.


;MX-Records
@ IN MX 1 aspmx.l.google.com.
@ IN MX 3 alt1.aspmx.l.google.com.
@ IN MX 3 alt2.aspmx.l.google.com.
@ IN MX 5 aspmx2.googlemail.com.
@ IN MX 5 aspmx3.googlemail.com.
@ IN MX 5 aspmx4.googlemail.com.
@ IN MX 5 aspmx5.googlemail.com.
@ 86400 IN TXT "v=spf1 include:_spf.google.com ~all"

ns1.
simxxxxxx.xe.   1800  IN  A    178.2XX.XX.X4 ; IPvserver
@                   1800  IN  A    85.2XX.XX.X8  ; IPextern
*                   1800  IN  A    85.2XX.XX.X8  ; IPextern
 


In dem oben genannten Beispiel wurden auch die MX-Records auf Google angepasst, damit dieser Mailserver verwendet werden kann. Siehe auch https://support.google.com/a/answer/33915 .

Anschließend muss ein reload von Bind erfolgen.
sudo /etc/init.d/bind9 reload
Zu guter Letzt muss auf der Provider Seite (wo die Domain gebucht ist) eine Anpassung des DNS Eintrags erfolgen:


Mit einem nslookup kann jetzt überprüft werden, ob die neue IP-Adresse für die Domain übernommen werden konnte.
nslookup simxxxxxx.xe 178.2XX.XX.X4