pub scannen unter linux?


  • Opfer
  • 3587 Aufrufe 25 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • pub scannen unter linux?

    Hallo!
    Ich wollte mal fragen ob es ein programm zum scannen von pubs unter linux gibt. Ich freue mich über jede antwort, weil ich mich jetzt von MS Windows xp verabschiedet hab.

    mfg
  • nmap ist eigentlich DAS portscan tool für *nix... es bietet diverse scan verfahren, die unter windows garnicht möglich sind (bzw unter win9x nicht möglich sind und unter 2k/xp afaik nicht genutzt werden). das umfasst z.b. scans, bei denen man die absender IP nicht eindeutig feststellen kann als ziel. ohne zumindest grundlegendes tcp/ip wissen wird man damit aber wenig anfangen können.

    ps: ein sfind ähnliches tool zu schreiben kann ja wohl eigentlich auch nicht so schwer sein (besonders wenn man nur pubs scannen will :))
    ps2: nein ich kann leider nicht coden
  • beatsix schrieb:

    nmap ist eigentlich DAS portscan tool für *nix... es bietet diverse scan verfahren, die unter windows garnicht möglich sind


    stimmt so nicht ganz, gibt ja auch ne windoofs-version von nmap ;)

    Ist wirklich ein 'mächtiges' scan-proggie, allerdings ein wenig unnütz für pubs.

    ich habe mal einen source-code für einen pub-scanner unter linux bekommen. habs allerdings nie compiled bzw. probiert.
    Aber wers haben möchte schreibt mir einfach ne mail

    mfg
  • beatsix schrieb:

    nmap ist eigentlich DAS portscan tool für *nix...


    nmap ist sicher sehr nützlich um portscans durchzuführen. Aber ein offener Port 21 bedeutet noch lange nicht das ein anonymous login erlaubt ist und ob man auf dem anonymous login auch uploaden kann.

    man bräuchte also noch ein command line ftp client wie z.B. ncftp.

    Wenn man dann jedoch mit nmap network ranges nach offenem FTP Port absucht, mit ncftp testet ob der FTP als Pub tauglich ist ... dauert das im Endeffekt viel zu lange.

    Aber vielleicht hat sich ja irgendwo in den Weiten des Internets ein Freak die Mühe gemacht und ein Perl Script geschrieben ... :P


    Grüße,
    etm
  • Aber vielleicht hat sich ja irgendwo in den Weiten des Internets ein Freak die Mühe gemacht und ein Perl Script geschrieben ... :P

    *meldundwiebeklopptindergegendrumhüpf"

    ich schreibe grade ein perl script was das erledigen soll.
    Bräuchte allerdings mal ein bisschen beistand.
    der portscan funktioniert soweit, ein komplettes C subnetz wird in ~5 sekunden auf anonymous FTPs gescannt (sehr geil).
    dann beim checken auf entsprechende rechte (mit checken dauert es ~20 sekunden ein subnet zu scannen) teste ich z. zt. nur ob man einen ordner erstellen und löschen kann, ich denke mal das ist zu wenig oder ?
    was soll noch gecheckt werden ?-
  • wichtig wäre auch noch ob man Dateien hoch und runterladen kann, sonst bringt das gnze ja nichts...

    wäre schön wenn der scanner die BL gleich beim Scannen außen vor läßt...

    Find ich geil das du sowas programmieren willst/machst... RESPEKT!!
    [SIZE=1]
    Was ist der Unterschied zwischen einem U-Boot und MS Windows?
    Keiner, sobald man ein Fenster aufmacht, fangen die Probleme an
    Alle Tips von mir ohne Gewähr und auf eigenes Risiko !!
    UP1 UP2 UP3[/SIZE][SIZE=1]
    [/SIZE]
  • @n00b2k!ll
    Bestimmt ne feine Sache sowas.:)
    Ähm könnte man dieses Thema in der Coding-Ecke extra behandeln? :confused:
    Evtl. kann das Script ja die Chmod-Rechte des Servers auslesen.;)
    Evtl. auch, wieviel Speicherplatz noch frei ist.
    Das alles könnte wenn, dann nur unter einem gescannten Linux-Server funktionieren (denk ich mal) oder? :confused:

    Ansonsten sollte es die Funktionen wie GrimsPing haben.;)
  • das ganze sollte nicht zu uebertrieben sein, es soll ja nicht an geschwindigkeit einbueßen.

    blacklist: es würde sicherlich nicht schwer sein die funktion einzubauen ,aber ich halte sie für sinnlos, ich hatte nie probleme mit irgendwelchen blacklist IPs und kenne auch niemanden mit solchen problemen.
    außerdem geschwindigkeitseinbußen

    checken: jedes mal eine datei hochzuladen dauert zu lange und ist unnötig, ich denke es reicht zu wissen ob man a) dirs erstellen und löschen kann b) Dateien löschen kann
    optional könnte man checken wies mit site commands aussieht und ob man etwas uppen und saugen kann, vllt schreib ich ja noch nen gesonderten checker :)

    ich weiß nicht wies unter windows aussieht, theoretisch könnts klappen, ich bin mir nur nicht sicher wie es unter windows mit fork() aussieht.
  • die geschwindigkeit von scannern hängt aber eher weniger vom scanner, als mehr von der eigenen verbindung und der geschwindigkeit der gescannten server ab. wenn du z.B. auf deiner leitung maximal 50 threads benutzen KÖNNTEST wäre es wohl nix mit den 5sec...

    thema checker... FXP ability wäre noch nützlich... sonst machts fillen leider wenig spass
    uploaden von einer testdatei halte ich für sehr sinnvoll für einerseits nen groben speedcheck (um z.B. zu sehn, obs ein 0,1kb/s lahmarsch server ist) und bei etwa einem gefunden pub pro tag bricht sich das script dann auch keinen bei ab, mal kurz 100kb zu uppen auf den testserver... wenn du keine rechte hast zum uppen tut er eh nix und du weisst, daß der pub wertlos ist

    ps: scannen von craggies wäre noch nett falls ncftp das kann (kenn das prog nich)
  • wäre auch interessiert an dem scanner für pubs
    denn mi9t wine scannen ist sinnlos, es schmiert mir eh immer wine samt anwendung ab
    dann kommen sinnfreie fehlermeldungen, die selbst codingfreaks nicht auszulesen vermochten, und das wars dann ;)

    =ein einfaches pub scanning tool wäre echt spitze
  • poste doch mal die fehlermeldung hier rein ausserdem kann man unter Linux sehr gut scannen ist halt nur noch nicht alles in einem programm aber dafür kann man sich ja ein shellscript schreiben.
    Signatur entsprach nicht den Boardregeln.
    ->gelöscht by lukas2004
  • ich hab kein plan von shellscripten schrieben, allgemein von coden nur wenig

    ich bin zufrieden mit meinem linux, und komme sehr gut klar; aber ein fertiges programm/script wäre schon ne feine sach, dannn könnte ich endlich unter linux scannen :)
  • so hab mal ein kleines shellscript geschrieben erst wird per "nmap" gesucht und nachher per "ftp" getestet. ist zwar nicht so wunderschön aber spuckt dir ne txt mit den gescannten Pubs aus.
    Wers haben will kann mir ja einfach mal eine PM schicken
    Signatur entsprach nicht den Boardregeln.
    ->gelöscht by lukas2004
  • so hier isses jetzt nennts wie ihrs wollt z.B. pubscan.sh dann einfach ausführbar machen mit "chmod +x pubscan.sh" und einfach ALS ROOT per "./pubscan.sh google.de" oder "./pubscan.sh 71.234.12.345" (also entweder domain oder aber url) ausführen. das wars anschließend findet ihr in der datei pubs.txt die IP's von den Pubs die anonymous ftp offen haben.
    da der FTP scan ein bisschen lange dauert hab ich den jetzt mal weggelassen.

    so genug geredet.

    Quellcode

    1. # bin/bash
    2. nmap -p 21 -oG nmap.txt $1/24
    3. cat nmap.txt | grep open > open.txt
    4. cat open.txt | awk '{ print $2 }' > pubs.txt


    achso nmap, cat und awk müssen aber installiert sein (bei allen distris sind awk und cat bei bei den meiosten auch nmap sonst einfach nachinstallieren per "apt-get install nmap" oder "emerge nmap" oder was auch immer .....

    viel spaß
    und lasst die leitungen glühen ....
    Signatur entsprach nicht den Boardregeln.
    ->gelöscht by lukas2004
  • ds script ist jetzt fertig und funktioniert ich muss es nurnoch etwas tunen. ich find das shellscript sehr praktisch vorallen weil ich bashscripte sowieso schon viel lieber mag als perl scripte.
    so ich tune das jetzt noch ein bisschen und verpass dem ganzem sone art gui und dann könnt ihr alle es mal ausgiebig testen.
    Signatur entsprach nicht den Boardregeln.
    ->gelöscht by lukas2004
  • dann zeig ich dir mal die staerken von perl :P

    Das teil scannt jetzt lediglich auf anonymous, das heisst ncoh keine schreibrechte, das kommt dann ... irgendwann :D

    Perl-Quellcode

    1. #!/usr/bin/perl
    2. use IO::Socket;
    3. use Net::FTP;
    4. use Socket;
    5. open(LOG, ">>scan_log.txt");
    6. my $MAX_SOCKET_TIME = 2;
    7. my $MAX_CONNECT_TIME = 3;
    8. my $HELP=qq{Usage: scanner.pl [-h | --help] [-p processes] [-d | --debug] host
    9. };
    10. my @hosts;
    11. my $MAX_PROCESSES=10;
    12. my $DEBUG=0;
    13. while($_=shift){
    14. if(/^--(.*)/){
    15. $_=$1;
    16. if(/help/){
    17. print $HELP;
    18. exit(0);
    19. }
    20. if(/debug/){
    21. $DEBUG=1;
    22. }
    23. }
    24. elsif(/^-(.*)/){
    25. $_=$1;
    26. if(/^h/ or /^\?/){
    27. print $HELP;
    28. exit(0);
    29. }
    30. if(/^p/){
    31. $MAX_PROCESSES=shift;
    32. }
    33. if(/^d/){
    34. $DEBUG=1;
    35. }
    36. }else{
    37. push @hosts,$_;
    38. }
    39. }
    40. if(!$hosts[0]){
    41. print $HELP;
    42. exit(-1);
    43. }
    44. my $host;
    45. $|=1;
    46. print "--[FTP anon scanner]--\n\n";
    47. for $host (@hosts){
    48. $_=shift(@hosts);
    49. # scan a class C
    50. if(/^\d+\.\d+\.\d+$/){
    51. my $i;
    52. print "Expanding class C $_\n" if($DEBUG);
    53. for($i=1;$i<255;$i++){
    54. my $thost="$_.$i";
    55. push @hosts,$thost;
    56. }
    57. }
    58. else{
    59. push @hosts,$_;
    60. }
    61. }
    62. my @pids;
    63. my $npids=0;
    64. for $host (@hosts){
    65. my $pid;
    66. $pid=fork();
    67. if($pid>0){
    68. $npids++;
    69. if($npids>=$MAX_PROCESSES){
    70. for(1..($MAX_PROCESSES)){
    71. $wait_ret=wait();
    72. if($wait_ret>0){
    73. $npids--;
    74. }
    75. }
    76. }
    77. next;
    78. }elsif(undef $pid){
    79. print "fork error\n" if ($DEBUG);
    80. exit(0);
    81. }else{
    82. my($proto,$port,$sin,$ip);
    83. print "Trying $host\n" if ($DEBUG);
    84. $0="(checking $host)";
    85. # kill thread on timeout
    86. local $SIG{'ALRM'} = sub { exit(0); };
    87. alarm $MAX_SOCKET_TIME;
    88. $proto=getprotobyname('tcp');
    89. $port=21;
    90. $ip=inet_aton($host);
    91. if(!$ip){
    92. print "couldn't find host $host\n" if($DEBUG);
    93. exit(0);
    94. }
    95. $sin=sockaddr_in($port,$ip);
    96. socket(Sock, PF_INET, SOCK_STREAM, $proto);
    97. alarm $MAX_CONNECT_TIME;
    98. if(!connect(Sock,$sin)){
    99. exit(0);
    100. }
    101. my $iaddr=(unpack_sockaddr_in(getpeername(Sock)))[1];
    102. close(Sock);
    103. print "listen $host!\n" if ($DEBUG);
    104. alarm 0;
    105. $hostname=gethostbyaddr($iaddr,AF_INET);
    106. # Checking for anonymous
    107. print "[!] testing $host\n";
    108. $ftp = Net::FTP->new("$host", Debug => 0)
    109. or die "Cannot connect to $host: $@";
    110. $ftp->login("anonymous",'anonymous@foo.com')
    111. or die "No Anonymous FTP", $ftp->message;
    112. $ftp->quit;
    113. print "[!] Anon FTP on $host \n";
    114. print LOG "[!] Anon FTP on $host \n";
    115. exit(0);
    116. }
    117. }
    118. print "done spawning, $npids children remain\n" if($DEBUG);
    119. # wait for my children
    120. for(1..$npids){
    121. my $wt=wait();
    122. if($wt==-1){
    123. print "hey $!\n" if($DEBUG);
    124. redo;
    125. }
    126. }
    127. close(LOG);
    128. print "--[Done]--\n";
    Alles anzeigen


    benutzung:
    -p [zahl] = prozesse (threads) die benutzt werden sollen
    -d = debug, wenn es benutzt wird kriegt ihr vom Programm mehr rueckmeldung :) einfach ausprobieren
    hosts = ip range, Bsp:

    Quellcode

    1. scanner.pl -p 50 -d 192.168.1

    scannt das komplette subnetz 192.168.1.(0-255)
    ihr koennt auch einen einzelnen host angeben (dann einfach die ganze IP )

    beispiel ausgabe:

    $ ./ftp_scanner.pl -p 100 132.195.90
    --[FTP anon scanner]--

    [!] testing 132.195.90.9
    [!] Anon FTP on 132.195.90.9
    --[Done]--

    Dauer ~7 sekunden fuer das komplette subnetz
    results finden sich in der datei scan_log.txt

    Have Phun
  • hmmm okay das is wirklich nicht übel muss ich zugeben da muss ich dann wohl doch nochma zum nano greifen ;)
    das is aber ja wirklich auch unfair ich hab 12 zeilen code und du ..... ;)
    ausserdem sagst du meinem in der neusten version

    entweder
    ./pubscan.sh 182.126.5 192.145.213 .......

    oder aber (was ziemlich geil ist)
    ./pubscan.sh g mist 7-13

    das scannt dir alle ip ranges der google ergenisse zu mit von seite 7-13, aber nicht ohen sie vorher mit ner blacklist zu vergleichen.....
    ausserdem hab ich diesen verdammten ftp rausgeschmissen (man braucht wirklich nurnoch nmap und die sachen werden jetzt als variablen weitergegeben (die textdateien waren zwar schön und gut aber es macht doch langsam und braucht sehr viel platz)...
    das ergebniss ist viel sortierter, es gibt dir ein betriebsyystem, upload und downloadgeschwindigkeit und natürlich den standort des servers aus (nachher scannt man noch nen server in indonesien [sollen zwar auch gut und sogar schweine billig sein aber was wenn die privat armee die den server bewacht auf einmal streikt? der server ist schneller auseinandergenommen als man bis 3 zählen kann] und das wollen wir dohc nicht oder?)
    ist jetzt dadruch auch noch was flotter geworden ....

    aber schon geil was du alles mit perl anstellen kannst, ich hätte das nie so hinbekommen wahnsinn...
    (merkst du eigentlich dass wir die windows scanproggy´s schon lange übertroffen haben und das mit so "wenig" arbeit???)
    Signatur entsprach nicht den Boardregeln.
    ->gelöscht by lukas2004
  • uebertroffen wuerd ich nicht sagen, mir bereitets viel mehr freude dass ein windows user der mein perl script ausfuehren wuerde im schneckentempo scannen wuerde weils numal kein fork() unter windows gibt :)

    ich werde in den scanner nur noch das testen auf schreibrechte einbringen, und dann einen 2. scan mode einbauen der die results aus der scan_log.txt auf speed standort und die ganzen sachen checkt denk ich.
  • Da ihr allgemein nach Scan-Tools sucht, habe ich doch mal google gefragt und der hat mir promt was ausgespuckt:
    linux-magazin.de/Artikel/ausga…9/01/Scanner/scanner.html

    Darin ist von S.A.T.A.N. die Rede und dem etwas neueren (das es aber doch schon einige Jahre gibt) Nessus die Rede die beide einfache FTP-Scans machen können.

    Will mir das mal genauer anschauen und Rückmeldung geben falls ich was herausfinde. Nur das es andere auch noch probieren können oben eben der Link..

    -purx

    PS: Mein erster Post hier...