2010/07/19

Инвертирование цветов в X

Казалось бы, достаточно простая операция - инвертировать цвета на экране, однако далеко не все представляют, как это можно сделать средствами иксов. В основном, советовали ставить композитный оконный менеджер, но т.к. я упоротый фанат OpenBox, то это меня не устраивало. Даже в тех менеджерах, которые можно ставить отдельно от WM, т.е. в использовать вместе с ним (такие как cairo-compmgr и xcompmgr) не обладали подобной функцией. И тут я было приуныл, как решил спросить у истинного адепта линукса, наставившего меня на путь инстинный, и, да!
xcalib -invert -alter
Повесил команду на хоткей и радуюсь.

Рипаем dvd с помощью ffmpeg

Не так давно для меня процесс создания рипа двд диска был весьма темным знанием, известным лишь релизерам на рутрекер.орг. Однако всё оказалось очень даже просто (по крайней мере в линуксе):
ffmpeg -i VTS_01_1.VOB -f avi -vcodec mpeg4 -b 1500k -g 300 -bf 2 -acodec libmp3lame -ab 128k video.avi
Это типичная команда для рипа двд диска, которую можно после долгих поисков найти в мане к утилите. Фактически, два самых значительных параметра в этой команде - битрейты видео и аудио, в данном случае равные 1500k и 128k.
В каждом конкретном случае битрейт видео, разумеется, надо подбирать отдельно (если нет никаких ограничений по объему): чем более динамично видео, тем больше должен быть битрейт, по идее, для сохранения комфортной картинки. Для этого можно варьировать цифру после параметра -b и делать некий сэмпл рипа, несколько десятков секунд, просто завершить ffmpeg в процессе его работы и посмотреть что получилось.
Если исходников было несколько, то склеить их в один файл можно так:
mencoder -oac copy -ovc copy part1.avi part2.avi -o video.avi

2010/05/06

Определение транскодов в Linux - 2

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

Поставляется она в виде бинарника, да и ещё сразу не хочет запускаться, выдавая ошибку:
$ ./auCDtect                                                                                    
./auCDtect: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
Нужная ему допотопная библиотека находится в соответствующем пакете (для Дебиана). Неприятно, что проверяет он только WAV файлы, поэтому лосося сперва нужно конвертировать туда, для FLAC, например, командой
$ flac -d <файлы>
Вот и сказке конец, ну вы поняли.

2010/04/29

fuzzdb

Интересная разработка, включающая в себя шаблоны атак (как кстати по-русски слово payload устоялось-таки?), имен файлов, логинов, паролей и сообщений об ошибках, возникающих при той или иной атаке. Весьма впечатляющий объем данных там уже есть и постоянно пополняется, как я вижу.

Можно использовать с уже имеющимися фаззерами, при написании собственных или просто освежить в памяти при ручном тестировании. :)

fuzzdb

2010/03/30

PenTBox - набор утилит для пентеста

Недавно вышла в свет финальная версия. Утилиты написаны на Ruby, так что собирать-компилять ничего не нужно. Интерес представляют фаззеры HTTP и FTP, ну а так в основном унылость. Разве что использовать в образовательных целях.

PenTBox 1.3.2 

      ____          _____ ____
     |  _ \ ___ _ _|_   _| __ )  _____  __
     | |_) / _ \ '_ \| | |  _ \ / _ \ \/ /
     |  __/  __/ | | | | | |_) | (_) >  < 
     |_|   \___|_| |_|_| |____/ \___/_/\_\

        Our little Box, your Security Suite.


- Cryptography tools
Base64 Encoder & Decoder
Multi-Digest (MD5, SHA1, SHA256, SHA384, SHA512)
Hash Password Cracker (MD5, SHA1, SHA256, SHA384, SHA512)
Secure Password Generator
Files en/decryptor Rijndael (AES) 256 bits – GOST – ARC4
- Network tools
TCP Flood DoSer
TCP Flood AutoDoSer
Spoofed SYN Flood DoSer [nmap - hping3]
Port scanner
Honeypot
PenTBox Secure Instant Messaging
Fuzzer
- Extra
L33t Sp3@k Converter
 pentbox.net

2010/03/23

skipfish - сканер безопасности web-приложений от Google

На днях компания Google представила свой open source инструмент для аудита безопасности web-приложений, наподобие широко известного nikto. Однако разработчик заявляет ряд преимуществ перед имеющимися решениями, среди них:
  • высокая скорость работы (~500 запросов в секунду через Интернет, ~2000 - через локальную сеть)
  • простота использования
  • хорошо продуманные тест-кейсы (весь список проверяемых уязвимостей доступен в README к программе) 
Иструмент доступен для скачивания в исходных кодах отсюда. Для компиляции мне пришлось доустановить заголовочные файлы для ssl. Далее распаковываем и компилируем.
# apt-get install libssl-dev
$ tar -xzfp skipfish-1.13b.tgz
$ cd skipfish/
$ make
В случае успеха в папке появится исполняемый файл skipfish, собственно то, что нам нужно. В папке dictionaries находятся словари, которые могут использоваться при составлении карты сайта. Словари включают в себя расширения и ключевые слова. Чем больше словарь, тем более глубокий фаззинг сайта будет проведен. Словарь по умолчанию должен называться skipfish.wl и находиться в одной папке с исполняемым файлом: нужно перенести и переименовать нужный словарь из соотвествующей папки.


