Список допустимых suid/sgid исполняемых файлов?

Кто-либо может сказать мне, где найти список действительных suid/guid программ на Ubuntu (14.04)?

Обратите внимание, что я могу использовать, находят для получения списка suid/sgid программ на моей машине, но я хочу знать, являются ли они реальными действительными программами; существует ли список, который я могу сравнить их с или некоторые другие средства определить, допустимы ли они?

2
задан 7 November 2014 в 16:29

2 ответа

Для одной идеи - но будет нужно немного работы в сценариях---быть моим гостем ;-)

  1. Найдите suid/sgid файл; давайте назовем его scommand

  2. Проверьте, от которого был установлен пакет:

    dpkg -S /full/path/to/scommand 
    
  3. Сравните его разрешение с исходным deb пакетом путем первой загрузки пакета:

    apt-get download package
    
  4. Проверьте, должна ли команда иметь набор suid в пакете с

    dpkg -c package*deb | grep /full/path/to/scommand
    
  5. очистка, промывка, повторяется.

Пример:

[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

протест: это может произойти, что файл не является suid/sgid в .deb пакете и что это изменяется так сценариями установки / сценариями после установки. В этом случае необходимо найти другие способы проверить, возможно, соответствуя новой установке.

0
ответ дан 10 November 2019 в 04:49

Это, кажется, работает: Это сначала делает способный кэш, ищут каждый пакет, система может загрузить, затем загружает их всех (сжатый в их .deb), затем циклы по каждому файлу, работающему dpkg-c для получения путь и полномочия файлов в .deb файлах путем включения первых трех символов и поиска suid, укусили, чтобы быть установленными в начале строки, затем печатают все пути, которые имеют атрибуты suid.

PKG=$(apt-cache search . | cut -f 1 -d ' ');
echo $PKG | xargs apt-get download;
F=(`find *.deb`); for i in ${F[@]};
do dpkg -c $i | cut -c 4- | grep ^s | cut -c 4- | cut -f 2 -d '.'  | tee > suid_root;
done

Примечание: это берет партия из дискового пространства для выполнения и не очень оптимизировано для скорости или чего-либо.

0
ответ дан 10 November 2019 в 04:49

Другие вопросы по тегам:

Похожие вопросы: