suidgidc.sh
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 5.445 ]
Homepage: https://www.instagram.com/alexabolada/
Script usado para localizar arquivos com bit suid/gid no sistema.
#!/bin/bash #Wed Aug 14 2002 # # suidgidcheck.sh v1.1 # # Localiza arquivos com permissoes suid/sgid. # Alguns arquivos suid/sgid podem ser perigosos simplismente # pelo motivo de que rodam com permissoes especiais. Varios desses # arquivos podem conter "bugs", e kiddies podem esplora-los para # obter acesso nao autorizado ou apenas afetar servicos # nos sistemas vulneraveis. # Consulte paginas web sobre seguranca de sistemas para verificar # a necessidade desses arquivos, se caso negativo use o # comando do script: ./suidgidcheck -nosuid "arquivo" para # remover o bit suid/sgid do mesmo. # # Voce precisa ser root para utilizar esse programa. # # Coded by Carlos Carvalho # h4sh@uol.com.br # brasirc: #root #coders #linuxhelp #rockz # www.linuxfiles.com.br # # Binario necessario: /usr/bin/find # # Adicionado na v1.1: Opcao de remocao do bit suid/sgid. # # ADICIONADO Fr Aug 2 02:03:58 GMT 2002 : Opcao de remocao do bit SUID/SGID. # ADICIONADO Wed Aug 21 02:05:10 GMT 2002 : AutoRemocao do bit SUID #Verificando /usr/bin/find if [ -f /usr/bin/find ]; then FIND=/usr/bin/find else echo "/usr/bin/find NAO foi encontrado." echo "SAINDO DO PROGRAMA!" exit 1 fi #Criando os arquivos SUID.txt SGID.txt. Voce pode mudar a localizacao #editando as duas linhas abaixo SUID=~/SUID.txt SGID=~/SGID.txt #Localizando os arquivos suid check_perm_suid () { echo "A localizacao podera levar alguns minutos..." > $SUID $FIND / -perm +4000 -exec echo >> $SUID {} \; TOTAL2=$(wc -l $SUID) echo "Existem: $TOTAL2" echo "Para visualizar: ./suidgidcheck.sh -readsuid" exit 0 } #Localizando os arquivos sgid check_perm_sgid () { echo "A localizacao podera levar alguns minutos..." > $SGID $FIND / -perm +2000 -exec echo >> $SGID {} \; TOTAL=$(wc -l $SGID) echo "Existem: $TOTAL" echo "Para visualizar: ./suidgidcheck.sh -readsgid" } #Deletando os arquivos de database delete () { if [ -f $SUID ] || [ -f $SGID ]; then rm -rf $SUID rm -rf $SGID echo "Database removida!" echo "Done!" exit 0 else echo "Aqruivos NAO encontrados!" echo "Done!" exit 1 fi } #Mostrando suid database readS () { if [ -f $SUID ]; then less $SUID else echo "Arquivo $SUID NOT existe" echo "digite \"./suidgidcheck.sh -suid\" primeiro!" fi } #Mostrando sgid database readG () { if [ -f $SGID ]; then less $SGID else echo "Arquivo $SGID NOT existe" echo "digite \"./suidgidcheck.sh -sgid\" primeiro!" fi } #Removendo bit suid/sgid do arquivo noSG () { if [ ! -z "$FILE" ]; then chmod -s "$FILE" 2> /dev/null echo "Arquivo "$FILE" nao e mais suid/sgid file" echo "Done!" else echo "usage: ./suidgidcheck.sh -nosuid \"caminho_completo_do_arquivo\"" fi } #Removendo bit suid dos arquivos contidos em (for file in * ; do) #Se um arquivo nao existir no sistema, ele sera ignorado. #Voce pode adicionar ou remover arquivos da lista, mas lembre-se: Eles devem #respeitar a linha continua, NAO pressione "ENTER"! autormSUID () { echo "Bit SUID removido dos seguintes arquivos:" sleep 1 for file in /bin/ping /bin/mount /bin/umount /sbin/cardctl /usr/bin/rcp /usr/bin/rlogin /usr/bin/rsh /usr/bin/at /usr/bin/lpq /usr/bin/lpr /usr/bin/lprm /usr/bin/mh/inc /usr/bin/mh/msgchk /usr/bin/suidperl /usr/bin/sperl5.003 /usr/bin/chfn /usr/bin/chsh /usr/bin/newgrp /usr/bin/crontab /usr/X11R6/bin/dga /usr/X11R6/bin/xterm /usr/X11R6/bin/XF86_SVGA /usr/sbin/usernetctl /usr/sbin/traceroute ; do if [ -u $file ] ; then chmod -s $file 2> /dev/null echo "$file cleaned" sleep 1 else echo "$file untouched!" sleep 1 fi done echo echo "Sistema mais seguro agora!" echo exit 0 } #Mostrando help (obvio Duh! :)) info () { echo " Usage: ./suidgidcheck.sh: mostra essa ajuda ./suidgidcheck.sh -suid: procura por suid ./suidgidcheck.sh -sgid: procura por sgid ./suidgidcheck.sh -readsuid: mostra database suid ./suidgidcheck.sh -readsgid: mostra database sgid ./suidgidcheck.sh -nosuid \"fullpathfile\": remove suid/sgid bit do arquivo ./suidgidcheck.sh -autorm: auto remocao SUID ./suidgidcheck.sh -del: remove database" } #Lendo os comandos case $1 in -suid) check_perm_suid ;; -sgid) check_perm_sgid ;; -readsuid) readS ;; -readsgid) readG ;; -nosuid) FILE="$2" noSG ;; -autorm) autormSUID ;; -del) delete ;; *) info ;; esac #EOF
Script para listar arquivos, diretórios e uso do espaço em disco destes
Script de backup para cd-rw e outro local (pasta mapeada)
Descompactar arquivos RAR e ZIP em lote
Nenhum comentário foi encontrado.
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
iso de sistema 32 bit em atividade (16)
Reset do linux sem perder dual boot (3)
Impressora Canon Ip 1800 (Drivers) 64 bit (3)
Como transfiro os pokemons do fire red para o emulador mupen64? (1)