İlk olarak server root nedir?
Root en üst düzey de duran ;her hakkı olan kulanıcı demektir . remote file inclusion yöntemiyle servera shell sokarak ana sayfaya yazamayan arkadasların ulasamadıkları atmosferdir.
Root olmak için bir cok yöntem mevcuttur.
1.Bindshell ile root olmak ; bunun için ilk önce shellimizi soktuğumuz serverın türünü bilmemiz gerekmektedir.
Örnek ben su an linux servera girdim rootlamak için bindshell kulanacağım dediğimde ne anlarsınız ?
Öncelikle bindshell demek açık bir port demektir. Yani shellde c yada pl uzantılı bir yabancı maddedir. Bu yabancı madde serverımızda belirli bir port açarak şifreli bir girişi sağlar .
Kısacası acılan bu portan bağlanarak root olmaya calısırız ..
Peki bu dalga nasıl calısır... bindshellerin çalışabilmesi için serverda olmaları gerekir fakat soracağınız soruyu biliyorum cevabınıda veriyorum serverda yazma hakkı yoksa nasıl serverı atacağız
/tmp dizini her zaman permissonu 777 olan alandır, hotsumuzun üst dizinlerini görüntüleye biliyorsak /tmp dizinine girerek bindshellimizi buraya upload edebiliriz
Eğer /tmp dizinini görme yetkimiz yoksa bindshelli ayrı bir servera atarız wget komutuyla shell bulunan serverın dizinine çekeriz burada minimum seviyeye inmiyorum shell komutalarını araştırıp öğrene bilirsiniz
Evet buraya kadar herseyi yaptınız tmp te bindshellimiz duruyo (server türüne göre bindshellimiz) şimdi yapıcağımız iş c99 için tools bölümüne gelip bindshell yazan yerde bindshellimizin kullanıcı adı şifre ve portunu yazarak bağlanmaktır.. Daha sonrasında size bir tablo çıkacak sonrası zaten en kolay kısım olarak kalır
Başka bir yöntem backconect denilen olay yani netcat (netcat bir programdır hem kendi makinamızda hemde karsı tarafa yüklenmesi gereken bir programdır c99 yeni versiyonları içermektedir fakat netctat komut verebilmek için kendi pc nizde de kurulu olması gerekmektedir.) netcat ile karsı tarafa izinsiz dosya transferi yapılabilmektedir taki nezaman shell soktuğumuz makinede tools kısmındaki backconnect yaptıktan sonra
Bu sayede de verilen komutlar ile üst dizine çıkmak mümkündür. İleride daha geniş olarak komutları ile netcat de anlatacağım.
3 yolumuz upload yapmamızı engelleyen temp dizinindeki bir dosyayı etkisiz hale getirmektir
Bunun için c99 da proc. bulup tıklamanız gerekmekte yani o an serverda calısanları öldürme.burada cok seyi yapa bilme imkanına sahipsiniz
Örnek Anlamanız İçin
root 22875 7.0 0.0 4744 1240 ? D 21:05 0:00 /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/cc1 -lang-c -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=2 -D__GXX_ABI_VERSION=102 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix Kill dediğimizde
386-redhat-linux doğru olarak çalışamayacak ya çökecek yada sistem herkese root yetkisi verecektir..
Baska bir yolumuz ise sec. tir seci bulup tıkladığımızda zaman bize aşağıdaki gibi
Server security information:
Open base dir: /home/siteismi/:/usr/lib/php:/usr/local/lib/php:/tmp
Get /etc/passwd
OS Version? - Linux version 2.4.20-46.9.legacysmp ([email protected]) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #1 SMP Thu Mar 2 15:45:46 EST 2006
Kernel version? - net.core.divert_version = 0.46
kernel.version = #1 SMP Thu Mar 2 15:45:46 EST 2006
Distrib name - This computer system is for authorized users only. Individuals using this
system without authority or in excess of their authority are subject to
having all their activities on this system monitored and recorded or
examined by any authorized person, including law enforcement, as system
personnel deem appropriate. In the course of monitoring individuals
improperly using the system or in the course of system maintenance, the
activities of authorized users may also be monitored and recorded. Any
material so recorded may be disclosed as appropriate. Anyone using this
system consents to these terms ;
Gibi bilgeler verecek okumanıza bile gerek yok bunları bize en bastaki etc/passwd ler lazım onun üzerine gelip tıkladığınızda
From: To:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0perator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
named:x:25:25:Named:/var/named:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
rpcuser:x29:RPC Service User:/var/lib/nfs:/sbin/nologin
rpc:x:32:32
rpm:x:37:37::/var/lib/rpm:/bin/bash
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
sshd:x:74:74
pcap:x:77:77::/var/arpwatch:/sbin/nologin
nobOdy:x:99:99:NobOdy:/:/sbin/nologin
Gibi bilgiler verecek şimdi root dizini şu şekil
root:x:0:0:root:/root:/bin/bash olduğu için yukarıya from:0 to: 0
yazarak giriş yapıcaz gerisi sizin işinize kalıyor ..
Ayrıyetten birde ftp rootlama yöntemi var
proftpd.conf - /etc/proftpd.conf.tmpeditlib
/etc/proftpd.conf.bytes
/etc/proftpd.conf.rpmnew
/etc/proftpd.conf.rpmsave
/etc/proftpd.conf-
/etc/proftpd.conf,v
/etc/proftpd.conf
/scripts/proftpd.conf.default.bsd
/scripts/proftpd.conf.default
Pro ftp kulanan bir hosting ise bu yolları görüntüleyerek (dikat ediniz conf ) şifreleri değiştirip root olabilirsiniz elde edeceğiniz ana< ftp sizi root yapar hosting içerisinde /home klasörü bütün sitelerin olduğu dizindir.
