[C/C++] KSnoop2 - Snooping around on FTP Servers v2

Dieses Thema im Forum "Projekte / Codes" wurde erstellt von Kolazomai, 16. Juli 2011 .

Schlagworte:
  1. 16. Juli 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    KSnoop2 - Snooping around on FTP Servers v2

    Hallo zusammen!

    Nach ca. 3 Jahren gibt es nun endlich eine neue Version von KSnoop!
    Da ich es vollstaendig neu programmiert habe und es jetzt auch eine GUI gibt, hat es sich v2 verdient.

    KSnoop2 ist ein Programm um Public FTP Server aus einer Liste oder eine Range von IPs zu finden und diese dann auf verschiedene Eigenschaften hin zu ueberpruefen.

    GSnoop ist eine GUI zu KSnoop2. Die GUI ist (noch) nicht sehr performant. Deshalb empfehle ich fuer Range-Scans bzw. IP-Listen mit ueber 250 IPs nicht GSnoop zu verwenden, sondern KSnoop2.

    Entwickelt wurde das Projekt in Eclipse C/C++. Bei anfrage kann ich die Eclipse Project-Datei (d.h. meine Eclipse Projekt Einstellungen - SourceCode im Download-Bereich!) rausgeben, aber eher ungern.


    Bild


    Features

    • Multi-threaded Scan fuer Test/Speed Upload/Download/Delete.
    • Support von einer IP-Liste als Textdatei.
    • Multi-Range Option.
    • Ueberpruefung verschiedener Paths.
    • Durchlaufen unterschiedlicher Ports.
    • Check auf blacklisted IPs (umfangreiche blacklist.txt beigelegt).
    • Output summary (mit IPs die man nochmal scannen sollte).
    • Umfangreiche Informationen zu gefundenen Pubs.
    • active/Passive mode.
    • Hochzuladender Dateiname zufaellig gewaehlt.
    • anzeige ob deleteable.
    • angabe von Connection Timeout.
    • Modifizieren des FTP Test/Speed Timeout.
    • Spezifikation von Dateigroesse fuer Test/Speed Upload und Download moeglich.
    • Settings auch ueber .ini-Datei ladbar.
    • OpenSource (GPL) - komplett umsonst.
    • Crossplatform-Kompatibilitaet.
    • Optimierter Scanvorgang.
    • Entwickelt fuer die Raid-Rush Community.


    Code:
    ******************
    ** KSnoop v0.21 **
    ** by Kolazomai **
    ******************
    Usage:
     KSnoop2.exe [OPTION...]
    
    Help Options:
     -h, --help Show help options
     --help-all Show all help options
     --help-input Show all input options
     --help-output Show all output options
     --help-scanning Show all scanning options
    
    Input options:
     -i, --input=hosts_filepath Path to the file containing hostnames which you want to scan.
     -r, --range=ips_range The range you want to scan in the format x.x.x.x-y.y.y.y - multiple use of this option is possible for multi-range scan!
     -p, --paths=paths_filepath Path to the file containing paths to check.
     -P, --ports=ports_filepath Path to the file containing the ports to check.
     -b, --blacklist=blacklist_filepath Path to the file containing blacklisted IPs.
     -k, --keyfile=keyfile Path to a keyfile containing settings.
    
    Output options:
     -o, --output=output_filepath Path to write the results to.
    
    Scanning options:
     -u, --test_upload_threads=a Number of threads to use for test upload.
     -d, --test_download_threads=B Number of threads to use for test download.
     -x, --test_delete_threads=C Number of threads to use for test delete.
     -U, --speed_upload_threads=D Number of threads to use for speed upload.
     -D, --speed_download_threads=E Number of threads to use for speed download.
     -X, --speed_delete_threads=F Number of threads to use for speed delete.
     -C, --connection_timeout=O Seconds until connection attempt times out.
     -f, --test_ftp_timeout=T Seconds until test upload/download attempt times out.
     -F, --speed_ftp_timeout=S Seconds until speed upload/download attempt times out.
     -s, --test_filesize=Q Filesize to use for the test file to check upload/download permissions (in bytes).
     -S, --speed_filesize=R Filesize to use for testing upload/download speed (in bytes).
     -a, --active_mode_enabled Enable this option to use FTP active mode.
    
    ---
    This program was developed by 'Kolazomai' for the Raid-Rush community.

    Beispiele zur Benutzung

    Scannen mithilfe der Keyfile:
    Code:
    KSnoop2.exe -k ksnoop2.ini
    IP-Liste und Multiple Range mit einigen angepassten Optionen:
    Code:
    KSnoop2.exe -i ips.txt -r 127.0.0.0-127.0.1.0 -r 128.2.2.0-128.2.3.0 -p paths.txt -P ports.txt -o output.txt -u 20 -d 20 -x 20 -D 2 -X 1 -C 30


    Requirements

    • GTK+ (nur GSnoop)
    • glib
    • libCURL


    Installation

    KSnoop2

    Win32 - die .exe mit den gewuenschten Parametern starten.
    Linux - 'make -f Makefile.ksnoop2' ausfuehren.​

    GSnoop

    Win32 - einfach den Installer ausfuehren.
    Linux - 'make -f Makefile.gsnoop' ausfuehren.​


    Download

    KSnoop v0.21

    KSnoop2 standalone win32 v0.21
    KSnoop2 win32 (incl. ips.txt, ports.txt, paths.txt, blacklist.txt, ksnoop2.ini) v0.21
    KSnoop2 (+ GSnoop) Linux .tar.gz (Source) v0.21

    KSnoop v0.20

    KSnoop2 standalone win32 v0.20 [fixed]
    KSnoop2 win32 (incl. ips.txt, ports.txt, paths.txt, blacklist.txt, ksnoop2.ini) v0.20 [fixed]
    KSnoop2 Linux .tar.gz (Source) v0.20 [fixed]


    GSnoop v1.0

    GSnoop v1.0 win32 installer (GTK+ enthalten) [fixed]
    GSnoop v1.0 linux .tar.gz (Source) [fixed]


    Screenshots

    Bild Bild


    CHaNGELOG



    Informationen zum Projekt

    Verwendete IDE: Eclipse Indigo for C/C++ mit MinGW.
    architektur in UML-style: v0.21.
    arbeitsaufwand: ca. 90 Stunden [v0.20] + 5 Stunden [v0.21] innerhalb von 4 Wochen.
    Lines of Code: ca. 9000 [v0.20] + 500 [v0.21] LOC​


    Tipps, Tricks und Fallstricke

    • GSnoop via "GSnoop.exe -k keyfile.ini" starten, um eure Settings gleich in die GUI zu laden.
    • Die Keyfile ueberschreibt die Settings, die ueber die Kommandozeile uebergeben wurden.
    • Zeilen in Textdateien, die uebergeben werden, muessen mit '\n' (nicht '\r\n') enden.
    • Bei vorzeitigem abbruch werden die bereits gefundenen Ergebnisse (noch) nicht in die Output-Datei geschrieben. (GSnoop)
    • GSnoop haengt sich bei vorzeitigem abbruch (im Scanning-Fenster) wegen Multi-threading haeufig auf.
    • als guten Wert fuer die Test Upload Threads ist die Empfehlung ca. 50, wenn weitere Programme (Webbrowser, ...) die Internetleitung mitbenutzen. andernfalls (z.B. ueber Nacht) sind auch bis zu ca. 200 moeglich. ab ca. 200 bis 1000 kann es zu Speicherueberlastung kommen und die Router-/Windows-Unterstuetzung ist nicht mehr garantiert. Ueber weiteres Feedback zu Settings freue ich mich jederzeit.


    Credits





    Bekannte Bugs (KSnoop v0.21)
    • Vollstaendige Ranges (x.x.0.0-x.x.255.255) werden nicht korrekt zur Liste von zu scannenden IPs eingefuegt. (dauert nur eine Weile)


    Bugs, Wuensche und Verbesserungsvorschlaege bitte in diesem Thread posten. Die im Programm angegebene Mail-adresse existiert nicht. Viel Spass und Erfolg beim Scannen!


    Mfg,

    Kolazomai
     
    2 Person(en) gefällt das.
  2. 16. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Vielen Dank, endlich mal wieder was verbessertes, werde es gleich mal testen
    BW hast.

    Wie siehts denn bei Ksnoop2 mit multirange scans aus ?

    Edit:/ Ksnoop2 kackt beim rangescan ab nach ca. der 10. ip bei einer range von x.x.0.0-x.x.255.255
     
  3. 16. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Hey!

    KSnoop2 oder GSnoop?

    Komisch, habs eigentlich ziemlich gut getestet mir Ranges... Schick mir bitte deinen Befehl per PM, damit ichs ueberpruefen kann.

    EDIT: Multirange ist ne gute Idee und relativ leicht zu implementieren, fuer die naechste Version auf jeden Fall vorgemerkt

    Mfg,

    Kolazomai
     
  4. 16. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Ksnoop2 habs oben editiert

    Ini
    Spoiler
    # =============================
    # = KSnoop2 settings key file =
    # =============================

    # -----------------
    # - Section input -
    # -----------------
    [input]

    #input=ips.txt
    range=75.125.0.1-75.125.255.255

    paths=paths.txt
    ports=ports.txt
    #blacklist=blacklist.txt


    # ------------------
    # - Section output -
    # ------------------
    [output]

    output=output.txt


    # --------------------
    # - Section scanning -
    # --------------------
    [scanning]

    test_upload_threads=5
    test_download_threads=5
    test_delete_threads=5

    speed_upload_threads=2
    speed_download_threads=2
    speed_delete_threads=2

    scan_timeout=10

    test_ftp_timeout=15
    speed_ftp_timeout=55

    test_filesize=2048
    speed_filesize=2097152

    active_mode_enabled=false

    Command
    KSnoop2.exe -k ksnoop2.ini

    hat in meiner LAN range so funktioniert ^^
     
  5. 16. Juli 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Hi!

    Hab anscheinend eine .dll vergessen, bitte die intl.dll in den KSnoop-Ordner legen und dann nochmal probieren Sonst geht deine .ini bei mir naemlich ohne Probleme.

    Hab die Downloadlinks angepasst, die intl.dll ist jetzt bei den Packages oben auch dabei.
    Fuer GSnoop (win32) sollte sie nicht benoetigt werden, weil sie bei den GTK+ libraries mit dabei ist.

    Mfg,

    Kolazomai
     
  6. 16. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Unter Win7 x64 funzt das gar nicht oder?
     
  7. 16. Juli 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Doch tut es, habe es zuerst lokal getestet Win7 x64.

    Kackt immer noch ab.

    Bild

    Zum multirange, wäre es gut, wenn man so wie bei der ips.txt ne ranges.txt hätte in die man die ranges einfügen kann.
     
  8. 16. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Hallo!

    Denke das Problem liegt an Windows7 (64bit Version) und libCURL, weil er kein CURL-handle erstellen kann. Benutze selber kein Windows7 (64bit), deshalb etwas schwer zu testen, und libCURL liegt dafuer nicht vor.

    Ich suche gerade nach einer Loesung.

    Mfg,

    Kolazomai
     
  9. 16. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Es müsste generell an 64 bit liegen, habe es auf nem server getestet.


    OS: Windows Server 2008/Vista Service Pack 2 x64
    Boxname: //2000 running at 2289 MHz, 2 core(s)

    Und da crasht es auch.

    Edit:/ auf nem 32 Bit Server mit Win Server 2008 crasht es auch.
    Auf ner windows XP 32 Bit VM rennt es zuerst ohne probleme kackt dann aber auch ab.
     
  10. 16. Juli 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Hey!

    Ich denke ich hab libCURL etwas ueberansprucht.
    Hab das jetzt ausgelagert. Hier die fixed version (standalone siehe erster Post).

    Bitte Feedback geben, ob es jetzt funktioniert hat. Sind leider die Kinderkrankheiten... Danke an alle fuers Testen!

    OS (64/32bit) sollte keinen Unterschied machen, aber ihr koennt mich, wenn ihr die Moeglichkeit habt, natuerlich unterstuetzen und Feedback zu den einzelnen Systemen geben.

    Mfg,

    Kolazomai
     
  11. 16. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Läuft momentan flüssig, man kann die exe aber umbenennen während dem Betrieb.

    Und er spuckt 0 results aus, selbst in ranges wo viel dabei ist.

    Änderungen:
    1. Multi Range scanning, z.B. ranges aus ner txt.
    2. Statusreport, also einfach Dateien erstellen, wie z.b. scan.startet, scan.finished oder so in der Art, da das Programm ja dafür verwendet wird auf nem Server ohne gui zu scannen
     
  12. 17. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Hey!

    In der von dir angegebenen Range hat er bei mir mindestens einen gefunden (hab dann abgebrochen). Der Konsolen-Output ist hilfreich (da steht dann, warum er z.B. bei einem, bei dem Upload ging, abgebrochen hat) bzw. welche er dann tatsaechlich gefunden hat.

    Ich hab das ganze so getestet, dass ich eine IP-Liste, die Pubs waren, und eine Range (in der die IPs vorhanden waren), in einer Ausfuehrung gescanned habe. Alle in der IP-Liste vorhandenen IPs sind dann im Output 2x aufgetaucht, es hat also funktioniert.
    Deshalb waere der Konsolenoutput interessant, oder Timeout hochsetzen?!

    Fuer v0.21 ist geplant: Multi-Range, eine Output Summary (Zeit, Gefundene IPs, IPs die man nochmal scannen sollte) und Ergebnisse werden sofort in die Output-Datei geschrieben.

    Wegen "Statusdateien". Normal kann man alle laufenden Prozesse durchschaun, da sieht man dann auch, ob KSnoop2 immer noch laeuft oder nicht.

    Mfg,

    Kolazomai
     
  13. 17. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Nur hat man auf nem str0 keine gui wenn man via fxp connected ^^ und kann nichts zu der Consolenrückmeldung sagen. Denn so wird das Programm letztendlich verwendet und nicht von zu Hause aus.
     
  14. 17. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Hey!

    Kann man das nicht einfach in eine Datei schreiben lassen? Ich denke da an:
    Code:
    KSnoop2.exe -k ksnoop2.ini > console_output.txt
    Aber wenn Interesse besteht, kann ich auch die Loesung temporaere Dateien 'ksnoop2.scanning' und 'ksnoop2.finished' implementieren.

    Mfg,

    Kolazomai
     
  15. 17. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Wie wärs wenn man mit der GUI ksnoop remote steuern könnte? Oder wenn du dem ganzen noch ein Webinterface spendieren würdest?
     
  16. 17. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Webinterface oder remote control ist sinnlos und zu aufwändig.
    Kann man alles übern ftp cleint steuern.
     
  17. 17. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Dass mit "zu aufwändig" lasse ich ja noch gelten, auch wenn ich mir sicher bin dass es genug libs gibt, mit denen die einem hierfür haufenweise Arbeit abnehmen.
    Aber sinnlos? Klar, man KANN alles übern ftp client steuern. Man KANN auch ausschließlich mit Lynx surfen, trotzdem macht es keiner . Hier geht es um Verbesserungsvorschläge. Und die möglichkeit, nen Scanner remote bequem steuern zu können halte ich für eine Verbesserung.

    Gruß,
    Figger
     
  18. 17. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Was ich vermisse ist die Möglichkeit ein File mit Ranges zu übergeben. Ist aber dann wohl spätestens wenn du Multirangescans angehst sowieso ein Thema, wie soll man die sonst übergeben.
     
  19. 18. Juli 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Bei mir siehts so aus...

    Bild

    Wohin soll der Ordner mit Libcurl? Muss der ins gleiche Verzeichnis wie KSnoop?

    Mit GSnoop komme ich auch nicht weiter, ich denke der kann irgendwie keine Uploaddatei erstellen oder sowas...

    EDIT:
    Das mit glib und libcurl scheint mir doch etwas komplizierter, kann jemand darüber mal ein paar Worte fallen lassen?
     
  20. 18. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Hallo!

    @Ba55Mutant:
    Entpacken und starten ist genug. libCURL und glib sind bereits der .exe als .dlls beigelegt. Die Requirements sind nur fuer Linux-Nutzer, die es selbst kompilieren wollen bzw. muessen interessant. Der Fehler kommt von libCURL, das ich zur Durchfuehrung von FTP-Transfers benutze. Dazu erstelle ich sogenannte "easy CURL handles". Warum er die auf deinem System nicht erstellen kann ist mir nicht ganz klar, es liegt wohl nicht an KSnoop2. Ich werd mich mal auf der libCURL-Homepage umschauen, vielleicht finde ich etwas dazu

    v0.21 ist uebrigens in Bearbeitung.

    EDIT: Release v0.21 morgen

    Mfg,

    Kolazomai
     
  21. 19. Juli 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Kleine Randbemerkung zur KSnoop v0.20 standalone win32 [fixed] unter Vista 32bit gibt er folgenden Fehler aus:

    Bild

    Die KSnoop v0.20 win32 (incl. ips.txt, ports.txt, paths.txt, blacklist.txt, ksnoop2.ini) [fixed] geht aber.

    Verbesserungsvorschlag zur GUI Version:

    Vieleicht kann man die GUI dahingehend erweitern das man alle Input & Output Felder in eine Config File Speichern kann und sie über ein Tabmenu optional laden kann.

    Auch sehr nice wäre wenn die GUI Version eine Schnittstelle zur Command Line Version hätte ähnlich wie bei Angry IP Scanner so das man über das GUI sich zu den Rechner verbinden könnte auf den gerade die Command Line Version läuft am besten noch übern ein Socksv5 mit Auth.
     
  22. 19. Juli 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Hallo!

    Version 0.21 (erstmal nur fuer KSnoop2) released:

    KSnoop2 Standalone Win32 v0.21
    KSnoop2 Win32 v0.21 (incl. Dateien)
    KSnoop2 (+ GSnoop) Linux .tar.gz v0.21

    Architektur v0.21

    GSnoop kann mit den Sourcen kompiliert werden, unterstuetzt aber den Multi-Range Scan noch nicht. Ich werde demnaechst noch ein paar Verbesserungen an der GUI vornehmen und dann GSnoop v1.1 releasen.

    CHANGELOG:
    @Ba55Mutant:
    Hab dazu noch keine Loesung gefunden. Eventuell mal mit der neuen Version probieren?!

    @elf4:
    Ich hoffe, dass mit der neuen Version das Problem auch geloest ist (sollte jetzt als 32bit erkannt werden).

    Mfg,

    Kolazomai
     
  23. 19. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    wie groß ist denn das interesse an einem web-interface und welche aufgaben sollte es erledigen?

    rein interessehalber
     
  24. 19. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    Wenn es zu einem kommen sollte, dann:

    - port frei wählbar
    - statusnazeige ob scannend oder nicht
    - evtl current ip oder current range
    - wieviele results gefunden wurden
    - results anzeigen als liste
    - start / stop
    - config editieren
     
  25. 19. Juli 2011
    AW: KSnoop2 - Snooping around on FTP Servers v2

    so waere es perfekt!
    current range sollte schicken.
    pause waere vll noch ne moeglichkeit
     
  26. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.