Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

Keylogger - Logübertragungsmöglichkeiten

* * * * * 5  ( 1 Stimmen )

  • Bitte melde dich an um zu Antworten
11 Antworten in diesem Thema

#1
<Kevin>

<Kevin>

    Pentester

  • Premium Member
  • Likes
    11
  • 104 Beiträge
  • 6 Bedankt
  • Android
  • Windows

Hallo.

Und zwar soll es in diesem Thread um die Möglichkeiten gehen, Logs von Keyloggern zu übertragen.


Grob gesagt gibt es zwei Möglichkeiten, im Programm die


Eingaben zwischenzuspeichern:

1. Man loggt in eine Variable (beispielsweise eine Stringvariable)

 

2. Man loggt in eine Datei, die lokal auf dem Rechner des Victims liegt (möglichst verschlüsselt).


Vorteil/Nachteil von 1:

[+] Keine Datei/Ordner, die vom Victim entdeckt werden könnte
[+] Möglicherweise überhaupt garkein Zugriff seitens des Keyloggers auf das Dateisystem des Victims nötig

[-] Sofern Victim offline am PC arbeitet, werden diese Logs möglicherweise niemals ankommen, da sie ja nur im RAM liegen

 

 

 

Vorteil/Nachteil von 2:

 

[+] Log permanent vorhanden, kann also auch zu einem späteren Zeitpunkt verwendet werden [Offline Logging]

[-] Eine Datei/Ordner, die vom Victim entdeckt werden könnte


 

 

 

Zur Übertragung:

 

 

1. TCP/UDP das wäre ein Online-Keylogger
2. Per E-Mail
3. Per Http-Upload (beispielsweise Php Datei)

 

Vorteil/Nachteil von 1:

[+] Direktes, live Mitlesen

[+] Es müssen zur reinen Übertragung von den Logs nicht extra Benutzerdaten einkompiliert werden

[-] Nur möglich, wenn man selbst den Server geöffnet hat. Anderweitig empfängt man die Logs nicht.


Vorteil/Nachteil von 2:

 

[+] Man könnte direkte Benachrichtigungen erhalten, sofern eine neue E-Mail ankommt
[-] Man muss ggf. Benutzerdaten ins Programm kompilieren, sofern man keine anderen Dienste über Php nutzt ( sei es auch die Zielemailadresse)

 

Vorteil/Nachteil von 3:

 

[+] Definitiv keine eigenen Benutzerdaten außer einem Link vom Webspace nötig
[-] Hier muss man abwägen, ob man einen Gesamtlog überträgt und die Php Datei den Gesamtlog schreiben lässt oder nur Teillogs.
Bei einem Gesamtlog besteht die Gefahr, dass andere einem die gesamten Logs weglöschen könnten.

Bei Teillogs muss man wiederum "splitten", was bereits gesendet wurde und was nicht. 

 



Zum Sendezeitpunkt  und Loginhalt:
 
-Schwierige Angelegenheit. Es gibt die unterschiedlichsten Verhaltensweisen.

Ich habe Victims erlebt, die schreiben pro Tag nur 30 Zeichen (loggen sich z.B. mit zwei Accounts auf Lesewebseiten ein und scrollen dann nur).
Eine Überprüfung der Zeichenlänge, z.B. die Überprüfung ob 1000 Zeichen getippt wurden, würde bei diesen Menschen (sofern man überhaupt in eine Datei loggt), erst nach dutzenden Tagen oder gar Monaten zu einer Übertragung des Logs führen. 
Sofern man in eine Stringvariable loggt und dieses Zeichenanzahl überprüft, würde man de facto nie einen Log erhalten, sofern die Victims sich so verhalten.

Sehr suboptimal, da man ja einerseits alles immer erhalten möchte, andererseits kein Polling betreiben möchte.
 
Dann gibt es noch das Problem der Gamer.

Was wenn Gamer beispielsweise die Taste "s" 100x drücken? 
Gut , diesen Spam könnte man mit Regex wie folgt erkennen:

DerJeweiligeString = Regex.Replace(DerJeweiligeString, "(.+)\1{6,}", "")

Das würde ab einer wiederholten Zeichenfolge der Anzahl 6 (z.B. "rrrrrr") alles entfernen.

Soweit sogut, jetzt loggt sich der Benutzer danach aber in Facebook ein und sein Kennwort
ist zufälligerweise:  "wwwwww46478". Shice, jetzt wird das "wwwwww" weggeschnitten und wir haben das Kennwort nicht.

Wie entfernt man also diesen Spam? Gute Frage...

 

 

