반응형

shellcode 2

[ 시스템 해킹 ] Exploit Tech: Shellcode ( execve )

셸(Shell)이란 운영체제에 명령을 내리기 위해 사용되는 사용자의 인터페이스이다. 셸을 획득하면 시스템을 제어할 수 있게 되므로 통상적으로 셸 획득을 시스템 해킹의 성공으로 여깁니다. execve 셸코드는 임의의 프로그램을 실행하는 셸코드인데, 이를 이용하면 서버의 셸을 획득할 수 있다. 다른 언급없이 셸코드라고 하면 이를 의미하는 경우가 많다. 1. execve(“/bin/sh”, null, null) execve 셸코드는 execve 시스템 콜만으로 구성된다. 첫번째 인자에는 파일 이름, 두번째 인자에는 실행파일, 세번째 인자에는 환경변수가 들어간다. 우리는 sh만 실행하면 되므로 다른 값들은 전부 null로 설정해줘도 된다. execve 의 rax에는 59(0x3b)가 들어간다. ;Name: ex..

[ 시스템 해킹 ] Exploit Tech: Shellcode ( orw )

해킹 분야에서 상대 시스템을 공격하는 것을 익스플로잇(Exploit)이라고 부른다. 익스플로잇은 ‘부당하게 이용하다’라는 뜻이 있는데, 상대 시스템에 침투하여 시스템을 악용하는 해킹과 어울린다. 1. 셸코드 ( Shellcode ) 셸코드(Shellcode)는 익스플로잇을 위해 제작된 어셈블리 코드 조각을 일컫는다. 일반적으로 셸을 획득하기 위한 목적으로 셸코드를 사용한다. 만약 해커가 rip를 자신이 작성한 셸코드로 옮길 수 있으면 해커는 원하는 어셈블리 코드가 실행되게 할 수 있습니다. 어셈블리어는 기계어와 거의 일대일 대응되므로 사실상 원하는 모든 명령을 CPU에 내릴 수 있게 된다. 셸코드는 어셈블리어로 구성되므로 공격을 수행할 대상 아키텍처와 운영체제에 따라, 그리고 셸코드의 목적에 따라 다르게..

반응형