Uma ideia - mas vai precisar de um pouco de trabalho no script - seja meu convidado; -)
-
Encontre um arquivo suid / sgid; vamos chamá-lo de
scommand
-
Verifique a partir de qual pacote foi instalado:
dpkg -S /full/path/to/scommand
-
Compare sua permissão com o pacote deb original, baixando primeiro o pacote:
apt-get download package
-
Verifique se o comando deve ter o suid definido no pacote com
dpkg -c package*deb | grep /full/path/to/scommand
-
limpeza, enxague, repita.
Exemplo:
[romano:~/tmp] % ls -l /bin/passwd
ls: cannot access /bin/passwd: No such file or directory
[romano:~/tmp] 2 % ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 47032 Feb 17 2014 /usr/bin/passwd
[romano:~/tmp] % dpkg -S /usr/bin/passwd
passwd: /usr/bin/passwd
[romano:~/tmp] % apt-get download passwd
Get:1 http://archive.ubuntu.com/ubuntu/ trusty/main passwd amd64 1:4.1.5.1-1ubuntu9 [755 kB]
Fetched 755 kB in 1s (487 kB/s)
[romano:~/tmp] % dpkg -c passwd*.deb| grep /usr/bin/passwd
-rwsr-xr-x root/root 47032 2014-02-17 03:42 ./usr/bin/passwd
caveat : pode acontecer de um arquivo não ser suid / sgid no pacote .deb e ser alterado pelos scripts de instalação / pós-instalação. Nesse caso, você tem que encontrar outras maneiras de verificar, talvez comparando com uma nova instalação.