WeekHack/Pwnable
-
CVE-2017-11882WeekHack/Pwnable 2021. 4. 25. 18:53
안녕하세요, comalmot입니다. 오늘은 CVE-2017-11882를 분석하려고 합니다. 취약점 소개 CVE-2017-11882 CVSS Score : 9.3 영향을 받는 프로그램 : Microsoft Office 제품군 중 CVE-2017-11882 관련 업데이트를 받지 않은 모든 버전 (Microsoft Office 365, Office 2016, Office 2013, Office 2010, Office 2007 등) 취약점 타입 : 오버플로우로 인한 메모리 커럽션 EQNEDT32.EXE EQNEDT32.EXE는 구버전 Microsoft Offie가 사용하던 Microsoft Equation 3.0 Object의 호환을 위해 Microsoft가 Office에 남겨놓은 기능으로, 현재 수식편집기와 ..
-
[Christmas CTF 2019 Solo Test] 우분투 18.04 이후 버전에서 ROP가 안되는 문제에 대해 (Libc2.27 이후 버전WeekHack/Pwnable 2019. 12. 30. 02:34
안녕하세요. Luke입니다. 오랜만에 하는 pwnable 포스팅입니다. 2019년 데프콘 이후로 알게되었던 문제인데, 우분투 16에서는 작동하는 익스코드가 우분투 18버전 이후로만 넘어오면 익스가 안되는 경우가 있습니다. (그거 때매 데프콘에서 고생해서 알게되었죠.) 이 문제에 대한 해결방법을 꼭 언젠간 포스팅을 해야겠다고 미루고 미루다가 이번 Christmas CTF 2019에서 이를 활용한 문제에 대해 나오길래 포스팅합니다. 제 블로그 포스팅 신조인 "글은 뉴비도 알아보기 쉽게"를 위해 최대한 쉽고 절차적으로 써보도록 하겠습니다. 이번 포스팅의 핵심은 아무래도 libc2.27 이후 버전에서의 ROP이므로 기본적인 ROP방법에 대해서는 설명하지 않습니다. 기본적인 ROP방법에 대해서는 이전에 올린 글을..
-
Pwnable.kr 1번 Toddler's bottle fdWeekHack/Pwnable 2019. 9. 19. 01:43
pwnable.kr 을 처음부터 풀어보려합니다. 오랜만에 작성하는 포너블 라업이군요 ssh pwnable.kr -p 2222 fd/guest 실행 아무것도 하지 않고 실행하면 pass argv[1] a number이 뜨고 종료됩니다. 분석 c언어 파일이 주어져서 따로 바이너리를 디스어셈블하거나 리버싱할 필요가 없었습니다. 이런 식으로 소스코드가 있습니다. 간단히 작동 순서를 풀어 써 본다면, 입력 받은 값을 정수형을 바꾼 다음 0x1234(4660)만큼 뺀 값을 fd에 저장합니다. 32만큼 buf에 read()함수로 입력을 받습니다. 그 중 첫 인자인 file_descriptor은 fd의 정수값입니다. 만약 read로 입력 받은 값이 LETMEWIN\n일 경우 flag를 출력합니다. 익스플로잇 따라서 0..
-
pwnable.tw 1번 start write-up 패스워드WeekHack/Pwnable 2019. 8. 8. 17:13
안녕하세요. Luke입니다. pwnable.tw은 문제를 풀지 않은 사람에게 write-up 공개가 금지되어있는 관계로 귀찮으시더라도 아래 링크에서 pwnable.tw 로그인 후 write-up 글의 패스워드를 확인후 입력하여 글을 읽어주시면 감사하겠습니다. pwnable.tw(패스워드 확인): https://pwnable.tw/writeup/1/16348 Write-Up: https://weekhack.tistory.com/37 pwnable.tw 1번 start write-up weekhack.tistory.com
-
-
<HackCTF - World Best Encryption Tool> Write-UpWeekHack/Pwnable 2019. 6. 25. 05:06
안녕하세요. Luke입니다. 시험기간이라 이래저래 문제는 풀면서도 Write-Up을 잘 쓰지 않은 것 같군요. 오랜만입니다! 비록 시험은 아직 안끝났지만 문제는 꾸준히 풀어 나가려 합니다. HackCTF의 경우 쉬운문제(?)들은 사실상 다 풀었고 이제 FSB를 조금 만져보고 있습니다. 사실 푼 문제를 다 라업쓰려했는데, HackCTF 문제가 너무많아서... 인상깊었거나 어려운 문제들만 라업쓰려 합니다. 이제 문제 풀이 시작하겠습니다. 저희 KorNewbie 팀의 김현식님(Gyul)께서 내주신 문제입니다. 개인적으로 제가 풀어본 문제 중 좋은 문제로 꼽는 문제 일 것 같습니다. 기초가 튼튼해야 풀 수 있는 문제 같습니다. https://ctf.j0n9hyun.xyz/challenges#World%20Bes..
-
Defcon2015 r0pbaby Write Up - PIE 우회WeekHack/Pwnable 2019. 6. 13. 01:28
안녕하세요. Luke입니다. 오늘은 저의 작은 프로젝트이자 목표였던 메모리 보호기법을 처음으로 모두 Write-Up까지 클리어하는 날 입니다! 축하해주세요. 이에 대해서는 프로젝트 마무리 후기로 글을 따로 작성하도록 하겠습니다. 이 글은 r0pbaby를 푸는 글이니까요! *주의사항: 해당 바이너리는 우분투 18.04에서 익스플로잇을 할 수 없었습니다..... 16.04환경에서 도전해주세요. 먼저 바이너리를 열어봅니다. 그냥 실행하면 이런 메뉴가 나오게 됩니다. 1번을 선택하면 이렇게 libc.so.6의 주소가 나오고, 2번을 선택하면 원하는 symbol의 주소를 물어보고 해당 symbol이 위치한 주소를 알려줍니다. 그리고 3번을 통해 입력을 받는데, 처음에 입력한 수만큼의 크기를 입력받는 것 같습니다...
-
HS CTF 2019 <Combo Chain Lite> Write-UpWeekHack/Pwnable 2019. 6. 8. 10:52
안녕하세요. Luke입니다. HS CTF Write-Up을 몰아서 쓰고 있습니다. Combo Chain과는 다르게 Combo Chain Lite는 흔한 ROP, 아니 흔한 ROP보다도 쉬운 ROP였습니다. system함수의 주소를 알려주고 있었습니다. 문제는 다음과 같습니다. 여기도 별 정보 없습니다.(HINT에 보면 ROP라고 나오긴 합니다.) 파일은 64비트 리눅스 바이너리입니다. IDA로 열어보겠습니다. 얘도 Return to Sender과 같이 vuln()함수를 main()함수에서 실행시켜 줍니다. 그럼 vuln()함수를 열어봐야겠지요? system 함수를 첫 줄에서 printf로 출력해주고, gets로 입력해줍니다. system 함수 주소를 알려주니 문제가 조금 쉽겠군요. 그럼 이제 메모리 보호..
-
HS CTF 2019 <Return to Sender> Write-UpWeekHack/Pwnable 2019. 6. 8. 10:29
안녕하세요. Luke입니다. HS CTF가 끝난 후 Pwnable 중 단순히 Netcat에 접속하기만 하면 되는 단순한 문제를 빼면 진정한 Pwnable 문제의 시작인 문제였습니다. 그만큼 쉬웠고, 단순한 쉘코드를 이용한 문제였습니다. 뭐 문제에서는크게 힌트를 얻지 못했습니다. 일단 IDA로 열어봤습니다. (사실 C언어 소스코드도 주어졌습니다.) main() 함수 안에 vuln()이라는 함수가 있고, 해당 함수 내에서 gets로 입력값을 받아오기에 버퍼오버플로우 취약점이 발생하게 됩니다. 그럼 이제 해당 바이너리에 포함된 메모리 보호기법을 확인해보았습니다. NX가 걸려있습니다. 쉘코드를 넣는건 안되겠네요. 그래서 다시 분석하던 중 win()이라는 함수를 찾았습니다. win() 함수에는 binsh를 띄우는..
-
A0V3R Internal CTF 2019 Penguins(by 석지원 형) Write-upWeekHack/Pwnable 2019. 5. 25. 03:22
안녕하세요. Luke입니다. 오랜만에 포스팅을 하는 것 같군요. 어쨋든 군말없이 문제풀이 시작하도록 하겠습니다. 이 바이너리는 올해 초 A0V3R 내부 CTF(지금도 늅늅이지만 더욱더 늅늅이 시절?) 제가 풀 수 있는 모든 문제를 풀고 다음 문제를 건들여 보고 싶어서 건들여본(?) 문제 입니다. 이 문제 덕분에 CTF 도중 Plaid CTF의 ropasaurusrex를 풀며 현장에서 ROP를 익혔으나... 그 당시에는 뭔지도 모르는 까나리에 의해서 못푼 아픔이 있는(?) 문제입니다. 그 이후로 메모리 보호 기법을 하나 씩 조져가면서 공부했으며 드디어 이 문제를 다시 풀어볼 날이 오게 되었네요! 아래 그림은 실제 해당 CTF 당시 나왔던 문제입니다. 일단 해당 바이너리가 내부 CTF여서 흔한 바이너리가 아..