Zurück zur Frage davor. Man könnte natürlich anstatt die Zeichenanzahl zu prüfen, einfach
einen Zeitintervall festlegen. Beispielsweise legt man den Intervall 5 Minuten fest.
Was ist jedoch, wenn der Benutzer den PC hochfährt, sich einloggt auf Facebook und
danach direkt wieder herunterfährt? Ups, das hat keine 5 Minuten, sondern nur 3,5 Minuten gebraucht -> Scheiße, wir erhalten keinen Log.
Jetzt könnte man natürlich Intervall auf 1 Minute stellen, aber das wäre auch wieder mehr oder weniger Polling.

 

 

 

Schreibt, was ihr für Ideen habt ^^ würde mich interessieren. 


Bearbeitet von <Kevin>, 25 May 2015 - 21:21 Uhr.


#2
Filth

Filth

    Lamer

  • Members
  • PIPPIPPIP
  • Likes
    3
  • 23 Beiträge
  • 0 Bedankt
Man sammelt die Logs, schreibt sie in eine verschlüsselte Datei und überträgt die Datei verschlüsselt nach XX Stunden/Minuten via HTTP.

Bearbeitet von SAR, 25 May 2015 - 21:44 Uhr.


#3
SAR

SAR

    Regelmäßiger Übertreiber

  • Premium Member
  • Likes
    319
  • 394 Beiträge
  • 286 Bedankt
  • 608463167
  • verifiziert
Du musst nichts wegschneiden.
Ab einer gewissen Menge an Zeichen lässt du Folgendes anzeigen:
Anstatt: "wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww"
Einfach: "54*w"

Und sonst einfach versuchen OnPress abzugreifen. Ein Gamer drückt nicht hundertmal "s", er hält die Taste gedrückt. ^^


Mfg.
SAR

Eingefügtes Bild


Thanked by 1 Member:
<Kevin>

#4
n1nja

n1nja

    1337

  • Premium Member
  • Likes
    140
  • 303 Beiträge
  • 84 Bedankt
  • Android [root], iPhone
  • Windows, Linux, Mac OS

Vorher abfragen, welches Fenster aktiv ist. Somit kannst du kontrollieren, ob der Benutzer zockt oder ein Passwort eingibt ;)



#5
Cranky

Cranky

    Hacker

  • Banned
  • PIPPIPPIPPIPPIPPIPPIPPIP
  • Likes
    67
  • 197 Beiträge
  • 18 Bedankt
  • 655869548
  • Android
  • Linux

Warum kann man diese keystrokes nicht einfach abfangen indem man einen "lokalen" proxy server aufsetzt am pc, das merkt der vic nicht und die daten werden zuverlässig an einen server gesendet.


Ich "hacke" keine whatsapp oder facebook accounts aber schreibt mich ruhig an was das betrifft dann hab ich was zu lachen. :D

 

 


#6
<Kevin>

<Kevin>

    Pentester

  • Premium Member
  • Likes
    11
  • 104 Beiträge
  • 6 Bedankt
  • Android
  • Windows

Ich bedanke mich für die wirklich sehr guten Anregungen :) 

Habe es jetzt wie folgt gelöst:


Ftp Webspace:

Hab eine nicht sichtbare .php Datei (also auf dem Webspace ist sowieso eine index.htm, daher sieht man ja nicht alle Dateien).
Dennoch beginnt die Php Datei mit einem Punkt (.) am Anfang, damit man sie nicht sieht.

Die Dateinamen von den Vics sehen also z.B. so aus:

.183747392946478392309203847293702937.txt

183747392946478392309203847293702937 wäre hierbei die Hardwareid des Victims.

Mit Php schreibe ich keine zusätzlichen Infos wie Uhrzeit oder Sonstiges
in die Datei des Victims. Es wird lediglich geprüft, ob die übergebene Dateigröße 
größer ist, als die Dateigröße von der Victimdatei auf dem Webspace. Wenn ja, wird die Datei

komplett mit dem übergebenen String überschrieben.



Vb.net:
-Generell logge ich in eine lokale Textdatei (hat nicht die Endung .txt, sondern eine Andere :))
-Diese Textdatei liegt sehr sehr versteckt in einem Ordner (Attribute System und Hidden) , aber auch die Datei
selbst hat die Attribute System und Hidden). Somit muss man im Windows Explorer bei der Ansicht
sowohl "Versteckte Dateien und Ordner" als auch "Systemdateien anzeigen" anklicken, um sie mal sehen zu können (sofern man sie denn überhaupt findet).
-Synchronisiert wird mit einem Thread, der alle 120.000 Millisekunden (also 2 Minuten). Hierbei wird die Dateigröße in Bytes, der Logcontent
und weitere Attribute an die Php Datei übergeben. Wie gesagt, sofern die übergebene Dateigröße größer als filesize(DateiaufdemWebspace) ist, 
wird auf dem Webspace überschrieben. Die lokale Datei bleibt BEIBEHALTEN.



