понедельник, 28 июля 2014 г.

Finding subdomains of a domain, spy sites

Let's say you want to find all the subdomains/cnames of 'lowlife.org':

user@host:/#dig lowlife.org

; <<>> DiG 8.2 <<>> lowlife.org 
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUERY SECTION:
;;      lowlife.org, type = A, class = IN

;; AUTHORITY SECTION:
lowlife.org.            1D IN SOA       ns0.demon.nl. hostmaster.demon.nl. (
                                        2000801000      ; serial
                                        6H              ; refresh
                                        30M             ; retry
                                        2W              ; expiry
                                        1D )            ; minimum

Here you can see that the authoritive nameserver is 'ns0.demon.nl'.

Oke now lets look at the subdomains/cnames:

user@host:/#dig @ns0.demon.nl lowlife.org axfr

; <<>> DiG 8.2 <<>> @ns0.demon.nl lowlife.org axfr 
; (1 server found)
$ORIGIN lowlife.org.
@                       1D IN SOA       ns0.demon.nl. hostmaster.demon.nl. (
                                        2000801000      ; serial
                                        6H              ; refresh
                                        30M             ; retry
                                        2W              ; expiry
                                        1D )            ; minimum

                        1D IN NS        ns0.demon.nl.
                        1D IN NS        ns0.demon.co.uk.
                        1D IN MX        10 punt.mail.nl.demon.net.
                        1D IN MX        40 relay-2.mail.nl.demon.net.
                        1D IN MX        60 relay-1.mail.demon.net.
                        1D IN MX        60 relay-2.mail.demon.net.
demon                   1D IN CNAME     www
middelburg              1D IN A         212.92.68.205
freebsd                 1D IN CNAME     www
localhost               1D IN A         127.0.0.1
www                     1D IN A         195.11.225.234
                        1D IN MX        10 punt.mail.nl.demon.net.
                        1D IN MX        40 relay-2.mail.nl.demon.net.
                        1D IN MX        60 relay-1.mail.demon.net.
                        1D IN MX        60 relay-2.mail.demon.net.
project                 1D IN A         145.92.3.32
sentinel                1D IN CNAME     www
*                       1D IN MX        10 punt.mail.nl.demon.net.
                        1D IN MX        40 relay-2.mail.nl.demon.net.
                        1D IN MX        60 relay-1.mail.demon.net.
                        1D IN MX        60 relay-2.mail.demon.net.
@                       1D IN SOA       ns0.demon.nl. hostmaster.demon.nl. (
                                        2000801000      ; serial
                                        6H              ; refresh
                                        30M             ; retry
                                        2W              ; expiry
                                        1D )            ; minimum

;; Received 23 answers (23 records).
;; FROM: lowlife.support.nl.demon.net to SERVER: 194.159.73.5
;; WHEN: Thu Sep 14 10:24:28 2000


And tataaaaa: you see the subdomains: localhost, middelburg, www and project 
and the cnames: demon, freebsd and sentinel.


man dig

     Dig (domain information groper) is a flexible command line tool which can
     be used to gather information from the Domain Name System servers.  
     All query options are accessible from the command line.

     The usual simple use of dig will take the form:

                 dig @server domain query-type query-class

     query-type  is the type of information (DNS query type) that you are re-
                 questing. If omitted, the default is ``a'' (T_A = address).
                 The following types are recognized:

                 a       T_A        network address
                 any     T_ANY      all/any information about specified domain
                 mx      T_MX       mail exchanger for the domain
                 ns      T_NS       name servers
                 soa     T_SOA      zone of authority record
                 hinfo   T_HINFO    host information
                 axfr    T_AXFR     zone transfer (must ask an authoritative
                                    server)
                 txt     T_TXT      arbitrary number of strings



                 (See RFC 1035 for the complete list.)

 query-class
                 is the network class requested in the query. If omitted, the
                 default is ``in'' (C_IN = Internet). The following classes
                 are recognized:

                 in      C_IN       Internet class domain
                 any     C_ANY      all/any class information

                 (See RFC 1035 for the complete list.)

                 Note: ``Any'' can be used to specify a class and/or a type of
                 query.  Dig will parse the first occurrence of ``any'' to
                 mean query-type = T_ANY. To specify query-class = C_ANY, you
                 must either specify ``any'' twice, or set query-class using
                 the -c option (see below). 

Using host
Use host like this:

user@host:/#host -l -t any lowlife.org
lowlife.org start of authority  ns0.demon.nl hostmaster.demon.nl(
                        2000801000      ;serial (version)
                        21600   ;refresh period
                        1800    ;retry refresh this often
                        1209600 ;expiration period
                        86400   ;minimum TTL
                        )
