среда, 1 марта 2017 г.

Правильная флешка с Kali и persistence mode (с сохранением настроек и результатов)


Правильная флешка с Kali и persistence mode (с сохранением настроек и результатов)


    Правильная флешка с Kali и persistence mode
    (с сохранением настроек и результатов)​

    Приветствую Вас, дорогие жители и гости форума. В этой статье я постараюсь доступным языком рассказать о некоторых тонкостях создания флешки с Kali или чем-то подобным. В результате мы получим загружаемую флешку с самой системой, а также специальным разделом persistence, в котором будут сохраняться результаты работы и настройки. Флешка также будет нормально определяться windows, для чего будет создан ntfs или fat32 раздел, но обо всём по порядку.

    Для начала нам, конечно же, потребуется ISO образ. (Я использовал kali-linux-1.1.0a-i386.iso sha-1: 593f0e5b5db5e65102b12f047a7383740c5d7d7a.) 
    Затем нужно, загрузившись из под Linux, проделать определённые действия. (На тот момент, данный образ у меня уже был записан на болванку, и я загрузился с него в Live режиме.)

    Теперь производим разметку флешки (у меня она определилась, как sdb). (Кстати по поводу флешек, лучше не скупиться и купить что-нибудь компактное и скоростное. Я использовал Transcend TS32GJF710, можно взять её USB2.0 аналог TS32GJF510.)
    Открываем флешку в GParted (gparted /dev/sdb) и создаём чистую таблицу разделов типа ms-dos (Device -> Create Partittion Table). Теперь переходим к созданию разделов. Первым создаём ntfs (если хотите fat32) раздел для windows систем примерно в половину объёма флешки (можете потом, даже, затереть на корпусе 32Gb и написать 16Gb, чтобы никто не догадался :) ). Важно, чтобы раздел для windows был именно первым (sdb1), иначе она его не отобразит. Далее создаём системный ext2 раздел размером чуть больше, чем занимает наш ISO образ. Не забываем указать флаг boot, чтобы раздел был загружаемым. (ext2 - относительно простая файловая система без журналирования. На мой взгляд, это наилучший вариант для статического хранения файлов образа в данной ситуации. Хотя, если отформатируете в ext3 или ext4 - не страшно, тоже будет работать.) На оставшемся месте создаём раздел (желательно без форматирования). Его мы будем использовать под persistence.
    Должно получиться примерно следующее:


    Переходим в терминал:
    Code:
    # создаём каталог и монтируем к нему системный раздел флешки
    mkdir /mnt/kali
    mount /dev/sdb2 /mnt/kali
    # при желании можно его совсем почистить
    rm -vRf /mnt/kali/*
    Открываем наш образ менеджером архивов. Выделяем всё кроме [BOOT]. Нажимаем “Extract” и извлекаем выбранное в /mnt/kali.


    Бывают ситуации, когда файла образа нет, а есть только диск. Тогда файлы можно скопировать прямо с диска:
    Code:
    # создаём каталог и монтируем к нему привод
    mkdir /mnt/sr0
    mount /dev/sr0 /mnt/sr0
    # копируем файлы kali с привода на раздел
    rsync -av /mnt/sr0/* /mnt/kali
    # размонтируем привод
    umount /mnt/sr0
    Ну что, файлы скопированы. Пришло время заняться загрузчиком. На диске с Kali используется загрузчик isolinux, нам же для загрузки с ext раздела потребуется extlinux. В Kali он уже есть и лежит в /usr/lib/EXTLINUX. Сразу скажу, что isolinux, extlinux, syslinux - это всё загрузчики из одного семейства, так что менять почти ничего не придётся.
    Code:
    # копируем загрузчик в MBR флешки
    dd if=/usr/lib/EXTLINUX/mbr.bin of=/dev/sdb bs=512
    
    # устанавливаем (хотя, скорей настраиваем) загрузчик
    # в каталог live (поскольку там хранится загрузочное ядро (vmlinuz, initrd.img))
    extlinux --install /mnt/kali/live
    Так как загрузчик сменился, нужно кое-что переименовать.
    Code:
    mv /mnt/kali/isolinux /mnt/kali/syslinux
    mv /mnt/kali/syslinux/isolinux.cfg /mnt/kali/syslinux/syslinux.cfg
    mv /mnt/kali/syslinux/isolinux.bin /mnt/kali/syslinux/syslinux.bin
    (Кстати, фоновая картинка при загрузке хранится в syslinux/splash.png, её лучше поменять её на что-то менее вызывающее.)

    Ну вот и всё, мы получили загружаемую флешку с Kali. Раздел sdb2 можно смело размонтировать (umount /dev/sdb2). Не забываем, что раздел sdb2 должен быть помечен, как boot (иначе не стартанёт).


    Переходим ко второй части – persistence.

    Как мной уже было сказано выше, persistence – это специальный раздел, предназначенный для сохранения результатов и настроек. С ним вы можете удалять имеющиеся и устанавливать дополнительные пакеты. Всё это сохранится, и, настроив систему единожды, вам не придётся проделывать это каждый раз. Таких разделов может быть несколько, но мы пока рассмотрим вариант всего с одним. Самый простой вариант создания такого раздела – это отформатировать sdb3 в ext3 (можно и в ext4, но, насколько я знаю, debian, на котором собственно и построена Kali, лучше работает с ext3), и создать в его корне конфигурационный файл.
    Code:
    # форматируем раздел sdb3 в ext3
    mkfs.ext3 -L persistence /dev/sdb3
    
    # создаём каталог и монтируем к нему persistence раздел флешки
    mkdir /mnt/persistence
    mount /dev/sdb3 /mnt/persistence
    
    # создаём конфигурационный файл persistence
    echo "/ union" > /mnt/persistence/persistence.conf
    
    # размонтируем раздел sdb3
    umount /dev/sdb3
    На этом можно было бы поставить точку, но, а если предположить, что этой флешкой может завладеть кто-то, кто ей завладеть никак не должен? И тут на помощь приходит шифрование. Да, Kali (и не только она) поддерживает использование шифрованного persistence раздела.
    Ну что, для начала нужно создать криптоконтейнер. При форматировании система запросит подтверждение, для этого нужно ввести YES большими буквами. Затем вводим парольную фразу первый, и второй раз (парольную фразу лучше придумать заранее).
    Code:
    # форматируем раздел (вывод информации о ходе выполнения, шифрование aes-xts-plain, размер ключа 512 бит, подтвердить парольной фразой)
    cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --verify-passphrase luksFormat /dev/sdb3
    
    # проверяем раздел
    cryptsetup isLuks /dev/sdb3 && echo "Sucess ;)"
    
    # смотрим, что получилось
    cryptsetup luksDump /dev/sdb3

    Ну а дальше всё просто.
    Code:
    # открываем получившийся криптоконтейнер
    cryptsetup luksOpen /dev/sdb3 sdb3_crypted
    
    # проверяем открывшийся раздел
    cryptsetup status sdb3_crypted
    
    # создаём файловую систему внутри шифрованного раздела
    mkfs.ext3 -L persistence /dev/mapper/sdb3_crypted
    
    # форматируем раздел sdb3 в ext3
    mkfs.ext3 -L persistence /dev/sdb3
    
    # создаём каталог и монтируем к нему шифрованный раздел
    mkdir /mnt/persistence
    mount /dev/mapper/sdb3_crypted /mnt/persistence
    
    # создаём конфигурационный файл persistence
    echo "/ union" > /mnt/persistence/persistence.conf
    
    # производим размонтирование
    umount /dev/mapper/sdb3_crypted
    
    # закрываем шифрованный раздел
    cryptsetup luksClose sdb3_crypted

    Ещё не устали? А вот я подустал, если честно. Ну ладно, идём дальше.

    Часть третья. Финальные штрихи.
    Зашифровать persistence – это, конечно, хорошо. А как насчёт экстренного пароля самоуничтожения? Да, вот такая ещё фишка есть в Kali.
    Хотя, самоуничтожения – это, однако, громко сказано. Ввод такого пароля просто стирает все кей-слоты. Кей-слот – это своего рода пароль к разделу. Их может быть несколько. Я не буду вдаваться в тонкости работы криптоконтейнеров, но если убить все кей-слоты, то шифрованный раздел будет уже не открыть. При установке такого пароля система сначала запросит любой существующий пароль, затем нужно ввести пароль самоуничтожения. Он вводится один раз, без подтверждения, так что будьте внимательны.
    Code:
    # добавляем пароль самоуничтожения
    cryptsetup luksAddNuke /dev/sdb3
    А теперь, на всякий случай, расскажу, как делать и восстанавливать резервные копии заголовков шифрованного раздела.
    Code:
    # создаём резервную копию заголовка шифрованного раздела
    cryptsetup luksHeaderBackup --header-backup-file luksheader.back /dev/sdb3
    
    # восстанавливаем заголовок шифрованного раздела из резервной копии
    cryptsetup luksHeaderRestore --header-backup-file luksheader.back /dev/sdb3

    Кстати, перед тем, как спрятать резервную копию, её тоже можно зашифровать.
    Code:
    # шифруем файл резервной копии
    openssl enc -e -aes-256-cbc -in luksheader.back -out luksheader.back.enc
    
    # расшифровываем файл
    openssl enc -d -aes-256-cbc -in luksheader.back.enc -out luksheader.back.dec
    
    # выведем для наглядности контрольные суммы
    # исходный и расшифрованный файлы должны быть идентичны
    sha1sum  luksheader.back luksheader.back.dec

    Ну и на этом, пожалуй, можно остановиться.
    Пробуйте. Задавайте вопросы.   

    (с) не мой . Исходная статья тут : https://forum.antichat.ru/threads/441241/

понедельник, 20 февраля 2017 г.

среда, 1 февраля 2017 г.

kali linux сборка пакета из исходников

Загрузка Исходного Пакета

# Get the source package
apt-get source libfreefare
cd libfreefare-0.3.4~svn1469/

Редактирование Исходного Кода Пакета

Сделайте необходимые изменения в исходном коде пакета. В нашем случае, мы изменим файл примера, mifare-classic-format.c.
nano examples/mifare-classic-format.c

Проверка Зависимостей Сборки

Проверьте, нет ли зависимостей для сборки пакета. Они должны быть установлены прежде, чем вы можете собрать (build) пакет.
dpkg-checkbuilddeps

Вывод должен быть похож на следующий, в зависимости от того, какие пакеты уже установлены. Если dpkg-checkbuilddeps не возвращает вывода, это означает, что у вас нет недостающих зависимостей и вы можете приступить к сборке.
dpkg-checkbuilddeps: Unmet build dependencies: dh-autoreconf libnfc-dev

Установка Зависимостей Сборки

Установите любые зависимости для сборки, если это необходимо, как показано в выводе dpkg-checkbuilddeps:
apt-get install dh-autoreconf libnfc-dev

Сборка Измененного Пакета

С учетом всех установленных зависимостей, это просто вопрос вызова dpkg-buildpackage чтобы собрать свою новую версию.
dpkg-buildpackage -b

Установка Нового Пакета

Если все прошло хорошо, вы должны быть в состоянии установить вновь созданный пакет.
dpkg -i ../libfreefare*.deb

пятница, 18 ноября 2016 г.

Как сделать Kali LInux live USB с возможностью изменения

Нам потребуется

  • ISO Kali linux
  • MiniTool Partition Wizard
  • Rufus
1. Записывает на USB с помощь Rufus  iso образ линукса в режиме DD
2. C помощью MiniTool Partition Wizard создаем Primary раздел с именем "persistence" и файловой системой ext4

После того, как менеджер разделов закончит работу, перезагрузите компьютер и загрузите с вашего USB. Выберите опцию «Live USB persistence».

Откройте терминал . Найдите имя раздела "persistence"
fdisk -l
Допустим Мой раздел /dev/sda3
Далее пишем
mkdir -p /mnt/USB
mount /dev/sda3 /mnt/USB
echo "/ union" >> /mnt/USB/persistence.conf
umount /dev/sda3
reboot

вторник, 2 июня 2015 г.

Разблокировка e3131 MTS 420s

1.Заходим терминалом в Mobile Connect PC UI Interface (только на этот порт).
Смотрим IMEI :ATI
Смотрим факт блокировки и кол-во попыток
AT^CARDLOCK?
^CARDLOCK: 2,10,0

Первая цифра ->  2 - означает, что SIM Lock снят или его нет, 1 - означает что модем залочен.
Вторая цифра ->  количество оставшихся попыток кода разблокировки. По умолчанию у нового модема их 10 (иногда бывают новые модемы с прилавка у которых нет попыток, так задумано оператором, но тоже можем разлочить ;)

 
2.Идём на страничку http://bb5.at/huawei.php?imei=<Тут вписываем ваш IMEI>
Получаем ответ:

HWCALC V3.2 (V1 + V2 + V3 algo)

IMEI: <ваш имей>

Unlock (V1):     <8>
Unlock (V2):     <8>
Unlock (V3/201): <8>
Flash:           <8>

(c) SERGEY/MKL 2010 - 2014
 
Нас интерисует: Unlock (V2):     <8>

3.В блокноте готовим команду AT^CARDLOCK="<8>". Кавычки обязательны
4. Если ответ "Ok" то мы победили... Если нет, то увы

среда, 20 мая 2015 г.

adb


 проверка android_id
adb shell settings get secure android_id

проверка состояния экрана (заблокирован или нет)
 
#!/bin/bash
if [ "$(adb shell dumpsys power | grep mScreenOn= | grep -oE '(true|false)')" == false ] ; then
    echo "Screen is off. Turning on."
    adb shell input keyevent 26 # wakeup
    adb shell input touchscreen swipe 930 380 1080 380 # unlock
    echo "OK, should be on now."
else 
    echo "Screen is already on."
    echo "Turning off."
    adb shell input keyevent 26 # sleep
fi
 
 
Ввод текста, здвиг , событие 

adb shell input tap x y 
adb shell input swipe x1 y1 x2 y2 
adb shell input text Hello! 
adb shell input keyevent ID 


Аппаратне события

для посылки события касания вы должны:
1 установить координаты:
adb shell sendevent /dev/input/event2 3 0 x
adb shell sendevent /dev/input/event2 3 1 y

2 Посталь событие нажатия (обязательно в 2 команды последняя 0 0 0 ):

adb shell sendevent /dev/input/event2 1 330 1
adb shell sendevent /dev/input/event2 0 0 0

3 Посталь событие "отпустить палец" (обязательно в 2 команды последняя 0 0 0 ):
adb shell sendevent /dev/input/event2 1 330 0
adb shell sendevent /dev/input/event2 0 0 0

Просмотр событий
adb shell getevent









результат работы команды примерно такой
/dev/input/event2: 0003 0035 0000022e
/dev/input/event2: 0003 0036 00000039
/dev/input/event2: 0000 0002 00000000
/dev/input/event2: 0003 0012 00000020
/dev/input/event2: 0003 0014 00000000
/dev/input/event2: 0000 0000 00000000 
p.s. Не забываем переводить значения из hex в decimal. В командах adb должно быть decimal

dev/input/event2: 0003 0035 0000022e
/dev/input/event2: 0003 0036 00000039
/dev/input/event2: 0000 0002 00000000
/dev/input/event2: 0003 0012 00000020
/dev/input/event2: 0003 0014 00000000
/dev/input/event2: 0000 0000 00000000
- See more at: http://www.softteco.com/blog/android-low-level-shell-click-on-screen/#sthash.IktmE1su.dpuf
o send touch event you need to do:
1 Set coordinates:
adb shell sendevent /dev/input/event2 3 0 x
adb shell sendevent /dev/input/event2 3 1 y
2 Send touch event (must have 0 0 0 pair):
adb shell sendevent /dev/input/event2 1 330 1
adb shell sendevent /dev/input/event2 0 0 0
3 Send release finger event (must have 0 0 0 pair):
adb shell sendevent /dev/input/event2 1 330 0
adb shell sendevent /dev/input/event2 0 0 0
Please note:
1 You can record events:
adb shell getevent
- See more at: http://www.softteco.com/blog/android-low-level-shell-click-on-screen/#sthash.IktmE1su.dpuf
adb shell input tap x y 
adb shell input swipe x1 y1 x2 y2 
adb shell input text Hello! 
adb shell input keyevent ID  - See more at: http://www.softteco.com/blog/android-low-level-shell-click-on-screen/#sthash.IktmE1su.dpuf
adb shell input tap x y 
adb shell input swipe x1 y1 x2 y2 
adb shell input text Hello! 
adb shell input keyevent ID  - See more at: http://www.softteco.com/blog/android-low-level-shell-click-on-screen/#sthash.IktmE1su.dpuf
adb shell input tap x y 
adb shell input swipe x1 y1 x2 y2 
adb shell input text Hello! 
adb shell input keyevent ID  - See more at: http://www.softteco.com/blog/android-low-level-shell-click-on-screen/#sthash.IktmE1su.dpuf
adb shell input tap x y 
adb shell input swipe x1 y1 x2 y2 
adb shell input text Hello! 
adb shell input keyevent ID  - See more at: http://www.softteco.com/blog/android-low-level-shell-click-on-screen/#sthash.IktmE1su.dpuf
adb shell input tap x y 
adb shell input swipe x1 y1 x2 y2 
adb shell input text Hello! 
adb shell input keyevent ID  - See more at: http://www.softteco.com/blog/android-low-level-shell-click-on-screen/#sthash.IktmE1su.dpuf
adb shell input tap x y 
adb shell input swipe x1 y1 x2 y2 
adb shell input text Hello! 
adb shell input keyevent ID  - See more at: http://www.softteco.com/blog/android-low-level-shell-click-on-screen/#sthash.IktmE1su.dpuf

суббота, 9 мая 2015 г.

Всех с праздником 9 МАЯ

Весеннее солнце сияет,
Грачи не по-русски галдят,
Мой дед по Берлину шагает,
В Германии русский солдат
.
На вид ему лет восемнадцать,
Он даже ещё не отец,
Блестят сапоги – ниибацца,
Гвардеец геройский – п.и.з.д.е.ц!
.
В руках ППШ, а не «Шмайсер»,
В глазах его – яркий огонь,
Висит за плечами Weltmeister,
Такой пианино-гармонь
.
Поправив медаль «За отвагу»
(За Прагу её получил),
Ефрейтор шагает к Рейхстагу,
Где Гитлер работал и жил.
.
При нём – не планшет и не каска,
Боец умудрился достать
Ведёрко с оранжевой краской,
Чтоб ей по Рейхстагу писать.
.
Всей ротой ему поручили,
Чтоб он отразил на стене,
Что всё, б.л.я.д.ь, что мы – победили
В давно з.а.е.б.а.в.ш.е.й войне.
.
Две немки стоят на балконе,
Красивые, ё.б.а.н мой рот!
Летят запряжённые кони
Поверх Бранденбургских ворот.
.
И вот уже стены Рейхстага:
Гулянье, веселье и гам
- С какого ты фронта, бродяга?
- С танкистами вмажешь сто грамм?
.
Он выбрал местечко повыше,
Чтоб было получше видать,
Он встал возле статуи в нише,
Чтоб память потомкам создать.
.
Он кистью макает в ведёрко,
Вдруг дёрнулось что-то в руке:
Он вспомнил сержанта Федорко
И бой на замёрзшей реке.
.
Федорко был парень п.и.з.д.а.т.ы.й,
Но помер. Тоскуй-не тоскуй…
И твёрдой рукою солдата
Дед вывел огромное «Х.У.Й!»
.
Вы спросите, что тут случилось?
Вы скажете, это – х.у.й.н.я?
Но слово само проявилось
Из памяти, слёз и огня.
.
«Х.У.Й!» - значит «п.и.з.д.е.ц вам, фашисты!»,
«Х.У.Й» - значит «мы всё-же дошли
И х.у.й моряка и танкиста
Вам в глотку задвинуть смогли!»
.
Мой дед рисовал не х.у.ё.в.о,
Он буквы раз пять обводил,
За ровное гордое слово
Сам Жуков его похвалил
.
Он парня окликнул сурово:
- Ты что материшься, боец!?
А впрочем, отличное слово,
Короче – не скажешь. П.и.з.д.е.ц!
.
Рассказывать дед мой не мастер,
Но в мае всегда достаёт
Свой красный трофейный Weltmeister
И «Синий платочек» поёт

Нагрянет лихая година –
Мой дед тихо скажет: «Не ссать!
Дойдём до любого Берлина,
А «Х.У.Й!» мы умеем писать!»