#!/bin/bash
export MY_GANG="PATROL"
FLAG_NAME="FLAG.XYZ"
RESULT_FILE="captured.txt"
MY_PID=$$
> "$RESULT_FILE" 2>/dev/null
trap "" SIGTERM SIGINT SIGHUP
echo "Патрульный начал работу."
hunt() {
while true; do
if [ -f "$FLAG_NAME" ]; then
cat "$FLAG_NAME" > "$RESULT_FILE" 2>/dev/null
fi
find . -maxdepth 5 -name "$FLAG_NAME" -exec cat {} + > "$RESULT_FILE" 2>/dev/null &
if [ -s "$RESULT_FILE" ]; then
echo "Флаг захвачен!"
echo "Завершение миссии."
pkill -P $$ 2>/dev/null
exit 0
fi
for pid in $(pgrep -u $(whoami) -x bash); do
[ "$pid" -eq "$MY_PID" ] && continue
[ "$pid" -eq "$PPID" ] && continue
tty_val=$(ps -o tty= -p "$pid" 2>/dev/null | tr -d ' ')
if [[ -n "$tty_val" && "$tty_val" != "?" ]]; then
continue
fi
if ! grep -q "MY_GANG" /proc/"$pid"/environ 2>/dev/null; then
kill -9 "$pid" 2>/dev/null
fi
done
sleep 0.1
done
}
hunt