lowlife.org name server ns0.demon.nl
lowlife.org name server ns0.demon.co.uk
lowlife.org mail is handled (pri=10) by punt.mail.nl.demon.net
lowlife.org mail is handled (pri=40) by relay-2.mail.nl.demon.net
lowlife.org mail is handled (pri=60) by relay-1.mail.demon.net
lowlife.org mail is handled (pri=60) by relay-2.mail.demon.net
demon.lowlife.org is a nickname for www.lowlife.org
middelburg.lowlife.org has address 212.92.68.205
freebsd.lowlife.org is a nickname for www.lowlife.org
localhost.lowlife.org has address 127.0.0.1
www.lowlife.org mail is handled (pri=10) by punt.mail.nl.demon.net
www.lowlife.org mail is handled (pri=40) by relay-2.mail.nl.demon.net
www.lowlife.org mail is handled (pri=60) by relay-1.mail.demon.net
www.lowlife.org mail is handled (pri=60) by relay-2.mail.demon.net
www.lowlife.org has address 195.11.225.234
project.lowlife.org has address 145.92.3.32
*.lowlife.org mail is handled (pri=10) by punt.mail.nl.demon.net
*.lowlife.org mail is handled (pri=40) by relay-2.mail.nl.demon.net
*.lowlife.org mail is handled (pri=60) by relay-1.mail.demon.net
*.lowlife.org mail is handled (pri=60) by relay-2.mail.demon.net
sentinel.lowlife.org is a nickname for www.lowlife.org
lowlife.org start of authority  ns0.demon.nl hostmaster.demon.nl(
                        2000801000      ;serial (version)
                        21600   ;refresh period
                        1800    ;retry refresh this often
                        1209600 ;expiration period
                        86400   ;minimum TTL
                        )


Oke this is allot of info if you're just interested in the cnames/subdomains try this:

user@host:/#host -l lowlife.org
lowlife.org name server ns0.demon.nl
lowlife.org name server ns0.demon.co.uk
middelburg.lowlife.org has address 212.92.68.205
localhost.lowlife.org has address 127.0.0.1
www.lowlife.org has address 195.11.225.234
project.lowlife.org has address 145.92.3.3

Which just gives you the subdomains and try this:

user@host:/#host -l -t cname lowlife.org
demon.lowlife.org is a nickname for www.lowlife.org
freebsd.lowlife.org is a nickname for www.lowlife.org
sentinel.lowlife.org is a nickname for www.lowlife.org

for the cnames.



Another way is using spy sites:
http://www.ip2country.cc/?q=##
http://##.websitetrafficspy.com/
http://spyonweb.com/##
http://webmastercoffee.com/en/site/##
http://www.mydnstats.com/index.php?a=search&q=##
http://www.robtex.com/dns/##.html
http://dns.l4x.org/##
http://uptime.netcraft.com/up/graph?site=##
http://sameip.org/ip/##
http://www.hostsearch.cc/##

вторник, 8 июля 2014 г.

Пароли в разных ОС

  Пароли в разных ОС:

