본문 바로가기

Security Study/System

(2)
[Dreamhack] Shellcode Exploit Tech: Shellcode0.1. 셸코드익스플로잇을 위해 제작된 어셈블리 코드 조각셸을 획득하기 위한 목적으로 셸코드를 사용해서 “셸”이 접두사로 붙음셸을 획득하는 것은 시스템 해킹의 관점에서 매우 중요해커가 rip를 자신이 작성한 셸코드로 옮길 수 있으면 해커는 원하는 어셈블리 코드가 실행되게 할 수 있음어셈블리어는 기계어와 거의 일대일 대응되므로 사실상 원하는 모든 명령을 CPU에 내릴 수 있게 됨셸코드는 어셈블리어로 구성되므로 공격을 수행할 대상 아키텍처와 운영체제에 따라, 셸코드의 목적에 따라 다르게 작성됨아키텍처별로 자주 사용되는 셸코드를 모아서 공유하는 사이트가 있지만 공유되는 셸코드는 범용적으로 작성된 것이기 때문에 실행될 때의 메모리 상태 같은 시스템 환경을 완전히 반영하지..
[Dreamhack] Tool Tool: gdb버그(bug): 실수로 발생한 프로그램의 결함디버거(Debugger): 완성된 코드에서 버그를 찾는 도구1. gdb & pwndbg1.1. gdb리눅스의 대표적인 디버거오픈 소스로 개발되어 무료로 설치 가능다양한 플러그인들이 개발1.2. 실습 예제// Name: debugee.c// Compile: gcc -o debugee debugee.c -no-pie#include int main(void) { int sum = 0; int val1 = 1; int val2 = 2; sum = val1 + val2; printf("1 + 2 = %d\\\\n", sum); return 0;}코드를 작성하고 컴파일 함$ gcc -o debugee debugee.c$ gdb debugeeGN..