OSX에서 ELF 바이너리 실행


11

CTF 관련 질문이 있으며 누군가가 올바른 방향으로 나를 가리킬 수 있는지 궁금합니다.

OSX Yosemite에서 일하고 있으며 일부 전쟁 게임과 오래된 CTF 과제를 겪고있었습니다. 내 목표는 MACH 바이너리 만 기본 시스템에서 실행할 수 있음을 알고 있지만 도전 과제의 ELF 바이너리를 iterm에 "기본적으로"로컬로 scp 한 후 실행하는 것입니다.

그럼에도 불구하고 바이너리를 실행하기 위해 전체 VM을 여는 것을 피하기 위해 아마도 에뮬레이션 (예 : QEMU) 또는 다른 방법을 통해 가능합니까?

미리 감사드립니다.


이 문제는 주로 보안 CTF 및 워 게임에서 발견되므로 보안과 관련이 있습니다 (이것이 내가 붙어있는 방식입니다). 보안 커뮤니티가이 특정 주제를 접할 가능성이 더 높다고 생각합니다. 그래도 거기에서 시도 할 것입니다.
nilminus

3
귀하의 질문은 보안에 관한 것이 아니라 바이너리 실행에 관한 것입니다.
Neil Smithline

답변:


2

ELF 바이너리는 그 자체로는 아무 의미가 없습니다. 바이너리가 거의 실행되지 않음-라이브러리, API 및 ABI 및 기타 반짝이는 것들을 지원해야합니다.

QEMU를 실행할 때 여전히 대부분의 OS가 필요합니다. 의심되는 호스트 시스템과 밀접하게 연결되어 있지 않습니다.

이론적으로 '와인'과 같은 것이 있지만 Linux (또는 다른 * nix syle OS)-> OS X 호환성 계층으로 작동 하면 원하는 것을 얻을 있지만 그러한 짐승은 존재하지 않습니다.

OS X에서 사전 컴파일 된 임의의 ELF 바이너리를 실행할 수 없습니다.


1
이 질문은 수퍼 유저 영역에서 오히려 틈새 시장 인 보안 시나리오에 관한 것입니다. 공격자가 대상 시스템에 배치하고 실행하기를 원하는 정적 바이너리 (동적 링크가 아닌 이미지로 컴파일 된 라이브러리)를 상상해보십시오 (기본 CTF 보안 게임 시나리오). 외부 라이브러리가 필요하지 않지만 ABI (예 : syscalls)에 대한 요점은 공정합니다. 당신은 일반적인 경우에 맞지만,이 질문은 일반적으로 일반적인 경우에 관한 것이 아닙니다. imho는 보안 사이트에서 이동해서는 안됩니다.
quixotic

2

대답은 아마도 다음과 같습니다. ELF 파일이 생성 된 방법에 따라 다릅니다.

기사 와이 문장을 기반으로 :

  • 일반적인 오해는 ELF 파일이 단지 실행 파일이라는 것입니다.
  • 우리는 이미 부분 조각에 사용할 수 있음을 보았습니다 ...

올바르게 설정 한 경우에도 모든 ELF 파일이 실행되는 것은 아닙니다.

기사를 기반으로 FatELF라는 그룹 pf ELF 파일이 있습니다.

  • FatELF는 다른 아키텍처에 대한 여러 ELF 바이너리를 하나의 파일로 포함하는 파일 형식입니다.
  • Linux와 FreeBSD에서 작동하는 하나의 파일 제공

페이지에서 Apple의

  • OS X 커널의 BSD 부분은 주로 FreeBSD에서 파생됩니다.

따라서 Mac OS X의 경우 FatELF는 "답변의 시작"입니다.

그리고 마지막 으로이 페이지를 기반으로 합니다 .

객체 파일 변환기

이 유틸리티는 모든 32 비트 및 64 비트 x86 플랫폼 에서 COFF / PE, OMF, ELF 및 Mach-O 형식 간에 객체 파일을 변환하는 데 사용할 수 있습니다 . 객체 파일에서 심볼 이름을 수정할 수 있습니다. 플랫폼간에 함수 라이브러리를 빌드, 수정 및 변환 할 수 있습니다 . 객체 파일과 실행 파일을 덤프 할 수 있습니다. SSE4, AVX, AVX2, AVX512, FMA3, FMA4, XOP 및 Knights Corner 명령어 세트를 지원하는 매우 우수한 디스어셈블러도 포함되어 있습니다. 소스 코드 포함 (GPL).

당신은 당신이 원하는 것을 활성화 할 수있는 기회가 있습니다.

추신 : XBinary대한 또 다른 페이지가 있습니다. 분석하지 않았습니다.

이 문서에서는 Mac OS X에서 임의의 이진 형식으로 파일을 실행하기위한 커널 수준의 지원을 추가 할 수있는 새로운 소프트웨어 인 XBinary에 대해 설명합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.