Posts
-
PERFETTO: Perfetto를 이용한 F2FS 파일시스템 모니터링
Perfetto를 이용한 안드로이드 Pixel 6 기기의 f2fs 파일시스템을 모니터링 해보는 실습을 진행해 보았습니다. 1. f2fs 설명 2. Perfetto 설명 3. 실습 진행 4. 결론 으로 구성된 글입니다.
-
ROP
sadf Return Oriented Programming의 약어이다. 기존 RTL에서 더 발전하여 NX, ASRL, Stack Canary가 모두 적용된 파일에도 메모리 취약점을 적용시켜서 exploit할 수 있는 방법이다. 쉽게 말하면, lib.so에 있는 system()을 사용하기 위해서 타겟 프로그램의 lib.so에 있는 함수 사용을 확인한뒤 해당 함수를 바탕으로 lib.so에서 system()의 주소를 구한 뒤 가젯을 활용하여 해당 system()을 실행하는 공격이다. 더 자세한 이해는 직접…
-
Stack Canary Bypass – SSP_001
드림핵의 문제 중 Stack Canary Bypass 를 실습해 보았다. 문제의 코드는 다음과 같다. 2. Exploit 위 코드에서 주석으로 표시한 부분이 취약한 부분이다. #0을 보면 쉘을 실행하는 부분을 확인할 수 있다. 이 함수의 주소를 확인하여 main에 ret에 덮으면 쉘이 실행될 수 있다. #1을 보면, print_box는 앞서 입력한 Element index의 값에 위치한 인덱스를 보여주는 부분이다. 이 기능을…
-
HUAWEI P30 lite Rooting
이번 포스팅은 HUAWEI P30 lite Rooting 에 관한 내용입니다. 평소 저는 삼성 폰에 대한 루팅은 많이 진행하였는데, 중국 HUAWEI P30 lite Rooting 하는 경험은 처음이여서 블로그에 포스팅합니다. 제가 작업할 P30 Lite의 경우 현재 비교적 최신 기종이기 때문에, 예전 화웨이 고객센터에서 제공하던 Bootloader Unlock 코드를 제공하는 방법은 없어진 상태였습니다. 따라서 현 시점에서 부트로더를 해제할 수 있는…
-
대칭키와 공개키의 차이점과 난수
대칭키와 공개키 알고리즘의 차이점은 암호키 관점에서 알고리즘을 분류했을 때 아래 그림과 같다. 대칭키는 키가 1개, 공개키는 키가 2개이다. 대칭키 대칭키는 대부분 블록 암호 형태로 사용한다. 즉, 고정 길이 평문 블록을연산하여 동일한 크기의 암호문을 생산하는 형태이다. 이러한 형태의 암호 알고리즘으로 DES, 3-DES, AES가 있다. 아래 표는 각 알고리즘의 키의 크기와, 복호화하는데 걸리는 시간을 뜻한다. 공개키 공개키:𝑃𝑈={E,N}개인키:𝑃𝑅={D,N}…
-
X.509 인증
공개키 인증서(Public-key certificate) 신뢰하는 제 3기관에 의해 서명된 메세지와 소유자의 사용 ID를 더하여 구성한 것으로 일반적으로 제 3기관은 CA(Cretificate Authority)라고 하며, 정부 기관 또는 금융기관에서 운영한다. 사용자는 자신의 공개키를 CA에게 제출하고 CA는 이를 서명하여 인증서를 생성해 준다. 사용자의 공개키가 필요하면 사용자 인증서를 획득하고, 인증서의 서명으로 유효성 검증이 가능하다. X.509 Certificates X.500 디렉터리의 인증서비스를 사용자에게 제공하는…
-
Cloud Computing 데이터 보안
Cloud Computing 데이터 보안이다. 먼저 클라우드 상 데이터는 아래 그림과 같은 Life Cycle이 된다. 데이터는 접근, 처리, 저장의 기능을 통해서 Life Cycle을 거쳐가는데, 이러한 과정에서 위험 관리가 이루어 진다. Risk Management 용어 1. 위험 명세(Risk Profile)자신이 노출되는 위협과 같은 위험을 감수하려는 조직의 의지 2. 위험 성향 / 감내 (Risk Appetite / Tolerance)수용 위험의 양과 위험…
-
Cloud Computing
Cloud Computing ? Cloud Computing 은 어디서나 존재하고 편리하며, 공유된 컴퓨팅 자원 풀(pool) 설정이 가능하면서 네트워크 접근 요청에 즉시 응답하는 모델 – by NIST용어: CP(Cloud Provider), CC(Cloud Consumer) Cloud Computing 요소 아래 요소에 대한 설명이 이 글의 주된 내용이 되겠다. 1. 배포 모델 Public – 사용자가 비용을 지불하며, 클라우드 서비스 제공업체(CP: Cloud Provider)의 인프라를 사용…
-
(web) Curlove
안녕 오늘은 드림핵 ‘curl’ + ‘ove’ 문제를 풀어보자. 난이도가 5로 상당히 높게 책정되었는데, 난이도에 걸맞게 크게 두가지 파트로 나누어진 문제였다. 이 문제에서 주는 인사이트는 정규식 우회와 curl의 메타기호와 url의 구조이다. 먼저 문제에서 다운로드 받은 app.py의 코드를 살펴보면, 플래그의 위치는 현재 디렉터리인 것을 알 수 있다. 위의 코드를 보면, admin 권한이 있어야, 들어갈 수 있는 관리자…
-
(취약한 웹 로직) chocoshop
오늘 풀어볼 문제는 드램핵의 chocoshop이라는 문제입니다. 먼저 문제 사이트를 보면, 쿠폰을 발행해서 1000원을 모을 수 있는데, flag의 가격은 2000원입니다. 쿠폰을 한번 더 발행 받으려고 하니까 다음과 같은 알림이 옵니다. 드림핵 문제 설명에선, 쿠폰을 검사하는 로직이 취약하다니 그 부분을 한번 보겠습니다. 일단 쿠폰을 발급 받아 보니, jwt 형태로 이걸 jwt.io에 올려서 확인해보았습니다. uuid, user, amount, expiration이…
-
(python) eval() Vulnerability
오늘 글을 좀 많이 쓰는데 마지막 글로 eval() 취약점에 대한 글을 쓰려고 한다. 파이썬에선 Eval함수가 존재하는데, 이 함수는 안에 문자열(string)을 그대로 파이썬 내에서 실행 시켜주는 아주 편리하면서 위험한 함수이다. 아래와 같이 string을 자동으로 연산해주거나 코드로 변환해서 결과 값을 리턴 해준다. 오늘 이 취약점을 실습해 볼 예제는 어김없이 드림핵 문제 Addition calculator이다. 코드는 필터링 하는 부분하고…