일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 생활코딩 html
- vinetto
- memory
- Multimedia
- 슬퍼유
- disk
- 디지털포렌식
- N0Named
- pythonchallenge
- 생활코딩
- ZIP 파일구조
- 포렌식
- Multimeida
- network
- 디지털포렌식 with CTF
- Window process
- 윈도우 프로세스
- 실기
- CTF-D
- 24시간의 전사
- html
- 2022시작
- 는 하지마...
- slack space
- ftz
- 네트워크관리사2급
- blkls
- 정보처리기사 필기 합격
- 네트워크 보안
- 윈도우 프로세스 종류
- Today
- Total
목록분류 전체보기 (253)
ssoL2 TISTORY
보호되어 있는 글입니다.
풀이 내용 적기 전에 마지막에 너무 허무하게 풀리긴 했는데 진짜..............파일 구조 다 따지면서 몇시간동안 봤는데 아무 쓰잘데기 없는 짓이었다니... 진짜 허무하다,,,,,,,,,,,,,,,,,,,,,ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 흐그흐흐그ㅡ흑 QR코드 등장 => QR코드를 읽을 일이 있을 것이다 예상했어야해..!ㅠ.ㅠ;; PNG 파일 HxD로 살펴보면 footer signiture 뒤에 쓰레기 데이터 쌓여있음 그거 따로 빼서 살펴보니 50 4B 03 04로 시작함 => ZIP 파일이다 ! 압축 파일 압출 해제하고 내용물 봐봅시다. answ 파일 존재해서 텍스트 파일로 열어보니 flag} 라는 문구 등장 오른쪽 중괄호만 있는 것 보니 다른 플래그도 찾아내야 하는 상황 아까 QR코드 였으니까 S..
일단 sudo apt install ruby 하고 gem install zsteg하는데 밑에 오류 You don't have write permissions for the /var/lib/gems/2.7.0 directory. 오류나면 이거 따라 ㄱㄱ int-i.github.io/linux/2020-09-07/ruby-no-permission/ Ruby: You don't have write permissions for the /var/lib/gems/2.7.0 directory. - 인하대학교 인트아이 $ sudo apt-get install ruby-full Ruby를 처음 설치하고 gem update를 하면 Ruby: You don't have write permis... int-i.github.i..
문제 : Left Side B 자체가 힌트... B 왼쪽에 뭐가 있단 뜻인가..흠(?) b.zip을 압축해제 후 task.bmp 파일 발견. bmp라면.........................LSB 변조? HxD로 살펴봅시다. bmp 파일 헤더에서 형광펜 쳐놓은 8A 00 00 00은 실질 데이터 픽셀의 시작 offset이다. 리틀인디언으로 0000008A 주소로 가보면 픽셀데이터가 시작된다. 픽셀 데이터 시작 부분부터 형광펜 친 부분 전체가 FF와 FE로 번갈아서 나오는데 딱보니까 LSB 변조처럼 보인다 ㅇㅇ 왜냐면 bmp 사진엔 흰색바탕만 있는데 FF 대신 굳이 FE ? 그래서 그 변조 부분들만 골라서 더러운 파이썬 실력으로 대충 짜서 FE는 0으로 FF는 1로 치환하고 8개씩 묶어서 ASCII로..
공부 1. 추천문서 bpsecblog.wordpress.com/2016/08/21/amalmot_4/ 정독 2. 스테가노 그래피 도구 알아보기 3. 이미지 스테가노 체크리스트 stegonline.georgeom.net/checklist 정독 1. 추천문서 정독하기 bpsecblog.wordpress.com/2016/08/21/amalmot_4/ 스테가노그래피 스테가노그래피(steganography) : 고대 그리스 언어 "stegos"(감추다) + "graphie"(글) = "감춰진 글" 일반 메세지에 비밀 메세지를 숨기고 최종 목적지에서 비밀 메세지를 볼 수 있는 것 호스트 파일(또는 carrier 파일) : 비밀 메세지를 저장하고 있는 파일 페이로드 : 호스트 파일 안에 숨겨진 비밀 문서 노이즈(no..
level16 / about to cause mass hint를 봅시다. main 함수를 보면 call 함수 포인터 선언하고 buf bof 일으켜서 printit 가리키던 것을 shell로 덮으면 되는 문제이다. 찾아야 하는 건 buf 위치, call 위치, shell 주소 이렇게 3 가지 찾으면 되겠습니다~ 처음으로 c 코드 있어서 보려했더만 접근이 안되는구만,,^^; gdb로 살펴보겠습니당~ mov 어셈블리에서 주소를 ebp-16에 넣는 걸 보면 ebp-16이 call 함수 위치네유~ 이후 fgets의 인자로 사용되는 buf는 ebp-56이구용~ buf 위치와 call 위치를 찾았으니 bof 일으켜서 call에 넣을 shell 주소를 찾아봅시당~~ shell 함수는 전역 함수니까 main 위에 위치해..
level15 / guess what level14와 같은 문젠데 하나 다른 점은 check이 포인터 변수라는 점! buf에 bof일으켜서 check을 0xdeadbeef가 담긴 주소를 가리키게 만들면 된다. 현재 해야할 것은 0xdeadbeef 주소 찾기. gdb로 살펴보면 fgets의 인자로 사용하는 buf는 ebp-56에 위치하고, cmp로 비교하는 check 포인터 변수는 ebp-16에 위치한다. 포인터 변수는 그냥 변수랑 비슷한데 다른 점은 가리킬 주소를 담고 있다는 것이다. 따라서 0xdeadbeef가 아닌 0xdeadbeef를 "담고 있는" 주소를 담아야하므로 해당 주소를 찾아야한다. 0xdeadbeef와 변수를 비교하는데, 메모리에 직접 로드되야하므로 어딘가엔 있을 것이다. 그래서 직접 활..
level14 / what that nigga want? level14부터도 bof에 대해 푸나봅니다. 아무튼 문제를 보면 fgets로 인한 bof 문제이고, 조건으로 check에 0xdeadbeef가 있으면 자동으로 쉘 실행되네요. 그럼 bof 일으키고 중간에 check 변수만 제대로 해주면 그냥 풀리는 문제. gdb로 스택 구조를 살펴봅시다. fgets 함수 인자로 사용되는 buf는 ebp-56에 위치하고, if문인 cmp를 보면 0xdeadbeef와 비교하는 ebp-16이 check 변수 위치임을 알 수 있습니다. 그러면 최종적으로 아래와 같은 구조를 갖습니다. buf와 첫번째 dummy에 NOP을 덮고 check에 0xdeadbeek를 덮으면 자동으로 쉘이 출력되는 구조입니당 이 문제는 다른 문제..
level13 / have no clue hint를 봅시다. 인자는 1개 이상이고, 그 인자를 bof하는 문제인 것 같다. 하지만 i 변수가 변하지 않는 조건으로 bof 해야 하는 문제이다. i를 침범하면 kill 시스템콜로 프로세스가 죽는다. gdb로 i 변수와 buf 배열 사이의 간격을 찾아봅시다. strcpy의 인자인 buf는 ebp-1048 위치에 있으며 if는 cmp로 ebp-12에 있는 값과 0x1234567과 비교하므로 i는 ebp-12에 위치한다. 따라서 ebp-1048는 buf 위치고 ebp-12는 i 위치이므로 구조는 아래와 같다. buf랑 dummy 두 개에는 NOP으로 채우고 i는 그대로 0x1234567로 변조하지 않게 한 뒤에 level 11, level12에서 풀었던 방법인 R..
level12 / it is like this hint를 보니 LEVEL 11과 매우 유사한 문제이다. LEVEL 11에선 strcpy bof였다면 이 문제는 gets bof 문제이다. LEVEL 11 했던 것처럼 RTL 기법으로 풀어봅시다. gdb로 gets 인자로 사용한 STR 변수 위치 알아봤더니 EBP-264입니다. buffer(264) + ebp(4) + system주소 + nop(4) + /bin/sh주소 구조로 exploit 작성할 것이다. 필요한 system 주소와 /bin/sh 주소를 알아봅시다. ldd 명령어로 라이브러리 획득 해당 라이브러리에서 system 주소(\x4203f2c0)와 /bin/sh 주소(\x42127ea4) 획득 (이때 /bin/sh 주소 앞에 \x42 생략됨) (-..
level11 / what!@#$? hint를 보니 strcpy 함수를 이용한 bof 문제인듯! Setuid도 걸려있으니까 str을 bof해서 쉘코드를 넣으면 되겠다. 정확한 스택 구조를 알기 위해서 gdb로 살펴봅시다. main 함수에서 사용하는 strcpy 함수에서 인자로 사용되는 STR 변수의 위치를 알아냄 => EBP-264 그런데 이 문제에서는 쉘코드를 STR 변수에 넣고 RET에 STR 변수 "주소"를 직접 넣어야 하므로 정확한 STR 주소를 알기 위해서 breakpoint를 이용합시다. breakpoint를 strcpy 함수가 끝난 부분에 걸어서 인자값을 넣을 때 어느 위치에 위치해있는지 확인합시다. "a"를 100번 넣어서 주소를 확인하려 했는데 "Couldn't get registers:..
휴대폰과 더불어 휴대기기들은 완벽한 증거가 될 수 있다. 1. 셀룰러 네트워크 셀룰러 네트워크는 여러 개의 셀(cell)로 구성 각 셀은 사전에 정해진 주파수 범위를 사용하여 특정 지역에 서비스 제공 셀 사이트(cell site) : 각 셀이 네트워크에 연결될 수 있도록 하는 기지국 각 셀 타워는 측면마다 3개의 패널이 있고 가운데 패널은 송신기, 나머지 2개는 수신기로 사용해 라디오 신호 탐지 셀 사이트는 여러 셀의 교차로에 위치 - 셀룰러 네트워크의 구성요소 기지국 : 안테나와 관련 장비로 구성 기지국 제어기(Base Station Controller, BSC) : 기지국 사이의 신호 조절 -> 휴대폰의 위치가 이동될 때 핵심 기지국 교환센터(Mobile Switching Center, MSC) : ..