Пишем скрипт для работы с VirusTotal-ом

Forevonly

Pro Member
Сообщения
599
Реакции
601
Посетить сайт

Приветствую всех! Сегодня я вам покажу как сделать скрипт, который будет загружать все что вы скачали на вирустотал, т.е это для того, чтобы не подхватить вирус. Возможно этот скрипт не будет вам полезен.

Недавно перешел на python3. Советую всем переходить))



Приступим к программированию !



По дефолту(у меня уже привычка) ставим это # -*- coding: utf-8 -*- в начале нашего скрипта.



Теперь импортируем библиотеки, которыми мы будем пользоваться.



Код:
from termcolor import *
import colorama
import os
import time
from sys import platform
import requests
import webbrowser

Я захотел сделать цветной текст, но в windows он не отображался, путем гугления нашел решение пишем: colorama.init()



Далее я создаю функцию которая отобразит банер нашего скрипта.
Код:
def banner():
    cprint('-' * 50,'green')
    cprint(' ' * 17 + 'DefendMySystem','red')
    cprint('-' * 50,'green')
Теперь я создаю функцию для очистки консоли(для красоты).

Код:
def cleaner():
    if platform == "linux" or platform == "linux2": # Определяю OC системы
        os.system('clear')
    if platform == "win32":
        os.system('cls')
Я решил, что часть настроек будет лежать в .conf файлах. Поэтому я написал функцию для проверки существования этих файлов.

Код:
def checkfiles():
    arr = os.listdir('.') # Список файлов в текущей дириктории
    for x in arr:
        if 'delay.conf' not in arr:
            handle = open('delay.conf','w')
            handle.close() # Если файла нету создать

        if 'api.conf' not in arr:
            handle = open('api.conf','w')
            handle.close() # Если файла нету создать

Потом я написал функцию настройки скрипта.

Код:
def setting():
    handle = open('config.conf')
    data = handle.read()
    handle.close()
 
    handle = open('delay.conf')
    data2 = handle.read()
    handle.close()
    if data2 == '': #Если конфиг пустой - настроить
        cprint("Установите задержку для проверки папки загрузки(в секундах)","cyan")
        delay = input(':')
        handle = open('delay.conf','w')
        handle.write(delay)
        handle.close()
        cleaner()
    handle = open('api.conf')
    data3 = handle.read()
    handle.close()

    if data3 == '': #Если конфиг пустой - настроить
        cprint("Введите ваш api ключ","cyan")
        webbrowser.open("https://www.virustotal.com/ru/", new=2)
        api = input(':')
        handle = open('api.conf','w')
        handle.write(api)
        handle.close()
        cleaner()

Далее я написал функцию отправки файла на вирустотал.

Код:
def sendfiles(filename,api):
    params = {'apikey': api} # Работу с api обычно документируют на сайте
    response = requests.post('https://www.virustotal.com/vtapi/v2/file/scan', files={'file': (filename, open(filename, 'rb'))}, params=params)
    json_response = response.json()
    dct = eval(str(json_response))
    link = dct['permalink']
    webbrowser.open(link, new=2)

Потом я написал главную функцию, которая выполняет всю тяжелую работу.

Код:
def main():
    temp = []
    path = 'C:\\Users\\Алекс\\Downloads\\' # Путь к папке куда файлы загружаются
                                            # С этой папки файлы будут слаться
    handle = open('delay.conf')
    delay = handle.read()
    handle.close()
    delay = int(delay) # Читаем конфиг

    handle = open('api.conf')
    api = handle.read() # Читаем конфиг
    handle.close()
    files = os.listdir(path) # Список файлов в path(переменная)
    while True: # Бесконечный цикл
        files2 = os.listdir(path) # Список файлов в path(переменная)
        if files != files2: # Если добавился новый файл
            for x in files2:
                if x not in files:
                    temp.append(x)
                    for x in temp:
                        filename = path + x
                    sendfiles(filename,api) # Мы его отправим и у нас откроется отчет со сканом
            temp = []
            files = files2
        time.sleep(delay) # Задержка цикла

Все готово! Теперь просто вызываю функции.


Код:
banner()
checkfiles()
setting()
try:
    main() # Если пользователь нажмет ctrl + c он просто выйдет, а не получит ошибку
except KeyboardInterrupt:
    exit()

Код:
Для удобства полный код:

Код:
# -*- coding: utf-8 -*-
from termcolor import *
import colorama
import os
import time
from sys import platform
import requests
import webbrowser

colorama.init()

def banner():
    cprint('-' * 50,'green')
    cprint(' ' * 17 + 'DefendMySystem','red')
    cprint('-' * 50,'green')

def cleaner():
    if platform == "linux" or platform == "linux2":
        os.system('clear')
    if platform == "win32":
        os.system('cls')


def checkfiles():
    arr = os.listdir('.')
    for x in arr:
        if 'delay.conf' not in arr:
            handle = open('delay.conf','w')
            handle.close()

        if 'api.conf' not in arr:
            handle = open('api.conf','w')
            handle.close()



def setting():
    handle = open('config.conf')
    data = handle.read()
    handle.close()
 
    handle = open('delay.conf')
    data2 = handle.read()
    handle.close()
    if data2 == '':
        cprint("Установите задержку для проверки папки загрузки(в секундах)","cyan")
        delay = input(':')
        handle = open('delay.conf','w')
        handle.write(delay)
        handle.close()
        cleaner()
    handle = open('api.conf')
    data3 = handle.read()
    handle.close()

    if data3 == '':
        cprint("Введите ваш api ключ","cyan")
        webbrowser.open("https://www.virustotal.com/ru/", new=2)
        api = input(':')
        handle = open('api.conf','w')
        handle.write(api)
        handle.close()
        cleaner()

