Архив

Архив за септември, 2009

[Системен хак] Защита на .bashrc и .bash_aliases от злонамерени промени

22 септември, 2009 neosofti Няма коментари

Сигурно се питате какво толкова може да стане с тези два файла, за да се застраши системата. Все пак под Линукс всяка жаба си знае гьола и всяко едно приложение в kernel или user mod работи със съответните му права. Ако трябват  администраторски права, тогава трябва първо да се въведе парола, но  до тук с хубавата теорията. Всеки един Линукс потребител запознат с писането на spyware и bash скриптове може примерно да напише скрипт, които да създаде алиас в .bashrc или .bash_aliases и чрез него маскирайки се като обикновенно приложение да ви попита за вашата потребителска или администраторска парола. По този начин може през sudo или su да прави каквото си иска с вашата система.  Примерно може да добави демо, който върви в заден фон и наблюдава какво правите и т.н., т.е. все хубави неща от света ма Майкрософт. ;-) Възможно най-елемнтарният начин да защитите тези два файла е за ги заключите с root права за каквито и да било промени и когато искате да промените нещо отново да ги отключите.
Заключването става посредством

[neosofti@jaunty ~]$ sudo chattr +i ~/.bashrc

а отключването посредством

[neosofti@jaunty ~]$ sudo chattr -i ~/.bashrc

Какво е alias?
Ето един пример за стартиране на moc с moca_theme от моя .bashrc.

[neosofti@jaunty ~]$ cat .bashrc | grep mocp
alias mocpm='mocp -T moca_theme'

Когато искам да стартирам moc плейъра с тема moca_theme вместо да пиша всеки път

[neosofti@jaunty ~]$ mocp -T moca_theme

в конзолата просто пиша

[neosofti@jaunty ~]$ mocpm

В заключение запушихме с един конзолен ред една малка пролука в сигурноста на системата, която може да бъде използвана от хакери или още по-лошо кракери. Представете си какво би станало, ако администрирате сървър с „чувствителна“ информация.

Важно : Преди да изпълните някой скрипт се уверете, че е от надежден източник и дори и малко да разбирате от bash програмиране, няма да е лошо да го огледате. Намигване

[Системен хак] Добиване на root права при забравена root парола

21 септември, 2009 neosofti Няма коментари

Може да заобиколите роот паролата посредством init=/bin/bash стига да имате правата да редактирате груб менюто.

1. Променяте в

kernel /boot/vmlinuz root=/dev/hda1 ro init=/bin/bash

/ може да е на hdaX, sdaX, sdfX и т.н., т.е. трябва сами да го напаснете и натискате b, за да стартира, като процеса продължава до един момент.

2. Ремаут на / с права за писане

mount -o remount,rw

3. Бекъп на /etc/shadow в /root, понеже там се пазят всички пароли

cp /etc/shadow /root/backup-shado

4. Смяна на паролата на роот

passwd root
Enter new UNIX password:
Retype new UNIX password:

Важно : Това е хак, с който всеки може да получи роот достъп до системата ви. За да го предотвратите, особенно когато компютъра се използва от много хора, просто поставете парола за рековери мод и за промяна на боот параметрите в боот менюто. За улеснение може да използвате приложението startupmanager.

[Системен хак] Различни цветове за root и $USER bash prompt

21 септември, 2009 neosofti Няма коментари

Често пъти се налага да прехвърляте между root и $USER потребител и особенно когато не използвате sudo. В случаят единственият начин да разпознаете в кой сте и да не се обърквате е да погледнете какво излиза е началото на реда. В случаят

[neosofti@jaunty ~]$

или

[root@jaunty neosofti]#

но когато човек се улиса е напълно възможно да изпълните някой команден ред като root и да съсипете операционната система. Естествено може да си създадете помагало само с два командни реда и да виждате примерно за $USER зелено, а за root червено. За $USER отваряте ~/.bashrc ,  добавяте на последният ред

export PS1='\[\e[1;32m\][\u@\h \W]\$\[\e[0m\] '

след това запаметявате и изпълнявате

source .bashrc

За root отварятe /root/.bashrc, добавяте на последният ред

export PS1='\[\e[1;31m\][\u@\h \W]\$\[\e[0m\] '

запаметявате и след това пак изпълнявате

source .bashrc

Накрая ще получите горната „картинка“. За да може да работите с root конзола под Убунту е необходимо да зададете парола за root посредством

sudo paswwd

и четете внимателно за коя парола ви пита. Ако сте използвали sudo преди 2-3 минути направо ще ви пита за root парола, но ако не е така ще ви пита първо за $USER паролата за получите достъп до paswwd през sudo и чак тогава ще ви пита за root парола.