Q: При смене Wi-Fi-сетей постоянно отваливается SSH-сессия, возможно ли это как-то обойти?

A: Да, возможно. Для этого предлагаю воспользоваться Mosh. Он доступен из репозиториев, не требует прав root, не является демоном и не занимается аутентификацией и шифрованием. Из основных фишек:

  • возможность роуминга SSH-соединений, как раз то, что нам и нужно. Это возможность переключаться между Wi-Fi сетями, не боясь смены IP;
  • уменьшение лагов насколько это возможно, за счет использования UDP и умного predictive echo;
  • оптимизация использования сети — протокол Mosh позволяет передавать только то, что должно быть отображено. В итоге <Сtrl + C> работает мгновенно, даже если ты выплюнул в консоль содержимое 500-гигабайтного файла.

Для использования просто меняется привычный SSH на Mosh. К примеру:

mosh root@server

Саму технологию можно описать подобной схемой:

  1. Mosh логинится на сервер по SSH и запускает удаленный процесс mosh-server, который слушает на UDP-портах от 60000 до 61000.
  2. Закрывает SSH-соединение.
  3. Запускает mosh-client с параметрами mosh-сервера, полученными на шаге 1.

При использовании, к примеру, еще и tmux получается весьма серьезный комбайн, который довольно трудно оборвать или потерять.

Q: Появилась задача сопоставить IP-адрес с его MAC-адресом в локальной сети. Подскажи ARP-сканер для этих целей.

A: Из наиболее простых и доступных решений мне нравится arp-scan. Тулза использует ARP-пакеты, чтобы просматривать рабочие компьютеры в подсети. Синтаксис довольно прост:

sudo arp-scan --localnet >> result.arp-scan

Если на машине установлено несколько сетевых интерфейсов, то можно использовать ключ --interface:

sudo arp-scan --interface=eth0 192.168.0.0/24
arp-scan
Выхлоп arp-scan

 

Q: Хочу написать свой шелл, подскажи, какой пример можно посмотреть и даже попользовать в своих целях?

A: Для примера можно взять всем известный r57shell, который валяется на различных околохакерских форумах (можно скачать его, скажем, с секьюлаба). Также можно глянуть на b374k shell с гитхаба. У всех шеллов так или иначе схожий функционал, можно даже посмотреть в сторону файловых менеджеров на PHP, ибо по сути это он и есть, с дополнительными фишечками. А так стоит отталкиваться от того, какой функционал тебе нужен.

Q: Захотелось собрать в кучу все свои гугл-дорки, и вдруг осенило: а вдруг есть подобные базы уже готовых дорков?

A: Конечно же, есть! Вот, к примеру, довольно внушительная коллекция дорков на гитхабе. Также можно поживиться неплохими дорками, посетив различные форумы по взлому. Многое почерпнуть можно и на ресурсе exploit-db.com — если ты про него еще не слышал, то однозначно добавляй в закладки и изучай.

Q: Как можно проверить память на ошибки на рабочей системе? A: Здесь я рекомендую обратиться к утилите memtester. Это тулза пользовательского пространства для проверки подсистемы памяти на ошибки. В отличие от memtest86, для проверки памяти не нужно перезагружать компьютер. Memtester может проверять память, начиная с указанного физического адреса. Перейдем непосредственно к запуску:

memtester 5g 1

После выполнения данной команды будет произведена проверка 5 Гб ОЗУ один раз. Тулза также будет удобна в тех случаях, когда нет физического доступа к серверу, но есть подозрения на глючную память.

Q: Решил поправить файл /etc/fstab и неожиданно понял, что не знаю UUID жесткого диска. Как мне это можно узнать?

A: Для этого можно воспользоваться двумя вариантами. Первый самый простой и не требует никаких дополнительных утилит. Нужно просто выполнить в консоли:

ls -l /dev/disk/by-uuid

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

sudo blkid

и получаем желаемый результат.

Q: Начал учить питон, есть ли какие прикольные игровые проекты для этого?

A: Да! Думаю, для начала можно посмотреть на checkio.org. Это ресурс для изучения и практики языка программирования Python. Абсолютно любой пользователь может зарегистрироваться на площадке и начать обучение или, уже зная язык, отшлифовать свои навыки. Обучение представлено в виде игры, в которой каждому необходимо в той или иной мере использовать свои знания. Например, первый этап обучения Learning — это цепочка задач от легкой к сложной. Причем в описании самой задачи есть все справочные данные для ее решения. Следующий тип задач — Score Games или Single Player Game. Это игры, в которых выиграть нельзя, но можно постараться набрать как можно больше очков. Третий тип задач — это Competition или Multi Player Game. Для тестирования своей программы пользователь выбирает соперника. Также стоит обратить внимание в сторону проекта pythonchallenge.com. Здесь можно решать задания и не на питоне, но мы ведь его учим, правда? Задачи представляю собой таски, чем-то похожие на задания из разных CTF с уклоном на механизмы языка Python. В качестве небольшого спойлера и наглядного примера можно взять первое задание челенджа, где предлагается воспользоваться возможностью возведения числа в степень средствами питона, после чего модифицировать урл и перейти по новой ссылке на следующий уровень. Так что и скиллы прокачаешь, и логику заодно. Ну уж про codecademy.com я говорить не буду, про него уже не один десяток раз говорилось и упоминалось.