Soweit so gut, jetzt stellt sich die Frage: Was passiert wenn die lokale Logdatei auf dem Victimpc mal 10mb hat? Bzw. sie wird ja immer größer?

Richtig. Dafür habe ich mir aber auch etwas ausgedacht. Bis 3 Mb wird normal übertragen, bei 3Mb oder Größer
wird eine Zeile eingefügt mit "Autoclearing Log" (oder so ähnlich), der Log wird übertragen und in einer Datei namens .HardwareIddesVictimsFINAL abgelegt,
die Hauptdatei des Victims auf dem Webspace gelöscht und anschließend die lokale Logdatei auf dem Victimpc gelöscht.
 

Was hat jetzt also ein Außenstehender für eine Möglichkeit, die Logs zu löschen?

Ein Außenstehender könnte die Logs überschreiben, sofern er die HardwareId des Benutzers kennen würde + alle Attribute
die ich an die Php Datei übergebe. Das macht aber nichts, er/sie kann die Datei gerne überschreiben, denn
der Log liegt ja lokal auf dem Victimpc und Victim synchronisiert ja sowieso alle 2 Minuten. ^^


Das einzige Risiko was besteht ist eben, dass Victim die Datei findet und löscht.. ^^


Als Spamschutz habe ich die Idee von SAR aufgegriffen:

 

 Dim Rep As Func(Of String, String) = Function(d)
                          Return Regex.Replace(d, "(.+)\1{6,}", Function(mt) String.Concat("¦", mt.Length.ToString, "*"))
 End Function

Aufrufbeispiel:


 

Private Sub Doit()
 Dim Rep As Func(Of String, String) = Function(d)
                          Return Regex.Replace(d, "(.+)\1{6,}", Function(mt) String.Concat("¦", mt.Length.ToString, "*"))
 End Function

Dim K As String = "Hallo wie geht es dir ? www.google.de   hallo wwwwwwwwwwwwwwwwwwwwwwww"
K = Rep(K)
Throw New Exception(K)
End Sub

Ab 6 Zeichen wird also ein Zeichen durch  ¦Anzahl des Zeichen*Zeichen ersetzt.

 


Bearbeitet von <Kevin>, 27 May 2015 - 20:09 Uhr.


#7
n1nja

n1nja

    1337

  • Premium Member
  • Likes
    140
  • 303 Beiträge
  • 84 Bedankt
  • Android [root], iPhone
  • Windows, Linux, Mac OS

Das sieht ja alles schonmal sehr sehr nice aus.

Weiter so :)



Thanked by 1 Member:
<Kevin>

#8
B1nary

B1nary

    Samurai

  • Elite Member
  • Likes
    489
  • 506 Beiträge
  • 346 Bedankt

Hab eine nicht sichtbare .php Datei (also auf dem Webspace ist sowieso eine index.htm, daher sieht man ja nicht alle Dateien).
Dennoch beginnt die Php Datei mit einem Punkt (.) am Anfang, damit man sie nicht sieht.

 

Das ist etwas unschön geregelt. Wenn du den "Index of/" deaktivieren willst, reicht eine index.html

 

Um das direkte Aufrufen via Browser der PHP-Datei zu unterbinden, kannst du htaccess nutzen oder in die betreffende Datei einen 404-Header einbauen. Aus Kompatibilitätsgründen würde ich eine PHP-Datei generell nicht mit einem Punkt beginnen lassen. Dateien, welche mit einem Punkt beginnen, gelten bei Linux oder anderen Unix-Derivaten als Systemdateien. Diese werden zwar versteckt, sind dann aber auch für den Benutzer mit Standardeinstellungen im FTP-Client oder sogar auf dem OS (Linux, Mac, Windows) nicht mehr sichtbar. Falls du dein Programm mitsamt der PHP-Datei mal public machen oder verkaufen willst, kann das schon zu Verwirrungen führen.



Thanked by 1 Member:
<Kevin>

#9
Blackhook

Blackhook

    Pentester

  • Premium Member
  • Likes
    22
  • 104 Beiträge
  • 49 Bedankt
  • Android
  • Windows

Eine Korrektur wäre noch denkbar.

Alles ohne Datei realisieren. Einfach einen verschlüsselten Stream im Speicher bauen und direkt auf Space per PHP laden.

