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!

2009/11/14

Минимизация всех окон в KDE4

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

Для сворачивания всех окон используем этот скрипт:
#!/bin/sh
target=on
if xprop -root _NET_SHOWING_DESKTOP | fgrep '= 1' ; then
target=off
fi
wmctrl -k ${target}
Для его корректной работы необходима утилита xprop, входящая в пакет x11-utils, а также утилита wmctrl, которая сама по себе. После сохранения скрипта в каком-то файле и chmod'ания на +х добавляем ссылку на него в KDE Menu (kmenuedit) и во вкладке Advanced прописываем Current shortcut key. У меня это Win+D.

Profit!

2009/11/08

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

Под "транскодом" в данном случае я подразумеваю mp3 файл переконвертированный во flac. Таким образом размер файла раздувается, а качество остается без изменений. На слух, конечно, это тоже вполне заметно, а вот убедиться точно поможет программа Audacity.

Открываем нужный трек (Ctrl+O). Далее из меню Analyze > Plot spectrum построит нам спектрограмму, на которой можно увидеть распределение частот. Lossy форматы отличаются тем, что обрезают верхний диапазон частот для уменьшения размера файла. Это можно пронаблюдать на следующем рисунке:



Виден явный спад в области 16 кГц. А так выглядит спектрограмма нормального трека:

2009/11/01

Играемся с lossless в Linux

Опишу решение ряда проблем, вставших перед рядовым слушателем lossless музыки в Linux, в частности Debian-based дистрибутивах (я использую Kubuntu):
  • Конвертация APE -> FLAC
  • Разделение образа диска на треки по CUE файлу
  • Именование треков по тэгам
Для конвертации понадобятся два пакета: flac и mac. Первый устанавливается из репозиториев:
sudo apt-get install flac
Второго в репозиториях нет, поэтому нужно скачать .deb файл отсюда и далее:
sudo dpkg -i mac-3.99-u4_b3-1_i386.deb
Для разделения образа на треки нужны пакеты cuetools и shntool:
sudo apt-get install cuetools shntool
Для именования треков - софтина EasyTAG с непростым GTK фронтэндом:
sudo apt-get install easytag
Конвертим из APE во FLAC все файлы в текущей директории:
shnconv -o flac *.ape
Делим FLAC образ на треки:
cuebreakpoints file.cue | shnsplit -o flac image.flac
Делим APE образ на треки во FLAC:
cuebreakpoints file.cue | shnsplit -o flac image.ape
После разделения у треков будут имена типа "split-track01.flac", это не гуд. Но тэги будут прописаны по CUE файлу, стало быть, можно переименовать файлы согласно тэгам. И в этом поможет EasyTAG, работу с которой описывать смысла нет, ибо gui :(

2009/09/28

scp - безопасное копирование файлов между компьютерами

Открываю тэги "useful" и "*nix"! Утилита scp пригодится, если нужно перекинуть файл с одного компа на другой. В большинстве случаев хватает этого синтаксиса:
scp <юзер>@<комп>:<что копировать> <юзер>@<комп>:<куда копировать>
В частном случае утилита может быть использована для передачи файлов между локальным компьютером и удаленным. В таком случае реквизиты <юзер>@<имя компа> локального компьютера можно опустить.