def sendfiles(filename,api):
    params = {'apikey': api}
    response = requests.post('https://www.virustotal.com/vtapi/v2/file/scan', files={'file': (filename, open(filename, 'rb'))}, params=params)
    json_response = response.json()
    dct = eval(str(json_response))
    link = dct['permalink']
    webbrowser.open(link, new=2)

def main():
    temp = []
    path = 'C:\\Users\\Алекс\\Downloads\\'

    handle = open('delay.conf')
    delay = handle.read()
    handle.close()
    delay = int(delay)

    handle = open('api.conf')
    api = handle.read()
    handle.close()
    files = os.listdir(path)
    while True:
        files2 = os.listdir(path)
        if files != files2:
            for x in files2:
                if x not in files:
                    temp.append(x)
                    for x in temp:
                        filename = path + x
                    sendfiles(filename,api)
            temp = []
            files = files2
        time.sleep(delay)

banner()
checkfiles()
setting()
try:
    main()
except KeyboardInterrupt:
    exit()

На этом все. Спасибо за чтение статьи!

PS Моя версия python 3.7
 
  • Like
Реакции: mixaton2 и Aceki1
Название темы
Автор Заголовок Раздел Ответы Дата
LightMan Интересно C# - Пишем Watchdog (Модуль защиты вашего трояна) .NET 1
K Интересно [Roman Akhromieiev] Telegram. Пишем ботов на Node JS и Telegraf (2020) Другое 1
Daniel01 Пишем малютку для скана сайта Софт от наших юзеров 6
АнАлЬнАя ЧуПаКаБрА Интересно Пишем брут на любой(почти) банк [OFX] Другие ЯП 1
shellest Пишем свой перехватчик СМС Android Другие ЯП 2
T0pDro4eR Пишем WinLocker на Delphi С/C++ 0
NikitaBoom Пишем отзывы и получаем от 200 рублей в день. Способы заработка 12
Forevonly Пишем парсер на Python - грабим Proxy ч.2 Бруты/Парсеры/Чекеры 0
Forevonly Пишем парсер на Python - грабим Proxy ч.1 Бруты/Парсеры/Чекеры 2
Forevonly Пишем шифровальщик на python Полезные статьи 0
Traven Пишем спамер Telegram, на Python Другое 0
Traven Пишем свой стиллер на Python Другие ЯП 4
Traven WinLocker на python. Пишем вирус. Другое 0
VLAD1337 Пишем переносной кейлоггер на C++ Полезные статьи 1
OUTCAST Пишем стиллер на Batch Вирусология 15
AngelOfLove Delphi для начинающих – Урок 6 – Пишем свой калькулятор С/C++ 0
eceNin [PHP] Пишем свой движок 2.0 Другие ЯП 0
Glods Пишем многопоточный Brute С/C++ 0
rif009 Пишем билдер C# вариант 1 .NET 2
Denik Интересно скрипт payeer удвоителя /Germillion/ Другое 0
Denik Интересно 4ISE скрипт интернет магазина аккаунтов Другое 0
zladey1986 Интересно HTracer 3.4.4 — скрипт для продвижения сайтов по НЧ и СЧ запросам Софт от наших юзеров 0
Denik Читы продажа[скрипт] Другое 0
Denik Азартные игры[скрипт] Другое 0
Denik Tik Tok[скрипт] Другое 0
Denik Интересно скрипт сайта с внутриигровым заработком Другое 0
_ZerO_ Интересно Python и LongPoll VK, или как запустить скрипт ВК и настроит Другие ЯП 2
T Продам скрипт для накруткиинстаграм (он никак не банится) Продажа софта 5
K Фишинг скрипт(Раздача голосов, стикеров и т.п.) СИ/Фишинг/Мошенничество 0
M Защищаем свой Python скрипт за пару минут Другие ЯП 0
G Ищу скрипт авито + платежки Вопросы и интересы 0
Mr Crabs Продам Push скрипт - сбор и рассылка Сайты/Хостинг/Сервера 1
M Первонах скрипт VK Другое 2
T0pDro4eR Простейший скрипт для проведения MiTM-актаки. (Для новичков) Полезные статьи 2
Flappy1 Фишинг ВК скрипт / "Накрутка лайков" Способы заработка 3
nictic123 Помогите расшифровать скрипт Вопросы и интересы 8
Shotdown скрипт-помощь в продвижении акк. в вк СИ/Фишинг/Мошенничество 1
Forevonly Массовая рассылка писем - до 10тыс/день (скрипт + сервис) Способы заработка 3
K xTempMail - скрипт временной (одноразовой) почты Другие ЯП 0
Forevonly Халява, Слив фишинг скрипт "Петиция" Другое 0
F Софт/скрипт для отписки в инстаграмме? СИ/Фишинг/Мошенничество 6
ins1der Инжектим скрипт beef используя XSS Полезные статьи 4
MrLeam1 Python скрипт для создания базы ip по диапазону Бруты/Парсеры/Чекеры 0
E Взлом WI-FI(Linux)+скрипт FLUXION Уязвимости и взлом 15
АнАлЬнАя ЧуПаКаБрА 51 скрипт для ВК! Софт для работы с текстом/Другой софт 0
thewixkw скрипт,его правильное использование Вопросы и интересы 4
Admin Разработан скрипт для взлома Wi-Fi сети WPA/WPA2 без брутфорса Новости в сети 3
D Ищу партнеров для работы по белому!!! Предоставляю работу. Ищу специалиста. 0
NickelBlack Закину пробив и бомбер для вас - беспалтно. Другое 4
M Продам уникальный сайт- фейк для сбора сс + одноразовый код Сайты/Хостинг/Сервера 0

Название темы