воскресенье, 28 декабря 2014 г.

RAID 10 и MDADM. Добавление и удаление дисков на горячую

RAID 10 представляет собой программный RAID выполненный на Linux. Чтобы посмотреть статистику текущего RAID в системе, достаточно выполнить:

# cat /proc/mdstat

Самое важное в выводе команды, это [UUUU], если все именно так, то значит RAID целый. А если [UUU_], значит один диск вывалился. Допустим мы знаем, что это был /dev/sdd1 
Поэтому мы можем его пометить как битый

# mdadm --manage /dev/md0 --fail /dev/sdd1


Теперь удаляем диск из RAID:

#mdadm --manage /dev/md0 --remove /dev/sdb1

А теперь можно добавить новый диск:

# mdadm /dev/md0 --add /dev/sdc1
 
И если выполнить 

# cat /proc/mdstat

Можно наблюдать процесс миграции данный
[=====>...............] recovery = 28.4% (20407936/71684608) finish=6.7min speed=125689K/sec unused


На всякий случай!

Удаление жётского диска /dev/sdc на горячую:
# echo 1 >/sys/block/sdc/device/delete
Сканирование порта на наличие жесткого диска. В качестве Х - номер подключенного порта на материнской плате:
echo "- - -" >/sys/class/scsi_host/hostX/scan

суббота, 15 ноября 2014 г.

Запуск и установка Mininet в ArchLinux

Для начала нужно его поставить из аура:

$ yaourt -Ss mininet

Если при установке были ошибки с git-ом, то скорее всего его нужно доставить
$ pacman -S git

Если при установке ругается на setuptools, то не хватает пакета в систему python2-setuptools
Ну, и когда оно все поставилось, нужно пару сервисов доставить, а именно ovsdb-server и ovs-vswitchd . Они доступны в пакете openvswitch

$ yaourt -S openvswitch 

Вот теперь нужно все помаленечку запускать

$ sudo systemctl start ovsdb-server
$ sudo systemctl start ovs-vswitchd

И на десерт стартуем Mininet

$ sudo mn

ну и там сосолька выскочит с приглашением чет-там делать

Хочешь пингануть от имени h1 другой хост, например h2? Ага, я тоже хотел, пока не увидел, что пинги не идут. Из выхлопа ясно, что нет маршрута по которому бы следовали пакеты. И так вопрос, как его сделать? Ответ мне пришлось выуживать из гугла. Все не так просто, чтобы был маршрут для пакетов, нужен девайс третьего уровня, ну и понятно дело виртуальный. Такой девайс может быть контроллером, например Openflow. Он опенсоурсный и адаптирован под пердоликс. Так-то оно так, а вот как поставить его в RachPerdolix? Можно собрать из сорцов, а можно из аура. Например такой командой:

$ yaourt -S floodlight

И он еще попросит jre8-openjdk, вот его тоже поставить надо. После установки запустить в новой сосоле командой

$ floodlight

И смоттреть чо как ведет себя контроллер.

А вот тут самое интересное, чтобы к контроллеру подцеплялся Mininet, его нужно запускать с такими флагами и ключами:

$ sudo mn --topo single,3 --mac --switch ovsk --controller remote

И вот только после этого пинги от h1 пойдут до h2

вторник, 28 октября 2014 г.

Archlinux -- кракозябры

Давеча довелось разбираться с РачПинусом, а именно с корректным отображением рюзке локали. В хваленой вики много чего написано, но нужного нет. Надо маслать гугл, читать приколюхе и стёбы на ЛОР-е в стиле ССЗБ, я тебя затраллил. Так вот, начитавшись подобной херни, я решил задокументировать, как я боролся с квадратиками в сосоле.

Первым делом надо сгенерировать локали генератором, лол. А сначала раскоментить в конфиге генератора локали нужные рюзке.

#nano /etc/locale.gen

#....
ru_RU.UTF-8
#....

