[Delphi] just another FTPScanner

Dieses Thema im Forum "Projekte / Codes" wurde erstellt von inout, 8. Juni 2012 .

Schlagworte:
  1. 8. Juni 2012
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    just another FTPScanner

    Hi,

    in Anbetracht dieses Threads bin ich gestern auf die tolle Idee gekommen auch ein solches Tool zu schreiben. Es ist ganz einfach aufgebaut, besteht nur aus 1173 Code-Zeilen (ohne Kommentare, mit einigen Leerzeilen), aber sollte (hoffentlich) alle nötigen Funktionen enthalten.

    Es läuft allerdings nur auf Windows (mit wine hab ich es nicht getestet) und benutzt die WinInet-API (InternetOpen, InternetConnect, FtpSetCurrentDirectory, FtpPutFile, FtpGetFile, FtpDeleteFile).

    Usage:
    Spoiler
    Code:
    FTPScanner.exe -h
    
    just another FTPScanner by inout
    --------------------------------
    
    Usage:
     FTPScanner.exe [OPTION...]
    
    Options:
     -h, --help Show this help
     -r, --range IP range(s) to scan (comma-seperated); format: a.b.c.d-a.b.c.d,...
     -f, --inputfile Path to file containing IPs/Hostnames
     -P, --portfile Path to file containing ports; default: 21
     -u, --userfile Path to file containing usernames; default: anonymous
     -w, --passfile Path to file containing passwords; default: anonymous
     -p, --pathfile Path to file containing paths; default: /
     -o, --outputfile Path to file to write results to; default: stdout only
     -t, --threadcount Number of threads to use for scanning; default: 20
     -b, --connecttimeout Milliseconds to wait for connection; default: 8000
     -c, --receivetimeout Milliseconds to wait for data receiving; default: 30000
     -d, --sendtimeout Milliseconds to wait for data sending; default: 30000
     -s, --filesize File size for up/download speed test (in bytes); default: 500000
     -e, --progress Show scan progress every X IPs; default: 100
     -a, --active Use active FTP transfer mode
     -R, --random Use random scan order
     -v, --verbose Use verbose output
    
    Wie man sieht, sind fast alle Optionen standardmäßig schon eingestellt. Einzig der/die Parameter -r und/oder -f muss/müssen angegeben werden.

    Beispiel Scan:
    Spoiler
    Code:
    FTPScanner.exe -r 72.167.200.1-72.167.200.255 -p path.txt
    
    255 IP(s) added
    35 path(s) loaded
    starting 20 thread(s)
    
    IP : 72.167.200.92
    Port : 21
    Username : anonymous
    Password : anonymous
    Path : /incoming/
    Upload speed : 49,37 KB/s
    Download speed: 142,90 KB/s
    Deleteable : No
    
    IP : 72.167.200.71
    Port : 21
    Username : anonymous
    Password : anonymous
    Path : /
    Upload speed : 37,00 KB/s
    Download speed: 145,58 KB/s
    Deleteable : Yes
    
    Scan completed, 2/12 open FTP(s) found
    

    Möchte man detailliertere Ausgaben, kann man den verbose-Modus aktivieren und erhält dann sämtliche Fehlermeldungen usw.:
    Spoiler
    Code:
    FTPScanner.exe -r 72.167.200.1-72.167.200.20 -v
    
    20 IP(s) added
    starting 20 thread(s)
    
    72.167.200.5:connect:The FTP operation was not completed because the session was aborted.
    72.167.200.10:connect:The FTP operation was not completed because the session was aborted.
    72.167.200.4:connect:220 Microsoft FTP Service
    530 Valid hostname is expected.
    
    anonymous:anonymous@72.167.200.11:21
    72.167.200.17:connect:220 Microsoft FTP Service
    530 Valid hostname is expected.
    
    72.167.200.20:connect:220 Microsoft FTP Service
    530 Valid hostname is expected.
    
    72.167.200.1:connect:The request to connect to and log on to an FTP server failed.
    72.167.200.8:connect:The request to connect to and log on to an FTP server failed.
    72.167.200.7:connect:The request to connect to and log on to an FTP server failed.
    anonymous:anonymous@72.167.200.11/:21
    72.167.200.15:connect:The request to connect to and log on to an FTP server failed.
    72.167.200.14:connect:The request to connect to and log on to an FTP server failed.
    72.167.200.2:connect:The request to connect to and log on to an FTP server failed.
    72.167.200.11:upload:200 TYPE is now 8-bit binary
    227 Entering Passive Mode (72,167,200,11,138,140)
    553 Can't open that file: Permission denied
    
    72.167.200.3:connect:The attempt to connect to the server failed.
    72.167.200.6:connect:The attempt to connect to the server failed.
    72.167.200.16:connect:The attempt to connect to the server failed.
    72.167.200.19:connect:The attempt to connect to the server failed.
    72.167.200.18:connect:The attempt to connect to the server failed.
    72.167.200.9:connect:The request has timed out.
    72.167.200.12:connect:The request has timed out.
    72.167.200.13:connect:The request has timed out.
    Scan completed, 0/1 open FTP(s) found

    Wenn Ihr wollt, könnt Ihr es ja mal testen und mir Verbesserungsvorschläge usw. geben

    Download (src): Download: FTPScanner_src.zip | www.xup.in
     
  2. 8. Juni 2012
    AW: just another FTPScanner

    wie müssen die ips in einem txt file vorliegen?
     
  3. 8. Juni 2012
    Zuletzt bearbeitet: 8. Juni 2012
    AW: just another FTPScanner

    Einfach untereinander, also getrennt durch einen Zeilenumbruch, egal ob Windows (CR+LF), Unix (LF) oder MAC (CR). Eine Validitätsprüfung wird nicht durchgeführt, also sollte in jeder Zeile auch wirklich nur ein(e) IP/Host stehen.
     
  4. 8. Juni 2012
    AW: just another FTPScanner

    Nur die IP. Die Unterstützung für eine optionale Portangabe kann ich bei Bedarf hinzufügen.
     
  5. 8. Juni 2012
    AW: just another FTPScanner

    also eine fortschrittsangabe wäre mir sinnvoller also wieviel % er von 100 hat das man weiß wie weit er schon ist
     
  6. 8. Juni 2012
    AW: just another FTPScanner

    Habe es aktualisiert.

    Änderungen:
    Neuer Parameter: -e, --progress Show scan progress every X IPs; default: 100
    Das Tool ist jetzt auch im non-verbose-Modus etwas "geschwätziger".

    alexgold, funktioniert es bei Dir denn (speedcheck usw.) und läuft es stabil? Würde mich interessieren, denn außer mir hat es noch niemand getestet
     
  7. 8. Juni 2012
    AW: just another FTPScanner

    winapi abhänigkeiten sind bei nem scanner ned wirlich von vorteil.
    die dinger laufen meist auf *nix stros und nicht lokal.

    auf alle fälle sollte noch ne proxy-funktion rein

    ansonsten nettes ding.
     
  8. 8. Juni 2012
    Zuletzt bearbeitet: 8. Juni 2012
    AW: just another FTPScanner

    mal ehrlich aber wer scannt mit proxys

    also die progress bar kann man doch standardmäßig einabauen oder nicht ,also das er die automatisch anzeigt und immer.

    und ja läuft bis jetzt ganz gut

    und ein pub den er gefunden hatte hatte beim recheck keine dl rechte
     
  9. 8. Juni 2012
    AW: just another FTPScanner

    Ah, OK, ich hab mit dieser FXP-Szene nicht wirklich was zu tun, wollte nur auch mal so ein Tool schreiben
    Joa, kann ich beim nächsten Update machen.

    Das ist nicht gut. Kannst Du den Server evtl. mal mit der Option -v rechecken und die Ausgabe hier posten (IP kannst Du ja zensieren)? Dann kann ich mal schauen was da los ist.
     
  10. 8. Juni 2012
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: just another FTPScanner

    Ich würde mal sagen das >99% der hacked Str0s hier Windows Systeme sind.

    Ansonsten, hätte ich es wohl direkt mit den winsockets gemacht.

    Die Variable "sLastResponseInfo" ist in Zeile 188 übrigens überflüssig.

    PS: Lässt sich auch wunderbar für x64 Systeme kompilieren
     
  11. 9. Juni 2012
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: just another FTPScanner

    stimmt, hab ich wohl vergessen beim letzten Update zu entfernen.
    joa, bei so einem Programm bringt die x64 Version aber keine Vorteile, deshalb hab ich drauf verzichtet.
     
  12. 1. Juli 2012
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: just another FTPScanner

    arbeitest du jetzt noch an dem projekt?

    weil so in etwas könnte die bar während des cannens ausehen:

    Bild
    {img-src: http://www.mathworks.com/matlabcentral/fx_files/4863/1/progressbar.jpg}
     
  13. 1. Juli 2012
    AW: just another FTPScanner

    In letzter Zeit hab ich nicht mehr dran gearbeitet, aber eine Fortschrittsanzeige ist schon drin, zwar nicht eine solche, aber ich denke so wie es jetzt ist sollte es doch auch reichen, oder nicht?
     
  14. 1. Juli 2012
    Zuletzt bearbeitet: 1. Juli 2012
    AW: just another FTPScanner

    also bei mir sehe ich keinen unterschied ob mit oder ohne -e
     
  15. 1. Juli 2012
    Zuletzt bearbeitet: 1. Juli 2012
    AW: just another FTPScanner

    Hast Du für -e auch einen Wert angegeben, also z.B. -e 100, je nach dem nach wie viel gescannten IPs der Fortschritt ausgegeben werden soll?

    Du musst natürlich auch die neueste Version benutzen, also den Source kompilieren...
    Die Binary zu posten war scheinbar nicht erlaubt.
     
  16. 2. Juli 2012
    AW: just another FTPScanner

    ja hab die neuste und egal welchezahl ich nach -e eingebe kommt immer dasgleiche
     
  17. 2. Juli 2012
    AW: just another FTPScanner

    Was heißt denn immer das Gleiche, kommt denn überhaupt irgendwann eine Statusanzeige? Standardmäßig ist es so eingestellt (auch wenn man den -e Parameter weglässt), dass sie nach 100 gescannten IPs kommt.
    Wenn bei Dir also überhaupt keine Statusanzeige kommt, hast Du definitiv noch die alte Version.
     
  18. 5. Juli 2012
    AW: just another FTPScanner

    kannst ja mal ein screen davon machen wie sie aussehen sollte.
     
  19. 24. Juli 2012
    AW: just another FTPScanner

    also einmal ist es chon hängen geblieben evtl. zuviele threads zuviele ips in txt
    dann wäre es noch gut wenn man die results filtern könnte nach nur richtigen useable pubs ohne dl rechte sind nicht wirklich "useable"
     
  20. 1. August 2012
    AW: just another FTPScanner

    da ich mich leider mit Delphi nicht aus kenne, wäre es super wenn mir jemand die EXE zukommen lassen könnte
     
  21. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.