Viren, Spyware, Datenschutz 11.258 Themen, 94.807 Beiträge

Wie ist die URL?

torsten40 / 8 Antworten / Baumansicht Nickles

Hi,
ich hab eine *.jar decompeliert, und guck jetzt einwenig in den Code herum.
Dabei ist mir die URL aufgefallen.
Bei der URL bin ich jetzt bei

http://
neposopuhote.redirectment
:83
/service/index.php

Wie setzt sich das ganze zusammen?

Danke
###

this.session = ("" + System.currentTimeMillis());
    this.domain = "n"; this.serviceUrl = "h"; this.domain += "e"; this.domain += "p"; this.serviceUrl += "t"; this.domain += "o";
    this.domain += "s"; this.domain += "o"; this.domain += "p"; this.domain += "u"; this.serviceUrl += "t"; this.domain += "h"; this.domain += "o"; this.domain += "t";
    this.domain += "e";
    this.domain += ".";
    this.domain += "r";
    this.serviceUrl += "p";
    this.domain += "e";
    this.domain += "d";
    this.domain += "i";
    this.pwd = this.number;
    this.pwd += "d";
    this.domain += "r";
    this.serviceUrl += ":";
    this.domain += "e";
    this.domain += "c";
    this.pwd += "w";
    this.usr = "u";
    this.domain += "t";
    this.domain += "m";
    this.domain += "e";
    this.usr += "s";
    this.serviceUrl += "/"; this.domain += ".";
    this.serviceUrl += "/";
    this.domain += "n";
    this.domain += "e";
    this.domain += "t";
    this.serviceUrl += this.domain;
    this.serviceUrl += ":";
    this.serviceUrl += "8"; this.serviceUrl += "3"; this.serviceUrl += "/";
    this.serviceUrl += "s";
    this.serviceUrl += "e";
    this.serviceUrl += "r";
    this.usr += "r";
    this.serviceUrl += "v";
    this.serviceUrl += "i";
    this.serviceUrl += "c";
    this.serviceUrl += "e";
    this.serviceUrl += "/";
    this.serviceUrl += "i";
    this.serviceUrl += "n";
    this.serviceUrl += "d";
    this.serviceUrl += "e";
    this.serviceUrl += "x";
    this.serviceUrl += ".";
    this.serviceUrl += "p";
    this.serviceUrl += "h";
    this.serviceUrl += "p";
    this.pwd += "p";
    this.usr += this.number;

Das Ding ist in Viren usw, weils in einem "Facebook Trojaner" ist

Freigeist
bei Antwort benachrichtigen
Borlander torsten40 „Wie ist die URL?“
Optionen
redirectment

redirect.net anschsonetn scheint die URL aber zu passen. Wird halt recht aufwändig Stück für Stück zusammengebastelt und normalerweise würde man dafür vielleicht auch schon die StringBuilder-Klasse verwenden.

Man könnte das nun zunächst einmal durch zusammenfassen der direkt aufeinanderfolgenden Operationen auf dem selben String vereinfachen:

        this.session = ("" + System.currentTimeMillis());
        this.domain = "n";
        this.serviceUrl = "h";
        this.domain += "ep";
        this.serviceUrl += "t";
        this.domain += "osopu";
        this.serviceUrl += "t";
        this.domain += "hote.r";
        this.serviceUrl += "p";
        this.domain += "edi";
        this.pwd = this.number;
        this.pwd += "d";
        this.domain += "r";
        this.serviceUrl += ":";
        this.domain += "ec";
        this.pwd += "w";
        this.usr = "u";
        this.domain += "tme";
        this.usr += "s";
        this.serviceUrl += "/";
        this.domain += ".";
        this.serviceUrl += "/";
        this.domain += "net";
        this.serviceUrl += this.domain;
        this.serviceUrl += ":83/ser";
        this.usr += "r";
        this.serviceUrl += "vice/index.php";
        this.pwd += "p";
        this.usr += this.number;

Und umsortieren unter Beachten der Abhängigkeiten zwischen den Strings (der kritische Fall ist oben fett hervorgehoben):

        this.session = ("" + System.currentTimeMillis());
        this.domain = "n";
        this.domain += "ep";
        this.domain += "osopu";
        this.domain += "hote.r";
        this.domain += "edi";
        this.domain += "r";
        this.domain += "ec";
        this.domain += "tme";
        this.domain += ".";
        this.domain += "net"; //ACHTUNG: hiernach wird in serviceUrl kopiert
        this.serviceUrl = "h";
        this.serviceUrl += "t";
        this.serviceUrl += "t";
        this.serviceUrl += "p";
        this.serviceUrl += ":";
        this.serviceUrl += "/";
        this.serviceUrl += "/";
        this.serviceUrl += this.domain;
        this.serviceUrl += ":83/ser";
        this.serviceUrl += "vice/index.php";
        this.pwd = this.number;
        this.pwd += "d";
        this.pwd += "w";
        this.usr = "u";
        this.usr += "s";
        this.usr += "r";
        this.pwd += "p";
        this.usr += this.number;    

Mit finalem Zusammenfassen kommt man dann schließlich auf diesen Code:

        this.session = ("" + System.currentTimeMillis());
        this.domain = "neposopuhote.redirectme.net";
        this.serviceUrl = "http://" + this.domain + ":83/service/index.php";
        this.pwd = this.number + "dwp";
        this.usr = "usr" + this.number;

Wenn man faul ist und bereits durch scharfes hinsehen erkannt hat, dass dieser Code hier nichts böse tut kann man den auch mal laufen lassen:

public class Evil {