Hу и ангельскую заодно оставить, авось пригодится.
Теперь можно запускать генератор? Можно, но осторожно, иначе будет жопа в анусе.

# locale-gen
....

Какой-то высер об удачном создании локалей. Теперь же надо воссоздать отображение их. Для начала надо добавить в /etc/locale.conf следующие

# nano /etc/locale.conf

LANG=ru_RU.UTF-8
LC_COLLATE=C

Теперь надо добавить одну хреновину, которую нельзя никуда добавлять, но она должна быть (так написано в той самой вики). Так вот, добавить надо в файл /etc/profile

# nano /etc/profile
export LC_ALL=

Ну и всё, а чо? норм, пустая опция, кусок непонятной херни, но именно так надо.
Ладно, всё это везде есть, и найти несложно. А вот теперь на десерт подаем самое пекантное. Так вот, при установке РачПинуса, не указано, что надо чуточку иначе собирать своё ведро. Да и сосоль не может в русский. Поэтому первым делом накатим нормальный шрифт. Ну хэр знает почему terminus норм, всё потцоны от него кипяточком писают. Вот и мы так сделаем. Так вот, шрифты + умение сосоли в рюзке язык делается вот такой командой:

# pacman -S terminus-font kbd-ru-keymaps 

После установки, пришло время собирать ведро! Ведро само с русской локалью не соберется, собери его еще разок!  Но ведро нельзя так просто взять и собрать с нужной локалью, для начала надо хуки подтянуть в /etc/mkinitcpio.conf 
Открываем файл, и делаем его похожим на вот что чуть ниже, лол:

# nano /etc/mkinitcpio.conf 

HOOKS="base udev consolefont keymap autodetect modcon ... "

Соберем ведерок, да свершится запуск системы с новыми рюзке локалями
# mkinitcpio -p linux
Но запуск не свершится, пушо надо в файло /etc/vconsile указать, мол, надо бы рюзке локали юзать, а то некошерно. Ну открываем и приводим его в соотвествующий вид:

LOCALE="ru_RU.UTF-8"
KEYMAP="ru" 
FONT="ter-v16v" 
CONSOLEMAP=""
LANG=ru_RU.UTF-8
LC_MESSAGES=ru_RU.UTF-8

Ну и теперь точно всё. 

вторник, 21 октября 2014 г.

Domainname Gentoo Linux

Пару минут назад узнал как сделать красивое вымя имя пекарни в Gentoo Linux, чтобы без всяких там unknowdomain

Все делать от рута. Для начала нужно вбивать в /etc/hosts следующее, дабы было норм доменное имя:

# echo "127.0.0.1 gentoo.by.father gentoo localhost" > /etc/hosts

Немного матчасти. В скрипте фразу gentoo.by.father можно изменить на что-нибудь свое. Но фраза должна быть из двух слов, и между ними должна быть точка. Иначе абзац и все соснулей.

Теперь надо задать имя самой пекрни:

# sed -i -e 's/HOSTNAME.*/HOSTNAME="gentoo"/' /etc/conf.d/hostname 
 И чтобы без всяких ребутов применилось имя пекарни, можно выполнить следующее:

# hostname gentoo

Проверка наших деяний:

# hostname -f
gentoo.by.father 

Ну вот и все, красота, гладь да тишь.

Wine in Gentoo Linux, а также наркоманы тоже люди

Сегодня столкнулся с такой траблой в wine (ВИНЕ ИЗ НОТ ЭМУЛЯТОР). Так вот, суть траблы в том, что понадобился шрифт Tahoma для игорей. Winetricks не смог связаться с сервером, а тырить с какой-то вендовой тачки из виртуалки не хотелось. 


Так вот, надо ж откуда-то скачать шрифты, да поставить. В общем, нашел прям на сайте того самого Негрософта.


Для начала переходим в кеш-каталог winetricks-a в хомячке:


