Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Stalker MAC und URL selbst scannen

Vergiss es. Scannen dauert zu lange und bringt kaum Ergebnisse.
Ansonsten gibt's bei speziellen Openbullet Versionen eine Wordlist dazu.
 
Nachdem mein Portal vor ein paar Wochen meinte, nerviger zu werden und mich alle 100 irgendwas versuche zu blocken, habe ich mal folgendes fogendes geschrieben:

Sinn dahinter ist:
Ich scanne ein Portal, bekomme irgendwann einen Fehlercode 403 (Forbidden) und ich lasse meine Fritzbox mit einem Reconnect Script neu verbinden (Reconnect Script ist nicht von mir).

Bei einigen von mir getesteten Portalen kam nur Blödsinn. - Bei dem, für das ich das Skript gebaut habe sieht es aber gut aus.

Ich nutze ntfy um mir selbst Benachrichtigungen zu schicken und da ich für einige Wochen nicht daheim bin und der reconnect Probleme mit dem Neuverbinden meiner VPN nach hause verursachen kann, hab ich mir nen Killswitch eingebaut.


EDIT:
Hab mal mein "Spezialzeug" (Killswitch und Notification) rausgeschmissen.
  • Es gilt: - Hab es für mich geschrieben und teile es für interessierte.
  • Das Skript ist quick and dirty
  • Falls Euch euer Provider fragt, warum Ihr alle zwei Minuten nen Reconnct habt, habt ne Ausrede parat
  • Ihr solltet wissen, was Ihr tut.


Bash:
#!/bin/bash
genMac() {
   MAC="00:1A:79:`printf %02X $(( RANDOM % 256 ))`:`printf %02X $(( RANDOM % 256 ))`:`printf %02X $(( RANDOM % 256 ))`"
}

askPortal() {
   result=`curl -q -s -w "%{http_code}" -H "User-Agent: Mozilla/5.0 (QtEmbedded; U; Linux; C) AppleWebKit/533.3 (KHTML, like Gecko) MAG250 stbapp ver: 4 rev: 2721 Mobile Safari/533.3" -H "Cookie: mac=$MAC; stb_lang=en; timezone=Europe/Amsterdam;" "$URL/portal.php?type=stb&action=handshake&JsHttpRequest=1-xml"`
}

reConnect() {
   echo RECONNECT
   ./reconnect.py
   sleep 40
}

URL="$1"
PortalID=$(echo $URL | md5sum | cut -d\  -f1)
test -f results_$PortalID.txt || echo $URL > results_$PortalID.txt
filename=$(echo "$URL" | sed 's/[\/:?&=]/_/g')
echo "Dateiname: $filename"
echo Scan $1 - $PortalID


while true; do
   genMac
   askPortal
   if [[ $(echo $result | grep 403) ]]; then
       reConnect
   else
       echo -e "$result $MAC" | tee -a results_$PortalID.txt

       if [[ $(echo $result | grep 200) ]]; then
           echo -e "$MAC" | tee -a $filename.tx
       fi
   fi

done
Python:
#!/usr/bin/env python3

"""Instruct an AVM FRITZ!Box via UPnP_ to reconnect.

This is usually realized with tools like Netcat_ or cURL_.  However, when
developing in Python_ anyway, it is more convenient to integrate a native
implementation.  This one requires Python_ 2.5 or higher.

UPnP_ (Universal Plug and Play) control messages are based on SOAP_, which is
itself based on XML_, and transmitted over HTTP_.

Make sure UPnP_ is enabled on the FRITZ!Box.

A reconnect only takes a few second while restarting the box takes about up to
a minute; not counting the time needed to navigate through the web interface.

.. _Netcat: http://netcat.sourceforge.net/
.. _cURL:   http://curl.haxx.se/
.. _Python: http://www.python.org/
.. _UPnP:   http://www.upnp.org/
.. _SOAP:   http://www.w3.org/TR/soap/
.. _XML:    http://www.w3.org/XML/
.. _HTTP:   http://tools.ietf.org/html/rfc2616

:Copyright: 2008-2015, 2023 Jochen Kupperschmidt
:Date: 07-Feb-2023
:License: MIT
"""

import argparse
from contextlib import closing
import socket


DEFAULT_HOST = '192.168.178.1'
DEFAULT_PORT = 49000

URL_PATH = '/igdupnp/control/WANIPConn1'


