Как изменить исполняемый файл, чтобы он прошел через фильтры вложений электронной почты?

394
Andrew Cheong

Я пытаюсь написать мне утилиту ( HJSplit ), потому что не могу загрузить ее прямо на свой рабочий компьютер. Конечно, фильтры моей компании существуют, чтобы помешать мне сделать именно это. Но, черт возьми, я пытаюсь сделать некоторую работу, и я не могу открыть этот файл журнала 500 МБ, не разбив его сначала. (Блокнот не может обрабатывать даже 100 МБ. И по какой-то причине происходит сбой UltraEdit, хотя он должен справиться с этим.)

Я открыл ZIP утилиты в шестнадцатеричном редакторе (UltraEdit), изменил несколько бит и изменил расширение на JPG. Это перешагнуло правило Gmail без правил исполнения, но все равно было заблокировано сервером Exchange моей компании.

Независимо от (а) морали того, что я делаю, мне любопытно, какие биты нужно изменить, чтобы сделать природу файла неотличимой или неидентифицируемой (или идентифицируемой как доброкачественный тип) для фильтра?

0
inb4 Мораль Орел говорит нам, чтобы мы уважали политику компании и чтобы я поговорил со своими ИТ-специалистами. Это нормально, и я вполне могу в конечном итоге сделать это, так как это заняло больше времени, чем простой запрос, но мне все еще любопытно, можно ли заменить «магические байты» на фильтры дурака. Andrew Cheong 8 лет назад 0
Сервер Exchange может прослушивать файл, заархивировать его и защитить паролем, посмотреть, проходит ли он. Moab 8 лет назад 0

3 ответа на вопрос

1
Gamerb

То, что сделает его неразличимым в большинстве случаев, - это шифрование файла. Есть немало утилит, которые выполнят это за вас. Я бы порекомендовал GPG для Linux или TrueCrypt для Windows. (Да, я понимаю, что TrueCrypt больше не поддерживается, но, поскольку вы просто хотите обойти фильтр, вы должны быть хорошими.)

И, конечно же, вы можете открыть утилиту в HEX-редакторе и удалить некоторые «магические» байты. Я бы сказал, что первые 100 значений должны работать, и скопировать их в отдельный файл, который вы отправите по электронной почте самой утилите (без первых сотен байтов).

Надеюсь это поможет!

Ах, шифрование имеет смысл. Я попробовал то, что вы предложили, чтобы вырезать начало, но я думаю, что это были специальные символы, которые они неправильно вставляли в удаленный рабочий стол, поэтому я не мог восстановить файл без ручного ввода различных шестнадцатеричных байтов. Вероятно, что-то, что я мог бы обойти, если бы я старался изо всех сил. Andrew Cheong 8 лет назад 0
0
Andrew Cheong

Я обнаружил, что в моем случае попытаться проникнуть в заархивированный EXE-файл мне пришлось изменить не только первые два байта (известные как «магическое число»), но также и последовательность байтов, описывающую сжатое имя файла.

Например, оригинальный ZIP начинался с PKобозначения заархивированного файла:

enter image description here

Я изменил его на BM, обозначив файл растрового изображения:

enter image description here

Также прописан оригинальный ZIP hjsplit.exe, поэтому я изменил его на hjsplit.bmp. Я переименовал и сам файл hjsplit.bmp.

0
Hennes

Uuencode это. Это превратит файл в обычный текст. Затем удалите первую строку (начиная с чего-то вроде begin 644 filename).

Теперь у вас есть только обычный текст.

Отправьте текст по почте, добавьте первую строку и удалите его.