-
Welcome write upSystem hacking training/pwnable.xyz 2019. 12. 22. 19:11
pwnable.xyz의 첫번째 문제다. 64bit 바이너리이며 dynamically linked되어있고, stripped되어있다. 모든 메모리 보호기법이 적용되어있는 녀석이다. IDA로 main()함수를 디컴파일 해보면 다음과 같은 결과가 나오는데, 결론적으로 system("cat /flag")가 수행되기 위해서 v3이 가리키는 값이 0이여야만 한다. 코드상에서 v3에 대한 사용자의 input이 없기 때문에 불가능해 보인다. 하지만 v10과 malloc() 함수의 특성 덕분에 *v3에 0을 넣을 수 있는데, 바이너리는 다음과 같이 동작한다. 1. v3 = malloc(0x40000uLL) 2. leak v3 address 3. User input v10 4. v5 = malloc(v10) 5. read(..
-
orw write upSystem hacking training/pwnable.tw 2019. 12. 10. 20:35
pwnable.tw 두번째 문제 orw다. 문제에서 힌트를 얻을 수 있었는데, 문제의 이름이 ORW(=Open Read Write)인 점과, flag의 절대 경로를 알려주는 점에서 open(), read(), write()함수를 이용하여 flag를 직접 읽어야하는 문제이구나~ 라고 생각했다. 메모리 보호기법을 확인해보면 다음과 같이 Partial RELRO, Canary가 걸려있다. 바이너리를 디컴파일하여 main()함수를 확인해보면 orw_seccomp() -> printf() -> read()를 진행한 후, read()함수를 통해 shellcode라는 위치에 0xc8(=200)byte입력받고, call을 해줌으로서 바이너리가 종료된다. 따라서 쉘코드를 입력만 해주면 알아서 call해주는 형식인데, 중..
-
Start write upSystem hacking training/pwnable.tw 2019. 12. 8. 20:47
[풀이 요약] - 메모리 보호기법 적용 X / syscall 을 이용한 read(), write() 호출 - read() 함수를 이용하여 0x3c를 입력 받는데, 에필로그를 보면 add esp, 0x14; ret;로 return address를 변조할 수 있다는 것을 알 수 있음 Step 1. Stack Address Leak 1. 쉘코드를 이용한 공격을 진행하는데, return address 바로 다음 값이 스택을 가리켜서 return address를 해당 코드 주소로 변조 2. sys_write() 함수 호출 전 mov ecx, esp를 통해 해당 시점 esp를 출력 -> 이게 스택의 주소를 가지고 있어서 아주 nice하게 스택의 주소를 leak할 수 있음 Step 2. Shellcode Execut..
-
[ICNGC-2018] Our Experiences on the Design, Build and Run of CTFPaper/ENG 2019. 11. 18. 22:30
[내용 요약] Abstract CTF(Capture The Flag)는 컴퓨터 보안 분야에서 교육적인 방면으로 중요해지고 있습니다. 이 논문에서는 중학교, 고등학교 학생들에게 효과적인 컴퓨터 보안 교육을 제공하기 위해 CTF 설계, 구축 및 운영적인 부분에 대해 2년간의 경험을 토대로 설명합니다. 우리의 CTF에서는 flag sharing, 2가지 힌트 제공 및 난이도 조정에 대한 세 가지 요소가 있습니다. 디자인된 CTF의 유효성을 검증하기 위해 2017년과 2018년 87명의 중고등 학생들을 대상으로 CTF를 운영하였고, 이를 통해 수집된 데이터를 기반으로 위의 세 가지 요소를 분석하였습니다. keywords - CTF, Educaton, Cyber Security *해당 키워드들은 논문에서 중요하게..
-
[정보보호학회논문지] 스마트워치 데이터 분석 및 위험도 평가*Paper/KOR 2019. 9. 5. 06:10
[내용 요약] Abstract 스마트워치는 스마트폰과 페어링을 하여 사용합니다. 페어링 이후 사용자의 관여 없이도 데이터 전송이 가능하고, 스마트폰의 다양한 데이터가 복제되어 스마트워치로 넘어옵니다. 해당 논문(연구)은 스마트폰으로 넘어오는 데이터를 사용 시점별(t0, t1, t2, t3)로 추출하여 분석합니다. 또한 스마트워치 사용자를 대상(205명)으로 실시한 보안관련 인식에 대한 설문조사를 바탕으로 개인 정보보호관점에서의 데이터별 위험도 평가를 수행하고 대응방안을 고찰합니다. 실험 과정 및 결과 분석 # 실험 환경 실험 환경은 위와 같이 Android Wear, Tizen, WatchOS의 세 가지 플랫폼에서 작동하는 5가지 스마트워치를 준비하였고, 스마트폰에서 데이터를 복제하여 스마트워치로 넘어가..
-
Find Audio Sample Filetmp/Tip 2019. 7. 2. 11:02
http://techslides.com/sample-files-for-development Sample Files for Development | TechSlides Data, Maps, Usability, and Performance Sample Files for Development I have been getting a lot of traffic to my HTML5 sample video files post so I wanted to follow up with a general post that covers a multitude of sample files that are often needed in web d techslides.com https://standaloneinstaller.com/b..
-
[Linux Memory Protection] - RELROSystem hacking training/Knowledge 2019. 5. 20. 20:22
Ref : https://bpsecblog.wordpress.com/2016/05/18/memory_protect_linux_2/ 오늘은 RELRO에 대해 알아봅시다. RELRO란? -> Relocation Read-Only의 약자로, ELF바이너리 또는 프로세스의 데이터 섹션을 보호하는 기술입니다. 즉 메모리가 변경되는 것을 보호하는 기술입니다. 이를 이해하기 위해서는 다음과 같은 개념을 알고 있어야합니다. - Lazy Binding - GOT Overwrite 먼저 Lazy Binding이란? -> Dynamic Linking 방식으로 컴파일 된 ELF 바이너리는 공유 라이브러리 내에 위치한 함수의 주소를 동적으로 알아오기 위해 GOT(Global Offset Table) 테이블을 이용하는데, 이렇게..
-