Insertion Encoder
이번에는 Insertion Encode에 대해서 알아보도록 하겠습니다.
Insertion이라는 뜻은 삽입이라는 뜻입니다. 즉, 인코딩을 하는데 임의의 값을 삽입하여 인코딩을 한다는 것이죠.
임의의 쉘 코드에 임의의 값을 사이사이에 넣어서 인코딩하는 방식입니다.
마찬가지로 execve 소스코드를 가지고 해보도록 하겠습니다.
objdump를 이용해서 셀 코드를 만듭니다.
해당 셀 코드를 Insertion Encoding을 하도록 하겠습니다.
해당 python 소스코드를 이용해서 쉘 코드 사이사이에 0xAA라는 값을 넣는 프로그램입니다.
해당 python을 실행하면 헥스값 사이사이에 0xaa값이 들어갔습니다.
디코더 만들기
컴파일 후 objdump를 이용해 쉘 코드를 만듭니다.
쉘 코드를 테스트 하기 위해 다음과 같이 작성합니다.
쉘이 정상적으로 실행되는 것을 확인할 수 있습니다.
'High Level Technique > Shellcoding' 카테고리의 다른 글
NOT Encoder (0) | 2016.03.14 |
---|---|
XOR Encoder (0) | 2016.03.14 |
execve shellcode (0) | 2016.03.13 |
RIP 상대주소 이용하기 (0) | 2016.03.13 |
JMP-CALL-POP 기술 (0) | 2016.03.13 |