0x003 Reversing/04. Theory

[Linux] ShellCode 제작 방법

KimSangLab 2017. 12. 29. 16:09

  Linux 환경에서 ShellCode 제작 방법에 대한 포스팅 입니다.

 1. /usr/include/asm/unistd_[bit].h 에서 System Call 번호를 확인한다.  

 

< 그림 1. System Call 번호 확인 >

 

 

2. ShellCode 를 얻고자하는 어셈블리어를 작성한다. ( vi FileName.s 이용 )

 

< 그림 2. 어셈블리어 작성 >

 

3. 어셈블리어를 컴파일 한다.
    1) as -o [Object File Name] [Assembly File Path] 
    2) ld -o [Executable File Name] [Object File Name] 

4. 컴파일된 결과를 확인한다. 정상 작동 하는 경우 objdump -d 명령을 이용하여 OP Code를 추출한다.

 

< 그림 3. OP Code 추출 >