Security/시스템 해킹(PWN, System)

Security/시스템 해킹(PWN, System)

[RTL] 1. RTL과 라이브러리

저번 글에서 SF1을 풀이할 때 RTL에서 왜 4byte를 주는지 잘 몰랐는데, 이제 확실히 이해하면서 글을 적어보고자 합니다. 이 글을 통해서가 아니더라도 RTL에서 인자와 4byte를 띄운다는 것을 이해한다는건 이후 있을 ROP 개념에서도 중요하고 어셈블리를 이해했느냐에 대한 척도가 되는 것 같습니다. 그러면 이제 그 이유에 대해 이야기 해보도록 하겠습니다. 우선 RTL부터 얘기해보도록 하죠. RTL RTL은 Return To Libc, Return to Library라고도 부르는 기법입니다. 해당 해킹 기법은 보호기법인 NX bit와 ASLR을 (함께) 다루면서 (또는 NX bit만으로) 배우게 됩니다. NX bit 보호기법은 코드영역 외에 실행 권한을 주지 않아 보통 넣는 쉘코드를 실행하지 못하게..

Security/시스템 해킹(PWN, System)

공부하는데 필요할 GCC 메모리 보호기법 해제

포너블을 하는데 있어서 스스로 코드를 만들어보고 분석해볼 필요가 있을 거 같아 메모리 보호기법 해제에 대한 글을 올립니다. 적혀있는 코드들은 해당 기법을 제거하는 컴파일 옵션입니다. 0. 옵션 모두 제거(32bit) gcc -m32 -fno-stack-protector -mpreferred-stack-boundary=2 -z execstack -no-pie -o abcd abcd.c 모든 옵션을 제거하여 공부할 때 사용할 것. checksec으로 확인. 1. ASLR(Address Space Layout Randomization) cat /proc/sys/kernel/randomize_va_space #check ASLR echo 0 > /proc/sys/kernel/randomize_va_space #..

Security/시스템 해킹(PWN, System)

셸코드를 위해서 경로를 hex로

서론 안녕하세요, 요즘에는 대학 학과도 학과인지라 DreamHack에서 그 동안 어려워서 포기했던 강의들을 다시 도전해보고자 했습니다. 그래서 요즘에는 DreamHack의 시스템 해킹 기초를 따라가고 있고, shellcode를 작성하는 과정에 있습니다. 그 과정에서 경로를 hex(16진수)로 나타내는 것을 보고 문자열을 입력하면 리틀엔디언 16진수로 변경하는 파이썬 코드를 만들어보았습니다. 일단 제가 프로그래밍을 굉장히 못하는 관계로... 코드가 불-편하더라도 양해부탁드립니다. Code 드림핵에서 이런 부분이 있었고(mov rax, 0x68732f6e69622f) 그래서 아래 코드를 작성했습니다. string = input() result = str(hex(ord(string[len(string)-1])..

Security/시스템 해킹(PWN, System)

내가 항상 헷갈리던 어셈블리 mov와 lea의 차이

우선 QWORD PTR [주소] : 주소로부터 데이터를 8바이트 만큼 참조 DWORD는 4바이트 WORD는 2바이트 WORD = 16비트이므로 DWORD(double)은 4바이트 QWORD(quad)는 8바이트이다. MOV mov opcode는 mov dst, src로 사용한다. 여기서 scr에 있는 값을 대입한다. C에서 *을 사용해서 대입하는 연산자라고 이해하면 될 것 같다. 그래서 mov QWORD PTR[rdi], rsi 이런 식으로 쓴다면, rdi주소 값에 rsi를 대입한다.(8바이트) LEA lea opcode는 lea dst, src로 사용한다. lea에서는 src의 유효 주소 EA(Effective Address)를 저장한다고 한다. 그러므로 lea rsi, [rbx+8*rcx] 이렇게 쓴..

Security/시스템 해킹(PWN, System)

[PWN] HackerSchool FTZ 구축하기

시스템 해킹을 공부하고자 하면 누구나 알만한 해커스쿨의 FTZ(Free Trainnig Zone)을 구축해봅시다. https://www.hackerschool.org/Sub_Html/HS_FTZ/html/ftz_start.html +해커스쿨 커뮤니티+ by HACKERSCHOOL.org www.hackerschool.org 보통 FTZ로 리눅스를 배우고 버퍼 오버플로우 기법으로 확장해가면서 LOB(Lord Of Buffer overflow)로 이어지고... 워게임 문제폴고.. 한다고 하니까. FTZ로 여러분의 기본기를 다져봅시다. VMware 설치 FTZ를 로컬서버로 구동하기 위해서 VMware를 설치할 것입니다. 다른 블로그에도 있고.. 암튼 VMworkstation 설치하시면 되겠습니다. https:..

그믐​
'Security/시스템 해킹(PWN, System)' 카테고리의 글 목록 (3 Page)