G
B правой части каждого сообщения есть стрелки ⇧ и ⇩. Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок ✔ в правой части сообщения.
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
Есть имена и фамилии. Задача - найти мыла людей. Как можно реализовать?
Как можно реализовать?
При чём тут смекалка? Это реализуется заменой каждой буквы наНа выходе, в зависимости от смекалки, можем получить:
приписать
# Предположим, что у нас есть файл с транслитом и файл с именами и фамилиями
my_dict = []
with open("dict.txt", "r") as reader:
for line in reader.readline():
my_dict.append(line)
symbols = [ "_", "-", "."]
target_fios = []
with open("fios.txt", "r") as reader:
for line in reader.readline():
new_name = ""
# Если в строке 2 слова - Имя и фамилия, транслитируем первую букву у первого слова, ставим точку и транслитируем фамилию
if " " in line:
for my_char in my_dict:
if line.split(" ")[0][0].lower() == my_char.split(":")[0]:
new_name += my_char.split(":")[1] + "."
break
for item in line.split(" ")[1]:
for my_char in my_dict:
if item.lower() == my_char.split(":")[0]:
new_name += my_char.split(":")[1]
# Если это спец символ или цифра, просто добавляем
elif letter.lower() in symbols or letter.isdigit():
new_name += letter
else:
continue
# Если в строке нет пробелов
else:
for letter in line:
for my_char in my_dict:
# Смотрим, есть ли такая буква в нашем словаре
if letter.lower() == my_char.split(":")[0]:
# Если есть, транслитируем
new_name += my_char.split(":")[1]
# Если это спец символ или цифра, просто добавляем
elif letter.lower() in symbols or letter.isdigit():
new_name += letter
# если твёрдый знак или мягкий знак, пропускаем
else:
continue
traget_fios.append(new_name)
# Добавляем доменное имя
domains = [ "mail.ru", "yandex.ru", "list.ru", "km.ru", "yahoo.com", "gmail.com"]
# И записываем
with open("result.txt", "w") as writer:
for domain in domains:
for name in traget_fios:
writer.write(name + "@" + domain + "\n")
Эта "методика" даст тебе информацию о нескольких свободных логинах,использовать методику (например Яндекса) выдачи возможного логина для регистрации
Итог: на выходе получаем возможные майл адреса, которые к реальным майл адресам людей из списка вряд-ли будут иметь какое-либо отношение.
Поэтому для поиска реальных майл адресов вбиваем имя и фамилию в поисковик и ищем.
Во-первых, эта методика даст не мне, тебе тоже она даст навряд ли.Эта "методика" даст тебе информацию о нескольких свободных логинах,
искать с помощью неё занятые можно до бесконечности.
пытаться проверить "секретный вопрос" у полученного ящика.
Логика моего "итога", не стыкуется с твоей логикой:Странный у тебя итог получается.
Гораздо проще, на мой взгляд, пытаться проверить "секретный вопрос"
Что?! Тебя Кличко покусал что ли?)))Во-первых, эта методика даст не мне, тебе тоже она даст навряд ли.
О каком вообще алгоритме идёт речь? У тебя есть хотя бы примерный код этого алгоритма?Во-третьих, предположив, что 1) люди из списка использовали Яндекс Почту и 2) при регистрации они воспользовались алгоритмом выдачи свободного имени
Можно: используя спарсенный алгоритм получения свободного имени для регистрации получить список возможно предложенных адресов.
Опят этот алгоритмИмея данный список, полученный от спарсенного алгоритма, уже можно подойти и к "решению задачи" используя предложенную тобой методику, а именно:
Ну это какое-то словоблудие, честное слово!Логика моего "итога", не стыкуется с твоей логикой:
Объясню:
1) Ты предлагаешь "проверить "секретный вопрос" у полученного ящика.".
2) "Полученные ящики" являются итогом ТВОЕГО мышления и для получения адресов были использованы методы придуманные ЛИЧНО ТОБОЙ.
3) Вероятность того события, что люди из списка автора поста использовали при регистрации твои алгоритмы мышления ничтожно мала.
4) Для конкректного решения задачи были предложены алгоритмы обязательно предполагающие использование множественных допущений.
Сложив полученные тезисы логическим "И" можно сказать, что фраза "для поиска реальных майл адресов вбиваем имя и фамилию в поисковик и ищем" является более чем логичной.
))) Я задавал тебе какой-то вопрос? Или ты как упомянутый тобой кот Шредингера находишься в состоянии квантовой запутанности?) Пока ты находишься на форуме, ты не можешь определенно сказать задан тебе вопрос или не задан.Раз ты считаешь свою фразу логичной и не слушаешь
мнения людей, зачем что-то спрашивать?
О каком вообще алгоритме идёт речь?
Каким образом ты его можешь спарсить или спрасил?используя спарсенный алгоритм
ищи ответ в POST запросе
У Капитана Очевидность после прочтения этой фразы, наверное, навернулись слезы гордости )))фраза "для поиска реальных майл адресов вбиваем имя и фамилию в поисковик и ищем" является более чем логичной.
Имена Фамилии Кириллица?Есть имена и фамилии. Задача - найти мыла людей. Как можно реализовать?
бабаев *yandex.ru | бабаев *mail.ru | бабаев *gmail.com
Можно, конечно, но когда ты не знаешь ни социальных сетей, ни номеров, ни других его ресурсов и контактов, это сложно будет сделать, еще сложнее, чем найти почту, особенно когда мы говорим о списке в 60000 человек.Вероятность найти адрес почтового ящика по фамилии меньше, чем вероятность найти иголку в стоге сена.
Не проще ли не искать, а спросить адрес у человека, который тебя интересует.
Обычно люди не скрывают эту информацию, а наоборот делятся ею.
В перемешку. "Harold-a Emery Lauder-a" - больше имён такого видаИмена Фамилии Кириллица?
(Например в интернете, "метаданные" Игоря Бабаева сложнее найти чем метаданные "Harold-a Emery Lauder-a")
1) Использовать/Составить Гугл дорк (например, поиск e-mail "Бабаев")
бабаев *yandex.ru | бабаев *mail.ru | бабаев *gmail.com
Ссылка скрыта от гостей
2) Проверить почту в слитой БД VK.
Ищем всех "Бабаевых Игорей"
Посмотреть вложение 30882
Найдено кол-во персон 69 - немало.
к сожалению нет, люди преимущественно не из снгНайти какие-нибудь слитые базы, например, ВК и в них искать.
Можно и так конечно, но те адреса, которые мы получим на выходе, скорее либо будут принадлежать другим людям, либо не используются как основной ящик. То есть, даже если мы получим процент действительно существующих и действительно принадлежащих ящиков нужному человек, я думаю, что это будет гораздо меньше 10% от общего количества. Люди, все-таки, название почте дают не по шаблону, и точку могут не там поставить и цифры разные в конце и вообще не ставить фамилии/имени. Часто не вставляют в название ящика даже свое имя.Давай по порядку:
Реализовать можно, используя почти любой язык программирования,
который ты знаешь.
IMHO с Python'oм будет легче всего.
При чём тут смекалка? Это реализуется заменой каждой буквы на
соответствующую в транслите. К примеру таком
а:a
б:b
в:v
г:g
д:d
е:e
ж:l
з:z
и:i
й:y
к:k
л:l
м:m
н:n
о
п
р:r
с:s
т:t
у:u
ф:f
х:h
ц:ts
ч:ch
ш:sh
щ:sh
ы:i
э:a
ю:yu
я:ya
Можно попробовать вот так.
Python:# Предположим, что у нас есть файл с транслитом и файл с именами и фамилиями my_dict = [] with open("dict.txt", "r") as reader: for line in reader.readline(): my_dict.append(line) symbols = [ "_", "-", "."] target_fios = [] with open("fios.txt", "r") as reader: for line in reader.readline(): new_name = "" # Если в строке 2 слова - Имя и фамилия, транслитируем первую букву у первого слова, ставим точку и транслитируем фамилию if " " in line: for my_char in my_dict: if line.split(" ")[0][0].lower() == my_char.split(":")[0]: new_name += my_char.split(":")[1] + "." break for item in line.split(" ")[1]: for my_char in my_dict: if item.lower() == my_char.split(":")[0]: new_name += my_char.split(":")[1] # Если это спец символ или цифра, просто добавляем elif letter.lower() in symbols or letter.isdigit(): new_name += letter else: continue # Если в строке нет пробелов else: for letter in line: for my_char in my_dict: # Смотрим, есть ли такая буква в нашем словаре if letter.lower() == my_char.split(":")[0]: в # Если есть, транслитируем new_name += my_char.split(":")[1] # Если это спец символ или цифра, просто добавляем elif letter.lower() in symbols or letter.isdigit(): new_name += letter # если твёрдый знак или мягкий знак, пропускаем else: continue traget_fios.append(new_name) # Добавляем доменное имя domains = [ "mail.ru", "yandex.ru", "list.ru", "km.ru", "yahoo.com", "gmail.com"] # И записываем with open("result.txt", "w") as writer: for domain in domains: for name in traget_fios: writer.write(name + "@" + domain + "\n")
На выходе у тебя получается текстовый файл примерно такого содержания
A.Gorodetskiy@mail.ru
N.Kirpichev@mail.ru
V.Rutin@mail.ru
Эта "методика" даст тебе информацию о нескольких свободных логинах,
искать с помощью неё занятые можно до бесконечности.
Странный у тебя итог получается.
Гораздо проще, на мой взгляд, пытаться проверить "секретный вопрос"
у полученного ящика.
Если он есть или есть номер телефона, с которым связан этот ящик, то
очевидно, почтовый ящик существует. Но тут главная проблема - капча
и возможная блокировка по IP.
На счет поисковика согласен, как вариант, другой вопрос что с 60к людьми руками один такое не провернешь. А автоматизировать через поиск даже не знаю насколько уместно, можно конечно пробивать по первым 5 страницам допустим, где есть точное совпадение имени фамилии и указан любой email, его и парсить. В этом случае могут попадать email не только этого человека, но и других, но в моем случае даже это подойдет, если попадут лишние люди - ничего страшного. Хуже когда будет только один мейл под человека, но при этом с меньшей вероятностью того, что он принадлежит тому человеку, которого искали. То есть если через поиск найдет под одного человека 5 мейлов, и один из них - наш, то это уже замечательно.Допустим имеем:
1. Антон Городецкий
2. Никита Кирпичев
3. Владимир Рутин
На выходе, в зависимости от смекалки, можем получить:
1. A.Gorodetskiy
2. N.Kirpichev
3. V.Rutin
Далее
- приписать к полученным выходным данным известные имена серверов, например:
1. A.Gorodetskiy@mail.ru
2. N.Kirpichev@mail.ru
3. V.Rutin@mail.ru
- использовать методику (например Яндекса) выдачи возможного логина для регистрации построенную на основе введенных имени и фамилии.
Итог: на выходе получаем возможные майл адреса, которые к реальным майл адресам людей из списка вряд-ли будут иметь какое-либо отношение.
Поэтому для поиска реальных майл адресов вбиваем имя и фамилию в поисковик и ищем.
Имена Фамилии Кириллица?
(Например в интернете, "метаданные" Игоря Бабаева сложнее найти чем метаданные "Harold-a Emery Lauder-a")
1) Использовать/Составить Гугл дорк (например, поиск e-mail "Бабаев")
бабаев *yandex.ru | бабаев *mail.ru | бабаев *gmail.com
Ссылка скрыта от гостей
2) Проверить почту в слитой БД VK.
Ищем всех "Бабаевых Игорей"
Посмотреть вложение 30882
Найдено кол-во персон 69 - немало.
Друг мой, ты спросилМожно и так конечно, но те адреса, которые мы получим на выходе, скорее либо будут принадлежать другим людям, либо не используются как основной ящик.
Я и привёл тебе приблизительную реализацию поискаЕсть имена и фамилии. Задача - найти мыла людей. Как можно реализовать?
А вот это уже совсем иной вопрос и звучит он следующим образом:То есть, даже если мы получим процент действительно существующих и действительно принадлежащих ящиков нужному человек, я думаю, что это будет гораздо меньше 10% от общего количества.
Социальная инженерия? Если "руками один такое не провернешь" попроси помощи на бордах. Что-то типо: "потерял связь со своими одноклассниками || однокурсниками, кто знает какие-нибудь контакты отпишите?" сразу 60к не спросишь, но можешь ускорить процесс. Более вероятно что будешь получать в ответ вопросы с просьбой уточнить год рождения, город и пр., либо в большинстве случаев будешь просто проигнорирован.На счет поисковика согласен, как вариант, другой вопрос что с 60к людьми руками один такое не провернешь.
facebook ?к сожалению нет, люди преимущественно не из снгНайти какие-нибудь слитые базы, например, ВК и в них искать.
О каком файле речь?) Я их брал не из файла, и если бы была возможность достать к этим данным что-то еще, я бы обязательно это сделал. Вариант когда у меня были бы странички в социальных сетях был бы классным, но такое редко бывает, к сожалению, что всю нужную тебе информацию можно собрать такими простыми способами.Социальная инженерия? Если "руками один такое не провернешь" попроси помощи на бордах. Что-то типо: "потерял связь со своими одноклассниками || однокурсниками, кто знает какие-нибудь контакты отпишите?" сразу 60к не спросишь, но можешь ускорить процесс. Более вероятно что будешь получать в ответ вопросы с просьбой уточнить год рождения, город и пр., либо в большинстве случаев будешь просто проигнорирован.
facebook ?
А так, не зная что искать и где искать, уровень успешности твоей поисковой кампании будет на очень низком уровне.
Попробуй получить дополнительные данные о персонажах в файле, там где этот файл был получен.
Каким образом были получены эти фамилии, по какому критерию собирались и прочее.
Обучение наступательной кибербезопасности в игровой форме. Начать игру!