def reconnect(host, port, debug=False):
    """Connect to the box and submit SOAP data via HTTP."""
    request_data = create_http_request(host, port)

    with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as s:
        s.connect((host, port))
        s.send(request_data.encode('utf-8'))
        if debug:
            data = s.recv(1024)
            print('Received:', data)


def create_http_request(host, port):
    body = create_http_body()

    return '\r\n'.join(
        [
            f'POST {URL_PATH} HTTP/1.1',
            f'Host: {host}:{port:d}',
            'SoapAction: urn:schemas-upnp-org:service:WANIPConnection:1#ForceTermination',
            'Content-Type: text/xml; charset="utf-8"',
            f'Content-Length: {len(body):d}',
            '',
            body,
        ]
    )


def create_http_body():
    return '\r\n'.join(
        [
            '<?xml version="1.0" encoding="utf-8"?>',
            '<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">',
            '  <s:Body>',
            '    <u:ForceTermination xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1"/>',
            '  </s:Body>',
            '</s:Envelope>',
        ]
    )


def parse_args():
    """Setup and apply the command line arguments parser."""
    parser = argparse.ArgumentParser()

    parser.add_argument(
        '--host',
        dest='host',
        default=DEFAULT_HOST,
        help=f'the host to send the HTTP request to [default: {DEFAULT_HOST}]',
        metavar='HOST',
    )

    parser.add_argument(
        '--port',
        dest='port',
        type=int,
        default=DEFAULT_PORT,
        help=f'the port to send the HTTP request to [default: {DEFAULT_PORT:d}]',
        metavar='PORT',
    )

    parser.add_argument(
        '--debug', dest='debug', action='store_true', default=False, help='debug mode'
    )

    return parser.parse_args()


if __name__ == '__main__':
    args = parse_args()
    reconnect(host=args.host, port=args.port, debug=args.debug)
Bash-Script und "reconnect.py" im gleichen Verzeichnis speichern.


Bash:
# Dateiberechtigung execute muss vorhanden sein:
chmod a+x myscanner.sh reconnect.px

# Starten mit
./myscanner.sh http://meinportal.bla:1234
 
Zuletzt bearbeitet:
Wenn dein ISP dir eine neue IP gibt, funktioniert das. Wenn nicht, wird's "schwieriger".
 
Jap, wie gesagt, hab es für mich geschrieben.
Wenn Du nen Kabel von Vodafone hast und wochenlang die gleiche IP bekommst, hilft Dir das leider nicht.

Ich habe VDSL und bekomme, wenn ich es darauf anlege (was ich in dem Fall mache) alle 3 Minuten ne neue IP

Auch kann ich nicht versprechen, dass jede Version der FritzBoxen mit dem Reconnect Script klarkommt.
Ich habe ne uralte 7412 als Modem und dahinter nen Mikrotik Router für das interne Netzwerk.
 
Zuletzt bearbeitet:
Was bedeutet :
Cloudflare:ON
Bekomme bei dem Portal nach ca.20 sec. immer 403 Forbidden
Gibt es da vieleicht ein Script oder so wo das Funktionieret?
Wenn ich VPN wechsel gehts kurz und dann wieder 403.

Ich hab noch eine Frage.
Wenn beim Scannen das Http Protokoll von 512 oder 200 auf 403 geht also scheinbar die IP gesperrt wird , bringt es etwas den Scanner weiter laufen zu lassen oder werden Definitiv keine Hits kommen?
 
Es gibt genügend Portale zum Scannen.
Ich würde mich da nicht mit welchen aufhalten, die irgendwie zicken.
 
Naja gerade das was nicht geht hat so einen Reiz.Aber du hast natürlich Recht.Ich würde nur so gern ein wenig dahinter steigen.

Gruss

paniker
 
Das Portal musst mit Proxies gescannt werden, vorausgesetzt du hast welche, gültige…
 
Ich wechsle aller 2 min mit Cyberghost die IP bei dem Portal.Das klappt.
Hatte schon 4 Treffer bei dem Portal aber leider ist mein Rechner gestern abgeschmiert und alles war weg.
Desshalb weiss ich das es geht aber immer davor sitzen macht keinen sinn.
 
Was bedeutet VF?
Bei mir geht es immer 2 oder 3 min dann kommt 403
 
Zuletzt bearbeitet:
Zurück
Oben