Re: kernel.org status: hints on how to check your machine for intrusion

Greg KH
2011-10-18T15:21:57Z

On Tue, Oct 18, 2011 at 05:13:49PM +0200, Jean Delvare wrote:
> Hi Greg,
>
> Yes I know I'm late, sorry about that.
>
> On Fri, 30 Sep 2011 16:59:24 -0700, Greg KH wrote:
> > b. Strange directories in /usr/share that do not belong to a package.
> > This can be checked on an rpm system with the following bash snippet:
> > for file in `find /usr/share/`; do
> > package=`rpm -qf -- ${file} | grep "is not owned"`
> > if [ -n "$package" ] ; then
> > echo "weird file ${file}, please check this out"
> > fi
> > done
>
> FWIW, the above doesn't work in the general case. For one thing it
> fails for files which have a space in their name. But a bigger problem
> is that rpm is localized so for any user running a non-English locale,
> the grep "is not owned" will not catch anything (in addition to being
> slow.) Better just check the value returned by rpm:
>
> find /usr/share -print0 \
> | while read -d $'\0' -r file
> do
> if ! rpm -qf --quiet -- "${file}" ; then
> if [ -L "${file}" ] ; then
> type=link
> elif [ -d "${file}" ] ; then
> type=directory
> else
> type=file
> fi
>
> echo "Weird ${type} ${file}, please check this out"
> fi
> done

Thanks for the updated script, you are right, it was localized for my
system.

> Even with this, I'm not convinced, due to the high number of false
> positives (generated cache files, directories not explicitly packaged,
> etc...) it is hard to make sense of the output.

Really? I see almost none of that on my openSUSE boxes.

> We'd need to fix all
> the packages first so that only actual changes are returned by the
> script.
>
> I'm also unsure why /usr/share would be a better target than any other
> system directory.

It's a very common place for rootkits to hide their files.

And they look pretty obvious when you see them, so they will not just
blend in with the other "normal" files you describe above. So it's
still a good thing to run to check your system to help ensure that it is
clean.

thanks,

greg k-h