    private String session;
    private String domain;
    private String serviceUrl;
    private String number = "{number}";
    private String pwd;
    private String usr;

    public static void main(String[] args) {
        Evil x = new Evil();
        x.gen();
        x.show();
    }

    /**
     * Böse Strings erzeugen
     */
    private void gen() {
        // hier den Code zur String-Erzeugung einfügen
    }

    /**
     * Böse Strings auf Standardausgabe anzeigen
     */
    private void show() {
        System.out.println("session:    " + this.session);
        System.out.println("domain:     " + this.domain);
        System.out.println("serviceURL: " + this.serviceUrl);
        System.out.println("number:     " + this.number);
        System.out.println("pwd:        " + this.pwd);
        System.out.println("usr:        " + this.usr);
    }
}

Gruß
Borlander

bei Antwort benachrichtigen
torsten40 Borlander „redirect.net anschsonetn scheint die URL aber zu passen. ...“
Optionen

Da hatte ich wohl n dreher in der URL.
Mittlerweile ist die (Arcor)IP, und auch die NoIP Weiterleitung offline. Schade, hätt da gern eine phpShell hochgeladen. Naja, dann halt nächstemal

Ich hab ja nur den URL User/PW Teil eingefügt., da sind ja mehrere *.class Dateien, auch in dieser hier steht noch einiges mehr drin.

Aufjedenfall danke auch für die Erklärung, und den Ausgabe Code, beim nächsten Trojaner wird der Code wohl auch funktionieren, da this.session, this.domain usw wohl immer drin stehen wird, dann brauch ich nicht mehr stundenland suchen, und zusammensetzen :)

Danke

Freigeist
bei Antwort benachrichtigen
Borlander torsten40 „Da hatte ich wohl n dreher in der URL. Mittlerweile ist die ...“
Optionen
Schade, hätt da gern eine phpShell hochgeladen.

Dir ist aber schon klar, dass das zum einen bei einem nicht so ohne weiteres möglich ist und zum anderen straftrechtlich problematisch ist? Und wahrscheinlich triffst Du damit vor allem unbeteiligte Opfer…

beim nächsten Trojaner wird der Code wohl auch funktionieren, da this.session, this.domain usw wohl immer drin stehen wird

Warum sollte das immer da drin stehen?

bei Antwort benachrichtigen
torsten40 Borlander „Dir ist aber schon klar, dass das zum einen bei einem nicht ...“
Optionen

irgendwo hin verbindet sich jeder Trojaner.

Und wahrscheinlich triffst Du damit vor allem unbeteiligte Opfer…
Dann wusste der Builder von dem Trojaner, dass das Opfer einen Webserver per NoIP am laufen hatte, über den der Trojaner verteilt wurde.
Unwahrscheinlich, aber möglich.
Freigeist
bei Antwort benachrichtigen
Borlander torsten40 „irgendwo hin verbindet sich jeder Trojaner. Dann wusste der ...“
Optionen

Nicht jede Schadsoftware ist in Java implementiert und hat die selbe innere Struktur…

dass das Opfer einen Webserver per NoIP am laufen hatte, […] Unwahrscheinlich, aber möglich.

Wieso? Das Opfer weiß womöglich bis heute nichts davon, dass auf seinem System ein Webserver betrieben wurde…

bei Antwort benachrichtigen
torsten40 Borlander „Nicht jede Schadsoftware ist in Java implementiert und hat ...“
Optionen

nun ... der downlink zu dieser Datei verbreitete sich über einen lokalen Rechner, auf dem ein Webserver oder ähnliches installiert war/ist. Zudem verbindet sich der Trojaner zu einer noip Adresse, die mit der IP des downloadlinks übereinstimmt.
Unwahrscheinlich aber möglich, dass der Rechner selber Opfer ist

Das Opfer weiß womöglich bis heute nichts davon, dass auf seinem System ein Webserver betrieben wurde
und unbemerkt noip konfiguriert haben?
Unwahrscheinlich, aber möglich.

Nicht jede Schadsoftware ist in Java implementiert und hat die selbe innere Struktur…
Das weiß ich auch ...Dennoch muss sich ein Trojaner/Keylogger (egal welche Porgrammiersprache) irgendwo hinverbinden, und diese Verbindung steht nunmal im Sourcecode. Der Weg dies auszulesen, ist lediglich ein anderer ...
Freigeist
bei Antwort benachrichtigen
Borlander torsten40 „nun ... der downlink zu dieser Datei verbreitete sich über ...“
Optionen
der downlink zu dieser Datei verbreitete sich über einen lokalen Rechner

lokaler Rechner?

und unbemerkt noip konfiguriert haben?

Die einzige Herausforderung ist da die Portfreigabe. Die kann aber per UPnP erfolgen sofern der Besitzer sich das nicht im Router abgeschaltet hat…

Dennoch muss sich ein Trojaner/Keylogger (egal welche Porgrammiersprache) irgendwo hinverbinden, und diese Verbindung steht nunmal im Sourcecode

Aber nicht zwingend wie hier fast im Klartext zu lesen. Die hier vorliegende Methode ist absolut anspruchslos was das Reverse-Engineering angeht.

bei Antwort benachrichtigen
torsten40 Borlander „lokaler Rechner? Die einzige Herausforderung ist da die ...“
Optionen
lokaler Rechner?
privater Rechner

Aber nicht zwingend wie hier fast im Klartext zu lesen. Die hier vorliegende Methode ist absolut anspruchslos was das Reverse-Engineering angeht.
Richtig, dass ist aber eher seltener
Freigeist
bei Antwort benachrichtigen