$ cd /home/user/.cache/winetricks/


Создаем каталог шрифта Тahoma:


$ mkdir tahoma


и в него же переходим:

 

$ cd tahoma

 

и тут начинается самое интересное. Кочаем шрифт в .exe формате:


$ wget http://download.microsoft.com/download/office97pro/fonts/1/w95/en-us/tahoma32.exe


После скачивания, можно заново запустить winetricks и установить шрифт Tahoma. 



На это всё. Удачи!

понедельник, 20 октября 2014 г.

Генератор случайных MAC-адресов и имени компьютера в Gentoo Linux при загрузке

Продолжаем рубрику "Крякали софт, мы крякали". Сегодня гвоздем программы будет генератор рандомных имен компьютера и мак-адресов при старте ЖМУ\Пинус.


Вообще, зачем это надо? Ну, все просто. Это нужно, чтобы совесть не грызла, когда придет товарищ майор по вашу душу, и будет изучать ваш ноут или пекарню, на предмет незаконных действий.


Как менять MAC-адреса вообще?


# ifconfig 


Тут должно быть нечто вроде:


enp4s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        ether 72:07:df:e6:09:d8  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 0  (Local Loopback)

        RX packets 182  bytes 13296 (12.9 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 182  bytes 13296 (12.9 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.1.10  netmask 255.255.255.0  broadcast 192.168.1.255

        inet6 fe80::a421:8cff:fef9:743c  prefixlen 64  scopeid 0x20<link>

        ether a6:21:8c:f9:74:3c  txqueuelen 1000  (Ethernet)

        RX packets 15161  bytes 10297809 (9.8 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 7015  bytes 2171047 (2.0 MiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


Из выхлопа можно выделить wlp2s0 и enp4s0

enp4s0 -- проводной интерфейс (ранее подобные назывались eth0)

wlp2s0 -- беспроводной интерфей (а эти раньше назывались wlan0)


Если подключен тырнет через провода, то менять надо мак-адрес у enp4s0 и выполняется у нас все это в такой последовательности:


Для начала опускаем интерфейс командой:


# ifconfig enp4s0 down


Теперь можно устанавливать мак-адресс командой:


# ifconfig enp4s0 hw ether 72:07:df:e6:09:d8


Когда новый мак-адрес применился, можно заново поднимать интерфейс:


# ifconfig enp4s0 up


И все, теперь новый у нас новенький мак-адресс! Аж до первой перезагрузки системы. Ну и нахрена нам это надо, если мы хотим постоянно новенькие случайные мак-адреса? И тут нам на помощь придет macchanger! Маленькая, но довольно матерая тулза. Описывать могущество и мощность не будем, и так понятно из названия, что она может менять мак-адресс. Но еще и может задавать и в случайно порядке. Данная тулза доступна в портеже, и ставится в одну команду (В других прыщелинупсах также доступна данная хреновина)


# emerge macchanger


 Теперь можно приступить к тест-драйву. Проще говоря, посмотреть куда и как сосать.

 Допустим, надо на проводном интерфейсе сгенерировать новый случайный мак-адрес. Почти все по старой схеме:


# ifconfig enp4s0 down


# macchanger -r enp4s0


# enp4s0 up


В целом первая и последняя команды ясны. А вот вторую можно и нужно рассмотреть детальнее.

macchanger -- тулза для смена мака

-r -- опция указывающая задания рандомного мака

enp4s0 -- нужный нам интерфейс


Вроде все хорошо, случайные мак-адреса добываются чуть проще. Но эти команды нужно выполнять вручную. Это ж надо быть каким мудаком, чтобы делать это каждый раз? Короч, можно написать скрипт, и он будет делать все сам. Создаем  файл  в домашней папке пользователя /home/user/.macchanger.sh :


# touch /home/user/.macchanger.sh

 

И теперь отредактируем как надо:

 

# nano /home/user/.macchanger.sh

Вставляем этот текст:

#!/bin/bash


ifconfig enp4s0 down

/usr/bin/macchanger -r enp4s0

ifconfig enp4s0 up


Схороняем закрываем. И теперь надо от рута добавить правушек. 


# chmod +x  /home/user/.macchanger.sh


Ну и чисто для пробы, от рута запускаем скрипт:


# sh /home/user/.macchanger.sh

 

В выхлопе должно вывалить, что интерфейс опущен как опущенка, сгенерирован мак-адрес и интерфейс поднят с новым рандомным маком! 

 

Это стало чуть удобнее, но основная цель так и недостигнута. Нам же надо при старте прыщей это все выполнять. Вчера я как раз написал статью, Gentoo Linux + OpenRC + Хочу_запуск_скритпов_при_загрузке . Вот все никак придумать, нахрена это надо. А вот сегодня пригодилось, и можно заюзать знания из этой вот статьи. Но мы поступим чуть проще. Перенесемскрипт из домашней папки в  /etc/local.d и немного подправим имя. Все это делает команда mv

 

# mv /home/user/.macchanger.sh /etc/local.d/macchanger.start

 

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

 

# rc-update add local default

 

дляТ.е. все автоматизировано так, что можно попивая пивко рассекать просторы локальной сети, и совсем не париться. Мак-адреса рандомно генерируются при старте системы, или же при повторном пуске скрипта.Но вот хочется же еще рандомное имя пекарнию. Поэтмоу в скрипт внесем небольшую поправочку добавочку. И для этого открываем его через какой-нибудь ссаный рекдактор типа nano:


# nano /etc/local.d/macchanger.start

 

И в конец файла вставляем это вот:


FILE=/usr/share/dict/cracklib-small
WORD=$(sort -R $FILE | head -1)

printf “%s\nChanging Hostname…\n”
OLDHOST=$(hostname)
hostname $WORD
if [ $? == 0 ]; then
printf “%sPrevius Hostname: $OLDHOST \n”
printf “%sRandom Hostname: $WORD \n”
else
printf “%sScript encounter an error, sorry…\n”
exit 1
fi


Ну вот и все, а чо еще? Крч скрипт в /etc/local.d/macchanger.start должен выглядеть таким образом:

 

#!/bin/bash

ifconfig enp4s0 down

/usr/bin/macchanger -r enp4s0

ifconfig enp4s0 up

FILE=/usr/share/dict/cracklib-small
WORD=$(sort -R $FILE | head -1)

printf “%s\nChanging Hostname…\n”
OLDHOST=$(hostname)
hostname $WORD
if [ $? == 0 ]; then
printf “%sPrevius Hostname: $OLDHOST \n”
printf “%sRandom Hostname: $WORD \n”
else
printf “%sScript encounter an error, sorry…\n”
exit 1
fi

 

И да, надо отметить маленькую особенность скрипта. Если в ситеме нет словарей и папка /usr/share/dict пустая, то скрипт работать не будет. Можно поставить aircrack-ng, и с ним идет небольшой словарик. Вот его и можно заюзать Обычно он называется cracklib-smal  и скрипт уже заранее подготовлен для использования данного словаря. Если же в системе есть другой словарь, то его также можно заюзать, сделав изменения в строчке 


FILE=/usr/share/dict/other-dictionary

 

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

 

Теперь точно всё, весь синтаксис скрипта лень расписывать, вообще надоело писать. Всё, пока.

Gentoo Linux + OpenRC + Хочу_запуск_скритпов_при_загрузке

Автозапуск скриптов при старте системы Gentoo Linux

 

Сегодня внезапно возникла хотелка хэллоувордить при старте. Да и вообще, мало ли чего хочется еще запускать в скриптовом варианте на уровне загрузки демонов. Так вот, в прыщелинуксах не все так просто. На своем ноуте я использую Gentoo с православным OpenRC. Для начала стоит отметить, что такое OpenRC - это система инициализации демонов, и аналог ему новомодный Systemd. Вообще дистрибутивы массово переходят на этот громоздкий комбайн, а олдфаги пердоликсов бугуртят, мол не тру вей. Да срать на тру вей, вперед за новизной, епта!

Ладно, что-то я ушел в сторону. Короч, понятное дело, что OpenRC старый как моя бабушка, и такой же степени тухлости. Но как показывает практика, работает вполне норм. Данная система запускает демоны из /etc/init.d и если запилить туда скрипт, добавить в загрузку, он просто не заработает. Хм... и как же быть? Выход есть! Героин! А если серьезно, для этого случая предусмотрена такая фишка. В OpenRC скрипты запускаются из папки /etc/local.d и названия файлов скриптов имеют окончание .start


От теории к практики.


Создаем скриптовый файл:

 

# touch /etc/local.d/hello.start

 

Открываем его любимым редактором nano:

 

# nano /etc/local.d/hello.start 

 

и вбиваем следующий текст:

 

#!/bin/bash

 

echo "Hello world!" 

 

Далее закрываем и сохраняем. Казалось бы скрипт готов и все намази, только это еще не все. Теперь пришло время править правушки муравушки. Конкретно говоря, нужно данный файл сделать исполняемым. Выполняем следующее:


# chmod +x /etc/local.d/hello.start


Вот теперь тоже еще не все все. Все скрипты находящиеся в /etc/local.d/ запускает демон local, вот его и надо добавить в автозапуск ко всем остальным демонам. Добавить его как два перста оросить, а орошать персты будем такой командой:

 

# rc-update add local default

 

После того, как демон успешно добавлен в автозапуск, можно любоваться Хэллоу Ворлдом при запуске. Я честно говоря, так и не успел увидеть, но работает точно.

воскресенье, 19 октября 2014 г.

WPA2 WIFI hacking on Gentoo Linux

Сегодня в рубрике "Крякали софт, мы крякали", я расскажу одну маленькую историю из своего личного опыта.

Решил от нечего делать проверить свою точку доступа WIFI с WPA2 шифрованием  на стойкость.

Для начала все по порядку, что такое само WPA2 ? Говоря простыми словами, это матерый метод шифрования данных, передаваемых по беспроводной сети. Также есть еще WEP шифрование, его практически уже никто не использует. Уж больно просто взломать его.

Вернемся к WPA2.  Так вот, взломать его гораздо сложнее. Если и перехватывать пакеты, то из них ничего не извлечешь. А все почему? Да потому что метод шифрования слишком крут. И пока не будет известен пароль к сети, то и узнать ничего не получится. Ладно, не будем о грустном, все-таки его можно хакнуть.

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

 

# emerge aircrack-ng


Без всяких изменений во флагах. Стандартный набор тоже ок, ага.

После установки, начинается самое веселое.

Для начала нам нужно включить наш wifi-адаптер в режим мониторинга, чтобы смотреть за текущем состоянием других wifi-приемопередатчиков. Делается всё от рута!


# airmon-ng start wlp2s0

 

В выхлопе должно быть что-то вроде:

 

 wlp2s0        Intel 2101    iwlwifi - [phy0]
                (monitor mode enabled on mon0)

Самое главное здесь последняя строчка. Мол, адаптер теперь у нас в режиме монитора, и к нему можно обращаться как к mon0

Ну ок, работает да и фиг с ним.

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

 

# airodump-ng mon0

 

Должно получиться  что-то вроде такого: 

 

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID
                                                                                                                               
 81:CF:41:57:C9:2A   -29       81       28    3   6  54e  WPA2 CCMP   PSK  SkyNet                                               
                                                                                                                               
 BSSID              STATION            PWR   Rate    Lost    Frames  Probe                                                     
                                                                                                                               
 81:CF:41:57:C9:2A   46:6E:3E:4D:AE:E6    0    0e- 1e     0       19   
  

 

Немного матчасти. Здесь отображется куча всякой херни и всяких параметров. Не надо на них заострять внимание. Важны только последние строчки. Данный выхлоп в сосоле представляет собой некую таблицу. Та вот, BSSID - точки доступа, а STATION - подключеные клиенты к точкам. Если кому-то еще хочется что-то узнать, то знания эти будут не особо полезные. Да и в гугле все есть.

Вообще, зачем мы это все затеяли? Все просто, нам нужно словить handshake. С английского это переводится как "рукожопие", а если серьезно, то "рукопожатие". Вот в этом самом хэндшейке и должен быть желаемый пароль. Который еще придется достать, но об этом позже.

Выбираем нашу жертву

Внесем немного ясности. У каждой точки есть свой идентификатор. Называется он SSID, и бычно он выглядит примерно так 81:CF:41:57:C9:2A т.е. как MAC-адрес, и в вообще-то это он и есть. Ладно, не суть. Точно также и у пользователей подключенных к точкам - отображаются их МАС-адреса.

Я  вот никогда не любил фильмы про терминаторов, поэтому это будет SkyNet. Чтобы следить за данной точкой, надо ввести в сосоль следующее:


# airodump-ng mon0 --bssid  81:CF:41:57:C9:2A -w wpa2

 

(данный процесс не завершать, дабы мониторить все как надо. Посему рекомендуется открывать новые задачи в новых в кладках терминала)

Теперь немного матчасти:

airodump-ng - тулза следящая

mon0 - интерфейс для слежки

--bssid - указание конкретной точки

-w wpa2 - все данные будут записываться в файлы wpa2*** и airodump-ng будет срать этими файлами прямо в хомячка (/home/user).

Больше всего интересен файл wpa2*.cap вот в нем-то и будет наш долгожданный хэндшейк.


А теперь собственно смотрим, что же дает в виде выхлопа данная команда. В общем, можно сидеть и долго ждать, пока кто-нибудь начнет коннектится к точке, чтобы словить наш горячолюбимый handshake. (В терминале в верхнем правом углу должна появиться надпись:

[ WPA handshake: 81:CF:41:57:C9:2A )

А можно пойти простым путем, и атаковать пользователей определнной точке. Для начала нам надо его выбрать. Вот у моей точки, один пользователь. Поэтому список маленький, и скрестив пальцы начнем атаковать его. Для этого в новой вкладке терминала вбиваем:

 

#  aireplay-ng --ignore-negative-one mon0 -0 0 -a 81:CF:41:57:C9:2A -c 46:6E:3E:4D:AE:E6

 

Теперь и тут немного матчасти. Куда ж нам без неё!

Ладно, шутки в сторону.

aireplay-ng - говоря научным языком, это пакетный инжектор. Ну, тут все понятно, что нифига не понятно. Простыми словами, эта тулза поможет дропать пакеты от то юзака к точке доступа. И если их будет потеряно большое множество, то будет выполнено переподключение. Ну и тут мы хапнем наш хэндшейк.

Теперь погнали по опциям:

--ignore-negative-one - мне пришлось  его использовать. Название говорит само за себя.

mon0 - интерфейс сделанный ранее.

-0 0  - количество атак. Если поставить 5 или любое другое рандомное число. То столько и будет, ну а если ноль поставить, то будет долбить постоянно. Поэтому и рекомендуется открыть в новой вкладке, чтобы потом остановить данное действие.

-a 81:CF:41:57:C9:2A - указываем конкретную точку доступа (в предыдущем терменале обозначен как BSSID).

-c 46:6E:3E:4D:AE:E6 - aтакуемая жертва (в предыдущем терменале обозначен как STATION).

Если все правильно восле данной команды пойдет выхлоп, причем очень большой.  И переключаемся на соседнюю вкладку (там где мы запускали airodump-ng к конкретной точке), и там рыбачим хэндшейк.

Смотрим в верхний правый угол. Если появилась надпись [ WPA handshake: 81:CF:41:57:C9:2A то все, он уже сохранен в файле.

У меня это был файл wpa2-01.cap И чтобы не было сомнений, что данный файл содержит хэндшейк, проверить можно командой:

 

# aircrack-ng wpa2-01.cap

 

В выхлопе должно быть нечто вроде:

 

Opening wpa2-01.cap
Read 548 packets.

   #  BSSID              ESSID                     Encryption

   1  80:CF:41:67:C9:3A  SkyNet                    WPA (1 handshake)

Choosing first network as target.

Opening wpa2-01.cap
Please specify a dictionary (option -w).


Quitting aircrack-ng...
 

 

Думашь все? Ага, щас! теперь только можно завершить все процессы, и закрыть кучу вкладок в терминале. Ну и приступить к расшифрованию самого файла с хэндшейком.

Можно скачать словарь, и пробовать самому расшифровывать. А можно пойти на сайт  wpa-sec.stanev.org, и при помощи связки видеоккарт работающих с 15-ю славарями, все это дело расшифровать. Что собственно говоря и надо делать.

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

Вводим мыло и капчу. На почту упадет письмецо с ключем. (я не вводил, у меня автоматом сгенерировался ключ, и сразу ввелся сам. Все само, лол) Его вводим в поле Key и там он сохраняется. Вот такая простая регистрация. Просто набор рандомных цифр и букв, но об этом как-нибудь потом.

Далее жмем на пимпу Submit и загружаем наш файл wpa2-01.cap

После отгрузки файла, жмем на My nets и эфпячим результат. Т.е. жмем F5, через неопределенное время будет результат. У меня выуживание пасворда заняло 10 минут времени, я успел приготовить чашечку кофи, и получить долгожданный пасворд.

Вот собственно всё. Данная статья лишь для ознакомления о походах пьяного гентушника на свою точку. На это всё. Пока!

воскресенье, 12 октября 2014 г.

Комбо udisks2 + polkit = Gentoo

 Корочи, тема такая. На любом десктопном пердоликсе 
автомонтирование девайсов и дисков идет изкоробки. Но не в Gentoo. 
А все почему? Потому что надо вкурить чо как работает, и сделать
как самому нравится. Не нравится ковырять недра операционки?
Ставь ШINDOШS, там за тебя все сделали, или на хуйдой конец Бубунту.
Ладно, хватит лирики и теперь к делу. Polkit по своей сути создает
правила запрета или разрешения. По дефолту -- запрет, и поэтому 
создадим правило на разешение.
Ниже изложено правило, которое нужно запилить в  /etc/polkit-1/rules.d
и назвать его например 10-udisk2.rules и вставить вот этот вот текст
 
 
// See the polkit(8) man page for more information
// about configuring polkit.

// Allow udisks2 to mount devices without authentication
// for users in the "wheel" group.
polkit.addRule(function(action, subject) {
    if ((action.id == "org.freedesktop.udisks2.filesystem-mount-system" ||
         action.id == "org.freedesktop.udisks2.filesystem-mount") &&
 subject.isInGroup("wheel")) {
        return polkit.Result.YES;
    }
});
 
Если все правильно сделали, должно работать изкоробки.  
Как все должно быть для самых маленьких

# nano /etc/polkit-1/rules.d/10-udisk2.rules
в открытое окошко вставляем текст джава-скриптов, и сохраняем! 
 
Немного деталей. Данное правило можно немного изменить.
Вообще, это правила разрешает монтировать диски все пользователям
Состоящим в группе wheel, и вкачестве альтернативы можно указать другую
группу. Например, storage или еще какую-нибудь. А вообще, надо еще не
забывать, что пользователь должен быть в указанной группе, иначе
правило не будет работать.
На этом все. 
Удачи!

понедельник, 29 сентября 2014 г.

nat and iptables (DNAT)

Немного про iptables и nat. Нет, не будем-с копировать с других форумов всякую мелочь, а только важное.
Короч, такая тема. Нужно пробросить порт 21 из вне на одну сетевую тачку. Допустим провайдер дает нам статический ойпи, 215.2178.124.23, а нужная нам машина имеет внутренний ойпи  192.168.66.77
Все мелкие нюансы по настройке и установки iptables должны быть заведомо проделаны. Короч, все работает и запихиваем в сосоль это вот:
(если чо, от рута, иначе sosnooley)

#  iptables -t nat -A PREROUTING -d 215.2178.124.23/32 -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.66.77:21

Внезапно захотелось чтобы трафик на данный порт шуровал по udp? да нефиг делать! Короч, те же яйца, только в профиль:

# iptables -t nat -A PREROUTING -d 215.2178.124.23/32 -p udp -m udp --dport 21 -j DNAT --to-destination 192.168.66.77:21


В завершении статьи хотелось бы добавить, если ты случайно упоролся и понял. что открыл не те порты, не сцы! Их можно сагануть, т.е. удалить. Я не сразу вкурил чо как, но вот готовое решение. В общем, если нужно удалить проброс порта на определенную мащину, значит пришло время удалять правило nat. Нет, нельзя так просто взять и удалить. Для начала надо узнать номер правила. Смотрим выхлоп:

# iptables -L -t nat --line-numbers

Я слишком ленив, чтобы копаться во всех правилах, поэтому взял грепнул по нужном ойпи. Короч вот чо вышло:

# iptables -L -t nat --line-numbers | grep -i 192.168.66.77

Как и полагается, в выхлопе найдены все правила связанные с этим адресом. Ну так вот, слева будут цифры, это и есть номер правила, которое нужно дропнуть.

# iptables -t nat PREROUTING 15

И самое важное, сохраняйся чувак, играя с iptables, ты играешь с огнем, рискуешь потерять работу, и ехать на хостинг править вручну. Я сегодня чуть уже не собирал свои манатки, посему надо делать так:

# service iptables save

А тут самый сок, надо же провирить как оно стартанет в случае ребута пердоликса. Короч, скрестив пальцы ждем-с

# service iptables restart

Если не накосячил и тебе повезло, то радуйся жизни. А если iptables умер при запуске, то езжай и правь вручную.
Удачи!

воскресенье, 28 сентября 2014 г.

SHA256 checksums

Сегодня столкнулся с такой траблой:

>>> checking ebuild checksums
!!! Digest verification failed:
!!! /usr/portage/mate-base/mate-applets/mate-applets-1.8.0-r1.ebuild
!!! Reason: Failed on SHA256 verification
!!! Got: 6550bb13771sadffa75dc702fe6177ce1ec0679f1821d34bdf40dc2d951e5dasd
!!! Expected: b11869f9d5f7xc8ca7e2816b1c7bc90851662f748f26254c63abacfca132


Пошел в гугл, послал гугл, почесал репу и прочитал внимательно. Все оказалось проще. Проблема в хеш-сумме ебыдла, и решается она просто:
# ebuild /usr/portage/mate-base/mate-applets/mate-applets-1.8.0-r1.ebuild manifest

# ebuild /usr/portage/mate-base/mate-applets/mate-applets-1.8.0-r1.ebuild install

Ну собственно говоря и все. Наш пакет ставится, к тому же данная операция применима для всех  пакетов с подобными ошибками.
Удачи!

Alsa settings

Любителям альсы посвящается.
Если горячелюбимая альса не схороняет настройки, то нужно для начала настроить миксер как нужно, вазывав его командой:
$ alsamixer
и потом можно сохранять
# /etc/init.d/alsasound save

Ну и все, следующие пуски системы будут с нормальными настройками.