-
[ Rookiss ] Simple LoginSystem/Pwnable.kr 2019. 1. 17. 15:17
[ Binary info ]32Bit 바이너리이며, 보호기법은 Canary와 NX Bit가 적용되어 있다. 특이점으로는 Statically link방식을 사용하기 때문에 RTL과 같이 공유 라이브러리를 이용하는 공격 기법은 사용이 불가능하다.따라서, 바이너리안에 존재하는 함수들을 Chaining하는 식으로 페이로드를 구성해야 한다. [ Binary Execute ]바이너리를 실행하면 입력값을 받는데 길이값을 크게 주면 'Wrong Length'라는 경고 메시지를 출력한다.특정 길이값을 주면 입력값에 대한 hash값을 출력하는데, 이때 Segmentation Fault가 발생한다.이 부분을 포인트로 잡고 IDA 디버깅을 해보도록 하자[ Debugging#1 ]main( )를 먼저 보면 실행 때 봤던 "Au..
-
TUCTF2018 lisa WriteupSystem/CTF 2019. 1. 14. 02:37
[ Binary Info ]32Bit 바이너리이며, shared object으로 PIE가 적용되어 있다.PIE와 NX를 제외한 제약사항이 없기 때문에개인적으로 PIE를 처음 접한다면 입문용 문제로 괜찮다고 생각한다. ( 로컬서버에서는 같은 디렉터리에 password와 flag파일을 만들어줘야 합니다. ) 문제의 난이도는 PIE를 제대로 이해한 사람에게는 쉬웠을 것이고나처럼 PIE가 익숙치 않은 사람에게는 어렵게 느껴졌을 것이다.따라서, 무작정 풀다가 어려움을 느끼고 라이트업을 보러오신 분들은 [PIE 보호기법 정리] 를 먼저 보시고다시 한번 풀어보는 것을 추천드리고 싶다! [ Binary 실행 ]바이너리를 실행하면 주소 하나를 릭해준다.그리고 두 번의 입력을 받고 프로그램이 종료된다.대충 이렇게 흐름을 ..
-
메모리 보호기법 - PIE공부정리 2019. 1. 12. 22:43
TU-CTF2018에서 출제된 lisa 라는 문제를 풀면서 PIE에 대해서 공부하게 되었다. 바이너리에 PIE가 걸려있으면 주소값들이 해괴망측하게 변하는 걸 볼 수 있는데이 모습을 처음 보고 '아. 빡세다.' 라는 생각이 들어서 그런지 PIE라는 존재에 겁을 먹고 있었다.근데 막상 공부해보니까 'ASLR과 크게 다르지 않다'라는게 나의 결론이다.[ PIE란? ]Position Independent Executable의 약자로 바이너리 주소가 상대적인 주소로 랜덤하게 매핑시키는 기법이다.ASLR과 비슷하게 생각하되, 차이점은 PIE는 Code(Text)영역을 포함한 모든 영역(Data,Stack,Heap,Libc)을 랜덤하게 매핑시킨다는 것이다. [ Sample.c 소스코드 ]위 샘플코드로 확인해보도록 하..
-
Flash Memory Dump 환경설정#1IoT/기술정리 2018. 10. 14. 04:19
임베디드 장비에서 펌웨어를 추출하는 방법은 대표적으로 3가지가 있다.1. UART2. JTAG3. Flash Memory현재 분석중인 IP Camera에는 디버깅포트(UART,JTAG)는 없고, Flash Memory가 존재한다. 만약 Flash Memory와 연결이 된다면, 펌웨어 추출 / 수정 / 삭제가 가능하다.따라서, 펌웨어 무결성 검사때문에 펌웨어패치를 못한다면 Flash Memory를 통해서 Direct-patch가 가능하다. 말은 간단하지만, 실제로 환경설정만 몇시간의 삽질이 필요하고환경설정이 다 됐다 하더라도, 바로 Flash Memory에 연결되는 이상적인 결과가 나오는 건 아니였다. Flash Memory Dump 과정을 #1/#2로 나눠서 기록할 예정이며본문(#1)에서는 준비물에 대해..
-
Baidu 회원가입 하기ETC 2018. 10. 12. 23:22
구글에서 못 찾는 자료를 바이두에서 찾는 경우가 종종 있다.바이두 자료실 파일을 다운받기 위해서는 로그인을 해야하는데, 회원가입 절차가 복잡해서 따로 정리해본다. #외국인 전용 회원가입https://passport.baidu.com/v2/?reg&u=http%3A%2F%2Fpan.baidu.com%C2%AEType=1&tpl=netdisk&overseas=1 바이두 공식 홈페이지에 있는 회원가입 링크는 내국인 전용이다.따라서, 위 링크에서 회원가입을 진행해야 한다. [ Baidu Register ]회원가입을 하기 위해서는 핸드폰 인증이 필요한데, 핸드폰 번호는 TextNow를 이용해서 인증받을 수 있다. #TextNowhttps://www.textnow.com/ [ TextNow Register ]SIG..
-
2018 CCE Qual Writeup - note [pwn]System/CTF 2018. 10. 2. 05:16
[ Binary Info ]# Binary : 64Bit ELF# Full RELRO# No Canary# NX Enable# PIE Enable [ Binary Execute ]- 바이너리를 실행하면, 다른 note 문제들 처럼 추가/삭제/보기/실행 메뉴를 출력해준다.IDA로 정적분석을 해보자 [ 정적분석 ]- 바이너리의 main( )부분이며, Hidden Menu는 따로 존재하지 않는다. [ Delete_note( ) ]- add_note( )에서 malloc( )으로 동적할당을 하지만, Delete( )때 Free를 하지 않는다. 따라서, Use After Free를 이용한 문제는 아닌 것 같다. [ Execute_note( ) ]- 취약점은 Execute_note( )에서 발생한다.Execute_..
-
CTF Tools 정리System/CTF 2018. 9. 30. 04:45
[ One gadget ] Usage : one_gadget [libc_binary]libc에서 한번에 쉘을 따주는 위치의 Offset을 구해서 출력해준다.rax == NULL / [rsp+0x30] == NULL과 같은 제약조건들만 맞춰주면 된다. RET에 libc_base+oneshot_offset값을 덮어주면 쉘이 짠! [ XROP ] Usage : xrop -r [arch] -b [bit] [Binary] ARM, PPC, MIPS 등의 Gadget들을 찾아주는 툴이다.ELF에서의 ROP_gadget이라고 보면 된다. [ qemu ]Usage : ./qemu-arm-static -L [Library_Directory] [Binary]ARM바이너리를 ELF아키텍쳐에서 실행 가능하게 해주는 툴이다.c..
-
[ IP Camera Dos Attack (CVE-2018-6479) ]IoT/IP Camera 2018. 9. 30. 04:00
한 동안 IP Camera분석을 못하고 있다가, 예전에 봐두었던 CVE를 재현해봤다.뭐 재현이랄것도 없지만. CVE Number는 2018-6479이며 올해 초에 등록된 CVE이다. github : https://github.com/dreadlocked/netwave-dosvulnerability Attack Vector는 네크워크이며방대한 양의 POST 데이터를 요청할 때 서비스가 중단되는 공격(Denial of Service)이다. ※ 해당 글에는 CVE 재현에 사용되는 IP Camera 제품에 대해서 어떠한 정보도 제공하지 않았습니다. [ PoC ]1234567891011121314151617import stringimport httplibimport urllib2 host = "192.168.1...