분류 전체보기
지옥방 3주차 과제 LOB 2,3번 뿌시기
지옥방 3주차 과제 LOB 2,3번 뿌시기
2020.04.28LOB https://www.hackerschool.org/HS_Boards/zboard.php?id=HS_Notice&no=1170881885 https://www.hackerschool.org/HS_Boards/zboard.php?id=HS_Notice&no=1170881885 [BOF-BufferOverflow- 원정대란?] 비교적 쉬운 BOF 공략 환경인 Redhat 6.2에서부터 궁극의 Fedora 14까지 수십개의 레벨을 거쳐가며 BOF 시스템 해킹 실습을 하는 War-Game입니다. [접속 방법] BOF 원정대는 도메인이나 IP가 아닌, vmware 이미지 형태로 제공합니다. 따라서 각자의 PC에 워게임 서버를 가동하신 후 접속해 풀어나가는 방식입니다. [다운로드] 1. 다음 Vmware 이..
지옥방 포너블 3주차 과제 모음!
지옥방 포너블 3주차 과제 모음!
2020.04.24드림핵 뿌시기 http://caputdraconis.tistory.com/21 지옥방 3주차 과제 DreamHack-System Exploitation Fundamental 이 친구와 이번주 과제를 시작해보자! 원래 공부 잘하는 사람은 OT나 수업설명 같은거(다른 사람들은 보통 안듣는 시간)를 잘 보고 듣는다고 하길래 따라해봤다. 취약점의 발생 원인을 이해하고, 공격 기술과 보.. caputdraconis.tistory.com 달고나 문서 뿌시기 http://caputdraconis.tistory.com/22 지옥방 3주차 과제 달고나 문서 뿌시기! 커널(Kernel) 시스템이 운영에 필요한 기본적인 명령어 집합을 찾는 곳. 기본적으로 커널은 64KByte 영역에 자리잡지만 오늘날에는 더 큰 영역을 사용..
지옥방 3주차 과제 라젠카 뿌시기(NX Bit)
지옥방 3주차 과제 라젠카 뿌시기(NX Bit)
2020.04.24NX BIt(Nx bit, Never eXecute bit, 실행 방지 비트) 란? 프로세스 명령어나 코드 또는 데이터 저장을 위해 메모리 영역을 따로 분리하는 CPU 기술 NX 특성으로 지정된 모든 메모리 구역은 데이터 저장을 위해서만 사용 => 명령어가 들어갈 수 없다 => 악성코드가 실행되지 않도록 해준다. DEP(Data Execution Prevention) 윈도우 운영체제에 포함된 보안 기능, 악의적인 코드가 실행되는 것을 막기 위해 메모리를 추가로 확인하는 기술 DEP는 두가지 모드로 실행된다. 하드웨어 DEP 메모리에 명시적으로 실행 코드가 포함되어 있는 경우를 제외하고 모든 메모리 위치에서 실행 코드 실행 X 대부분의 최신 프로세서 지원 소프트웨어 DEP CPU가 하드웨어 DEP를 지원하..
지옥방 3주차 과제 라젠카 뿌시기(Return to Shellcode)
지옥방 3주차 과제 라젠카 뿌시기(Return to Shellcode)
2020.04.24Return to Shellcode Return address 영역에 Shellcode가 저장된 주소로 변경해, Shellcode를 호출하는 방식(달고나 문서에서 봤던 방법!!) call 명령어 call 명령어 다음 명령어의 주소 값(return address)을 stack에 push하고, 피연산자로 주어진 주소로 이동한다. ret 명령어 ESP(RSP)가 가리키고 있는 주소에 있는 값, 즉 call이 push 해놓았던 return address를 EIP(RIP)에 저장한 후, 그 주소로 이동 이 두 명령어가 실행될 때, 생성되고 사용되는 return address 값을 공격자가 바꿀 수 있다면, 프로그램의 흐름을 변경할 수 있다!!!개멋있다. line 4에 있는 명령어 call의 주소 값인 0x4004..
지옥방 3주차 과제 달고나 문서 뿌시기!
지옥방 3주차 과제 달고나 문서 뿌시기!
2020.04.23커널(Kernel) 시스템이 운영에 필요한 기본적인 명령어 집합을 찾는 곳. 기본적으로 커널은 64KByte 영역에 자리잡지만 오늘날에는 더 큰 영역을 사용. 하나의 프로세스(프로그램)을 실행시키면 이 프로세스를 segment라는 단위로 묶어서 가용 메모리 영역에 저장시킨다.(실행 시점에 실제 메모리의 어느 위치에 저장될 지가 결정된다 => 그래서 시작 위치로부터의 위치인 logical address를 사용한당) 오늘날의 시스템은 멀티 테스킹이 가능해서 메모리에 여러 개의 프로세스가 저장되어 병렬적으로 작업 수행. segment code segment, data segment, stack segment로 이루어져있다. code segment 시스템이 알아 들을 수 있는 명령어(instruction)들이 ..
지옥방 3주차 과제 DreamHack-System Exploitation Fundamental
지옥방 3주차 과제 DreamHack-System Exploitation Fundamental
2020.04.21이 친구와 이번주 과제를 시작해보자! 원래 공부 잘하는 사람은 OT나 수업설명 같은거(다른 사람들은 보통 안듣는 시간)를 잘 보고 듣는다고 하길래 따라해봤다. 취약점의 발생 원인을 이해하고, 공격 기술과 보호 기법의 진화 흐름을 알게 되는 것이 바로 이 강의가 추구하는 방향! 그 방향으로 알맞게 갔으면 좋겠다,, 해킹 특정 문제를 풀거나 비효율적인 시스템을 개선하는 해결책이라는 의미를 담은 단어 핵(hack)에서 유래. 컴퓨터의 하드웨어나 소프트웨어, 네트워크, 웹사이트 등 각종 정보 체계에서 주어진 권한 이상을 얻거나 의도하지 않은 동작을 일으키는 행위이다! 웹 사이트를 공격하는 웹해킹, 컴퓨터와 컴퓨터가 연결되는 네트워크를 공격하는 네트워크 해킹, 그리고 이 강의에서 자세하게 다루게 될!! 프로그램의..
웹해킹 4주차 [ PHP 학습 & 워 게임~]
웹해킹 4주차 [ PHP 학습 & 워 게임~]
2020.04.16이전에 '지옥방 멘토링'에서 했던 PHP 학습 https://caputdraconis.tistory.com/10 지옥방 멘토링을 할때 미리 해놓은 덕분에 MAMP 가 노트북에 깔려있었기에 설치하기 강의는 건너뛸 수 있었다. 이런 소소한거에 행복을 느낀다,,ㅎㅎ 이 위치에 있어야 localhost에서 열 수 있어요오!! 위와 같이 작성된 php파일을 브라우저로 열면 어떻게 출력될까?? php 태그 안에 있지 않은 echo는 그냥 그대로 출력이 되고 php 태그 안에 있는 echo는 Hello World만 출력된걸 볼 수 있다. 이를 브라우저의 소스코드로 보면 는 Hello World로 바뀌어 들어간걸 볼 수 있따!! 개쩐다잉 var_dump(원하는 데이터형)은 입력한 수의 데이터형과 값을 아래처럼 보여준다..
포너블 스터디 2주차 과제 제출
포너블 스터디 2주차 과제 제출
2020.04.10드림핵 요약 https://caputdraconis.tistory.com/16 달고나 문서 요약 https://caputdraconis.tistory.com/18
포너블 스터디 2주차(달고나 문서 요약)
포너블 스터디 2주차(달고나 문서 요약)
2020.04.10시스템은 커널을 메모리에 적재시키고 가용 메모리 영역(Available Space)을 확인한다. 기본적으로 커널은 64 KByte 영역에 자리잡지만 32bit 64bit를 이용하는 지금은 더 큰 영역을 사용한다. 하나의 프로세스(프로그램)을 실행시키면 위 그림과 같이 이 프로세스를 segment라는 단위로 묶어서 가용 메모리 영역에 저장시킨다. 하나의 segment는 최대 2^32 byte의 크기를 가질 수 있다. 하나의 segment는 code segment, data segment, stack segment로 이루어져있다. code segment *시스템이 알아들을 수 있는 명령어, 즉 instruction들이 들어있다. 이 instruction들은 명령을 수행하면서 많은 분기 과정과 점프, 시스템 ..
지옥방 스터디 포너블
지옥방 스터디 포너블
2020.04.09실습환경 : Ubuntu 18.04.4, Nasm 어셈블리어 :기계어와 1 대 1로 대응되는 명령어 체계를 가진 컴퓨터 프로그래밍 언어 어셈블리어 문법은 두가지가 있다 => 윈도우 사용 : Intel 문법 / 리눅스 사용 : AT&T 문법 opcode 명령어 또는 연산자의 의미를 갖는다. operand 데이터 또는 피연산자의 의미를 갖는다 opcode가 '더하라'이고 operand가 3,4라면 3과 4라는 더하라는 명령이라고 이해할 수 있다. 메모리 메모리의 기본 단위는 1 byte이다. 메모리에서 각 byte는 메모리 주소라는 고유 숫자가 붙어있다. 메모리 단위로는 word = 2 바이트, double word = 4 바이트, quad word = 8 바이트, paragraph = 16 바이트 . 메모..
포너블 2주차 과제 드림핵 요약
포너블 2주차 과제 드림핵 요약
2020.04.09*소프트웨어 버그 * 프로그램이 잘못된 결과를 내거나, 오류를 발생하는 등의 의도치 않은 동작을 수행하게 되는 문제 소프트웨어 취약점 공격자가 주어진 권한 이상의 권한을 획득하거나 프로그래머가 의도하지 않은 동작을 수행할 수 있도록 하는 소프트웨어 버그를 의미 ==> 보안 전문가들은 취약점을 패치해 프로그램을 보호한다. 익스플로잇 악용, 취약점을 이용해 공격자가 의도한 동작을 수행하게 하는 코드 혹은 이를 이용한 공격 행위 취약점이 공격자의 의도를 달성하는 데 어느 정도 도움을 주는지를 기준으로 소프트웨어 버그는 4가지로 분류할 수 있다. *소프트웨어 버그(Bug) * 가장 상위에 있다. ㄴ *소프트웨어 취약점(Vulnerability) * 소프트웨어 버그 중 보안에 영향을 미칠 수 있는 버그 ㄴ **익..
웹해킹 스터디 3주차 과제(Javascript 학습 & 워게임)
웹해킹 스터디 3주차 과제(Javascript 학습 & 워게임)
2020.04.07자바스크립트 코드는 hmtl 코드에서 와 사이에 들어간다. 다른 많은 코드들과 같이 한 명령문이 끝날때에는 세미콜론(;)을 붙여 마무리한다. alert(1); *alert( ) * alert 함수는 괄호 안의 숫자 혹은 문자열을 알림창 형태로 출력한다. 로그인 할때 비밀번호 오류 알림창과 같은 형태이다. 자바스크립트에서는 큰 따옴표(" ") 혹은 작은 따옴표(' ')로 감싸져있는 것은 문자열, 그렇지 않은 것은 숫자로 인식한다. 크롬 기준 f12를 누르면 나오는 개발자 도구의 console 창에서 자바스크립트 코드를 입력하며 실행 결과를 확인할 수 있다. Math라는 객체에 수학과 관련된 함수들이 굉장히 많다! Math.pow( ) 첫 인자값의 두번째 인자 승을 반환한다. 위의 Math.pow(6,4)는..