- Регистрация
- 20.01.2011
- Сообщения
- 7,665
- Розыгрыши
- 0
- Реакции
- 135
Эта статья рассчитана на новичков, те же кто не первый день использует логи, наверняка имеют автоматизированные решения и мало что для себя почерпнут.
Вкратце скажу, что я использовал 3 программы: 1. Notepad++, 2. PHP, 3. AMS.
Возможно, первую можно заменить на более продвинутый скрипт PHP, чем сейчас, но поскольку объем работы был небольшой, я решил не заморачиваться.
Сначала запускаю Notepad++ и захожу Поиск -> Найти в Файлах. В появившемся окне в Найти вбиваю "([a-Z]+@[a-Z]+.[\.a-Z]+)" - регулярка того, что я ищу (в данном случае это все то, что похоже на мыла), Режим поиска выбираю Регулярные выражения., выбираю папку с логами, жму "Найти все". Жду пока Notepad распарсит все логи у меня было около 10ГБ логов, поэтому процесс был не быстрый (лучше пойти погулять в это время или поспать, как в моем случае).
Далее копирую вывод из Notepad++ в файл logsemails.txt. Заливаю его на сервер с php, и запускаю там скрипт:
Сохраним его как testmail.php
Далее
php testmail.php > mails_corp.txt
Готово! Теперь файл mails_corp.txt содержит все корпоративные мыла из кучи логов, которые вы собрали.
Если вам нужны биги, то просто поменяйте строчку
if(!$contains) на if($contains)
Далее, запускаем АМС, создаем новую рассылку, выбираем "Валидация базы (поиск мертвых адресов)", на список адресов - добавляем их из файла mails_corp.txt, профиль отправки - только встроенный smtp, рассылка через Socks Proxy - тут важно, чтобы соксы были хорошие и их было достаточно, чтобы smtp вас не добавляли в черный список (это скажется на качестве валида и на том, сколько хороших мыл вы пропустите). У меня на большом кол-ве соксов получился результат 22% валида из 100к, делитесь сокс-провайдерами, если у вас результат получился лучше. Посмотреть какие соксы у вас "проседают" можно в "Статусе потоков", Столбец - эффективность.
На этом все! Удачного поиска! Надеюсь кому-то пригодится.
PS:По запросу могу улучшить скрипт, чтобы Notepad++ был не нужен.
PPS: Сделал. В функцию listFolderFiles передаем путь к каталогу с логами.
ppps:
Из под винды 10-ки можно коммандой wsl --install подставить подсистему linux (ubuntu) и оттуда выполнить
Командой
Выведем все mountpoints (да, да, в подсистеме linux все ваши виндовые разделы уже будут смонтированы)
У меня установилась старая версия php, поэтому в код нужно добавить еще вот этот блок:
ps:
Теперь логпарсер умеет создавать мейл:пасс для брута
github.com/dev007new/logs_parser
Автор: dev007
Вкратце скажу, что я использовал 3 программы: 1. Notepad++, 2. PHP, 3. AMS.
Возможно, первую можно заменить на более продвинутый скрипт PHP, чем сейчас, но поскольку объем работы был небольшой, я решил не заморачиваться.
Сначала запускаю Notepad++ и захожу Поиск -> Найти в Файлах. В появившемся окне в Найти вбиваю "([a-Z]+@[a-Z]+.[\.a-Z]+)" - регулярка того, что я ищу (в данном случае это все то, что похоже на мыла), Режим поиска выбираю Регулярные выражения., выбираю папку с логами, жму "Найти все". Жду пока Notepad распарсит все логи у меня было около 10ГБ логов, поэтому процесс был не быстрый (лучше пойти погулять в это время или поспать, как в моем случае).

