comment out files in twpol.txt that are not found------------------#!/bin/shTWPOL_FILE=twpol.txtFILES=`awk '/(^\t*\/.*->)|(^ *\/.*->)/ {print FNR ":" $1}' $TWPOL_FILE`for file in $FILES ; do file_path=`echo $file |sed 's/^[0-9]\+:\(.*\)/\1/g'` if [ -e $file_path ]; then OK=GOOD else line_number=`echo $file |sed 's/^\([0-9]\+\):.*/\1/g'` echo "$file_path does not exist at line number: $line_number" echo "Commenting out..." sed -ie "$line_number s/^/#/g" $TWPOL_FILE fi;done;-----------------------------find all binary / shared object/ ELF files------------------------------#!/bin/shTWPOL_FILE=twpol.txtFIND_B=`find / -type f -print |xargs file 2>/dev/null |grep ELF |sed "s/:\s.*//g"`FILES=`awk '/(^\t*\/.*->)|(^ *\/.*->)/ {print $0}' $TWPOL_FILE |sed 's/->$//g;s/\s*\t*//g'`E_FILES=`sed -n -e '/!/p' tw.txt |sed 's/[!\t*\s*;]//g'`for f in $FILES; do file_name=`echo $f |sed 's/\(\/.*\)->.*/\1/g'` if [ `echo $f |sed -n -e '/(.*recurse\s*=\s*true.*)/p'` ]; then FIND_B=`echo "$FIND_B\n" |grep -v "^$file_name" |sed 's/\\\n//g'` echo "$file_name is recursive remove _all_ entries"; else FIND_B=`echo "$FIND_B\n" |grep -vx "^$file_name" |sed 's/\\\n//g'` echo "$file_name is not recursive only removing entries with this exact line" fi;done;for e in $E_FILES; do if [ -d $e ]; then FIND_B=`echo "$FIND_B\n" |grep -v "^$e" |sed 's/\\\n//g'` echo "$e is directory and is excluded in $TWPOL_FILE, remove all entries" else FIND_B=`echo "$FIND_B\n" |grep -vx "^$e" |sed 's/\\\n//g'` echo "$e is not a directory but is excluded, only remove specific entries" fi;done;TW_ADDITIONS='(rulename = "Other binaries",severity = $(SIG_MED)){';for i in $FIND_B; do TW_ADDITIONS="$TW_ADDITIONS $i -> \$(SEC_BIN) ;";done;TW_ADDITIONS="$TW_ADDITIONS}";echo "$TW_ADDITIONS" >> $TWPOL_FILE;---------------------------find all web files---------------------------#!/bin/shTWPOL_FILE=twpol.txtFIND_B=`find / -type f -regex ".*\.\(php\|inc\|html\|htm\|cgi\|pl\|asp\|jsp\)$"`FILES=`awk '/(^\t*\/.*->)|(^ *\/.*->)/ {print $0}' $TWPOL_FILE |sed 's/->$//g;s/\s*\t*//g'`E_FILES=`sed -n -e '/!/p' $TWPOL_FILE |sed 's/[!\t* *;]//g'`for f in $FILES; do file_name=`echo $f |sed 's/\(\/.*\)->.*/\1/g'` if [ `echo $f |sed -n -e '/(.*recurse\s*=\s*true.*)/p'` ]; then FIND_B=`echo "$FIND_B\n" |grep -v "^$file_name" |sed 's/\\\n//g'` echo "$file_name is recursive remove _all_ entries"; else FIND_B=`echo "$FIND_B\n" |grep -vx "^$file_name" |sed 's/\\\n//g'` echo "$file_name is not recursive only removing entries with this exact line" fi;done;for e in $E_FILES; do if [ -d $e ]; then FIND_B=`echo "$FIND_B\n" |grep -v "^$e" |sed 's/\\\n//g'` echo "$e is directory and is excluded in $TWPOL_FILE, remove all entries" else FIND_B=`echo "$FIND_B\n" |grep -vx "^$e" |sed 's/\\\n//g'` echo "$e is not a directory but is excluded, only remove specific entries" fi;done;TW_ADDITIONS='(rulename = "Misc. Web Files",severity = $(SIG_MED)){';for i in $FIND_B; do TW_ADDITIONS="$TW_ADDITIONS $i -> \$(SEC_BIN) ;";done;TW_ADDITIONS="$TW_ADDITIONS}";echo "$TW_ADDITIONS" >> $TWPOL_FILE;