분류 전체보기
-
[Toddler's Bottle] shellshock write upSystem hacking training/pwnable.kr 2018. 7. 14. 19:39
오늘은 shellshock write up 을 작성해보겠습니다. Mommy, there was a shocking news about bash. I bet you already know, but lets just make it sure :) ssh shellshock@pwnable.kr -p2222 (pw:guest) shellshock 문제 이름에서도 알 수 있듯이 이 문제는 CVE-2014-6271, bash 쉘 4.3 이하 버전에서 원격 명령을 실행 할 수 있는 취약점을 다룹니다. 이 취약점이 bash shell 에 대한 취약점인만큼 bash에 대한 이해가 필요합니다. bash는 유닉스, 리눅스, 맥 계열에서 주로 사용되는 프로그램 명령어로 컴퓨터 작업을 할 수 있는 환경을 제공하는 소프트웨어입니다..
-
[Toddler's Bottle] mistake write upSystem hacking training/pwnable.kr 2018. 7. 11. 05:08
오늘은 mistake를 풀어봤습니다. input, passcode 문제를 풀이하려고 했는데 어렵네요.. 쉬운 1pt 문제입니다. We all make mistakes, let's move on. (don't take this too seriously, no fancy hacking skill is required at all) This task is based on real event Thanks to dhmonkey hint : operator priority ssh mistake@pwnable.kr -p2222 (pw:guest) Operator priority 즉 연산자 우선순위가 힌트로 주어졌습니다. ssh 접속 후 파일 목록을 확인하면 아래와 같습니다. mistake@ubuntu:~$ ls -a..
-
[Toddler's Bottle] flag write-upSystem hacking training/pwnable.kr 2018. 7. 4. 03:27
오늘은 toddler's bottle 4번째 문제인 flag를 풀이를 작성해보겠습니다. 어떤 아버지가 이런 선물을 줄까요... 다운로드 링크에 들어가면 flag 바이너리를 받으실 수 있습니다. ELF 64bit 실행파일이고, statically linked가 되어있네요. 그리고 stripped되어있습니다. stripped 되어있다는 것은 실행 가능한 이진 프로그램들과 목적 파일들로부터 모든 디버깅과 상징 정보가 지워졌다는 것을 의미합니다. 이로인해서 디버깅이 불가능한 상태입니다. gdb로 까봐도 소용없었습니다. checksec 으로 바이너리에 걸린 메모리 보호기법을 확인해보니 보통 보이지 않던 Packer라는것이 보였습니다. 내용은 UPX로 packed 되었다는군요. UPX(Ultimate Packer ..
-
[ROP] Chapter 1 - Introduction (KOR)Paper/KOR 2018. 7. 2. 05:42
Andreas Follner - Dissertation - Final ON GENERATING GADGET CHAINS FOR RETURN-ORIENTED PROGRAMMING Chapter 1 소개 모리스 웜(Morris worm)이 인터넷을 통해 퍼져 나갔을 때 Low-level 메모리 오염(corruption) 취약점이 발견되었다. 정확히 알 수 없지만 인터넷에 연결된 컴퓨터의 약 10%가 감염된 것으로 추정되며 그 당시에는 약 6,000대의 컴퓨터가 감염된 것으로 추정됩니다. 그밖에도 유사한 취약점을 이용한 CodeRed(2001), Slammer(2003), 혹은 Blaster(2003)등이 있다. 이로 인해 그러한 버그에 대한 인식이 높아졌지만, 오늘날의 소프트웨어에서는 여전히 흔하며, 현대적..
-
[Toddler's Bottle] bof write-upSystem hacking training/pwnable.kr 2018. 7. 1. 22:57
toddler's bottle 의 세번째 문제 bof를 풀이하겠습니다. (사실 순서대로 풀이하려고 했는데 MD5 해쉬 충돌...? collision문제를 아직 풀지 못해서 먼저 작성하겠습니다.) 5pt로 간단한 문제입니다. buffer overflow 는 가장 일반적인 소프트웨어 취약점 중 하나라고 알려주면서 bof 바이너리와 소스코드를 줍니다. 먼저 소스코드를 확인해보면 아래와 같습니다. #include #include #include void func(int key){ char overflowme[32]; printf("overflow me : "); gets(overflowme);// smash me! if(key == 0xcafebabe){ system("/bin/sh"); } else{ prin..
-
[Toddler's Bottle] collision write-upSystem hacking training/pwnable.kr 2018. 7. 1. 22:56
Toddler's Bottle의 두번째 문제 collision이라는 문제를 풀었다. Daddy told me about cool MD5 hash collision today. 라고 해서 해시 충돌 공격에 관한 문제인듯 했다. 그래서 열심히 구글링을 했고 얻은 결과는 MD5는 MD4를 대체하기 위해 나왔고 노트북 한 대의 계산 능력으로 1분 내에 해시 충돌을 찾을 정도로 빠른 알고리즘이 되었다는 사실 정도..? 이 해시 충돌이라는 것은 서로 다른 두 입력값에 대해 동일한 출력값을 내는 상황을 의미한다. 해시 함수가 무한 가짓수의 입력값을 받아 유한한 가짓수의 출력값을 생성하는 경우, 비둘기집 원리에 의해 해시 충돌은 항상 존재한다. https://ko.wikipedia.org/wiki/%ED%95%B4%E..
-
[ROP] Abstract (KOR)Paper/KOR 2018. 7. 1. 20:28
Andreas Follner - Dissertation - Final ON GENERATING GADGET CHAINS FOR RETURN-ORIENTED PROGRAMMING Abstract(초록) 임베디드 기기들의 증가와 함께, low-level 프로그래밍 언어인 C, C++은 현재 새롭게 주목받고 있습니다. 그러나 이러한 언어들은 안전하지 못하므로 프로그래밍 오류가 발생하여 시스템의 무결성을 손상시킬 수 있습니다. 이러한 언어들로 작성된 많은 프로그램에는 이러한 프로그래밍 오류를 갖고있으며, 이러한 오류들 가운데 가장 악명 높은것은 버퍼 오버플로우(buffer overflow)입니다. 이를 해결하기 위해 대부분의 주요 운영 시스템의 보안 개념을 통합하는 착취를 방해하도록 설계된 광범위한 완화 기술이..