일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- liblzma
- kernel image
- xz-utils
- Kernel
- kernel img
- newbie
- 백도어
- cwe-506
- CVE-2024-3094
- rootfs
- kernel build
- Today
- Total
목록STUDY (69)
ZZoMb1E

※ 잘못된 부분이 있으면 알려주세요. 확인 후 수정하도록 하겠습니다. ※ FSB는 Format String Bug의 약자로 이름 그대로 형식 지정자의 잘못 사용으로 인해 발생하는 취약점이다.변수의 출력을 위해 아래와 같이 printf()를 많이 사용해왔을 것이다.printf("%d",num1);이 방식대로 사용하는 것이 올바른 방법이다라는 것은 알고 있을 것인데, 그러면 취약한 코드의 경우에는 어떻게 사용하였기에 Bug가 발생하는 것일까? 형식 지정자란?이를 이해하기 위해서는 형식 지정자가 무엇인지 알아야 한다. 형식 지정자는 printf()나 scanf()와 같은 함수에서 가변 인자를 받아 처리하기 위한 데이터 포맷이다. 예를 들어, %d는 정수를 출력하는 형식 지정자이고, %s는 문자열을 출력하는 ..

※ 잘못된 부분이 있으면 알려주세요. 확인 후 수정하도록 하겠습니다. ※ Holsteinhttps://whrdud727.tistory.com/entry/KERNEL-Environment-Setting [KERNEL] Environment Setting※ 잘못된 부분이 있으면 알려주세요. 확인 후 수정하도록 하겠습니다. ※ https://lrl.kr/JT5m カーネルexploitへの導入 | PAWNYABLE!カーネルexploitへの導入 「ユーザーランドのpwnは一通り勉強したけwhrdud727.tistory.com앞서 설치한 예제에 포함된 간단한 취약점을 지닌 커널 모듈로 open, read, write를 포함하고 있다. 앞서 설치를 진행했던 설정을 가지고 진행하겠다. 취약점이 존재하는 커널 모듈은 S99..
※ 잘못된 부분이 있으면 알려주세요. 확인 후 수정하도록 하겠습니다. ※ SMEP (Supervisor Mode Execution Prevention)커널 공간의 코드를 실행하는 동안 유저 공간의 코드를 실행하는 것을 막는 기법이다.유저 공간에서의 코드의 실행을 막는 NX(No Exute)와 유사하다.하드웨어 보안 기법으로, CR4 레지스터의 21번째 비트가 활성화되면 SMEP가 걸린 것이다. 설정 방법은 커널 환경을 구축하는 sh파일에 아래와 같은 부분을 추가해주면 된다.-cpu kvm64, +smep 환경 내부에서 보호기법이 걸려있는지 확인할려면 아래 명령을 실행하면 된다.cat /proc/cpuinfo | grep smep SMAP (Supervisor Mode Access Prevention..

※ 잘못된 부분이 있으면 알려주세요. 확인 후 수정하도록 하겠습니다. ※ https://lrl.kr/JT5m カーネルexploitへの導入 | PAWNYABLE!カーネルexploitへの導入 「ユーザーランドのpwnは一通り勉強したけど、カーネルからは難しそうで手が出ない」という方は多いでしょう。しかし、実はカーネルexploitでは、場合によってはとpawnyable.cafe실습에 있어서 pawnyable.cafe 에 올라와있는 예제파일을 사용하였다. 예제 파일 다운로드mkdir kernelcd kernelwget https://pawnyable.cafe/linux-kernel/LK01/distfiles/LK01.tar.gztar -xzvf LK01.tar.gz 각자 환경에 맞는 qemu도 설치를 해준다.apt instal..
※ 잘못된 부분이 있으면 알려주세요. 확인 후 수정하도록 하겠습니다. ※KERNEL의 전반적인 내용은 아래 링크에서 학습을 하였다.https://pawnyable.cafe/ Kernel Exploit은 일반적인 stack, heap exploit과의 무슨 차이가 있을까??기본적으로 어떤 것을 목표로 exploit이 실행되는지에 있어서 차이가 발생한다. 지금까지 공부해왔던 exploit들은 shell 취득, 임의 명령어 실행을 통한 flag 내용 읽기 등을 목표로 이루어졌다. 반면에 Kernel에서는 [권한 상승]이라는 것을 목표로 exploit을 사용한다.이런 권한 상승 중 로컬 환경에서 일어나는 것을 LPE(Local Privilege Escalation)이라고 한다. Target은 어떻게 구성되..

※ 잘못된 부분이 있으면 알려주세요. 확인 후 수정하도록 하겠습니다. ※ Kernel 영역의 Exploit을 학습하기 위해서는 Kernel이 어떤 것인지를 인지하고 있어야 한다. 기본적인 Linux의 구조는 위 그림과 같다. 우리가 Linux를 다루는데 있어서 각종 명령을 입력하는 작업을 수행한다. 이때 우리는 Shell이라는 부분을 다루게 된다. 이후 우리가 입력한 명령을 하드웨어에서 작동할 수 있도록 관리 및 통역해주는 역할을 해주는 것이 Kernel이다. Shell기본적인 Shell은 사용자와 커널 사이의 인터페이스 역할을 수행한다. • 명령어 해석: 사용자가 입력한 명령을 해석하여 커널로 전달 사용자가 입력한 명령어는 셸이 해석하여 커널로 전달되며, 커널은 이를 처리한 후 결과를 다시 셸에..

※ 자료들을 참고하여 분석을 진행하였기에 잘못된 부분이 있을지도 모릅니다. ※ 보완 혹은 수정해야 되는 부분이 있다면 알려주시면 확인 후 조치하도록 하겠습니다. 1. 분석대상LibXML2란?XML 문서를 구문 분석하기 위한 소프트웨어 라이브러리로 XML 파싱과 조작하는 명령을 지원한다.• XML 파싱 및 조작 - XML 문서를 로드하여 처리• XPath 지원 - XML 문서 내의 노드를 탐색하고 선택하는데 사용되는 언어• XSLT 변환 - XML 문서를 다른 형식으로 변환하는데 사용되는 언어• DTD.Relax NG, XSD 검증 - XML 스키마 언어를 이용한 문서 검증 기능 제공• 다국어 인코딩 지원 2. CVE Code CVE-2017-9048valid.c:xmlSnprintfElementCont..

※ 자료들을 참고하여 분석을 진행하였기에 잘못된 부분이 있을지도 모릅니다. ※ 보완 혹은 수정해야 되는 부분이 있다면 알려주시면 확인 후 조치하도록 하겠습니다. 1. 분석대상libtiff란? TIFF 태그 이미지 파일 형식을 읽고 쓰기 위한 라이브러리로, TIFF 형식을 처리하기 위한 명령을 포함하고 있다. TIFF 파일은 3가지 섹션으로 구성되어 있다.이미지 파일 헤더, 파일 디렉토리, 비트맵 데이터로 구성되어 있으며 TIFF 파일은 이미지 하나당 IFD와 하나의 비트맵이 존재한다.https://www.fileformat.info/format/tiff/egff.htm TIFF: Summary from the Encyclopedia of Graphics File FormatsUsage Used fo..

※ 잘못된 부분이 있으면 알려주세요. 확인 후 수정하도록 하겠습니다. ※ SROP( SigReturn-Oriented Programming )는 sigreturn syscall을 사용하는 ROP 기법이다. Signal을 처리하는 과정에서 유저모드 커널모드 간의 상호작용이 일어난다.이 과정을 컨텍스트 스위칭이라고 한다. 유저모드에서 커널모드로 전환 시 기존 레지스터 값을 포함한 정보들을 유지해야 다시 복귀하고 나서도 다음 기능들을 이어서 할 수가 있다. 이때 값을 복구해주는 함수는 restore_sigcontext이다. static bool restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *usc, u..

※ 잘못된 부분이 있으면 알려주세요. 확인 후 수정하도록 하겠습니다. ※ aarch64 기법 공부 중 대학 동기가 문제를 하나 만들어주었다. [Exploitable]이라는 이름의 Buffer OverFlow 문제이다. symbol이 지워져있다.. (아 귀찮... 그래도 static은 안걸려있으니까...) main()으로 보이는 함수이다.별다른 취약점은 보이지 않는다. 호출되는 함수이다.구조는 매우 단순하다. 앞서 다뤘던 예제처럼 main()이 아닌 호출되는 함수쪽에서 bof취약점이 발생한다. 하지만 바로 Shell을 얻거나 flag를 출력해주는 함수가 존재하지 않기 때문에 gadget들을 사용하여 chain을 구성해야 한다. ROPgadget --binary Exploitable#0x00000000004..