GPG 암호화된 파일을 바이너리 실행 파일처럼 보이게 만들기

GPG 암호화된 파일을 바이너리 실행 파일처럼 보이게 만들기

이상한 문제가 있습니다. archive.tar.gz일반 텍스트 파일로 채워진 tar 파일이 있습니다 . 그런 다음 아카이브는 archive.tgz.gpgarchive.tgz.gpg< 100KB로 GPG 암호화됩니다.

archive.tgz.gpg이제 Linux 바이너리처럼 보이게 만들고 대부분의 UNIX 표준 유틸리티를 사용하여 난독화를 해제하고 싶습니다 . 나는 (아마도) 그렇지 않다는 것을 알고 있다일하다바이너리 실행 파일로서 괜찮습니다. 그러나 얼핏 보면 손상된 바이너리 실행 파일처럼 보일 것입니다.

cat내가 얻은 가장 먼 것은 파일 형식이 올바르게 반환 되지 dd않도록 헤더 수정을 사용하려고 시도했지만 file온라인에서 이 작업을 수행하는 데 대한 추가 정보를 찾지 못했습니다.

누구든지 나를 올바른 방향으로 안내해 줄 수 있다면 매우 감사하겠습니다. 감사해요!

답변1

작업 실행 파일에 페이로드를 완전히 포함할 수 있습니다.

echo "I am your encrypted message." > message.txt
gpg2 --symmetric message.txt
ld -r -b binary -o message.o message.txt.gpg
gcc -o unsuspicious unsuspicious.c message.o

모든 프로그램이 포함되어 있습니다 unsuspicious.c:

#include <stdio.h>
int main(int argc, char** argv) {
    printf("Hi. I am a totally unsuspicious executable.\n");
}

이 기술을 사용하면 페이로드가 바이너리의 .data 섹션에 있게 됩니다. 이를 검색하려면 전체 데이터 섹션을 추출하십시오.

objcopy --dump-section .data=data.bin unsuspicious

일부 다른 데이터가 104바이트 페이로드 앞에 옵니다. 와 사이의 정확한 차이를 확인했는데 nm unsuspicious제 경우에는 16바이트였습니다. 이를 알면 페이로드를 검색할 수 있습니다.__data_start_binary_message_txt_gpg_start

dd if=data.bin skip=16 bs=1 count=104 of=message.txt.gpg

이것이 목표의 효율적인 구현인지 여부는 " 표준 유틸리티"를 고려하는지 여부 nm에 따라 다릅니다. 물론, 요청이 있을 경우에만 페이로드만 인쇄하도록 프로그램 자체에 일부 논리를 언제든지 추가할 수 있습니다.objcopydd

답변2

점은 무엇인가? 실행 파일을 포함시키십시오.

ld --format=binary archive.tgz.gpg executable_file

실제로 ELF 실행 파일을 제공합니다. 실행되지 않습니다( _start실행할 기호가 없음).

이를 원한다면 mainmain.c와 같은 기능이 포함된 C/C++/... 프로그램을 작성한 int main(){}다음 데이터가 포함된 빌드 개체 파일을 사용 ld --relocatable --format=binary archive.tgz.gpg mixin.o하고 마지막으로 프로그램과 함께 빌드하십시오 gcc main.c mixin.o -o main.

매우 간단하게 데이터를 얻을 수 있으며 상당히 표준적인 binutils 도구 readelfobjcopy. (예를 들어 특정 문자열이 들어 있는지 확인 environ)

이제 어떤 전문가도 이것에 속지 않을 것입니다. 내장된 아카이브는경험적 엔트로피, 이와 같은 이진 분석 도구는 radare2난독화 방법에 관계없이 이를 감지합니다.

당신이 할 수 있는 일은 암호화된 아카이브의 크기를 인위적으로 늘리는 것입니다. 예를 들어 암호문의 각 바이트를 실제 C 프로그램에서 발췌한 일반적인 기계어 코드 집합의 다른 구성원에 매핑하는 것입니다(길이가 일정할 필요는 없지만 접두사는 제외). ). 그러나 매핑을 해제해야 합니다. 이를 위해서는 사전이 필요하며 표준 도구만 사용하면 꽤 짜증날 수 있습니다.

관련 정보