Checkio
Checkio

Q: Ты не поверишь: у мне в ворде перестал работать и . Что с этим делать?

A: Поверю, порой по воле звезд меняются сочетания клавиш и вставка работает только по хоткею . Для того чтобы все вернуть на круги своя, нужно проделать следующие шаги. Заходим «Файл -> Параметры -> Настройка ленты», внизу «Сочетание клавиш: Настройка... -> Сохранить изменения в:», выбрать изменение сочетаний клавиш для всех документов или только для активного. Далее, если вообще не установлено сочетаний клавиш, то просто нажать «Сброс». Если же какие-то сочетания клавиш установлены, тогда нужно вернуть прежнюю команду для . Для этого: «Категории -> Все команды (эта категория почти в самом низу списка) -> Команды -> EditPaste -> Новое сочетание клавиш -> нажать -> Назначить -> Закрыть». После этого сочетания клавиш для копи-паста должны стать привычными.

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

A: В качестве доступного решения под рукой могу предложить модуль Intruder у Burp Suite, о котором ты уже не раз читал на страницах журнала. К сожалению, в демоверсии берпа нельзя сделать хорошую многопоточность. Для брута директории стоит выбрать режим sniper, в качестве атакуемого параметра выбрать что-то подобное:

/$aa$/pass.txt

метод атаки — брутфорс, исключить цифры, если уверен, что их не будет в названии директории, и запустить модуль. Как сам понимаешь, успех атаки можно отследить через колонку Status, по коду выполненного запроса.

Q: В консоли есть очень удобное автодополнение при нажатии кнопки таб. А есть ли подобное под питон?

A: Да, причем консольное, называется ipython. Это интерактивная оболочка для языка программирования Python, которая предоставляет расширенную интроспекцию, дополнительный командный синтаксис, подсветку кода и автоматическое дополнение. Кроме того, могу посоветовать обратиться к официальной документации и к этой статье, благодаря которым можно будет использовать IPython на полную катушку. Но даже если особо не заморачиваться с документацией и всеми возможностями оболочки, IPython заметно упрощает и ускоряет работу. Что-то отладить, быстро набросать какой-то скрипт и тут же его выполнить, поиграться с новой для себя библиотекой и многое другое. Настоящий must have для всех любителей питона.

Q: Захотел обновить видеокарту, но не уверен, что мое старое железо потянет новую железку. На какие параметры стоит обратить внимание при покупке?

A: Самое главное, на что стоит обратить внимание, — это интерфейс новой видеокарты и твоей матери. Если они PCIe x.0, то версии PCI совместимы между собой. С определенной потерей в скорости, но совместимы. Так что если у тебя мать с поддержкой PCIe 2.0, то карточка с 3-й версией PCI будет работать. Также стоит критично осмотреть свой блок питания, чтобы не было сюрприза вроде «не хватает мощности» или «нет необходимого штекера питания под новую карточку». В случае если ты собрался брать крокодила с тремя кулерами на борту, то стоит, вооружившись линейкой, измерить расстояние в системном блоке, а то можно остаться без корпуса или до кучи сменить и его. Ну и напоследок немного жестких реалий. Многие, купив себе за бешеные деньги видеокарты последних поколений, очень удивляются, когда современные игрушки идут с дикими тормозами, вылетами и прочими артефактами. Происходит это чаще всего из-за предела по процессору. Выходов тут, как ты сам понимаешь, не так много: или пробовать разогнать процессор, или полностью менять все железо, на что зачастую и рассчитывают производители железа.

Q: Чем можно сдампить трафик на сервере без гуи, чтобы его потом можно было обработать в Wireshark?

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

tcpdump -i eth0

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

tcpdump

 

Q: Появилась необходимость извлечь звук из разных видеофайлов, как можно это сделать под Ubuntu?

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

sudo aptitude install ffmpeg lame

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

ffmpeg -i video.avi -acodec pcm_s16le -ac 2 -ab 128k -vn -y "most.wav"
lame --preset cd most.wav music.mp3
rm most.wav

Как видишь, ничего сложного нет. Кстати, по утилите FFmpeg написан отличный ман на [официальном сайте тулзы](goo.gl/1fKyBo), рекомендую ознакомиться.
Для второго варианта нам понадобится программа Avidemux:

sudo aptitude install avidemux

Программа поддерживает русский язык, так что никаких проблем с извлечением звука быть не должно. Стоит отметить, что звук можно вытянуть с определенного места, а не целиком, что удобно, скажем, для обрезки аудиофайла от рекламы или для использования для того же рингтона на свой смартфон. Еще из подобных программ с GUI можно воспользоваться Winff:

