Sunrin

    컴퓨터의 부팅 과정과 Memory

    I. 컴퓨터의 부팅 과정 0. What's Booting? 컴퓨터를 키면 부팅이 되기 때문에, 컴퓨터를 켜는 것과 부팅을 같은 의미로 많이 쓰곤 한다. Booting은(Bootstrapping의 준말) 메모리에 운영체제(OS)를 끌어다놓는 모든 과정으로 시스템을 사용 가능하게 만드는 과정이다. 운영체제 Operating System : 컴퓨터 시스템의 HW, SW를 운영, 관리하며 사용자와 컴퓨터 사이의 중개자 역할을 한다. 대표적으로 Windows, Linux 등이 있다. 1. 컴퓨터가 부팅되는 과정 ① Power Supply가 전압을 받아 컴퓨터를 쓸 수 있게 가공한다. ② 전기가 메인보드로 가고, 이 전기는 메인보드에 부착되어있는 모든 부품들에게 공급된다. ③ CPU가 BIOS를 실행한다. ④ BI..

    [HackCTF] Basic BOF #1 #2

    Basic_BOF #1 :3 :4 s는 ebp-34h에 v5는 ebp-Ch에 있다. s는 40자를 담을 수 있는 크기를 갖고 있다. (34-C=28) 28(16) = 40(10) :7 fgets를 통해서 사용자로부터 45자를 입력받는다. :12 v5가 -559038737이면 쉘을 딸 수 있다. 559038737는 0xdeadbeef이다. s의 크기가 40byte인데 45byte까지 입력받을 수 있기 때문에 문자 40개로 s를 덮어버리고 0xdeadbeef를 보내면 될 것 같다. 다음은 작성한 exploit코드와 실행 결과이다. Basic_BOF #2 :3 s의 크기를 바로 구해보면 128byte이다. 8C-C = 80 80(16) = 128(10) :7 fgets로 133자를 입력받을 수 있다. 4번 문..

    HackCTF Sysrop

    이미 많이 나와있는 여러가지 write up을 보면서 따라하며 익혔다. 1. 실행 sysrop 파일을 실행하면 입력을 받고 끝난다. NX bit가 걸려있다. NX bit가 걸려있기 때문에 쉘코드는 사용할 수 없다. NX bit같은 보안 방어가 있는 상태에서는 ROP(코드를 실행할 수 있게 해주는 기술)를 시도할 수 있겠다. 소스코드를 읽어보면 rbp-0x10에 0x78(120)크기 만큼의 데이터를 입력받을 수 있다. 여기에서 overflow가 일어난다. 2. exploit read 말고는 다른 함수가 없다. libc 주소를 leak을 하기 위해 사용해야하는 함수가 딱히 없다. 이때 시도할 수 있는 방법이 syscall을 이용한 ROP이다. (read 함수 안에서 호출되는 syscall을 이용하는 ROP)..

    크립토 재킹

    보호되어 있는 글입니다.

    디지털 포렌식과 윤리문제

    보호되어 있는 글입니다.

    HackCTF : Cryptography, Smooth CipherText, Classic Cipher

    보호되어 있는 글입니다.

    중계동 가정집 해킹사건 : 마우스재킹

    보호되어 있는 글입니다.