View Single Post
  #1  
Old 04-24-2025, 12:23 AM

TexteS TexteS is offline
Join Date: Jan 2025
Posts: 24
Default


Доброго времени суток!
Совсем недавно вспомнил про свой скрипт на python для работы с мыльниками. Подправив пару багов решил опубликовать. Думаю, что некоторым он будет полезен
О том как запускать python скрипты можно найти в гугле. Ну или на крайняк я документацию написал. Но кому не понятно лучше в гугл
Что он может:
  • Подсчёт (не совсем нужная функция, описывать не буду)

  • Сортировка

  • Именование

  • Парсинг доменов

  • Парсинг доменных зон

  • Формат


Подробнее о каждой приблуде написано в документации. Я лишь опишу кратно (кроме первой) и добавлю несколько годных примеров. Я буду указывать примеры для Linux. Для Windows параметры можно указывать аналогично. Отличается только запуск скрипта.
Сортировка
Из «грязного» файла достает мыльники в нужном формате. Из одной строки достает только 1 мыльник. В выходном файле нет повторов и каждый мыльник записан в одну строку (потом с этим файлов можно работать для парсинга, именовать емейлы и т.д.).
Пример «грязного» файла:
John: mailto:[email protected] – email
my email : smith @ web, de
Hello world
V: rolf (at> yahoo dot de
ewewe999@ mail.google <punkt> com
ssdjfk @ yahoo.cc
blabla@exploit dot im
fkfkfkf
fas;
;;; -- > email: sksksks <at dfjfjf .de
dkdkdk
()()()
last@mail(dot)com
Результат обработки. Выходной файл:
[email protected]
mailto:[email protected]
mailto:[email protected]
mailto:[email protected]
mailto:[email protected]
mailto:[email protected]
mailto:[email protected]
mailto:[email protected]
Я указал слишком уродливый файл. В большинстве случает они выглядят как-то иначе. Например, это может быть .SQL или .LOG файл. Или файл где указан мыльник в каждоый строке, но "окружает" его какая-то дичь.
Пример:
Из файла emails.txt достать все «хорошие» мыльники и записать их в файл emails_valid.txt. А «плохие» записать в emails_errors.txt:
python3 wwe.py sort -f ./data/emails.txt -r ./data/emails_valid.txt -e ./data/emails_errors.txt
Присвоение имён
Одна из интересных для меня приблуд. Пытается дать имя мыльнику из списка.
При рассылке спама можно указывать это имя, чтобы обратится к жертве по имени например.
Указываете в качестве входного файла - отсортированный файл (одна строка — один мыльник). Указываете выходной файл, куда будут записаны мыльники по шаблону (для создания шаблона используются параметры: {email}, {name}). Указываете как он будет проверять на наличие имени: жёстко или нет:
Жёстко: Имя должно быть явно указано и разделяться знаками или цифрами. Например: smith[email protected], john[email protected], mr.john[email protected].
Не жёстко: Этой проверке достаточно наличие имени в адресе э/п. Например: smith[email protected], elitjohn@aol.com.
* В документации написано как работать с русскими мыльниками.
Пример:
У нас есть файл с адресами из Германии (emails_DE.txt). Нужно «проименовать» их немецкими именами. Немецкие имена лежат в файлах: names_DE_male.txt и names_DE_female.txt. Мы будем использовать жёсткую проверку на имя. Полученные имена мы сохраним в файл emails_DE_with_names.txt. Шаблон для сохранения будем использовать следующий: "Mr. {name}" <{email}>
python3 wwe.py names -f ./data/emails_DE.txt -r ./data/emails_DE_with_names.txt -t "\"Mr. {name}\" <{email}>" @./data/names_DE_male.txt @./data/names_DE_female.txt -s
Как видите пришлось экранизировать символ ". Кто не знает, что такое поищите инфу в сети
Парсинг доменов
Достает адреса из файла с мыльниками по указанным доменам (файл должен быть отсортирован: один мыльник — одна строка). Можно указывать домены без доменной зоны. Текстовые файлы с доменами сохраняются в указанной папке.
Пример:
У нас есть файл с отсортированными адресами (emails.txt). Нужно достать из него все адреса от: yahoo, google и только alo.com. Сохраним все файлы в папку «result»:
python3 wwe.py domains -f ./data/emails.txt -p ./data/result -g yahoo,gmail,aol.com,mail*google
Парсинг доменных имён
Достает адреса из файла с мыльниками по указанным доменными зонами (файл должен быть отсортирован: мыльник — одна строка). Текстовые файлы с доменами сохраняются в указанной папке.
Пример:
У нас есть файл с отсортированными адресами (emails.txt). Нужно достать несколько евпропейских адресов: de, fr, be, co.uk, gb, nl, es. Сохраним все файлы в папку «result»:
python3 wwe.py zones -f ./data/emails.txt -p ./data/result -g de,fr,co.uk,gb,nl,es
Формат
Достает мыльник из форматированного файла и записывает его в выходной файл с помощью определенного шаблона. В шаблоне обязательно указывать {email}. В место него вставится мыльник из исходного файла:
Пример исходного файла:
[email protected]
mailto:[email protected]
mailto:[email protected]
Результат обработки. Выходной файл:
(Шаблон: INSERT INTO `emails`(`e`) VALUES ("{email}");)
INSERT INTO `emails`(`e`) VALUES ("[email protected]");
INSERT INTO `emails`(`e`) VALUES ("[email protected]");
INSERT INTO `emails`(`e`) VALUES ("[email protected]");
* Результат - SQL-запрос в базу данных
Пример:
У нас есть файл с мэйлер-демонами (emails_md.txt). Эти адреса нам не нужны. Создадим .SQL файл (delete_md.sql), чтобы удалить их из нашей MySQL базы:
python3 wwe.py format -f ./data/emails_md.txt -r ./data/delete_md.sql -t "DELETE FROM `emails` WHERE `e` = '{email}';"
---
Если нет желания разбираться в аргументах, то просто запускайте скрипт и дальше следуйте инструкциям. Я рекомендую указывать полные адреса файлов и папок (особенно для пользователей Windows), так будет меньше проблем у не опытных пользователей.
---
* Кому нужны файлы с именами некоторых стран могу скинуть сюда
Возможно в скрипте есть баги. Если не составит труда, то напишите о них сюда или в жб.
Может у кого-то есть интересные предложения по доработке, тоже пишите
Архив:
СКРИПТ УТЕРЯН!