„BKA Trojaner 2.0“ unter Windows 7 – per Hand und ohne zusätzliche Software entfernen

Dezember 11th, 2011 § 9 comments § permalink

Leider erinnere ich mich nicht mehr an die genaue Version, aber vielleicht sollte ich ihn nochmal in der VM testen/installieren und eine genauere Anleitung zum Entfernen nachreichen. Ansonsten gibt es hier immer nochmal Infos falls man sich was diesbezügliches eingefangen hat.

Also die Version die gleich auf zwei Rechnern bei uns eintrudelte, schaffte es (oh welche Überraschung) sich an AntiVir vorbei zu mogeln. Auch die kostenpflichtige Version von Kaspersky musste erst mit der Nase drauf gestupst werden, bis sie registrierte, dass das Stückchen Malware nichts auf der Maschine zu suchen hat. Aber im Grunde kein Problem, der "Trojaner" bzw. die Malware lies sich relativ leicht entfernen.
Da ich im Netz keine Anleitung gefunden habe, die ihn so entfernt schreibe ich einfach zwei drei Zeilen dazu und vielleicht ist es mal irgendwem nützlich.

Als erstes ist es wohl doch sinnvoll im abgesicherten Modus zu starten. Allerdings hatte ich auf einen der Zwei Rechner auch Erfolg das Browserfenster mit mehrmaligen  "Alt+F4" zu beenden. Und konnte danach zumindest im Explorer ein bisschen auf Datei-Suche gehen. Im Abgesicherten Modus dürfte dies auf jeden Fall gehen. How ever.

1. Schritt
Erster Anhaltspunkt sollte sein:

C:\User\[Benutzername]\AppData\Local\Temp\

Hier sollte sich eine "komisch" benannte .exe-Datei finden lassen. Falls nicht, auf Nummer sicher gehen und unter Ordneroptionen "Versteckte und Systemdateien anzeigen" einstellen.
konkretes Beispiel, könnte dann so aussehen:

C:\User\HansWurst\AppData\Local\Temp\

Beispiel der exe:

0.89965784.exe

Den Namen der exe sollte man sich irgndwo notieren bevor man die Datei löscht sonst sucht man eventuell die Nadel im Nadelhaufen. Nachdem notieren die Datei einfach löschen und den Papierkorb leeren.

2. Schritt
Leider reicht das noch nicht aus, aber jetzt wissen wir ja, wonach wir suchen müssen.
jetzt unter Start bei Ausführen einfach "cmd" eingeben und in der sich öffnenden Konsole "regedit" eingeben. (Vielleicht geht auch gleich bei Ausführen/Suchen "regedit", ich weiß es nicht genau, da ich selbst kein Windows 7 benutze)

In der Registry geben wir dann in der Suche den Name unserer .exe-Datei ein. Hier im Beispiel "0.89965784.exe" oder nur "0.89965784". Die Suche dürfte dann ein passendes Ergebnis liefern, dieser Eintrag sollte dann aus der Registry entfernt werden.

3. Schritt
Prinzipiell, kann jetzt schon nichts mehr geschehen. Allerdings wird Windows beim starten wohl jetzt eine Fehlermeldung bringen, dass die auszuführende Datei nicht mehr vorhanden ist (in dem Falle die Datei des Trojaners). Um dies zu verhindern, müssen wir nun noch aus dem Startup die entsprechende .rundll-Datei entfernen. Diese finden wir unter:

C:\Users\[Benutzername]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

konkretes Beispiel könnte dann so aussehen:

c:\Users\HansWurst\AppData\Roaming\Microsoft\Start Menu\Programs\Startup

in dem Ordner Startup sollte sich dann eine .rundll finden lassen, die dem Namen unserer .exe-Datei entspricht. Diese sollte ebenfalls gelöscht werden.

Mit dem letzten Schritt sollte alles entfernt sein. Natürlich ist es sinnvoll nachdem noch einmal den Viren-/Malwarescanner zu aktualisieren und nochmal über die Platte zu jagen. Eine Neuinstallation des Betriebssystems sehe ich einfach nicht. Zumal der "Trojaner" meines Wissens nach auch keinen weiteren Schaden anrichtet außer beim Start das Browserfenster aufzurufen welches den User auffordert Geld zu überweisen. Sprich eigentlich ist es gar kein Trojaner sondern eher Scamware oder Scareware.

