항상 보안을 공부하다보면 쉘 권한을 얻어서 컴퓨터를 정복한다라는 이야기를 한번 쯤은 들어 보았을 것이다. 그렇다면 쉘이 무엇이길래 쉘 권한이라는 것을 취득하면 컴퓨터를 제어할 수 있는거지라는 의문을 갖는 것이 당연할 수 있을 것 같다. 그래서 오늘은 Shell이 무엇

오늘은 RET을 보호해주는 기법인 Canary에 대해서 알아보려고 한다.stack canary는 함수 프롤로그 때 버퍼와 RET 사이에 임의의 값을 삽입한 후 에필로그 때 이 값이 변조되었는지 확인 후 변조되지 않았으면 RET으로가서 return을 하고 변조가 되었으면
NX는 Non eXecutable로 불필요한 실행권한은 없애는 기법이다. 그래서 NX를 우회해야 개발자의 의도와 반하는 실행을 시킬수가 있다. 우회하는 방법 중에서 유명한 기법이 ROP이다. ROP 중에서 우선 RTL(Return To Libary) 기법을 우선 이야기

오늘은 ROP 기법 중 하나인 RTC에 대해서 이야기 해보려고 한다.ROP를 하려면 gadget을 이용해서 chain을 해야 하기 떄문에 gadget이 넉넉하게 있어야 한다. 즉 자기가 필요한 gadget이 있어야한다는 말이다.그렇다면 gadget이 부족해서 원하는대로

srop에 대해서 이야기 해보려고 한다.이 기법을 배우려면 기본적으로 rop가 무엇인지에 대해서 이해를 한 후 배우면 좋을 것 같다.우선 제목에 나와있다시피 Signal이 무엇인지에 대해서 알아야 할 필요가 있다.번역을 하자면 신호인데 그럼 어떤 신호를 이용해서 rop

그 동안 공부한 내용을 간략하게 설명을 아래와 같이 하려 한다. 어떤 프로세스를 실행을 하면 멀티 스레드 환경덕분에 프로세스에서 실행해야 할 여러 task를 각각의 스레드가 처리를 한다. 처리를 할 때는 자원이 필요한데 프로세스가 운영체제로 부터 할당 받아온 자원을