sudo aptitude install winff

Она также поддерживает русский язык и позволяет вытащить звук из различных видеофайлов. С точки зрения простоты, конечно же, программы с GUI выходят на первое место, по функционалу самой интересной из них кажется Avidemux. А вот если смотреть со стороны количества настроек и возможностей, то тут консольная FFmpeg определенно выигрывает, хоть и требует ознакомления со своей документацией. Что выбрать, решать, конечно же, тебе, но хотя бы пробежаться по диагонали по возможностям FFmpeg рекомендую.

avidemux

Q:Необходимо подключить новый жесткий диск на сервере с предустановленной Ubuntu Server. Как это сделать через GUI, понятно, а вот как это проделать через консоль?

A:1. Для начала нам нужно поставить необходимую утилиту для работы с жестким диском. Мне нравится [megacli](goo.gl/2DuuQL), это весьма крутая утилита для работы с рейдами и жесткими дисками. У нее много различных ключей, поэтому лучше всего держать под рукой шпаргалку, к примеру [вот такую](goo.gl/hyvS8W).

2. Теперь нам нужно определить, какой винт у нас появился в системе. Выполняем команду:
MegaCli64 -PDList -Aall

получаем полный список устройств, находим новый диск. Определить, под какой он буквой, можно по счету: первый — это sda, второй — sdb и так далее, думаю, ты понял суть. Чтобы отсеять ненужную нам информацию, можно выполнить чуть подредактированную команду:

megacli -PDList -Aall | egrep 'Slot|Raw|Inquiry|Enclosure|Firmware state'

В выводе будет что-то такое:

Enclosure Device ID: 32
Slot Number: 2
Enclosure position: 1
Raw Size: 558.911 GB [0x45dd2fb0 Sectors]
Firmware state: Online, Spun Up
Inquiry Data: BTW INTEL SSDSC2
Enclosure Device ID: 32
Slot Number: 3
Enclosure position: 1
Raw Size: 2.728 TB [0x15d50a3b0 Sectors]
Firmware state: Unconfigured(good), Spun Up
Inquiry Data: 149TOSHIBA

В моем случае в слоте 3 как раз новый диск без разметки.

3. Переходим к разметке диска. Для этого мне нравится fdisk. Синтаксис примерно такой:

fdisk /dev/sdX

где Х — буква нужного нам диска. Далее вводим m и получаем справку, нам нужно создать раздел на весь диск. Не забудь, что для больших дисков нужен GPT. Нажимаем n, далее будут вопросы, какой раздел создавать, делаем primary. Выбираем номер раздела, 1. Указываем размер, вводим w, для записи. Чтобы просмотреть, что у нас создано, вводим p. После того как с разметкой готово, выходим из тулзы. Если что-то непонятно или забыл, как делать, можно в любой момент обратиться к справке, которая все подскажет.

4. Теперь нам нужно записать на наш раздел файловую систему. Предполагаю, что ты будешь использовать ext4. Поэтому выполняем команду

fsck.ext4 /dev/sdX1

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

mkdir /disk1

чтобы примонтировать наш новый винт. Команда монтирования тоже довольно проста и логична:

mount /dev/sdX /disk1

5. Чтобы система монтировала диск самостоятельно в нужную нам точку монтирования и с определенными параметрами, поправим файл fstab. В нем можно указывать как устройство, так и его UUID. Я предлагаю использовать последнее. Для определения UUID воспользуемся следующими командами:

blkid /dev/sdX1

Добавляем наш диск по UUID в файл /etc/fstab:

nano /etc/fstab

А в нем что-то подобное:

UUID="a35db35e-d660-910a-478e-4927169bd09b" /disk1 ext4 defaults,noatime,nodiratime 0 0

Q: Глядя на игру Watch dogs, заинтересовался, возможно ли подобное в реальной жизни, возможно ли с телефона взламывать различные сети?

A. Почему бы и нет, на телефоне можно дампить трафик, подбирать пароли, пользоваться sqlmap’ом и многое-многое другое. Фразой «Я тут сервак в маршрутке со смартфона поднимал» уже никого особо не удивишь. При наличии клавиатуры можно заметно ускорить работу, а при внешнем VDS за 5 долларов в месяц можно творить такие вещи, что любой фильм или игра покажется детской песочницей.

B. Многие тулзы, используемые в обычной практике пентеста, недоступны на телефоне, да и даже на пятидюймовом экране особой наглядности ждать не стоит. Если в качестве information gathering еще можно приспособиться, то вот в качестве обработки и самой эксплуатации все весьма медленно, мелко и сложно. И чаще всего дальше банального «во, смотри, что я на своем смартфоне поднял» дело не уходит. Про запас заряда батареи я промолчу — думаю, тут и так понятно, что телефон будет поедать батарею с огромным аппетитом.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии