Category Archives: sadmin

sadmin

Да разчистим малко място в нашата *nix машина

На всеки се е случвало да няма място на неговата GNU/Linux машина. За да премахнем това което трябва можем да започнем от основните директории, но има и друг вариант които не е за отказване, а именно да намерим всички големи файлове. За да ги намерим ще използваме find или:

find / -type f -size +20000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'

След това можем по- лесно да преценим кое да изтрием и кое не. Ако след това мястото отново не стига тогава вече можем да преглеждаме другите директории

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Активиране на Wireless карта 3945ABG [Golan] под GNU/Debian Lenny

Идеята тук е да се подкара Wireless картата 3945abg [Golan] на Debian Lenny. Картата е на лаптоп Vostro 1710 .

Когато се инсталира Debian Lenny модула които е необходим- "iwl3945" се зареди автоматично или ако не е може да се зареди "modprobe iwl3945" и би трябвало всичко да е наред. В моя случай обаче го зареждам и не виждам мрежи, а грешки от рода:

[22220.082625] iwl3945: iwlwifi-3945-1.ucode firmware file req failed: Reason -2
[22220.082625] iwl3945: Could not read microcode: -2
[22222.764809] ACPI: PCI Interrupt 0000:06:00.0[A] -> GSI 19 (level, low) -> IRQ 19
[22222.765289] firmware: requesting iwlwifi-3945-1.ucode
[22222.779531] iwl3945: iwlwifi-3945-1.ucode firmware file req failed: Reason -2
….

За целта трябва да инсталираме неговия firmware "firmware-iwlwifi" , но преди това трябав да добавим non-free хранилището :

echo 'deb http://http.us.debian.org/debian stable main contrib non-free' >> /etc/apt/sources.list
apt-get update && apt-get install firmware-iwlwifi

След като инсталирахме firmware-а на картата ще презаредим модула(ако е бил зареден вече):

rmmod iwl3945;
modprobe iwl3945;

Сега всичко работи страхотно :)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Инсталиране на Adobe Flash Player под Debian Lenny

На мен лично не ми допада свободния Flash player и за целта си инсталирам Adobe Flash Player (макар и не свободен). За целта добавям backports храналище и изпълнявам следните команди:

echo 'deb http://www.backports.org/debian lenny-backports main contrib' >> /etc/apt/sources.list
wget -O -- http://backports.org/debian/archive.key | apt-key add --
gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16BA136C
gpg --export | apt-key add --
apt-get update && apt-get install flashplugin-nonfree

Сега стартираме "IceWeasel" и отваряме някои flash анимация. Виждаме, че всичко работи добре :)

echo 'deb http://www.backports.org/debian lenny-backports main contrib' >> /etc/apt/sources.listecho 'deb http://www.backports.org/debian lenny-backports main contrib' >> /etc/apt/sources.list
VN:F [1.9.22_1171]
Rating: 3.5/5 (2 votes cast)
VN:F [1.9.22_1171]
Rating: -2 (from 2 votes)

Инсталиране на Nvidia драйвери под Debian Lenny

В тази публикация мисля да опиша как се инсталират Nvidia драйверите под Debian Lenny.

1. apt-get install build-essential linux-headers-$(uname -r)
2. cd /usr/src
3. ln -s linux-headers-$(uname -r) linux
4. wget  http://us.download.nvidia.com/XFree86/Linux-x86/190.53/NVIDIA-Linux-x86-190.53-pkg1.run
5. /etc/init.d/gdm stop
6. cd /usr/src && sh NVIDIA-Linux-x86-190.53-pkg1.run

След това приеме лиценза на Nvidia и драйверите ще ви се инсталират. Сега ще стартираме нашата графична среда с nvidia драйверите: /etc/init.d/gdm start .Още в началото дори виждаме логото на Nvidia. Ако са необходими повече допълнителни настройки избираме Applications-> System Tools -> NVIDIA X Server Settings

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Промяна на ограниченията в Windows XP и Windows server 2003

Един приятел скоро инсталирал XP на една машина и като администратор изтеглил куп неща в дял D: . След това направил потребителски имена на всички потребителите които ще ползват системата. Супер, но когато потребителя се логне в системата няма достъп до файловете в дял D:(тези които преди това моят приятел(като администратор) е добавил по- рано). За да предоставим достъп на потребителите в системата трябва да променим ограниченията на тези файлове чрез cacls:

D:\>cacls /?
Displays or modifies access control lists (ACLs) of files

CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user […]]
[/P user:perm […]] [/D user […]]
filename      Displays ACLs.
/T            Changes ACLs of specified files in
the current directory and all subdirectories.
/E            Edit ACL instead of replacing it.
/C            Continue on access denied errors.
/G user:perm  Grant specified user access rights.
Perm can be: R  Read
W  Write
C  Change (write)
F  Full control
/R user       Revoke specified user's access rights (only valid with /E).
/P user:perm  Replace specified user's access rights.
Perm can be: N  None
R  Read
W  Write
C  Change (write)
F  Full control
/D user       Deny specified user access.
Wildcards can be used to specify more that one file in a command.
You can specify more than one user in a command.

Abbreviations:
CI -- Container Inherit.
The ACE will be inherited by directories.
OI -- Object Inherit.
The ACE will be inherited by files.
IO -- Inherit Only.
The ACE does not apply to the current file/directory.

В този пример ще дадем пълни права на потребител "dr_nikolov":

cacls d:/*.* /T /E /P dr_nikolov:f

Сега ще "разтълкувам" предната команда:

1. calcs --  Името на приложението което използваме за промяна на ограниченята
2. "d:/*.*" -- Това са всички директории и файлове които се намират във дял D:
3. /T -- Рекурсивно променя ограниченията на всички файлове и директории, вкл. и техните под директории
4. /E -- Редактиране на ограниченията
5. /P dr_nikolov:f -- Тук даваме "Full Control" или пълен достъп до файловете на потребител "dr_nikolov"

Това е всичко :)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Позволяне на dns заявки от конкретна мрежа

Идеята е когато пуснете bind да не позволявате на всеки да го ползва като dns. За целта във "named.conf.options" се добавя:

acl "allow_networks" { 172.16.0.0/16;11.81.22.0/24; };
options {
allow-query { "allow_networks"; };

};

В тези редове става ясно, че дефинираме access list в коята включваме мрежите 172.16.0.0/255.255.0.0(/16) и 11.81.22.0/255.255.255.0(/24)
и по- долу позволяваме тази access листа.

Когато рестартирате bind този които не е оторизиран да ползва dns-a няма да резолва нищо и лога му ще се пълни със следното:

Jan 29 13:31:58 ns1 named[2182]: client 172.11.XX.70#58072: query (cache) 'borhanoudz.no-ip.biz/A/IN' denied
Jan 29 13:31:58 ns1 named[2182]: client 172.11.XX.242#1043: query (cache) 'www.kevche.com/A/IN' denied
Jan 29 13:31:58 ns1 named[2182]: client 172.11.XX.70#51444: query (cache) 'borhanoudz.no-ip.biz/A/IN' denied
Jan 29 13:31:58 ns1 named[2182]: client 172.11.XX.182#57970: query (cache) 'urs.microsoft.com/A/IN' denied
Jan 29 13:31:58 ns1 named[2182]: client 172.11.XX.70#60347: query (cache) 'borhanoudz.no-ip.biz/A/IN' denied
Jan 29 13:31:58 ns1 named[2182]: client 172.11.XX.134#1139: query (cache) 'www.mywebsearch.com/A/IN' denied
Jan 29 13:31:58 ns1 named[2182]: client 172.11.XX.188#60128: query (cache) 'www.mywebsearch.com/A/IN' denied
Jan 29 13:31:58 ns1 named[2182]: client 172.11.XX.70#61412: query (cache) 'borhanoudz.no-ip.biz/A/IN' denied
Jan 29 13:31:58 ns1 named[2182]: client 172.11.XX.70#53057: query (cache) 'borhanoudz.no-ip.biz/A/IN' denied
Jan 29 13:31:58 ns1 named[2182]: client 172.11.XX.134#1139: query (cache) 'www.mywebsearch.com/A/IN' denied
Jan 29 13:31:58 ns1 named[2182]: client 172.11.XX.70#54304: query (cache) 'borhanoudz.no-ip.biz/A/IN' denied
Jan 29 13:31:58 ns1 named[2182]: client 172.11.XX.188#49513: query (cache) 'www.mywebsearch.com/A/IN' denied

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Аудит на wpa парола, чрез aircrack и sqlite(80 000 пъти по- бързо)

Понеже доста съм писал по- долу ще обясня с едно изречение каква е идеята. Ако се ползва aircrack за нормален аудит (в моята машина дву процесорна на 2x3Ghz) ще тества по 500 ключа в секунда, а по- този метод по- долу aircrack + sqlite ще тества по 40 000 ключа в секунда.

Преди да компилираме aircrack с поддържка на sqlite трябва да го инсталираме както и неговия  development пакет:

apt-get install libsqlite3-dev sqlite3

Сега ще изтеглим aircrack и ще го компилираме със sqlite3 поддръжка:

cd /root/
mkdir testing;
cd testing;
mkdir aircrack_compile
cd aircrack_compile;

wget http://download.aircrack-ng.org/aircrack-ng-1.0.tar.gz
tar zxvf aircrack-ng-1.0.tar.gz
cd aircrack-ng-1.0

make sqlite=true unstable=true
make sqlite=true unstable=true install

Необходимо е да изпълним следната команда за да се изтегли OUI файла:

airodump-ng-oui-update

Излиза следното съобщение:

[*] Downloading IEEE OUI file…
[*] Parsing OUI file…
[*] Airodump-ng OUI file successfully updated

Сега ще тестваме компилираният от нас aircrack като използваме wordlist без Sqlite:

Преди това може да видим каква е машината и забелязваме, че е двупроцесорна като всеки процесор е 3Ghz със 2 GB памет.

Сега ще тестваме с wordlist от 75000 ключа:

aircrack-ng -w /root/testing/wordlist.txt /root/testing/wireless_packets/wpa-01.cap


Забелязваме, че средно тества между 500-600 ключа за секунда

Което означава, че за да се тестват всичките ключове ще са необходими 75000/500=150 секунди=2.5 мин.

След като имам готов wordlist трябва да направя и ssidlist.txt където да опиша ssid-а на които ще правим аудит:

vim ssidlist.txt

Сега ще подготвим нашата sqlite база за да тестваме aircrack със sqlite поддръжка.

След като вече компилирахме aircrack е необходимо да импортнем ssid-овете и списъка с пароли които ще тестваме в sqlite базата mpetrov:

airolib-ng mpetrov1 --import essid /root/testing/ssidlist.txt
airolib-ng mpetrov1 --import passwd /root/testing/wordlist.txt
airolib-ng mpetrov1 --stats
airolib-ng mpetrov1 --clean all
airolib-ng mpetrov1 --batch (Бъдете търпеливи :) )
airolib-ng mpetrov1 --verify all

След като подготвихме базата ще направим тест на aircrack със sqlite

aircrack-ng –r mpetrov1 /root/testing/wireless_packets/wpa-01.cap

Опа. Забелязваме, че aircrack в комбинация със sqlite тества по 40 000 ключа за секунда или времето което е необходимо за превъртането на този wordlist е по- малко от 2 секунди.

Разликата между нормален aircrack (2.5 мин.) и aircrack със sqlite поддържка (< 2 сек.) е повече от ясна :)

Идеята на тази публикация е да направите аудит НА СОБСТВЕНАТА СИ WIRELESS МРЕЖА, А НЕ ДА ЗЛОУПОТРЕБЯВАТЕ!

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Компилиране на coWPAtty под Debian

coWPAtty е приложение което се използва за bruteforce на WPA PSK. Полезен е за аудит на вашата Wireless мрежа.

apt-get install && apt-get instal gcc libssl-dev libpcap-dev
wget http://wirelessdefence.org/Contents/Files/cowpatty-4.2.tgz
tar zxvf cowpatty-4.2.tgz
cd cowpatty-4.2
make

Тук го компилирах на една машинка и се сблъсках (LOL) със следните грешки като след всяка грешка е

решението .

Първа грешка:

cc -pipe -Wall -DOPENSSL  -O2 -g3 -ggdb   -c -o md5.o md5.c
md5.c:25:25: error: openssl/md5.h: мЪЛЮ РЮЙЗБ ТЮИК ХКХ ДХПЕЙРНПХЪ
md5.c: In function 'md5_mac':
md5.c:33: error: 'MD5_CTX' undeclared (first use in this function)
md5.c:33: error: (Each undeclared identifier is reported only once
md5.c:33: error: for each function it appears in.)
md5.c:33: error: expected ';' before 'context'
md5.c:34: warning: implicit declaration of function 'MD5_Init'
md5.c:34: error: 'context' undeclared (first use in this function)
md5.c:35: warning: implicit declaration of function 'MD5_Update'
md5.c:38: warning: implicit declaration of function 'MD5_Final'
md5.c: In function 'hmac_md5_vector':
md5.c:45: error: 'MD5_CTX' undeclared (first use in this function)
md5.c:45: error: expected ';' before 'context'
md5.c:53: error: 'context' undeclared (first use in this function)
make: *** [md5.o] Error 1

Решение: apt-get install libssl-dev

Втора грешка:
cc -pipe -Wall -DOPENSSL  -O2 -g3 -ggdb   -c -o sha1.o sha1.c
cc -pipe -Wall -DOPENSSL  -O2 -g3 -ggdb   -c -o utils.o utils.c
utils.c:34:18: error: pcap.h: мЪЛЮ РЮЙЗБ ТЮИК ХКХ ДХПЕЙРНПХЪ
In file included from utils.c:35:
utils.h:29: error: expected ')' before '*' token
utils.c:142: error: expected ')' before '*' token
make: *** [utils.o] Error 1

Решение: apt-get install libpcap-dev

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Компилиране на cmdiag

Това е инструмент за диагностика на DOCSIS кабелни модеми.
Изтегля информацията от модема в реално време и показва ключови параметри по отношение на мрежата. Инструмента е писан на С++ и работи на Linux и FreeBSD.

Сваляне: http://sourceforge.net/projects/cmdiag/
Официална страница: http://sourceforge.net/projects/cmdiag/
Картинки: http://sourceforge.net/project/screenshots.php?group_id=212972

Лиценз: GPL

Имах проблеми при компилирането на cmdiag версия 0.2

При изпълнение на make получавах следната грешка:

traffic:/tmp/cmdiag-0.2# make
g++ -Wall -O2  -c cmdiag.cpp
cmdiag.cpp:12:21: error: ncurses.h: Няма такъв файл или директория
cmdiag.cpp: In function 'int main(int, char**)':
cmdiag.cpp:28: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:29: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:30: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:31: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:33: error: 'initscr' was not declared in this scope
cmdiag.cpp:34: error: 'cbreak' was not declared in this scope
cmdiag.cpp:35: error: 'noecho' was not declared in this scope
cmdiag.cpp:36: error: 'stdscr' was not declared in this scope
cmdiag.cpp:36: error: 'TRUE' was not declared in this scope
cmdiag.cpp:36: error: 'keypad' was not declared in this scope
cmdiag.cpp:37: error: 'start_color' was not declared in this scope
cmdiag.cpp:38: error: 'curs_set' was not declared in this scope
cmdiag.cpp:40: error: 'A_BOLD' was not declared in this scope
cmdiag.cpp:40: error: 'attron' was not declared in this scope
cmdiag.cpp:41: error: 'mvwaddstr' was not declared in this scope
cmdiag.cpp:42: error: 'attroff' was not declared in this scope
cmdiag.cpp:45: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:45: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:115: error: 'refresh' was not declared in this scope
cmdiag.cpp:210: error: 'mvaddnstr' was not declared in this scope
cmdiag.cpp:211: error: 'strstr' was not declared in this scope
cmdiag.cpp:272: error: 'endwin' was not declared in this scope
make: *** [cmdiag.o] Error 1

Проблемът е, че няма ncurses-dev за целта го инсталиране: apt-get install libncurses5-dev и изпълняваме отново "make clean && make"

Отново получаваме грешна, но от друг характер, а именно:

traffic:/tmp/cmdiag-0.2# make clean && make
rm -f *.o
rm -f cmdiag
rm -f *.*~
g++ -Wall -O2  -c cmdiag.cpp
cmdiag.cpp: In function 'int main(int, char**)':
cmdiag.cpp:28: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:29: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:30: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:31: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:45: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:45: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:211: error: 'strstr' was not declared in this scope
make: *** [cmdiag.o] Error 1

Тази грешка е причинена от това, че във файл cmdiag.cpp липсва хедъра string.h за целта добавяме в cmdiag.cpp  :

#include <string.h>

След това изпълняваме отново  "make clean && make" и всичко се компилира точно и вече имаме cmdiag

Ето снимка на cmdiag:

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Премахване паролата на Windows

Днес вечерта мисля да направя видео демонстрация как се премахва паролата на потребител в Windows NT/2k/XP/Vista. Идеята е, че ако си забравите паролата и неможете да си влезете в профила не е необходимо да преинсталирате целия Windows, а просто да я премахнете :) .

VN:F [1.9.22_1171]
Rating: 4.0/5 (2 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)