Работа со словарями (или SEDобоги, кто они?)

Discussion in 'Беспроводные технологии/Wi-Fi/Wardriving' started by Kevin Shindel, 29 Nov 2016.

  1. Kevin Shindel

    Kevin Shindel Elder - Старейшина

    Joined:
    24 May 2015
    Messages:
    1,011
    Likes Received:
    1,192
    Reputations:
    62
    Ребзя предлагаю в этой теме делится частыми задачами по обработке текстовых документов.(словари для брута)
    Смысла обсуждать Виндозный софт я не вижу (для этого есть отдельная тема, тем более они ограничены функционалом).
    Сюда нацарапаю наиболее частые команды по обработке текста, так же не стесняемся задавать вопросы о своих потребностях, я думаю сообщество поможет.
    Итак Lets go!

    Для начала давайте наверное пройдёмся с азов работы с текстов в консоли линуха (не все обитатели античатика оказывается умеют пользоватся)

    Самая простая команда CAT, выполняет вывод текста на экран (и не только, об этом чуть позже)
    Anonymous@root: cat wordlist.dic
    password
    iloveyou
    princess
    1234567
    rockyou
    12345678
    abc123
    nicole
    daniel
    babygirl
    monkey
    lovely
    jessica
    654321


    Команда HEAD выводит указанное кол-во строк с начала файла (очень легко запомнить HEAD - с англ. ГОЛОВА). Обязательный флаг -5 кол-во строк, в данном случае 5 может принимать любое нужно число.
    Anonymous@root: head wordlist.dic -5
    password
    iloveyou
    princess
    1234567
    rockyou


    Команда TAIL выводит указанное кол-во строк с конца файла (очень легко запомнить TAIL - с англ. ХВОСТ ) Обязательный флаг -5 кол-во строк, в данном случае 5 может принимать любое нужно число.
    Anonymous@root: tail wordlist.dic -5
    babygirl
    monkey
    lovely
    jessica
    654321


    Следующая команда это PIPLINE обозначается знаком | это значит выполнить дальнейшую обработку т.е. перенаправить вывод из команды далее...
    Anonymous@root: cat wordlist.dic | sort | uniq > wordlist_sorted.dic

    В данном случае сначала мы читаем файл далее сортируем его , удаляем дубликаты и сохраняем в файле wordlist_sorted.txt

    Следующая команда вывод информации > , применяется в основном для перенаправления данных из вывода на экран в файл...
    Может также применяться для конкатенации файлов (или по простому объединению )
    Anonymous@root: cat wordlist.dic wordlist2.dic > wordlist_all.dic

    Обычно команда объединения словарей идут в паре с командами SORT и UNIQ.
    Anonymous@root: cat wordlist.dic wordlist2.dic | sort | uniq > wordlist_all.dic

    Любой уважающий себя хэш-крякер должен уметь работать с CRUNCH'ем ...
    Anonymous@root: crunch 6 6 -t taran%%%% -o taran.dic

    @
    – строчные буквы;
    , – заглавные буквы;
    % – цифры;
    ^ – спец. символы.
    В данном случае будет создан словарь taran0000-taran9999
    Anonymous@root: cat taran.dic
    taran0000
    ...
    taran9999

    Также можно обойтись без вывода в файл а работой через конвеер... (если допустим это разовый или целевой лом, а место на HDD очень не густо...)

    Команда ECHO также может генерировать словарик...
    Anonymous@root: echo -e {a..z}\\n | tr -d " " > a_z.txt
    Anonymous@root: cat a_z.txt
    a
    b
    ..
    z

    Anonymous@root: echo -e {1920..2015}.{01..12}.{01..31}\\n | tr -d " " > dates.dic
    Anonymous@root: cat dates.dic
    19200101
    ..
    20151231

    Давайте на базе ECHO создадим словарь для ника "taran"
    Anonymous@root: echo -e taran{1900..2020}\\n | tr -d " " > taran.dic
    Anonymous@root: cat taran.dic

    taran1900
    ..
    taran2020

    Как видите нет огромного куска словаря от 0000 до 1900 и от 2021 до 9999.
    Разница по размеру 1.2 кБ и 100 кБ соотв.

    Источники:
    http://nahlogin.blogspot.ru/2013/05/crunch.html
    https://forum.antichat.ru/threads/425367/
     
    #1 Kevin Shindel, 29 Nov 2016
    Last edited: 11 Dec 2016
    CRACK211, Sves and afonn like this.
  2. Triton_Mgn

    Triton_Mgn Elder - Старейшина

    Joined:
    6 Jul 2015
    Messages:
    3,657
    Likes Received:
    5,792
    Reputations:
    51
    Реально загрузить в Excel от Open office - электронные таблицы. (индекс) или vi/
     
  3. Sves

    Sves Active Member

    Joined:
    7 Dec 2015
    Messages:
    33
    Likes Received:
    186
    Reputations:
    1
    Для обработки баз "exploit.in" (базы mail : pass) написал простой скрипт, возможно выглядит очень топорно, но сработал исправно. Не силен в линуксе, почти все команды/параметры нашел на просторах форума (отдельное спасибо Andrey9999), остальное в различных мануалах. Прошу не судить строго, первый опыт так сказать. :)
    Критика и дополнения приветствуются. :)
    Code:
    #!/bin/sh
    # 1. Собираем все файлы в один
    cat *.txt > all_mail_0.txt
    # 2. Удаляем символы перевода строки (^M)
    tr -d '\r' < all_mail_0.txt > all_mail_1.txt
    # 3. Удаляем символы табуляции, пробелы в начале и конце строк, пустые строки и символы таблицы ASCII выше 127
    cat all_mail_1.txt | sed 's/[ \t]*$//' | sed 's/^[ \t]*//;s/[ \t]*$//' | sed '/^$/d' | tr -dc '\11\12\15\40-\176' > all_mail_2.txt
    # 4. Исправляем разделитель и сортируем по доменам
    cat all_mail_2.txt | sed 's/.ru;/.ru:/I' | grep -iF .ru: >> all_mail_ru.txt
    cat all_mail_2.txt | sed 's/.su;/.su:/I' | grep -iF .su: >> all_mail_ru.txt
    cat all_mail_2.txt | sed 's/.by;/.by:/I' | grep -iF .by: >> all_mail_ru.txt
    cat all_mail_2.txt | sed 's/.ua;/.ua:/I' | grep -iF .ua: >> all_mail_ru.txt
    cat all_mail_2.txt | sed 's/.kz;/.kz:/I' | grep -iF .kz: >> all_mail_ru.txt
    cat all_mail_2.txt | sed 's/.am;/.am:/I' | grep -iF .am: >> all_mail_ru.txt
    cat all_mail_2.txt | sed 's/.az;/.az:/I' | grep -iF .az: >> all_mail_ru.txt
    cat all_mail_2.txt | grep -iFv --file=domains.lst > all_mail_other.txt
    # 5. Отделяем пароли
    sed 's|.*:||' all_mail_ru.txt >> all_mail_ru_pass.dic
    sed 's|.*:||' all_mail_other.txt >> all_mail_other_pass.dic
    # 6. Отделяем почтовые логины
    sed 's|@.*||' all_mail_ru.txt >> all_mail_ru_login.dic
    sed 's|@.*||' all_mail_other.txt >> all_mail_other_login.dic
    # 7. Отделяем почты
    sed 's|:.*||' all_mail_ru.txt >> all_mail_ru_e-mail.dic
    sed 's|:.*||' all_mail_other.txt >> all_mail_other_e-mail.dic
    # 8. Сортируем пароли
    cat all_mail_ru_pass.dic | sort | uniq >> pass_ru.dic
    cat all_mail_other_pass.dic | sort | uniq >> pass_other.dic
    # 9. Удаляем пароли менее 8-ми символов
    cat pass_ru.dic | sed '/......../!d' >> pass_ru_more_than_8.dic
    cat pass_other.dic | sed '/......../!d' >> pass_other_more_than_8.dic
    # 10. Сортируем логины
    cat all_mail_ru_login.dic | sort | uniq >> login_ru.dic
    cat all_mail_other_login.dic | sort | uniq >> login_other.dic
    # 11. Удаляем логины менее 8-ми символов
    cat login_ru.dic | sed '/......../!d' >> login_ru_more_than_8.dic
    cat login_other.dic | sed '/......../!d' >> login_other_more_than_8.dic
    # 12. Сортируем почтовые адреса
    cat all_mail_ru_e-mail.dic | sort | uniq >> e-mail_ru.dic
    cat all_mail_other_e-mail.dic | sort | uniq >> e-mail_other.dic
    # 13. Удаляем временные файлы
    rm -f all_mail_*.txt
    rm -f all_mail_*.dic
    domains.lst - список ".ru" доменов:
    .ru
    .su
    .by
    .ua
    .kz
    .am
    .az
     
    #3 Sves, 29 Nov 2016
    Last edited: 30 Nov 2016
    AlexSP and Alexmeh like this.