[PWN] shellcode 정리 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE&REVERSING

[PWN] shellcode 정리

본 글은 Dreamhack System Hacking Curriculum - Shellcode를 참고하여 작성되었습니다. 1. 개요 기본적으로 시스템 해킹의 목적은 대상 시스템을 '부당하게 이용'하는 것입니다. administrator의 권한을 빼았는 것부터 시작해서 인가되지 않은 파일을 열어보는 것 등등도 해킹의 목적이 될 수 있겠죠. 이를 위해 제작된 어셈블리어 코드를 쉘코드(shellcode)라고 합니다. 해당 코드를 실행시키면 쉘(shell)을 실행시킬 수 있기 때문입니다. 굳이 C언어와 같은 고등 언어가 아닌 어셈블리어로 작성하는 이유는, 어셈블리어 단으로 작성할 경우 RIP레지스터만 조정할 수 있어도 바로 원하는 코드를 실행할 수 있기 때문입니다. 물론 어셈블리어로 작성된다는 특성상 아키텍쳐 ..

2022.04.06 게시됨

[DawgCTF 2021] :pwn: Jellyspotters Write-Up 포스팅 썸네일 이미지

CTF

[DawgCTF 2021] :pwn: Jellyspotters Write-Up

Jellyspotters - 100pts Description Tag pwnable, pickle, python Problem Analysis 그림을 그리는 프로그램이네용 대충 이런 프로그램이고 이것저것 해봤는데 Pickle을 사용한다는 것을 알 수 있군요 Pickle은 취약점이 발생합니다. 글 첨부합니다. https://davidhamann.de/2020/04/05/exploiting-python-pickle/ Exploiting Python pickles How unpickling untrusted data can lead to remote code execution. davidhamann.de 그럼 이걸 가지고 RCE를 해봅시당 Exploit 자 기본적으로 pickle의 취약점은 __reduce__..

2021.05.18 게시됨

[ROP] gadget찾는법 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE&REVERSING

[ROP] gadget찾는법

ROP(Return Oriented Programming)에서 가장 핵심적인 부분을 고르라고 하면 gadget을 구하는 것일 것이다. 이에는 몇가지 방법이 있다. 1. ROPgadget 이용하기 명령어는 다음과 같이 쓰면 됩니당. ROPgadget --binary (파일명) | grep '(찾을 가젯)' 짠. 다음과 같이 사용하면 된다. 위의 경우는 64비트의 경우고 32비트도 그냥 똑같다. (참고로 64비트에서 인자 받는 순서는 rdi, rsi, rdx 순서라고 한다 외우장) 근데 저기 세 번째의 경우를 보면 아무런 결과가 없다. 그럼 경우는 두가지이다. 1. 진짜로 pop rdx가 없다. 2. ROPgadget 으로는 조회가 되지 않는다. 근데 이경우는 프로그램에 pop rdx가 없을리가 없기때문에 ..

2019.10.11 게시됨

[IDA] 01. 변수의 이름 바꾸기 포스팅 썸네일 이미지

etc/Tips

[IDA] 01. 변수의 이름 바꾸기

[IDA] 01. 변수 이름 바꾸기 너무 간단한 내용이여서 얼른 끝내죠. 다음은 ASIS CTF 4강전 문제 중 하나인 Cat을 IDA로 돌린 것입니다. 보면 c언어 파일로 작성되어있지만, 사용자 설정 변수나 함수의 이름들은 sub_나 우리가 흔히 이용하지 않는 이름들로 되어있는 걸 볼 수 있죠 네 바꾸고 싶은 변수 위에 마우스를 올려놓고 오른쪽 클릭 후, 저기 첫번째 Rename global item을 클릭하거나 N을 누르면 이 창이 뜨는데 여기서 바꿔주시면 됩니다. 참고로 이름짓는 방법은 C언어에서 변수이름지정 규칙과 같습니다(빈칸안되고, 특수문자 안되고 등등..) 끝!

2019.08.10 게시됨