Итак, приступим же наконец к сканированию! Типичная команда сканирования выглядит следующим образом:
$ ./skipfish -MEU -o ./example http://www.example.com/
Здесь "-MEU" - опции для создания отчета, чтобы всё было хорошо, "./example" - имя папки в которую будет писаться отчет, а "http://www.example.com/", как несложно догадаться, адрес сайта.

Поддержка cookie, HTTP аутентификации и прочих плюшек имеется в полном объеме. Все настройки можно глянуть по команде:
$ ./skipfish -h
Доставила динамическая консольная статистика и детализированный отчет, поражающий мозг обыденного пользователя nikto. По количеству найденных уязвимостей, на первый взгляд (на основе сканирования одного сайта), оставляет позади nikto последней версии. Респект и уважуха в общем.

2010/03/13

Lenovo X200t & Debian Squeeze: wi-fi и сенсорный экран

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

Практически всё оборудование подхватилось из коробки при условии выбора инсталляционного пункта "Laptop" при установке.


1. Wi-fi
Имеем:
$ lspci | grep -i wireless
03:00.0 Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection
Прошивка для этого компонента небесплатна, поэтому придется подключить non-free компоненты основного репозитория в /etc/apt/sourses.list. В итоге в списке должна присутствовать строчка вида:
deb http://mirror.yandex.ru/debian/ squeeze main contrib non-free
Далее обновляем список пакетов
# apt-get update
И устанавливаем пакеты
# apt-get install firmware-iwlwifi wireless-tools
Подгружаем модуль ядра, если таковой не был подгружен автоматически
# modprobe iwlagn
Радуемся
# ifconfig wlan0 up


2. Сенсорный экран
Для настройки экрана понадобится остановить X сервер, сгенерировать xorg.conf и подгрузить модуль ядра wacom, который уже установлен в системе:
# modprobe wacom


# /etc/init.d/kdm stop
# /etc/init.d/gdm stop
# /etc/init.d/xdm stop
# cd /etc/X11/
# Xorg -configure
А потом отредактировать его, добавив следующие секции:
Section "InputDevice"
   Driver "wacom"
   Identifier "cursor"
   Option "Device" "/dev/ttyS0"
   Option "Type" "cursor"
   Option "ForceDevice" "ISDV4"
   Option "Mode" "Absolute"
EndSection


Section "InputDevice"
   Driver "wacom"
   Identifier "stylus"
   Option "Device" "/dev/ttyS0"
   Option "Type" "stylus"
   Option "ForceDevice" "ISDV4"
EndSection


Section "InputDevice"
   Driver "wacom"
   Identifier "eraser"
   Option "Device" "/dev/ttyS0"
   Option "Type" "eraser"
   Option "ForceDevice" "ISDV4"
EndSection


Section "InputDevice"
   Driver "wacom"
   Identifier "touch"
   Option "Device" "/dev/ttyS0"
   Option "Type" "touch"
   Option "ForceDevice" "ISDV4"
EndSection
А также добавив в секцию ServerLayout следующие строки:
InputDevice "cursor" "SendCoreEvents"
InputDevice "stylus" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
InputDevice "touch" "SendCoreEvents"

2010/03/12

Чтиво

Предлагаю ознакомиться со списком статей по питону, которые мне показались весьма интересными (навеяно просмотром питоньей rss ленты Хабра):

Изучаем Python за 10 минут (eng рус)
Написание Qt приложений на языке Python (рус)
Python best practices (eng)
Шпаргалка по Питону (eng)
Python: советы, уловки, хаки (eng рус)
Скрипты Python против Bash (рус)
Немного про py2exe (рус)
Основы работы с потоками в языке Python (рус)
Сила и красота декораторов, метапрограммирование (рус)
Memoization в Python, оптимизация работы программ (рус)
Специфика циклов в Питоне (рус)

2009/12/27

ctypes - наш друг!

Модуль ctypes с легкостью позволяет использовать функции сторонних DLL или SO файлов. В ctypes есть три метода подгрузки библиотек:
  • cdll() - использует соглашение cdecl при вызове функций
  • windll() - использует stdcall (для Microsoft Win32 API)
  • oledll() - использует cdecl + коды возврата HRESULT (для функций Microsoft COM)
Пример: попробуем воспользоваться широко известной функцией printf() из языка С. В Linux она находится в библиотеке /lib/libc.so.6, в Windows - C:\windows\system32\msvcrt.dll.

Код для Linux:
from ctypes import *
libc = CDLL("libc.so.6")
message = 'Hello world!\n'
libc.printf('Testing: %s', message)
Код для Windows:
from ctypes import *
msvcrt = cdll.msvcrt
message = 'Hello world!\n'
msvcrt.printf('Testing: %s', message)
Исчерпывающий мануал по ctypes находится здесь.

2009/12/07

Монтирование iso в Linux

# mkdir /mnt/iso
# mount -o loop -t iso9660 /home/iv/disk.iso /mnt/iso
# ...
# umount /mnt/iso
# echo profit!