일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- root권한
- 취약점 스캔
- Metasploit
- SQL Injection
- Samba
- 시스템 해킹
- 취약점분석
- 스캔
- 내부침투
- 취약점
- load of sqlinjection
- 해킹
- 해킹툴
- 메타스플로잇
- 침투테스트
- Los
- Kioptrix
- sql
- web hacking
- 칼리리눅스
- 모의해킹
- smb
- Hacking
- SQLINJECTION
- 해킹도구
- CTF
- 암호해독
- 포트스캔
- 권한상승
- 스캐닝
- Today
- Total
목록System/System Hacking Techniques (10)
감자 텃밭
블로그 이전중입니다. 아래 링크에서 확인 가능합니다. 😁https://g2hsec.github.io/system-vuln/Frame-Pointer-Overflow-FPO-,-SFP-Overflow,-SFPO/시스템 해킹을 하다보면 보통 ret영역의 값을 악의적으로 변형시켜system함수를 실행시키는 등 해당 프로그램을 제어하지만, 입력버퍼의 제한으로ret영역까지 접근을 하지 못 할 수 있다. 하지만 SFP영역의 단 하위1바이트만으로 ret영역 제어와 비슷한 흐름을 이끌어 낼 수 있다. 그것이 바로 FPO기법이다.해당 기법을 이해하기 위해서는 스택 에필로그 과정과 프롤로그 과정에 대한 이해도가 필요합니다.해당 기법을 사용하기 위해서는 2가지의 조건이 충족 되어야 한다.1. 서브 함수가 존재하여야 한다.2..
보통 ROP는 Dynamic Link 바이너리에서 plt와 got를 이용하여 해결하는 기법이다. 하지만 주어진 바이너리파일이 Dynamic Link된 파일이 아닌 Static Link된 파일일 경우 사용할 수 없게 된다. 필요한 모든 함수구현 코드들이 실행파일 안에 존재하기 때문이다 하지만 해당 함수코드중 system()함수가 없는 경우 공격이 힘들어진다. 이렇게 system()함수가 존재하지않고 Static Link된 바이너리 파일에서의 ROP공격을 하기 위한 기법이 mprotect ROP이다. 특정 메모리 영역에 ShellCode를 삽입하여 사용하는 기법이다. 일단 해당 ROP를 하기위해서는 mprotect 함수에 대해 우선적으로 알아보자. mprotect() 함수는 할당된 메모리 영역의 권한을 변경..
기본적인 ROP사용법은 32bit ROP에서 확인하자. https://hg2lee.tistory.com/71 [시스템] Return-Oriented-Programming - ROP [x86-32bit] ROP기법이란 Return-Oreinted-Programming의 약자로 반환 지향형 프로그래밍 이다. ret영역에 가젯을 이용하여 연속적으로 함수를 호출하며 공격자가 원하는 흐름대로 프로그래밍 하듯 공격한다는 뜻의 hg2lee.tistory.com 64bit ROP는 32bit ROP와 사용법이 살짝 다르다. 32bit ROP에서는 POP POP ret 등의 가젯에서, pop 명령어의 피연산자의 종류가 상관이 없었다. 하지만 64bit 환경에서는 이 피연산자의 종류가 중요하다 그 이유는 호출 규약인 Sy..
블로그 이전중입니다. 아래 링크에서 확인 가능합니다. 😁https://g2hsec.github.io/system-vuln/system-vuln-Return-Oriented-Programming-ROP-x86-32bit/ ROP기법이란 Return-Oreinted-Programming의 약자로 반환 지향형 프로그래밍 이다.ret영역에 가젯을 이용하여 연속적으로 함수를 호출하며 공격자가 원하는흐름대로 프로그래밍 하듯 공격한다는 뜻의 기법이다. ROP는 ASLR, DEP/NX등의 메모리 보호기법을 우회하여 공격할 수 있는 기법이며,해당 기법을 사용하기위해서는 몇가지의 사전지식이 필요하다.우선 RTL, RTL-Chaining, PLT,GOT, GOT_Overwrite, Gadget등이 필요하다. 또한 해당 기..
GOT Overwrite란 기법은 PLT, GOT의 GOT를 조작하여 사용하는 기법이다. https://hg2lee.tistory.com/61 [시스템] PLT 와 GOT [초급] 시스템 해킹(포너블)을 하다보면 PLT, GOT 어디선가 들어봤고, plt, got 라고 불리우는것들을 막 호출하고 변조하고 할겁니다. 이번에는 이러한 plt와 got가 뭔지에 대해 알아보도록 하겠습니다. 보통 hg2lee.tistory.com 해당 기법은 PLT와 GOT는 Dynamic Link 방식에서 공유라이브러리를 사용하는 과정을 이해한다면 쉽게 이해 할 수 있을것이다. 함수가 호출되면 plt를 참조하고 plt는 got를 참조하는대 got에는 함수의 실제 주소가 들어가있다고 했다. 그럼 여기서 plt가 참조하는 got영..
RTL-Chining는 RTL기법을 연속해서 사용하는 방식의 기법이다. 본래 RTL 기법에서 함수호출과 파라미터로받아오는 부분 사이에 4바이트 만큼의 더미값을 줬다. 그부분은 해당 호출하는 함수가 종료되고 돌아가 RET 주소라고 설명했다. 이 부분을 이용해서 연속적으로 함수들을 호출하여 프로그램을 제어할 수 있다. RTL기법을 선행학습 하지 않았다면 먼저 보고 오도록 하자. https://hg2lee.tistory.com/65 [시스템] Return-to-Libc (RTL) 해당 기법은 프로그램이 정상적으로 종료되면 돌아갈 주소를 담고있는 RET영역에 메모리에 적재되어 있는 공유 라이브러리 함수의 주소로 변경하여, 해당 함수를 호출하는 방식의 기법이다. 해 hg2lee.tistory.com RTL-Cha..
해당 기법은 프로그램이 정상적으로 종료되면 돌아갈 주소를 담고있는 RET영역에 메모리에 적재되어 있는 공유 라이브러리 함수의 주소로 변경하여, 해당 함수를 호출하는 방식의 기법이다. 해당 기법은 DIP/NXbit 메모리 보호기법을 우회할 수 있다. 해당 기법은 함수 에필로그를 이해하고 있어야 수월할 것이다. https://hg2lee.tistory.com/60 [시스템] epilogue [에필로그 과정] 함수의 프롤로그가 있다면 에필로그도 있기 마련이죠 이번엔 함수 에필로그에 대해 다뤄보도록 하겠습니다. 우선 프롤로그 과정에서는 push ebp mov ebp, esp 과정을 통해 이루어집니다. 에필로그 과 hg2lee.tistory.com 보통 해당 기법은 RET영역에 system(), execv() 함..
Return-to-Shellcode 기법은 프로그램이 종료되면 돌아갈 주소가 담긴 RET 영역에 Shell Code가 저장된 주소값을 악의적으로 저장하게하여 프로그램이 종료 되면 RET가 정상적으로 돌아갈 위치로 이동하는 것이 아닌 Shell Code가 저장되 주소로 이동하게 되는방식이다. 해당 기법을 이해하기 위해서는 함수 에필로그 과정을 이해하고 있어야 한다. https://hg2lee.tistory.com/60 [시스템] epilogue [에필로그 과정] 함수의 프롤로그가 있다면 에필로그도 있기 마련이죠 이번엔 함수 에필로그에 대해 다뤄보도록 하겠습니다. 우선 프롤로그 과정에서는 push ebp mov ebp, esp 과정을 통해 이루어집니다. 에필로그 과 hg2lee.tistory.com 에필로그..