[NASM Assembly x64] 간단한 execve 셸코드 만들기


[NASM Assembly x64] 간단한 execve 셸코드 만들기

실습 장소 환경 Nasm v2.15.05 x64 on Linux Windows 11 WSL Ubuntu 22.04 목표: execve 셸코드를 작성하고 구동해보기 이번에는 어셈블리어를 이용하여 리눅스 64비트 커널에서 execve 셸 코드를 작성하고 실행해보겠습니다. execve란 특정 프로그램을 실행하는 커널 함수로, 리눅스 셸(Shell) 또한 프로그램이기 때문에 execve 함수를 이용하면 리눅스에 있는 셸도 실행시킬 수 있습니다. 여기서는 Ubuntu 22.04 환경에서, 기본 셸(/bin/sh)을 실행하는 방향으로 잡겠습니다. 바로 하드웨어와 상호작용하는 커널에 진입하여 직접 커널을 통째로 가져가기 위해 셸을 실행하는 겁니다. 리눅스 셸 스크립트로 실행하고자 한다면 그냥 아래처럼 간단히 하면 됩니다. /bin/sh 그러나 우리는 어셈블리어로 만들 것이기 때문에, 어셈블리어와 가장 가까운 C언어로 미리 프로그램을 설계해보는 것이 도움이 됩니다. C언어에도 execve()함수가...


#64비트 #쉬운설명 #셸코드 #셸스크립트 #리눅스 #x64 #stepbystep #shell #sh #NASM #execve #C언어 #CPU #Clang #C #bash #Assembly #어셈블리

원문링크 : [NASM Assembly x64] 간단한 execve 셸코드 만들기