A/UX 3.0s - /tcb/files/auth/?/*
FreeBSD 4.3 - /etc/master.passwd
ConvexOS 10 - /etc/shadpw
ConvexOS 11 - /etc/shadow
DG/UX - /etc/tcb/aa/user/
HP-UX - /.secure/etc/passwd
IRIX 5 - /etc/shadow
Linux 1.1 - /etc/shadow
SunOS 4.1 - /etc/security/passwd.adjunct
SunOS 5.0 - /etc/shadow
UNICOS - /etc/udb
Win 95/98 - c:windows*.pwl
AIX 3 - /etc/security/passwd или /tcb/auth/files/первый символ логина/логин
BSD4.3-Reno - /etc/master.passwd
EP/IX - /etc/shadow
OSF/1 - /etc/passwd[.dir|.pag]
SCO Unix #.2.x - /tcb/auth/files/первый символ логина/логин
System V Release 4.0 - /etc/shadow
System V Release 4.2 - /etc/security/* database
Ultrix 4 - /etc/auth[.dir|.pag]

               Пароли в различных серверах:

Samba  - /etc/samba/smbpasswd
Apache - /usr/local/apache/pwd

                           Основные виды хэшей:

e9a7656f277ba63618e20628fefad321          - md5
14FB05A326C16B2B                          - MySQL
$l$12345678$6KdMANluuNMmoxB4v4SyQ0        - MD5 (Unix)
9ABB8717D8B02F4181274D347622C6927F82725C  - SHA-1
5m84advre2a0p                             - DES

вторник, 1 июля 2014 г.

MySQL root password in Plesk, ISPmanager, DirectAdmin, Cpanel, phpMyAdmin

Plesk (Parallels)
/etc/psa/.psa.shadow

пользователь - admin

ISPManager 
/usr/local/mgr5/etc/common.conf 

root

ISPManager -> Настройки сервера -> Серверы баз данных -> MySQL -> Пароль

DirectAdmin  
/usr/local/directadmin/conf/mysql.conf

da_admin 

cPanel
/root/.my.cnf

DBACCESS="-u root -pPASSWORD"

phpMyAdmin 
/etc/phpMyAdmin/config.inc.php

$cfg['blowfish_secret'] = 'wertyfvv';

$cfg['Servers'][1]['auth_type'] = 'cookie';

$cfg['Servers'][1]['user'] = 'root';

$cfg['Servers'][1]['password'] = 'wejbmjm,n3';
blowfish_secret – это произвольная фраза, которая нужна для шифрования паролей в куках

auth_type – это тип авторизации, который может принимать 3 значения: config, cookie и http:

config – указывает на то, что логин/пароль будут браться из этого файла (две следующие строчки user и password)
cookie – указывает на то, что логин/пароль будут спрашиваться каждый раз, как кто-то переходит по адресу, где лежит phpmyadmin.

понедельник, 30 июня 2014 г.

Sudoers

Формат файла /etc/sudoers прост: начинается с четырех опциональных секций, и заканчивается присвоением специальных прав. Файл может включать пустые строки, строки комментариев, которые начинаются со значка #. Опциональные (необязательные) секции следующие:

User Alias (Псевдоним пользователя): Присваивает псевдоним одному пользователю (не очень полезно) или группе пользователей. Пользователь может иметь несколько псевдонимов.
"Run as" Alias ("Работает как" Псевдоним): Определяет, вместо кого именно пользователь команды sudo будет работать. По умолчанию sudo подразумевает суперпользователя (root), но есть возможность работать вместо кого-либо другого.
Host Alias (Псевдоним рабочей станции): Определяет, каким рабочим станциям присваиваются права. Если вы не системный администратор группы из нескольких рабочих станций Линукс, то не вам это не нужно. А если нужно, то придется скопировать файл при помощи команды rsync на другие хосты, либо использовать что- либо вроде Network Information Service (NIS), чтобы обеспечить кому надо доступ к этому файлу.
Command Alias (Псевдоним Команды): Определяет псевдоним для той или иной команды. Проще напечатать псевдоним APT, чем полный путь, такой как /usr/sbin/apt-get.

Вы не обязаны использовать псевдонимы, но они сильно облегчают дальнейшее редактирование. Например, если вы хотите наделить Дональда_Дака правами, которые имеет Микки_Маус, просто добавьте первого в группу последнего и вам не придется тратить много времени, переписывая везде одинаковые строки. Существует специальный псевдоним ALL (ВСЕ), и его можно использовать везде: он может означать ВСЕ пользователи, ВСЕ хосты, и т.д.

После этих четырех секций, вы должны заполнить секцию специальных прав, которая выглядит как: "who where = (whoelse) what" - "кто где = вместо_кого что". Это означает: who (кто) (пользователь, группа, или псевдоним пользователя) на рабочей станции where (где) может запускать команду what (что) в качестве пользователя whoelse (вместо_кого). (Если это слишком зашифровано, посмотрите ниже пример). Можно также подключить несколько специальных опций, например, NOPASSWD (без_пароля), позволяющей пользователю запускать sudo без введения собственного пароля; другие опции перечислены в манах.

Данный пример не описывает все возможности конфигурации (для этого существует команда man sudoers), но некоторые опции могли бы выглядеть в файле приблизительно так:

#
# Пример файла /etc/sudoers, с извинениями компании Disney company!
#

# Псевдонимы пользователей
# Первая строка создает псевдоним для трех определенных пользователей.
# Вторая строка включает в группу "утки" всех, за исключением "дональда"
# Третья строка создает псевдоним для одного пользователя; это может
# понадобиться в дальнейшем!
#
User_Alias ПЛЕМЯННИКИ = хью, дью, луи
User_Alias ВСЕ_УТКИ_КРОМЕ_ДОНАЛЬДА = %утки, !дональд
User_Alias МИККИ = микки_маус

# Псевдонимы команд

Cmnd_Alias HALT_OR_REBOOT = /sbin/halt
Cmnd_Alias KILL = /usr/bin/killall
Cmnd_Alias SHUTDOWN = /sbin/shutdown
Cmnd_Alias SU = /bin/su

# Права: кто имеет право запускать что

# Стандартное правило: root и пользователи группы "wheel"
# имеют все права
root ALL = (ALL) ALL
%wheel ALL = (ALL) ALL

# Допустим, что микки_маус является системным администратором,
# позволим ему запускать все без пароля
МИККИ ALL = NOPASSWD: ALL

# ПЛЕМЯННИКИ могут выключать машину, если захотят
NEPHEWS HALT_OR_REBOOT, SHUTDOWN 


# In the default (unconfigured) configuration, sudo asks for the root password.

# This allows use of an ordinary user account for administration of a freshly

# installed system. When configuring sudo, delete the two

# following lines:

 
Defaults       targetpw

ALL    ALL = (ALL) ALL  

http://www.opennet.ru/man.shtml?topic=sudoers&category=5&russian=0 

суббота, 28 июня 2014 г.

Проксификация программ на Linux

Решение подходит в т.ч. и для windows приложений запускаемых через wine
Ставим пакет dante-client (он даст нам утилиту socksify)
sudo apt-get install dante-client
Настраиваем (в Ubuntu настройки тут – /etc/dante.conf)
В конце файла:
route {
   from: 0.0.0.0/0 to: 0.0.0.0/0 via: 192.168.1.25 port = 3128
   proxyprotocol: http_v1.0
}
Где 192.168.1.25 – адрес http прокси, 3128 – порт прокси.
Запуск нужного приложения делается следующей командой:

socksify <имя_приложения>
Для Wine вобщем-то то же самое, но дописываем еще и имя запускаемой в wine программы, например для World of Warcraft:
socksify wine icq.exe

RPM Packages Verification

The command rpm -V (The options -y and --verify are equivalent) verifies an installed package. It can alert you to changes made to any of the files installed by RPM.
Also, if a package requires capabilities provided by another package, it can make sure the other package is installed, too.
rpm -V
Output format:
SM5DLUGT c filename
Where:
S is the file size.
M is the file's mode.
5 is the MD5 checksum of the file.
D is the file's major and minor numbers.
L is the file's symbolic link contents.
U is owner of the file.
G is the file's group.
T is the modification time of the file.
c appears only if the file is a configuration file. This is handy for quickly identifying config files, as they are very likely to change, and therefore, very unlikely to verify successfully.


Each of the eight attribute flags will only appear if there is a problem. Otherwise, a "." will be printed in that flag's place.
rpm -Vv $(rpm -qf /sbin/ifdown --qf="%{name}\n") | more

 http://www.rpm.org/max-rpm/s1-rpm-verify-output.html
 http://www.rpm.org/max-rpm/s1-rpm-verify-what-to-verify.html

SSH авторизация по ключу

mik@m1k:~$ ssh-keygen -t dsa -b 1024 -f /home/user/.ssh/id_dsa
-t dsa - тип ключа. Есть rsa и dsa. Dsa это для второй версии ssh, которая сейчас везде по умолчанию. Rsa - первая версия ssh.
-b 1024 (optional) длина ключа
-f /home/user/.ssh/id_dsa - (optional) каталог и имя файла где будет сохранен ключ id_dsa и его публичный ключ id_dsa.pub

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

В итоге получаем два файла id_dsa и id_dsa.pub. PUB ключ - это публичный, а id_dsa секретный.
 Переносим файл id_dsa.pub на сервер, к которому мы будем подключаться. Помещаем в директорию /home/user/.ssh/ того пользователя под которым мы будем соединяться по ssh.

Делаем это либо в ручную копированием и вставкой ключа, либо следующей командой:
ssh-copy-id -i .ssh/id_rsa.pub root@212.90.160.1
Теперь надо изменить конфигурацию ssh сервера (файл /etc/ssh/sshd_config) той машины куда мы перенесли публичный ключ.
Раскомментируем строки по которым мы разрешим использовать ключи.
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
Переименовываем ключ id_dsa.pub в файл authorized_keys, назначаем файлу правами 600 и оставляем файл в папке /home/user/.ssh.

Пробуем соединиться с сервером:
В случае если имя ключа имеет название по умолчанию (id_dsa), ключ можно не указывать.
 ssh user@212.90.160.1

Если же при генерации ключа было указано имя отличное от id_dsa, например id_dsa2, то нужно явно указать имя ключа.

ssh -i /home/user/.ssh/id_dsa2 user@212.90.160.1

Выставив в конфигурации sshd PermitRootLogin no мы запретим авторизацию по паролю для рута, а указав UsePAM no мы сможем подключиться к серверу только по ключу.

четверг, 29 мая 2014 г.

How to block shells in 777 directories

Add this to your httpd.conf file. Change directory name.
<Directory "/www/site.ru/images">

php_flag engine off
RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
AddType application/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

</Directory>

php_flag engine off - disable php

 RemoveHandler - disable processing of files with given extensions. This directive removes any handler associations for files with the given extensions. Consequently, .htaccess files in subdirectories can undo any associations inherited from parent directories or the server configuration files.

AddType - AddType добавит Content-Type в HTTP-заголовок - это нужно, чтобы браузер показывал исходный код PHP как текст, а не пытался сохранить.
AddType "text/html" 

AllowOverride

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

None. Сервер игнорирует файлы .htaccess в этом каталоге. Если вы не намерены использовать для каталога файлы .htaccess, вам следует явно установить эту опцию, поскольку это повысит производительность сервера.

Аll. По умолчанию пользователи имеют право переопределять в файлах .htaccess все глобальные установки доступа, для которых в этих файлах имеются эквивалентные команды.

Options. Разрешает использование директивы Options (см. ниже раздел ?Options¦),

Filelnfo. Разрешает использование в файлах .htaccess директив Add-Туре и AddEncoding (см. раздел ?srm/conf: карта ресурсов сервера¦, содержащий полное описание).

AuthConfig. Разрешает использование директив AuthName, AuthType, AuthUserFile и AuthGroupFile, необходимых для защиты каталогов паролями.

Limit. Разрешает использование директивы секционирования <Limit>. См. раздел, посвященный директиве <Limit>, в котором приведено подробное описание.

Options

Директива Options позволяет управлять тем, какие функции сервера доступны для использования в каталоге, указанном в секции <Directory> или в файле .htaccess. В директиве Options можно использовать следующие аргументы:

None. В указанном каталоге не разрешается использование каких-либо функций.

All В указанном каталоге разрешается использование всех возможностей (принимается по умолчанию).

FollowSymLinks. Сервер следует символьным ссылкам, имеющимся в указанном каталоге.

SymLinksIfOwnerMatch. Сервер следует символьным ссылкам, только если каталог назначения принадлежит тому же пользователю, что и сама ссылка.

ExecCGI. В указанном каталоге разрешается выполнение сценариев CGI.

Includes. В указанном каталоге разрешено использование серверных включений. Использование серверных включений требует, чтобы сервер производил синтаксический разбор всех HTML-файлов перед отправкой их клиентам. Нечего и говорить, что это крайне нагружает сервер, поэтому мы бы порекомендовали отключить эту опцию. Если вам необходимы серверные включения, разрешите их на уровне отдельных файлов при помощи директивы AddType, как это описано в разделе ?srm/conf: карта ресурсов сервера¦

Indexes. Сервер разрешает пользователям заказывать индексную страницу указанного каталога. Выключение этой опции запрещает передачу только списка файлов в каталоге, но не файла index.html.

IncludesNoExec. Эта директива разрешает использование в указанном каталоге серверных включений, но запрещает запуск из них внешних программ.

 

Order, Deny, Allow

Директива Order управляет состоянием доступа по умолчанию и порядок, в котором доступ разрешается или запрещается. Order может принимать 3 значения:
  • Allow,Deny - доступ по умолчанию запрещен, кроме хостов, указанных в строке после Allow from.
  • Deny,Allow - доступ по умолчанию разрешен, кроме хостов, указанных в строке после Deny from
  • Mutual-failure - разрешен доступ только для тех хостов, которые присутствуют в Allow и отсутствуют в Deny.
Следующий пример отличается только значением Order: "Deny,Allow" вместо "Allow,Deny". Но логика предоставления прав доступа Apache изменится, на первый взгляд, весьма не ожиданно. Доступ будет открыт абсолютно ко всем доменам, даже к поддомену foo.apache.org, явно запрещенному строкой "Deny from foo.apache.org". Это происходит потому, что порядок строк "Allow from ..." и "Deny from ..." не имеет значения. Порядок установки правил задается директивой Order, изходя из чего Апач сначала запрещает доступ к foo.apache.org, а потом перезаписывает это правило, изходя из директивы "Allow from apache.org".

Order Deny,Allow
Allow from apache.org
Deny from foo.apache.org