suidgidc.sh
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 5.642 ]
Homepage: https://fabio.automatizando.dev
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
Firewall simples para desktops
Automação em cópia de arquivos de backup
Nenhum coment�rio foi encontrado.
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Como instalar o Telegram Desktop no Ubuntu 24.04
Overclocking Permanente para Drastic no Miyoo Mini Plus
Problemas de chaves (/usr/share/keyrings) no Debian
Converter os repositórios Debian para o novo formato com as chaves
eu preciso saber uma coisa sobre os games no linux (3)
eu preciso saber uma coisa sobre os games no linux (1)
Problema com audio apos upgrade (1)