Os primeiros bytes de um arquivo dizem o que ele é, não a extensão.
A extensão (.pdf, .png, .zip) é só parte do nome, e qualquer um pode trocar. O que identifica o tipo de verdade são os primeiros bytes do arquivo, a assinatura (ou magic bytes).
Tipo
Primeiros bytes (hex)
Como aparecem
PDF
25 50 44 46
%PDF
PNG
89 50 4E 47
.PNG
ZIP
50 4B 03 04
PK..
JPEG
FF D8 FF
ÿØÿ
O nome diz PNG, mas os primeiros bytes são 25 50 44 46, ou %PDF: pela tabela de assinaturas, o arquivo é um PDF.
Para ver esses bytes sem instalar nada, abra o arquivo num editor hexadecimal no navegador, como o HexEd.it (abre em nova aba). No terminal, o comando file faz a identificação sozinho.