지금으로부터 1년 전쯤, 2019년 11월에 정보호호학회 홈페이지에서 <DFC 2020 대회 문제 출제 및 심사위원> 모집 공고를 확인했다. 대략적으로 DFC2020 에 문제 출제 및 심사를 수행하는 역할을 수행하는 것이고 분야는 Mobile, Internet of Things, Artifact, Incident Response, Anti For...
통칭 Code Reuse Attack이라고 불리는 기법으로 return-into-libc라는 공격이 있다. 이는 쉘 코드 등을 사용하지 못하도록 스택에 실행 권한을 제거한 NX, DEP 등의 보호 기법이 출시되자 그에 대한 새로운 우회 방법으로 제안된 것이다. return-into-libc on x86 return-into-libc[1]는 standard ...
지난번 글에 이어 이번에는 stack5이다. 1. 소스코드 stack5는 사실상 stack4과 거의 유사하다. gets 함수를 호출을 통해 buffer를 입력받는다. 하지만 이 함수는 취약한 함수로, C11표준에서 삭제되었다. 때문에 현재는 실무에서 사용하지 않아야 할 함수다. 2. Compile(Raspberry pi / arm) raspberry pi ...
이전 글에서 azeria labs 의 "/bin/sh" 을 띄우는 쉘 코드 작성을 살펴보았다. 이때 argv 가 없어서 r0 레지스터에만 /bin/sh 이라는 문자열을 넣는 것으로 성공할 수 있었다. 그렇다면 보다 복잡한, 예를 들면 파라미터가 존재하는 경우에 어떻게 할까? 이번에는 /bin/cat /etc/passwd 를 실행하는 쉘 코드를 작성해보자. ...
*이 포스팅은 Azeria Labs 의 원문 글 중 일부분을 번역한 후 코드를 직접 테스트하며 내용을 수정 보완하였습니다. 원문 : https://azeria-labs.com/writing-arm-shellcode/ 1. ARM 쉘 코드 작성 입문 앞서 pwntools의 shellcraft를 이용하여 ARM 32에서 사용할 수 있는 쉘 코드를 손쉽게 얻을 ...
Pwntools를 사용하면 익스플로잇을 위한 payload를 쉽게 작성할 수 있다. 뿐만 아니라 포함되어 있는 shellcraft라는 도구를 사용하면 쉘 코드를 자유자재로 만들어준다는 소문을 듣고 한번 써봤다. 이 글을 통해 arm32 (raspberry pi 3)에서 동작하는 쉘 코드 생성을 수행해 볼 것이다. 미리 결론부터 이야기하자면, 충분히 편리하고...
지난번 글에 이어 이번에는 stack4이다. 1. 소스코드 stack4는 사실상 stack3과 거의 유사하다. gets 함수를 호출을 통해 buffer를 입력받는다. 하지만 이 함수는 취약한 함수로, C11표준에서 삭제되었다. 때문에 현재는 실무에서 사용하지 않아야 할 함수다. 2. Compile(Raspberry pi / arm) raspberry pi ...
지난번 글에 이어 이번에는 stack3이다. 1. 소스코드 stack3는 사실상 stack0과 거의 유사하다. gets 함수를 호출을 통해 buffer를 입력받는다. 하지만 이 함수는 취약한 함수로, C11표준에서 삭제되었다. 때문에 현재는 실무에서 사용하지 않아야 할 함수다. 2. Compile(Raspberry pi / arm) raspberry pi ...
지난번 글에 이어 이번에는 stack2이다. 1. 소스코드 참고로 원본 소스코드를 컴파일할 시 일부 경고 메시지가 나와서, err.h 등 일부 헤더 파일을 추가로 선언해주었다.stack2는 사실상 stack1과 거의 유사하다. 다만 차이점은 사용자의 입력인 argv 대신 환경변수를 통해 입력을 받는다는 것만 다르다. 입력된 값은 strcpy() 함수를 통해...
지난번 글에 이어 이번에는 stack1이다. 1. 소스코드 참고로 원본 소스코드를 컴파일할 시 일부 경고 메시지가 나와서, err.h 등 일부 헤더 파일을 추가로 선언해주었다.stack1은 사실상 stack0과 거의 유사하다. 다만 차이점은 gets() 함수 대신 argv를 통해 사용자의 입력을 받는다는 것만 다르다. 입력된 값은 strcpy() 함수를 통...
32 비트 ARM 바이너리에 대한 exploit을 공부하고자 하는 오래된 열망을 이제 조금씩 실천해보고자 한다. 인텔에 비해 비교적 arm은 자료가 잘 없다. 그래서 직접 만들거나 포팅을 하려고 한다. exploit-exercies 에는 stack 및 heap 그리고 format string 을 실습해볼 수 있는 다양한 예제가 있어서 좋다. 원본은 inte...
Fuzz testing 수행함에 있어서 자주 발생하는 질문이 있다. '언제 퍼징을 그만해도 될까?' 혹은 '지금까지 한 퍼징이 이 정도면 충분한가?'이다. 하지만 사실 이 질문은 애초에 답을 할 수 없는 질문이다. 예를 들어 아래와 같은 답변을 생각해보자. "주어진 프로그램에 대해서, 실행할 수 있는 모든 입력을 다 넣어보자" 하지만 가능한 입력은 사실상 ...
Software Security Engineer
자유로운 창작이 가능한 기본 포스트
한 컷씩 넘겨보는 카툰 포스트
직접 만든 영상을 올리는 동영상 포스트
소장본, 굿즈 등 실물 상품을 판매하는 스토어
정기 후원을 시작하시겠습니까?
설정한 기간의 데이터를 파일로 다운로드합니다. 보고서 파일 생성에는 최대 3분이 소요됩니다.
포인트 자동 충전을 해지합니다. 해지하지 않고도 ‘자동 충전 설정 변경하기' 버튼을 눌러 포인트 자동 충전 설정을 변경할 수 있어요. 설정을 변경하고 편리한 자동 충전을 계속 이용해보세요.
중복으로 선택할 수 있어요.