Далее копирую вывод из Notepad++ в файл logsemails.txt. Заливаю его на сервер с php, и запускаю там скрипт:
Код:
<?php
// загружаем вывод Notepad++
$content = file_get_contents("logsemails.txt");
// ищем все вхождения емейлов
preg_match_all("([a-zA-Z]+@([a-zA-Z]+\.[\.a-zA-Z]+))", $content, $matches);
$emails = [];
foreach($matches[1] as $key => $domain) {
$contains = FALSE;
//домены которые нужно исключить
foreach(["hotmail","gmail","yahoo"] as $bigdomain) {
if(str_contains(strtolower($domain), $bigdomain))
$contains = TRUE;
}
// убираем биги
if(!$contains)
$emails[] = strtolower($matches[0][$key]);
}
//убираем неуникальные
$emails = array_unique($emails);
foreach($emails as $email) {
echo $email."\n";
}
?>
Далее
php testmail.php > mails_corp.txt
Готово! Теперь файл mails_corp.txt содержит все корпоративные мыла из кучи логов, которые вы собрали.
Если вам нужны биги, то просто поменяйте строчку
if(!$contains) на if($contains)
Далее, запускаем АМС, создаем новую рассылку, выбираем "Валидация базы (поиск мертвых адресов)", на список адресов - добавляем их из файла mails_corp.txt, профиль отправки - только встроенный smtp, рассылка через Socks Proxy - тут важно, чтобы соксы были хорошие и их было достаточно, чтобы smtp вас не добавляли в черный список (это скажется на качестве валида и на том, сколько хороших мыл вы пропустите). У меня на большом кол-ве соксов получился результат 22% валида из 100к, делитесь сокс-провайдерами, если у вас результат получился лучше. Посмотреть какие соксы у вас "проседают" можно в "Статусе потоков", Столбец - эффективность.

На этом все! Удачного поиска! Надеюсь кому-то пригодится.
PS:По запросу могу улучшить скрипт, чтобы Notepad++ был не нужен.
PPS: Сделал. В функцию listFolderFiles передаем путь к каталогу с логами.
Код:
<?php
function listFolderFiles($dir) {
$ffs = scandir($dir);
//убираем из списка текущий каталог
unset($ffs[array_search('.', $ffs, true)]);
//убираем из списка каталог выше
unset($ffs[array_search('..', $ffs, true)]);
foreach ($ffs as $ff) {
if(is_dir($dir.'/'.$ff)) {
listFolderFiles($dir.'/'.$ff);
}
else {
parseFile($dir.'/'.$ff);
}
}
}
function parseFile($ff) {
$content = file_get_contents($ff);
preg_match_all("([a-zA-Z]+@([a-zA-Z]+\.[\.a-zA-Z]+))", $content, $matches);
$emails = [];
foreach($matches[1] as $key => $domain) {
$contains = FALSE;
foreach(["hotmail","gmail","yahoo"] as $bigdomain) {
if(str_contains(strtolower($domain), $bigdomain))
$contains = TRUE;
}
if($contains)
$emails[] = strtolower($matches[0][$key]);
}
$emails = array_unique($emails);
foreach($emails as $email) {
echo $email."\n";
}
}
listFolderFiles('logs');
?>
ppps:
anonfiles.com/Edq9139fy3/EmailUtility_zipеще вариант выбираешь функцию Емайл парсер, далее папку и...
все майлы в 1 файле
Из под винды 10-ки можно коммандой wsl --install подставить подсистему linux (ubuntu) и оттуда выполнить
Код:
sudo apt-get install php
Командой
Код:
df -h
Выведем все mountpoints (да, да, в подсистеме linux все ваши виндовые разделы уже будут смонтированы)
У меня установилась старая версия php, поэтому в код нужно добавить еще вот этот блок:
Код:
if (!function_exists('str_contains')) {
function str_contains(string $haystack, string $needle): bool
{
return '' === $needle || false !== strpos($haystack, $needle);
}
}
ps:
Теперь логпарсер умеет создавать мейл:пасс для брута

github.com/dev007new/logs_parser
Автор: dev007