¿Se puede utilizar "find" conectado a "echo" para causar un daño masivo?

¿Se puede utilizar "find" conectado a "echo" para causar un daño masivo?

Actualmente estoy tomando el curso certificado Coursera de ciberseguridad de Google. Ahora estoy en la sección de Linux y estoy aprendiendo algunos comandos de Linux. Soy totalmente nuevo en esto, pero me preguntaba una cosa. Mientras aprendo, siempre trato de pensar en cómo un defensor o un atacante podría usar dicho comando y recientemente aprendí sobre echo >el comando y cómo puede sobrescribir todo. Comprobé que se puede utilizar de forma maliciosa pero, por supuesto, no lo entendí del todo.

Mi pregunta es, digamos, que un atacante obtiene acceso a la computadora de alguien y quiere causarle daño rápidamente sabiendo que tiene muchos .txtarchivos. ¿Funcionaría este comando?

find /home/ -name "*.txt*" | echo "gg" > "*.txt*"

Me pregunto si estoy entendiendo esto correctamente. ¿Esto básicamente crearía un comando que busque todos .txtlos archivos /home/y luego canalice echopara sobrescribir todos .txtlos archivos con la palabra gg?

Si no, ¿por qué no funciona exactamente? Me gustaría entender por qué no funciona para ayudarme a comprenderlo mejor, y si la idea funciona técnicamente pero el comando está escrito mal, avíseme qué parte está mal.

Respuesta1

No funcionará: echono recibe parámetros de una tubería. findlocalizará todos .txtlos archivos y los canalizará a echo. Pero echolo ignorará y simplemente emitirá gg.

>redirigir simplemente intentará escribirlo en un archivo llamado *.txt*si tiene permiso para ello. Se sobrescribirá si existe y se creará si no existe.

Respuesta2

Por las razones que ThoriumBR ya ha explicado, eso no funciona.

Estas buscando algo como

shopt -s globstar
for file in **/*.txt
do
    echo "rr" > "$file"
done

o

find . -name "*.txt" -print0 | while read -d $'\0' file
do
    echo "rr" > "$file"
done

información relacionada