23. 09. 26 RedHat 6.2을 VMware에서 구동하여 공부를 해야하는 상황인 경우 1. Copy & Paste(복붙) 이 안되는 문제와 2. Display setting(화면 설정)이 안되는 문제를 해결하기 위해 사용한 방법을 정리하고자 한다 필요 프로그램 Xshell(또는 telnet이 가능한 무엇이든) https://www.netsarang.com/en/free-for-home-school/ ssh를 사용할 수 없어 telnet으로 연결하고자 한다 다른 telnet을 이용하여 원격 연결이 가능한 프로그램이 있다면 그것을 사용해도 좋다 설정 방법 1. telnet 연결을 위해 23번 포트가 활성화되어 있는지 확인한다 netstat -tuln 활성화되어 있지 않다면 다음 명령어로 실행할 수 ..
glibc-2.23 #1. 개념 seccomp는 Secure Computing Mode의 약자로 리눅스에서 sandbox를 기반으로한 보안 메커니즘으로 syscall 허용 및 차단이 주요 기능이다 일반적인 checksec로는 확인이 불가능하며 컴파일 시 적용시키는 보호기법이 아니라 바이너리 내부에 설정하는 방식이다 설정은 prctl함수를 통해 바이너리 내부에 적용시킬 수 있으며 seccomp-tools를 통해 해당 바이너리의 seccomp규칙을 확인할 수 있다 $ seccomp-tools dump [파일경로] #2. 사용법 자세한 방법을 따로 정리하고 싶었으나 다른분이 잘 정리해두어 링크 남겨두겠다 velog.io/@woounnan/LINUX-Seccomp LINUX] Seccomp seccomp 이해 ..
glibc-2.23 #1. 소개 unsorted bin attack 은 how2heap에 자세히 소개되어있다 github.com/shellphish/how2heap/blob/master/glibc_2.26/unsorted_bin_attack.c unsorted bin attack은 glibc-2.27 까지 응용가능하며 실습은 glibc-2.23에서 진행할 예정이다 다른 heap 공격기법에 비해 단순하기 때문에 간단히 정리해보면 unsorted bin attack을 하기 위해서는 unsorted bin free chunk의 bk 값 조작만 가능하다면 이용할 수 있고 unsorted bin attack으로 할 수 있는 것은 임의의 주소에 main_arena 주솟값을 남길 수 있다 #2. 분석하기 unsort..
# KASLR ( Kernel Address Space Layout Randomization ) 2013년, 커널 영역에 대한 주솟값 랜덤 매핑이 적용되었다 때문에 Kernel exploit을 하기위해서는 유저모드의 libc base를 leak하는 것과 같이 kernel base 의 address leak이 필요하게 되었다 위 예시와 같이 커널 함수들의 주소는 앞 4byte가 0xffffffff로 패딩되어있으며 하위 3byte를 수정함으로써 커널 함수들을 사용할 수 있다 * 커널에는 모듈도 지원을 하는데 이 모듈들의 주솟값도 얻게되면 디버깅이 가능하다 당연하게도 단순히 주솟값을 랜덤화한 것뿐이기 때문에 exploit이 힘들어질지는 몰라도 leak된다면 kernel exploit이 가능해진다 # KAISE..
# 소개 멜트다운(Meltdown, "붕괴")은 인텔 x86 마이크로프로세서, IBM 파워 마이크로프로세서 및 일부 ARM 기반 마이크로프로세서에 영향을 주는 하드웨어 취약점이다. 멜트다운 버그는 마이크로프로세서가 컴퓨터의 메모리의 전체를 볼수있도록 프로그램의 접속을 허용하며, 이로 인해서 전체 컴퓨터의 내용에 접근할 수 있다. - 위키백과 CPU의 성능을 향상시키기 위해 도입된 기술로 인하여 일반 유저 권한의 프로세스가 접근이 보호되어진 커널 영역의 메모리를 읽을 수 있는 취약점 # 배경지식 1. 예측실행 CPU가 한줄의 명령어를 처리하기위해 걸리는 시간은 명령어마다 상이하다 만약 순차적으로 하나씩 처리한다면 정직하게 일을 할 것이다 하지만 최신 프로세서들은 현재 처리중인 명령어 다음에 존재하는 명령어..
# 왜 필요한가 이 게시글을 통해서 얻을 수 있는 결과는 (물론 무료이지만) 개인이 서버와 같이 서비스를 제공할 수 있는 IP 주소를 가질 수 있다 그렇다면 왜 이런 IP 주소를 얻으려고 하는걸까? 내가 이 게시글을 쓰는 이유는 다음과 같다. 1. pwnable 문제를 서버로 제공하기 위함 2. 나만의 웹사이트를 만들어보기 위함 3. 네트워크를 과제를 하기 위함 그렇다면 서버와 같은 서비스를 제공하는 IP가 무엇일까? 먼저 우리가 자주 듣는 Host(호스트)가 무엇인지부터 간단하게 이해해보자 호스트란 컴퓨터 네트워크에 연결되어 있는 컴퓨터나 연결 장치를 뜻한다 즉, 네이버도 호스트이고 내 컴퓨터도 하나의 호스트이다. 그리고 이 호스트는 서버와 클라이언트로 구분할 수 있다. 서버는 서비스를 제공하는 역할을..