
Crawlector ist ein Threat-Hunting-Framework, das zum Scannen von Websites auf schädliche Objekte entwickelt wurde.
Crawlector (der Name Crawlector ist eine Kombination aus Crawler & Detector) ist ein Threat-Hunting-Framework, das zum Scannen von Websites auf schädliche Objekte entwickelt wurde.
Hinweis-1: Das Framework wurde erstmals auf der No Hat Konferenz in Bergamo, Italien am 22. Oktober 2022 vorgestellt (Folien, YouTube-Aufzeichnung). Außerdem wurde es zum zweiten Mal auf der AVAR Konferenz in Singapur am 2. Dezember 2022 präsentiert.
Hinweis-2: Das begleitende Tool EKFiddle2Yara (ist ein Tool, das EKFiddle-Regeln nimmt und in Yara-Regeln umwandelt), das im Vortrag erwähnt wurde, wurde ebenfalls auf beiden Konferenzen veröffentlicht.
Hinweis-3: Version 2.0 (Photoid Build:180923), ein Meilenstein-Release, wurde am 18. September 2023 veröffentlicht.
Hinweis-4: Version 2.1 (Universe-647 Build:031023) wurde am 3. Oktober 2023 veröffentlicht. Eine wichtige Neuerung ist die Slack-Benachrichtigungsfunktion.
Hinweis-5: Version 2.2 (Hallstatt Build:051123) wurde am 5. November 2023 veröffentlicht. Eine wichtige Neuerung ist die Slack-Fernsteuerungsfunktion.
Hinweis-6: Version 2.3 (München Build:241123) wurde am 24. November 2023 veröffentlicht. Eine wichtige Neuerung ist die DNS-Nameserver-Funktion.
Hinweis-6: Version 2.3.1 {Nero Build:131225} wurde am 13. Dezember 2025 veröffentlicht. Dies ist ein Wartungs-Release.
Dies dient der Überprüfung auf bösartige URLs für jede gescannte Seite. Das Framework kann entweder die Liste der bösartigen URLs vom URLHaus-Server abfragen (Konfiguration: url_list_web) oder aus einer Datei auf der Festplatte (Konfiguration: url_list_file). Wenn Letzteres angegeben ist, hat es Vorrang vor Ersterem.
Es funktioniert, indem der Inhalt jeder Seite gegen alle URL-Einträge in url_list_web oder url_list_file durchsucht wird, um alle Vorkommen zu überprüfen. Wenn eine Übereinstimmung gefunden wird und die Konfigurationsoption check_url_api auf true gesetzt ist, sendet Crawlector eine POST-Anfrage an die in der url_api-Konfigurationsoption festgelegte API-URL, die ein JSON-Objekt mit zusätzlichen Informationen über eine übereinstimmende URL zurückgibt. Solche Informationen umfassen urlh_status (z. B. online, offline, unbekannt), urlh_threat (z. B. malware_download), urlh_tags (z. B. elf, Mozi) und urlh_reference (z. B. https://urlhaus.abuse.ch/url/1116455/). Diese Informationen werden in der Logdatei cl_mlog_<aktuelles_Datum><aktuelle_Zeit><(vormittags|nachmittags)>.csv (siehe unten) aufgenommen, jedoch nur, wenn check_url_api auf true gesetzt ist. Andernfalls enthält die Logdatei die Spalten urlh_url (Liste der übereinstimmenden bösartigen URLs) und urlh_hit (Anzahl der Vorkommen für jede übereinstimmende bösartige URL), abhängig davon, ob check_url auf true gesetzt ist.
Die URLHaus-Funktion kann vollständig deaktiviert werden, indem die Konfigurationsoption check_url auf false gesetzt wird.
Es ist wichtig zu beachten, dass diese Funktion das Scannen verlangsamen kann, angesichts der riesigen Anzahl von bösartigen URLs (~ 130 Millionen Einträge zum Zeitpunkt dieses Schreibens), die überprüft werden müssen, und der Zeit, die benötigt wird, um zusätzliche Informationen vom URLHaus-Server zu erhalten (wenn die Option check_url_api auf true gesetzt ist).
Sie müssen sich mit der Konfigurationsdatei cl_config.ini vertraut machen, bevor Sie eine Sitzung ausführen. Alle Abschnitte und Parameter sind in der Konfigurationsdatei selbst dokumentiert.
Die Yara-Offline-Scan-Funktion ist eine eigenständige Option, d.h., wenn sie aktiviert ist, führt Crawlector nur diese Funktion aus, unabhängig von anderen aktivierten Funktionen. Gleiches gilt für die Funktion zum Crawlen nach digitalen Zertifikaten von Domains/Sites. In jedem Fall wird empfohlen, alle nicht verwendeten Funktionen in der Konfigurationsdatei zu deaktivieren.
log_to_file oder log_to_cons): Wenn eine Yara-Regel nur die Attribute eines Moduls referenziert (z. B. PE, ELF, Hash usw.), zeigt Crawlector bei einem Treffer nur den Namen der Regel an, ohne Offset- und Längendaten.Hinweis: Geben Sie für jede Option, die einen Pfad erwartet, immer den absoluten Pfad an.
Um eine Website zu besuchen/scannen, muss die Liste der URLs in Textdateien im Verzeichnis „cl_sites“ gespeichert werden.
Crawlector akzeptiert drei Arten von URLs:
[a-zA-Z0-9_-]{1,128} = <url><id>[depth:<0|1>-><\d+>,total:<\d+>,sleep:<\d+>] = <url>
Zum Beispiel:
mfmokbel[depth:1->3,total:10,sleep:0] = https://www.mfmokbel.com
was äquivalent ist zu:
mfmokbel[d:1->3,t:10,s:0] = https://www.mfmokbel.com
wobei <id> := [a-zA-Z0-9_-]{1,128}
depth, total und sleep können auch durch ihre Kurzformen d, t und s ersetzt werden.
40 (10 + (10*3)) URLs erhalten.Hinweis 1: Eine URL vom Typ 3 kann in eine URL vom Typ 1 umgewandelt werden, indem der Konfigurationsparameter live_crawler in der Konfigurationsdatei im Spider-Abschnitt auf false gesetzt wird.
Hinweis 2: Leere Zeilen und Zeilen, die mit „;“ oder „//“ beginnen, werden ignoriert.
Die Spider-Funktionalität ermöglicht es Crawlector, zusätzliche Links auf der Zielseite zu finden. Der Spider unterstützt die folgenden Funktionen:
exclude_url. Zum Beispiel: *.zip|*.exe|*.rar|*.zip|*.7z|*.pdf|.*bat|*.dbinclude_url. Zum Beispiel: */checkout/*|*/products/*exclude_https ausschließen.add_ext_links. Diese Funktion berücksichtigt die Konfigurationsoptionen exclude_url und include_url.ext_links_only. Diese Funktion berücksichtigt die Konfigurationsoptionen exclude_url und .In Version 2.0 haben die IDs ihre Typen explizit zugewiesen, indem einer der folgenden Typen an die ID selbst angehängt wird:
Jede ID trägt ihren Typ bei sich, was das Durchsuchen und Filtern der Ergebnisse erleichtert. Darüber hinaus wird dies intern aus verschiedenen Gründen verwendet.
site_ranking in der Konfigurationsdatei bietet einige Optionen, um zu ändern, wie die CSV-Datei gelesen wirdsite bietet die Möglichkeit, eine bestimmte Website zu erweitern, indem versucht wird, alle verfügbaren Top-Level-Domains (TLDs) und/oder Subdomains für dieselbe Domain zu finden. Wenn neue TLDs/Subdomains gefunden werden, werden sie wie jede andere Domain überprüftrapid_api_key in der Konfigurationsdatei einfind_tlds aktiviert ist, versucht das Framework zusätzlich zu den Omnisint Labs API TLD-Ergebnissen, andere aktive/registrierte Domains zu finden, indem es jeden TLD-Eintrag in entweder der tlds_file oder der tlds_url durchgehttlds_url gesetzt ist, sollte es auf eine URL verweisen, die TLDs hostet, jede in einer neuen Zeile (Zeilen, die mit einem der Zeichen ';', '#' oder '//' beginnen, werden ignoriert)tlds_file enthält den Dateinamen, der die Liste der TLDs enthält (wie bei tlds_url; es ist nur die TLD ohne den Punkt vorhanden, z. B. "com", "org")Die URL-Weiterleitungsfunktion in früheren Versionen war fehlerhaft. Diese Version bietet eine vollständige Neufassung der Weiterleitungsfunktion mit einem hohen Grad an Parametrisierung zur Steuerung ihres Betriebs. In Version 2.0 hat die Weiterleitung einen eigenen Abschnitt in der Konfigurationsdatei mit dem Namen [redirect]. Die gesamte Weiterleitungsfunktionalität kann über die Option follow_redir im Abschnitt [default] ein- oder ausgeschaltet werden.
Die Weiterleitungsfunktion prüft die HTTP-Antwortstatuscodes: 301, 302, 303, 307 und 308. Im Falle einer Übereinstimmung analysiert Crawlector den Location-Header auf die Weiterleitungs-URL, wobei sowohl absolute als auch relative Weiterleitungs-URLs berücksichtigt werden. Die Weiterleitungsfunktion in Crawlector wurde auf Leistung und Agilität ausgelegt. Der [redirect]-Abschnitt bietet die folgende Liste von Optionen:
Die Option depth akzeptiert einen der Werte last oder all. Sie steuert, welche gefundenen Weiterleitungs-URLs besucht werden, abhängig davon, ob die Option visit aktiviert ist oder nicht. all dient zum Besuchen aller gefundenen Weiterleitungs-URLs. last dient zum Besuchen der letzten Weiterleitungs-URL. Der Besuch dieser URLs erfolgt in derselben/aktuellen Sitzung. Beachten Sie, dass Crawlector unabhängig vom Wert von depth die Liste aller gefundenen Weiterleitungen zu URLs zusammen mit der Gesamtzahl in absoluter Form aufzeichnet. Sie werden in die CSV-Datei cl_mlog in den Spalten redirect_urls und redirect_total geschrieben.
Die Option max_redirect setzt eine Obergrenze für die Gesamtzahl der zu entdeckenden URL-Weiterleitungen.
Die Option skip_similar lässt sich am besten anhand des folgenden Beispiels erklären:
Angenommen, die Crawlector zum Crawlen übergebene ursprüngliche URL ist "https://www.mfa.gov.law" und eine der gefundenen redirect_urls ist "https://mfa.gov.law/". Wie Sie sehen, ist der einzige Unterschied der abschließende Schrägstrich am Ende der URL. Diese beiden URLs sind identisch, und der Server wird mit derselben Seite antworten. Wenn die Option visit auf true gesetzt ist, wird Crawlector beide URLs crawlen, was Ressourcen verschwendet und dieselbe Aufgabe zweimal ausführt. Dies mag bei 1 oder 2 URLs kein Problem darstellen, aber wenn Sie Tausende von URLs crawlen möchten und die Option visit aktiviert ist, ist die Wahrscheinlichkeit sehr hoch, dass mehr als die Hälfte von ihnen eine solche entdeckte URL aufweist. In diesem Fall wird dies zu einem dringenden Problem, das berücksichtigt werden muss. Daher hilft das Setzen der Option skip_similar auf true, dieses Problem zu lösen, indem das Besuchen ähnlicher URLs übersprungen wird. Zusätzlich zum Szenario mit dem Schrägstrich berücksichtigt die Option skip_similar auch die folgenden beiden Szenarien: wenn sich die Weiterleitungs-URL nur durch eine oder beide der Präfixe "https://" und "www." unterscheidet.
Eine der wichtigsten Neuerungen in Version 2.0 ist die Möglichkeit, verschiedene Arten von Objekten aus der Seite zu extrahieren, sie auf der Festplatte zu speichern, mit Yara & URLHaus zu scannen und die Ergebnisse in der CSV-Datei zu speichern. Um diese Funktion zu aktivieren, setzen Sie die Option extract_obj im Abschnitt [page] auf true.Die Implementierung der Funktion zur tiefen Objektextraktion funktioniert, indem eine MHT-Webarchivdatei von der Webseite erstellt wird, einschließlich externer Skripte, Bilder und CSS-Dateien. Alle eingebetteten Dateien werden in den durch die Option obj_dir angegebenen Pfad extrahiert (Pfad: obj_dir/objects/), wo jede Datei gescannt wird. Die Implementierung ist nicht mit der Funktionalität eines Headless-Browsers zu verwechseln. DOE unterscheidet sich davon und beinhaltet nicht das Laden der Seite, um alle dynamisch abgefragten URLs abzurufen. Daher hat es seine Grenzen.
Alle extrahierten Objekte werden einen Teil ihrer Metadaten in die CSV-Datei schreiben. Was beim Lesen der CSV-Datei zu beachten ist: Die ID der Domain mit dem extrahierten Objekt hat ein einzigartiges Format, wie folgt, <domain_id>_<type>_p_obj_<counter> (zum Beispiel _mfa_gov_cef40bc5-ba6a-41_t1_p_obj_0_). Und die URL wird das folgende Format haben: <url>__<object_filename> (zum Beispiel https://www.mfa.gov.law\_\_bilmur.min.js).
Wenn die Option delete_obj auf true gesetzt ist, werden alle extrahierten Objekte, die nicht von Yara erkannt werden, von der Festplatte gelöscht. Wenn die Option log_all_objs auf true gesetzt ist, werden alle Metadaten der extrahierten Objekte in dieselbe cl_mlog CSV-Datei protokolliert. Wenn die Option check_urlhaus unter dem Abschnitt [page] auf true gesetzt ist, wird jedes extrahierte Objekt einem URLHaus-Scan unterzogen. Beachten Sie, dass die Optionen dieser Option vom Abschnitt [urlhaus] geerbt werden.
Hinweis: Wenn die gecrawlte Domain auf eine andere Domain weiterleitet, muss die letzte Weiterleitungs-URL an DOE übergeben werden, damit es funktioniert. Außerdem muss die Domain mit "HTTP(S)://" beginnen, damit DOE funktioniert.
Manchmal möchten Sie Crawlector-Sitzungen ausführen, die Tage dauern können, z. B. beim Crawlen der Top-1-Million-Alexa-Websites. Für ein solches Szenario benötigen Sie eine Möglichkeit, den Betrieb und Fortschritt des Frameworks remote zu überwachen. Daher habe ich in Version 2.1 die Slack-Benachrichtigungsfunktion hinzugefügt, um einen Mechanismus zur Echtzeitüberwachung der Ausführung von Crawlector bereitzustellen, indem Yara-Warnungen, std::exit()-Ereignisse sowie Prozesswarnungen und -fehler an einen Slack-Kanal Ihrer Wahl gesendet werden. Darüber hinaus installiert Crawlector einen Konsolenhandler, um bestimmte Ereignistypen zu überwachen, darunter ctrl_c, ctrl_close, ctrl_break, ctrl_logoff und ctrl_shutdown. Es ist wichtig zu bedenken, dass Crawlector das Standardverhalten des Handlers nicht ändert; es meldet lediglich den Empfang der aufgeführten Ereignisse an den Slack-Kanal. Dies könnte in Zukunft erweitert werden, um andere Ereignistypen zu berücksichtigen.
Diese Funktion verwendet die Slack-REST-API und zur Authentifizierung mit dem Server OAuth 2.0. Sie benötigen ein Slack-API-Token zur Nutzung und einen Kanal mit den entsprechenden Berechtigungen. Diese Funktion sendet nur Nachrichten an den Slack-Kanal und empfängt oder verarbeitet keine eingehenden Nachrichten.
Der Abschnitt [slack_alert] bietet die folgende Liste von Optionen:
Um diese Funktion zu deaktivieren oder zu aktivieren, setzen Sie die Option alert einfach auf true oder false. Außerdem müssen Sie das api_token mit einem channel-Namen angeben.
Hinweis-1: In der Initialisierungsphase von Crawlector wird geprüft, ob das bereitgestellte Authentifizierungstoken gültig ist oder ob der Kanal festgelegt ist. Im Fehlerfall wird diese Funktion automatisch deaktiviert.
Alle an den Slack-Kanal gemeldeten Warnungen werden unter dem Benutzernamen Crawlector v<Versionsnummer> gemeldet, z. B. Crawlector v2.1. Der Benutzer hat das Symbol eines Spinnennetzes. Darüber hinaus werden alle Warnungen verknüpft (threaded), d. h. alle nachfolgenden Warnungen nach der ersten Startnachricht werden als Antworten gepostet. Dies war eine Designentscheidung und hilft, wenn Sie mehrere Sitzungen gleichzeitig ausführen, die alle an denselben Kanal melden. Einige Warnungen verwenden die Markdown-Auszeichnungssprache zur Formatierung.
Wenn der Prozess erfolgreich beendet wird und kurz vor dem Beenden steht, wird die folgende Nachricht gepostet:
Crawlector wurde beendet und wird erfolgreich heruntergefahren
Hinweis-2: Das Slack-Ratenlimit für die Post-Nachrichten-API beträgt eine Nachricht pro Sekunde, mit Spielraum für einige Bursts. Crawlector stellt keine Nachrichten in die Warteschlange, um mehr Posts pro Sekunde zu ermöglichen. Dies könnte sich in Zukunft ändern, falls erforderlich; die Option sleep ermöglicht es dem Prozess jedoch, nach jeder erfolgreich geposteten Nachricht für eine bestimmte Zeit zu schlafen.
Mit Version 2.2 (Codename Hallstatt) führe ich die Möglichkeit ein, Crawlector über eine ausgewählte Reihe speziell entwickelter Steuerungsbefehle fernzusteuern. Der Grund für die Einführung dieser Funktionalität ist die Überwachung und Steuerung bestimmter Verhaltensweisen von Sitzungen, die über Stunden oder Tage laufen sollen. Beispielsweise möchten Sie möglicherweise die Slack-Benachrichtigungsfunktion ein-/ausschalten, Crawlector beenden oder eine Konfigurationsdatei hochladen, um nur einige zu nennen.
Diese Funktion verwendet die Slack-REST-API und zur Authentifizierung mit dem Server OAuth 2.0. Sie benötigen ein Slack-API-Token zur Nutzung und einen Kanal mit den entsprechenden Berechtigungen. Das API-Token ist dasselbe wie das im Abschnitt [slack_alert] unter der Option api_token verwendete.
Der Abschnitt [slack_alert] bietet die folgende zusätzliche Liste von Optionen für die Fernsteuerungsfunktionalität:
Um diese Funktion zu deaktivieren oder zu aktivieren, setzen Sie die Option control einfach auf true oder false. Der ctrl_channel-Name muss die Kanal-ID und nicht der Kanalname sein. Sie erhalten ihn, indem Sie mit der rechten Maustaste auf den Kanalnamen klicken -> Kanaldetails anzeigen -> Ganz nach unten scrollen, und Sie sehen das Feld Kanal-ID: <Kanal-ID>.
Die Option ctrl_sleep bestimmt die Häufigkeit des Aufrufs des im ctrl_channel angegebenen Steuerkanals zum Abrufen von Steuerungsbefehlen. Sie können diese Option auch über den Steuerungsbefehl cl_update_delay <Zeit_in_ms> aktualisieren.
Die Liste der unterstützten Steuerungsbefehle ist die folgende:
Hinweis-1: In der Initialisierungsphase von Crawlector wird geprüft, ob das bereitgestellte Authentifizierungstoken gültig ist oder ob der Kanal festgelegt ist. Im Fehlerfall wird diese Funktion automatisch deaktiviert.
Wenn diese Funktionalität aktiviert ist und die API-Token-Validierung bestanden hat, sendet Crawlector die Nachricht "Crawlector ist bereit, Steuerungsbefehle zu empfangen. Geben Sie den Befehl cl_help ein, um eine Liste der unterstützten Steuerungsbefehle zu erhalten." an den festgelegten ctrl_channel.
Alle Antworten auf einen bestimmten Steuerungsbefehl werden verknüpft (threaded). Darüber hinaus werden Steuerungsbefehle sitzungsbasiert gelesen, ab dem Zeitpunkt, an dem eine Sitzung gestartet wird.
Hinweis-2: Das Slack-Ratenlimit für die Abruf- (Konversationsverlauf) Nachrichten-API beträgt eine Anfrage pro Sekunde, mit Spielraum für einige Bursts. Wenn die Option ctrl_sleep auf einen Wert kleiner als eine Sekunde oder größer als eine Sekunde eingestellt ist, stellt Crawlector Nachrichten in die Warteschlange, um mehr Steuerungsbefehle pro Sekunde zu berücksichtigen, und führt sie in der Reihenfolge des Empfangs aus.
Mit Version 2.3 (Codename Munich) wird die Möglichkeit eingeführt, eine Liste von DNS-Nameservern für alle DNS-Abfragen und DNS-zu-IP-Auflösungen anzugeben, die von Crawlector versucht werden, mit einem hohen Maß an Kontrolle. Dies ist wichtig, falls Sie blockierte oder schädliche Websites crawlen. Diese Funktion gilt für jede Funktion in Crawlector, bei der eine DNS-Abfrage oder DNS-zu-IP-Anfrage gestellt wird. Noch wichtiger: Sie bietet die Möglichkeit, DNS over TLS für jeden Nameserver durchzuführen, der dies unterstützt.
Der Abschnitt [dns_ns] bietet die folgende Liste von Optionen zur Verwaltung dieser Funktionalität:
Die Option name_servers akzeptiert eine parametrisierte Liste von DNS-Nameservern, durch Kommas getrennt. Der Wert dieser Option hat das Format: <IPv4\_Adresse>(<tls\_Option>) wobei <tls\_Option> entweder den Wert "d\_tls" oder "e\_tls" annimmt. Die Optionen "d_tls" oder "e_tls" geben an, ob der betreffende Nameserver DNS over TLS unterstützt oder nicht. Diese Option wird abhängig vom Wert der Option dns_tls durchgesetzt. Beispielsweise gibt der Eintrag 8.8.8.8(e\_tls) an, den Google-DNS-Server 8.8.8.8 mit TLS-Unterstützung zu verwenden, während der Eintrag 12.13.14.15(d\_tls) angibt, den DNS-Server 12.13.14.15 ohne TLS-Unterstützung zu verwenden.
Die Option dns_tls gibt die erforderliche Stufe der TLS-Durchsetzung an. Diese Option akzeptiert einen der Werte "yes", "no" oder "force".
Die Option keep_default gibt an, ob der/die Standard-Nameserver zur Liste der Nameserver hinzugefügt werden soll(en. Es wird angenommen, dass ein Standard-Nameserver TLS nicht unterstützt.
Die Option conn_time_out gibt die Zeit in Millisekunden an, die auf eine Antwort auf eine DNS-Abfrage gewartet werden soll.
Die Option enable schaltet diese Funktionalität ein oder aus.
cl_sites sind erlaubt.Pull-Requests und Issues sind willkommen. Kommentare und Vorschläge werden sehr geschätzt.
Mohamad Mokbel (@MFMokbel)
include_url| id_postfix (Typ) | Beschreibung |
|---|
| _t1_p | Typ 1 ohne ID |
| _sd | Untertyp für Subdomains |
| _tld | Untertyp für TLDs |
| _t2_p | Typ 2 mit einer ID |
| _t3_s | Typ 3 gespiderte Domains |
| _t3_sc | Typ 3 gespiderte Domains mit einem untergeordneten Knoten |
| _t3_ss | Typ 3, wenn eine URL vom Typ 3 (_t3_s) in eine URL vom Typ 1 umgewandelt wird |
| _t3_s_e | Typ 3 gespiderte Domains - externe Links |
| _obj_ | für Tiefenscanning und Objekt-Extraktion |
| _t4_ru | für Weiterleitungs-URLs (für alle Typen) |
tlds_filetlds_urltld_dl_time_out, dies dient zum Einstellen der maximalen Zeitüberschreitung für die dnslookup-Funktion, wenn versucht wird, zu überprüfen, ob die fragliche Domain aufgelöst wird oder nichttld_use_connect, diese Option aktiviert die Funktionalität, eine Verbindung zur fraglichen Domain über eine Liste von Ports herzustellen, die in der Option tlds_connect_ports definiert sindtlds_connect_ports akzeptiert eine Liste von Ports, durch Komma getrennt, oder eine Liste von Bereichen, wie z. B. 25-40,90-100,80,443,8443 (Bereichsanfang und -ende sind inklusive)
tld_con_time_out, dies dient zum Einstellen der maximalen Zeitüberschreitung für die connect-Funktiontld_con_use_ssl, aktivieren/deaktivieren der Verwendung von SSL beim Versuch, eine Verbindung zur Domain herzustellensave_to_file_subd auf true gesetzt ist, werden entdeckte Subdomains in "\expanded\exp_subdomain_<vormittags|nachmittags>.txt" gespeichertsave_to_file_tld auf true gesetzt ist, werden entdeckte Domains in "\expanded\exp_tld_<vormittags|nachmittags>.txt" gespeichertexit_here auf true gesetzt ist, bricht Crawlector nach der Ausführung dieser [site]-Funktion ab, unabhängig von anderen aktivierten Optionen. Das bedeutet, dass gefundene Sites nicht gecrawlt/gespidert werden| Steuerungsbefehl | Beschreibung |
|---|
| cl_get_date | Ruft das Datum und die Uhrzeit ab, zu der Crawlector gestartet wurde, sowie das aktuelle Datum und die Uhrzeit. |
| cl_ping | Sendet die Nachricht "Pong..." zurück. Dies dient zur Überprüfung, ob der C&C-Kanal funktioniert. |
| cl_get_config | Lädt die aktuell verwendete Konfigurationsdatei (z. B. cl_config.ini) als Textdatei hoch. |
| cl_update_delay <Ganzzahl_in_Millisekunden> | Aktualisiert die Check-in-Zeit zwischen jedem Pull-Request für Steuerungsbefehle. - Ändert den Wert (ctrl_sleep) nur für die aktuelle Sitzung. |
| cl_turn_off_slack_alert | Schaltet die Slack-Benachrichtigungsfunktion für die aktuell aktive Sitzung aus. |
| cl_turn_on_slack_alert | Schaltet die Slack-Benachrichtigungsfunktion für die aktuell aktive Sitzung ein. |
| cl_help | Listet diese Hilfemeldung auf. |
| cl_exit | Beendet Crawlector erzwungenermaßen. |