13 Sep 2013 » DNS linux

Очень часто возникает необходимость получить информацию с DNS сервера (зачастую не основного). Решил структурировать свои знания по этому, чтобы хоть-как-то продвинуться в сторону улучшения навыков.

Основными инструментами будут: nmap, nslookup, dig.

Перво-наперво, требуется определить, кто же в сети - nameserver. Есть много способов, но самый тривиальный - просканировать сеть с поиском открытых портов:

nmap -A 192.168.0.0/16

И уже оттуда найти информацию по открытым 53 портам в сети.

Для упрощения, можно искать только их:

nmap -p 53 192.168.0.0/16 | grep -B 3 open

Предположим, что сервер найден по адресу 192.168.11.252

Во-первых (если мы уже находимся в этой сети) - неплохо бы получить имя хоста и домена.

nslookup 192.168.11.252

поможет нам в этом.

Не спорю, что с адресами работать тоже можно, но у нас же и была цель - получить информацию о именах, а не о цифрах.

Следующим шагом можно забрать информацию по определенному имени (или адресу) с сервера.

dig @192.168.11.252 -x 192.168.0.1    # для информации по адресу
dig @192.168.11.252 m-messiah.ru      # для информации по имени хоста и домена

По умолчанию получаем только информацию о A-записях (см. ресурсные записи DNS )

Для получения инфо о всех записях данного хоста - в конце команды добавим слово ANY.

Для получения MX записей или SOA или различных текстовых, отосящихся к домену - в адресе запроса указывать домен:

dig @nameserver.domain domain. ANY

Также, нельзя забывать про то, что сервер может быть настроен на передачу все информации зоны другим dns-серверам. Эта особенность может быть очень полезной нам при знании названия нужной зоны:

dig @192.168.11.252 domain.com axfr
Read more...
20 Apr 2013 » Ural SchoolCTF ctf

image

6 апреля в Екатеринбурге состоялся первый на Урале CTF для школьников. Напомню, что CTF (Capture The Flag) - соревнования по защите информации.

В итоге, участвовало 20 команд, численностью от 1 (в одной команде) до 4 человек (в основном).

Соревнования проходили очно в стиле task-based, где командам было предложено решить 10 задач из различных категорий.

Если интересно, как происходила подготовка и с какими трудностями мы столкнулись - добро пожаловать под кат.

Read more...
26 Dec 2012 » Комбинации python

Перестановки в Python:

import itertools

Простые перестановки (порядок важен):

>>> print list(itertools.permutations([1,2,3,4], 2))
[(1, 2), (1, 3), (1, 4),
(2, 1), (2, 3), (2, 4),
(3, 1), (3, 2), (3, 4),
(4, 1), (4, 2), (4, 3)]

Сочетания (порядок не важен):

>>> print list(itertools.combinations('123', 2))
[('1', '2'), ('1', '3'), ('2', '3')]

Декартово произведение:

>>> print list(itertools.product([1,2,3], [4,5,6]))
[(1, 4), (1, 5), (1, 6),
(2, 4), (2, 5), (2, 6),
(3, 4), (3, 5), (3, 6)]

Комбинации (перестановки с повторениями) (векторное произведение на себя):

>>> print list(itertools.product(range(2),repeat=3))
[(0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1),
 (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1)]
Read more...