WICHTIG: Checkt noch ob euer Taskmanager funktioniert. Wenn dieser nicht auftaucht oder nicht startet dann ist doch noch ein letzter Schritt erforderlich:
1. Unter Start im Suchefeld wieder regedit eingeben.
2. Unter HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies System "öffnen"
3. Den Eintrag DisableTaskMgr suchen und öffnen und den Wert auf 0 setzten. Dann ok und prüfen ob der Taskmanager jetzt wie gewohnt erscheint.

Eventuell reiche ich eine genauere Anleitung nach, wenn ich Zeit und Ruhe dazu finde. Ansonsten sind wir für alle Hinweise und Verbesserungsvorschläge sowie Fehlerkorrekturen offen.

mr_door_status

Dezember 8th, 2011 § 3 comments § permalink

Schloss, Schalter, Arduino, Ethernet-Shield, Twitter
www.twitter.com/mr_door_status
http://mrdoor.paddd.de/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CODE:

#if defined(ARDUINO) && ARDUINO > 18
#include <SPI.h>
#endif
#include <Ethernet.h>
#include <EthernetDNS.h>
#include <EthernetDHCP.h>
#include <Twitter.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
const char* ip_to_str(const uint8_t*);
int state = 1; //door will be open at boot!!!
int sensorValue = 0;

Twitter twitter("your-token-here");

void setup() {
  Serial.begin(9600);
  network();
}

void network() {
  Serial.println("attempting to obtain DHCP lease...");
  EthernetDHCP.begin(mac);

  const byte* ipAddr = EthernetDHCP.ipAddress();
  const byte* gatewayAddr = EthernetDHCP.gatewayIpAddress();
  const byte* dnsAddr = EthernetDHCP.dnsIpAddress();
  
  Serial.println("DHCP lease has been obtained.");

  Serial.print("IP address is ");
  Serial.println(ip_to_str(ipAddr));
  
  Serial.print("gateway IP address is ");
  Serial.println(ip_to_str(gatewayAddr));
  
  Serial.print("DNS IP address is ");
  Serial.println(ip_to_str(dnsAddr));
}


// Just a utility function to nicely format an IP address.
const char* ip_to_str(const uint8_t* ipAddr) {
  static char buf[16];
  sprintf(buf, "%d.%d.%d.%d", ipAddr[0], ipAddr[1], ipAddr[2], ipAddr[3]);
  return buf;
}

void loop() {
  door_status();
  EthernetDHCP.maintain();
  randomSeed(millis());
}

void door_status() {
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  
  if(sensorValue>915 && state==1){
    delay(3000);
    int sensorValue = analogRead(A0);
    if(sensorValue>915 && state==1){
      delay(3000);
      int sensorValue = analogRead(A0);
      if(sensorValue>915 && state==1){
        state=0;
        tweet(state);
      }
    }
  } 
  if(sensorValue<916 && state==0) {
    delay(3000);
    int sensorValue = analogRead(A0);
    if(sensorValue<916 && state==0) {
      delay(3000);
      int sensorValue = analogRead(A0);
      if(sensorValue<916 && state==0) {
        state=1;
        tweet(state);
      }
    }
  }
  //update margin
  delay(10000);
}

void tweet(int state) {
  if(state==1) {
    
    int rand = random(5000);
    char txt [120];
    sprintf(txt, "der maschinenraum ist offen No. %d", state);
    
    Serial.println("connecting to twitter...");
    if (twitter.post(txt)) {
      int status = twitter.wait();
      if (status == 200) {
        Serial.println("status tweet OPEN sent.");
      } else {
        Serial.print("tweet failed : code ");
        Serial.println(status);
      }
    } else {
    Serial.println("connection to twitter failed.");
    setup();
    }
    
  }  
  
  if(state==0) {
    
    int rand = random(5000);
    char txt [120];
    sprintf(txt, "der maschinenraum ist geschlossen No. %d", state);
    
    
    Serial.println("connecting to twitter...");
    if (twitter.post(txt)) {
      int status = twitter.wait();
      if (status == 200) {
        Serial.println("status tweet CLOSED sent.");
      } else {
        Serial.print("tweet failed : code ");
        Serial.println(status);
      }
    } else {
    Serial.println("connection to twitter failed.");
    setup();
    }
  }
}

Where am I?

You are currently viewing the archives for Dezember, 2011 at maschinenraum.