O ctime e crtime não podem ser adulterados, o atime e mtime podem ser definidos por processos do usuário para valores arbitrários usando as chamadas de sistema utime()
ou utimes()
(ou utimensat()
para precisão de nanossegundos) como touch
normalmente faz ou tar
quando você extrai um arquivo (onde ele define o horário de modificação do arquivo para aquele como armazenado no arquivo (normalmente, no passado)).
Você pode conseguir o mesmo com:
touch -t 201803070704.15 newfile
por exemplo, onde o crtime e o ctime seriam ajustados para a hora atual, mas o mtime e o atime para o especificado.