# SYSTEM
[dreamhack] Stage3 - Tool Installation
컴퓨터 과학에서는 실수로 발생한 프로그램의 결함을 버그 라고 한다.이러한 버그 들을 찾아서 패치하기 위해 디버거(Debugger) 라는 도구가 개발되었다.디버거는 문자 그대로 버그를 없애기 위해 사용하는 도구이다.디버거를 통해 버그 발견이 쉬워짐으로써, 개발자들은 버그
[dreamhack] System-stage2 : background - Computer Science
Background: Linux Memory layout 1. 서론 코스 소개 컴퓨터는 크게 CPU 와 메모리로 구성되어 있으며, CPU는 실행할 명령어와 명령어 처리에 필요한 데이터를 메모리에서 읽고, Instruction Set Architecture(ISA) 에
[System] 도커 칼리 리눅스 Docker Kali Linux / Mac 에서 설치 및 실행 / VirtualBox와 비교
도커는 이미 존재하는 기술을 잘 포장했다고 할 수 있다. 컨테이너, 오버레이 네트워크, 유니온 파일 시스템 등 이미 존재하는 기술을 도커처럼 잘 조합하고 사용하기 쉽게 만든 것은 없었고 사용자들이 원하는 기능을 간단하고 획기적으
[dreamhack] System-stage1
본 강의는 C언어와 파이썬에 대한 기본적인 이해가 필요.본 커리큘럼은 Ubuntu 18.04(x86-64)를 기반으로 작성원활한 실습을 위해서는 리눅스 가상 환경을 구축해야 함.이를 위해서 가상 머신 필요window+R 로 실행창을 연 후, winver 를 입력하여 윈
[OS] 리눅스 프로그래밍 (수정중)
Message Queue in Linux Kernel by C lang 리눅스에서의 메시지 큐를 생성하고 메시지를 전송하는 예시 코드입니다. 이 코드는 리눅스의 시스템 콜 함수인 msgget, msgsnd를 사용하여 메시지 큐를 생성하고 데이터를 보내는 예시입니다.아래

IO, Synchronous/Asynchronous, Blocking/Non-Blocking
I/O 작업은 유저 프로세스가 커널에 데이터 처리를 요청하고 응답을 받는 작업이다.작업의 성향에 따라 다음 4가지로 분류된다.Sync(Synchronous)Async(Asynchronous)BlockingNon-Blocking이 4가지 작업에 대한 명확한 구분을 이해하

[overthewire] Narnia level3
ssh -p 2226 narnia3@narnia.labs.overthewire.orgpw: vaequeezee 0xff 0xe4 는 jmp esp이다 즉 esp로 eip를 옮기는 것이다. return address에 이 주소를 넣은 후 그 다음에 바로 shellcod

[overthewire] Narnia level2
ssh -p 2226 narnia2@narnia.labs.overthewire.orgpw: nairiepecu /narnia/ 디렉터리에서 narnia2.c파일의 내용을 확인해보자소스코드를 확인해봤을 때 main 함수에서 인자값을 받고 있고, 조건문에서 인자값이 있는

[overthewire] Narnia level1
ssh -p 2226 narnia1@narnia.labs.overthewire.orgpw: efeidiedae /narnia/ 디렉터리에서 narnia1.c파일의 내용을 확인해보자main 함수에서 EGG라는 이름의 환경변수가 있는지 확인한 후에 함수 포인터 ret에

[overthewire] Nania level0
ssh -p 2226 narnia0@narnia.labs.overthewire.orgpw: narnia0 /narnia/ 디렉터리에서 narnia.c파일의 내용을 확인해보자scanf 함수에서 스택 오버플로우 취약점이 있는 것을 확인할 수 있고, val 변수의 값을 0

AMSI(Antimalware Scan Interface) 파헤치기 [1편]
최근 AMSI를 활용해야 할 일이 있었다. 관련되어 정보를 조사하며 느낀 것이, AV 제품이나 샌드박스 분석 플랫폼 등 많은 보안 제품에 활용하기 좋은 기술인데 이해도 문제로 활용 범위가 제한되고 있다는 생각이 들었다.본인은 이러한 AMSI에 대한 이해도 향상에 기여하

[Pwnable.kr] fd 풀이문서
아래 코드를 사용하여 접속32bit ELF 파일프로그램의 인자값이 2개 이상인지 확인fd 에 atoi( argv\[1] ) - 0x1234 값을 대입buf 변수에 사용자 입력값을 받음"LETMEWIN\\n" 과 buf 의 값을 비교 후 값이 같다면 /bin/cat fl

[overthewire] Leviathan level6
ssh -p 2223 leviathan6@leviathan.labs.overthewire.orgpw: UgaoFee4li 현재 디렉터리에서 정보를 확인한다.현재 디렉터리를 확인해보니 leviathan6 바이너리 파일이 있다.해당 바이너리 파일을 실행시켜보자해당 바이너

[overthewire] Leviathan level5
ssh -p 2223 leviathan5@leviathan.labs.overthewire.orgpw: Tith4cokei 현재 디렉터리에서 정보를 확인한다.현재 디렉터리를 확인해보니 leviathan5 바이너리 파일이 있다.해당 바이너리 파일을 실행시켜보자해당 바이너

[overthewire] Leviathan level4
ssh -p 2223 leviathan3@leviathan.labs.overthewire.orgpw: Ahdiemoo1j 현재 디렉터리에서 정보를 확인한다.현재 디렉터리를 확인해보니 setuid가 걸려있는 level3 바이너리 파일이 있다.해당 파일을 실행시켜보자프로

[overthewire] Leviathan level3 풀이문서
ssh -p 2223 leviathan3@leviathan.labs.overthewire.orgpw: Ahdiemoo1j 현재 디렉터리에서 정보를 확인한다.현재 디렉터리를 확인해보니 setuid가 걸려있는 level3 바이너리 파일이 있다.해당 파일을 실행시켜보자프로

[overthewire] Leviathan level2 풀이문서
ssh -p 2223 leviathan2@leviathan.labs.overthewire.orgpw: ougahZi8Ta 현재 디렉터리에서 정보를 확인한다.현재 디렉터리를 확인해보니까 pringfile이라는 바이너리 파일이 있다. 해당 파일에 setuid가 걸려있는

[overthewire] Leviathan level1 풀이문서
ssh -p 2223 leviathan1@leviathan.labs.overthewire.orgpw: rioGegei8m 현재 디렉터리에서 정보를 확인한다.현재 디렉터리를 확인해보니까 check이라는 바이너리 파일이 있다. 해당 파일에 setuid가 걸려있는 것으로