Damit hast du gar keine Dateien beim Vic. Im NET kann ich dir leider kein Beispiel liefern. Es ist aber recht simple.

Auf dem Space kannst du deine Index Datei so umschreiben dass deine Dateien unsichtbar sind.

Dafür gibt es genug Beispiele im Netz.


Ich bin ein Trottel


#10
<Kevin>

<Kevin>

    Pentester

  • Premium Member
  • Likes
    11
  • 104 Beiträge
  • 6 Bedankt
  • Android
  • Windows

Das ist etwas unschön geregelt. Wenn du den "Index of/" deaktivieren willst, reicht eine index.html

 

[...]kannst du htaccess nutzen oder in die betreffende Datei einen 404-Header einbauen.
[...] Kompatibilitätsgründen würde ich eine PHP-Datei generell nicht mit einem Punkt beginnen lassen.[...] gelten bei Linux oder anderen Unix-Derivaten als Systemdateien.Diese  werden zwar versteckt, sind dann aber auch für den Benutzer mit Standardeinstellungen im FTP-Client oder sogar auf dem OS (Linux, Mac, Windows) nicht mehr sichtbar.

 

 

1.)
Ich hab doch geschrieben, dass ich sowieso eine index.htm auf dem Webspace habe :)
Hast Du sogar in deinem Zitat von mir drinne ;D

2.)
Das mit dem Htaccess ist eine gute Idee , werde ich machen.


3.)
Sofern ich es public mache, denke ich dran den Punkt wegzumachen, danke  ^^


 

Eine Korrektur wäre noch denkbar.

Alles ohne Datei realisieren. Einfach einen verschlüsselten Stream im Speicher bauen und direkt auf Space per PHP laden.

Damit hast du gar keine Dateien beim Vic.

 Bitte den Thread nochmal lesen, ich hab geschrieben was für Nachteile man ohne eine Datei hat.
 


Bearbeitet von <Kevin>, 28 May 2015 - 18:08 Uhr.

  • B1nary gefällt das

#11
SAR

SAR

    Regelmäßiger Übertreiber

  • Premium Member
  • Likes
    319
  • 394 Beiträge
  • 286 Bedankt
  • 608463167
  • verifiziert
Da fällt mir ein Nachtrag ein: Verbindungen auf die nicht auf Standardports erfolgen werden gerne von UAC detected ("Wollen Sie den Zugriff zulassen?")


Mfg.
SAR

Bearbeitet von SAR, 28 May 2015 - 18:43 Uhr.

  • B1nary gefällt das

Eingefügtes Bild


#12
B1nary

B1nary

    Samurai

  • Elite Member
  • Likes
    489
  • 506 Beiträge
  • 346 Bedankt

Ich hab doch geschrieben, dass ich sowieso eine index.htm auf dem Webspace habe :)
Hast Du sogar in deinem Zitat von mir drinne ;D
 

Jap, ich weiß :) sollte auch keine Kritik sein. Nur weil du meintest, zusätzlich zur index.html noch die "unsichtbare" PHP-Datei. Der Vollständigkeit halber habe ich dann noch mal erwähnt, dass eine Index-Datei ausreicht, um den "Index of/" zu deaktivieren ;)





  Thema Forum Themenstarter Statistik Letzter Beitrag

Besucher die dieses Thema lesen:

Mitglieder: , Gäste: , unsichtbare Mitglieder:


This topic has been visited by 78 user(s)


    .:dodo:., <Kevin>, 3rr0r!st, AFK_D4m4ge, alkoven, and6578, Ar@m!s, B1nary, Blackhook, BlackZetsu, Born2Hack, brakeoil, Caruso, cheatmo, confick.ini, Cranky, Crap, Crowx88, Cube, cX., easysurfer, Emalik Xantier, FakeKeyUser, FalkE, Filth, Flex.Net, fluffybunny, Framerater, g0rillaz, G0rki, gentlegeek, Goooofy, gtawelt, hackEmcee, Heinokel0903, Injection, Interimere, Juri, Kaban, kafkas, kiwitone, Kryptonit, len0, Lyrix, m0nk3y, m0rph75, M4cbook, makaun, Mantrayana, Meikyo, MiD_NiGHT, Mk3E, n1nja, Neonxen, netSecMushroom, paulaner, Psykoon303, Qumbilo, R3s1stanc3, Rothschild, rsneumann, SAR, Sash1, Seldos, Shitstorm, Slixer, smc2014, sup3ria, syntx, Take1T, Telephone, Terrafaux, Th3xploiterZ, Xenio, xmmlegends, xrahitel, xxas, xxxsmackxxx
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.