일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 실기
- html
- network
- 디지털포렌식
- Multimedia
- memory
- slack space
- 생활코딩
- 24시간의 전사
- 윈도우 프로세스
- N0Named
- 네트워크관리사2급
- blkls
- 2022시작
- CTF-D
- Window process
- 슬퍼유
- 정보처리기사 필기 합격
- ftz
- vinetto
- 는 하지마...
- 생활코딩 html
- 네트워크 보안
- pythonchallenge
- Multimeida
- 윈도우 프로세스 종류
- 포렌식
- 디지털포렌식 with CTF
- ZIP 파일구조
- disk
- Today
- Total
목록challenge (119)
ssoL2 TISTORY
Daddy told me I should study arm. But I prefer to study my leg! Download : http://pwnable.kr/bin/leg.c Download : http://pwnable.kr/bin/leg.asm ssh leg@pwnable.kr -p2222 (pw:guest) #include #include int key1(){ asm("mov r3, pc\n"); } int key2(){ asm( "push{r6}\n" "addr6, pc, $1\n" "bxr6\n" ".code 16\n" "movr3, pc\n" "addr3, $0x4\n" "push{r3}\n" "pop{pc}\n" ".code32\n" "pop{r6}\n" ); } int key3()..
Mom? how can I pass my input to a computer program? ssh input2@pwnable.kr -p2222 (pw:guest) #include #include #include #include #include int main(int argc, char* argv[], char* envp[]){ printf("Welcome to pwnable.kr\n"); printf("Let's see if you know how to give input to program\n"); printf("Just give me correct inputs then you will get the flag :)\n"); // argv if(argc != 100) return 0; if(strcmp..
Daddy, teach me how to use random value in programming! ssh random@pwnable.kr -p2222 (pw:guest) #include int main(){ unsigned int random; random = rand(); // random value! unsigned int key=0; scanf("%d", &key); if( (key ^ random) == 0xdeadbeef ){ printf("Good!\n"); system("/bin/cat flag"); return 0; } printf("Wrong, maybe you should try 2^32 cases.\n"); return 0; } 1. rand() 함수는 seed가 일정해서 계속 동일..
Mommy told me to make a passcode based login system. My initial C code was compiled without any error! Well, there was some compiler warning, but who cares about that? #include #include void login(){ int passcode1; int passcode2; printf("enter passcode1 : "); scanf("%d", passcode1); fflush(stdin); // ha! mommy told me that 32bit is vulnerable to bruteforcing :) printf("enter passcode2 : "); scan..
문제 : 정보를 숨기는 것을 찾으시오. zip 파일 구조 상 파일 시스템인 것 같아서 FTK Imager로 마운트했다. Thumbs.db는 윈도우에서 이미지 미리보기 파일로, 이미지를 삭제해도 캐시가 남아있을 수 있다. 그래서 Thumbs.db를 추출해서 열어보려 했지만 오류가 발생... why러노........ 그러다 Hex 값 분석 중에 Thumbs.db 마지막 부분에 file 명이 노출되어 flag를 찾을 수 있다. 끝 🚫 flag는 🚫 더보기 h4ck1t{75943a3ca2223076e997fe30e17597d4}
문제 : ALYSSA의 계정의 패스워드를 찾으시오. forensics.rar 파일을 압축해제하면 'SAM'과 'SYSTEM' 파일이 추출된다. 'SAM' 파일과 'SYSTEM' 파일은 윈도우 레지스트리 파일이다. samdump2는 SAM과 SYSTEM 레지스트리를 이용하여 윈도우 계정의 암호 해시를 구할 수 있다. samdump2 사용법 -> https://ssol2-jjanghacker.tistory.com/entry/samdump2-%EC%82%AC%EC%9A%A9%EB%B2%95 문제에서 'ALYSSA'의 계정이라는 hint를 주었으므로 ALYSSA의 password를 크랙하면 된다. NTLM 해시 디코딩 사이트에서 돌려봤는데 인식되지 않는다. 뭐지 싶어서 나머지 계정들의 NTLM 해시를 디코딩 해..
문제 : 민감한 파일을 삭제했는데도 여전히 남아있다. 이를 찾아라! catz.img를 FTK Imager에 마운트하고, 굉장히 기욤기욤한 고양이들이 존재한다. 문제에서 언급했듯이, 우리가 찾아야하는 '민감한 정보'는 이미 삭제되었다. 따라서, 비할당영역에 있기 때문에 비할당영역의 내용을 출력해주는 [blkls]를 사용한다. blkls 정리 -> https://ssol2-jjanghacker.tistory.com/entry/linux-blkls-%EB%AA%85%EB%A0%B9%EC%96%B4?category=908632 linux blkls 명령어 TSK(The Sleuth Kit)는 Brain Carrier가 File System Forensics을 위해 개발한 도구이다. 지원하는 명령어 도구 중 하나..
문제 : slack에서 key를 찾아라. gzip을 압축해제하면 [2012_Defcon20_F100-find_key]가 나온다. [2012_Defcon20_F100-find_key]의 파일 유형은 Linux ext3 filesystem data이다. FTK Imager를 통해 마운트하고 파일을 분석하자. 대충 보면 거의 시스템 c언어 파일만 존재한다... 마땅한 파일이 존재하지 않는다. 문제 내용처럼 slack을 찾기 위해서 폴더들을 분석하다가 [bits] 폴더에서 SlackFile을 하나 발견하였다. 그런데 마지막 byte에 data가 존재하였고, FileSlack에 flag를 숨겼구나 예상할 수 있었다. 혹시 저 slackfile에만 data가 존재할 수도 있으니까, 다른 slackfile을 찾아서 ..
문제 : CFO 컴퓨터에서 훔친 EXCEL 파일 경로와 파일 크기를 구해 md5로 계산해라. 2012_CodeGate_F100의 파일 유형을 알아보니 7zip 형태이다. (코드게이트 문제라니!!!) FTK Imager는 zip 파일 형식도 지원하므로 FTK로 열어보자. User 폴더가 나오는데, 누가봐도 CFO의 계정은 "proneer"일 것이다. proneer 폴더를 열어보니 윈도우 운영체제임을 유추할 수 있다. 또한, Excel 파일이 남아 있을까 찾아봤는데 파일 자체는 존재하지 않았다. 그러고 나서 Excel의 "흔적"을 찾기 위해서 Microsoft를 분석하기로 하였다. [proneer]-[AppData]-[Roaming]-[Microsoft]-[Office]-[Recent] 경로에 가면 파일의 ..
문제 : ZIP 파일이 망가졌는데 무슨일인지 알아봐줘! 일단 ZIP 파일을 압축해제 시도해보니 "압축 풀기가 불가능한 압축방식"이라고 나와있다. 따라서, ZIP 파일 구조에 문제가 발생함을 예측할 수 있다. Hex Editor인 HxD로 구조를 파악해본 결과, 총 13개의 Central Directory records가 존재하였다. [50 4b 03 04]는 13개, [50 4b 01 02]도 13개, [50 4b 05 06]는 1개로 개수는 정상이었다. 뭐가 잘못되었는지 zip 파일의 읽는 순서로 따라가보았다. 먼저, End of Central Directory [50 4b 05 06]에서 Central Directory records 시작 offset을 찾아 올라갔다. 0x000015F2는 첫 번째 ..
문제 : 조개를 찾아 열고, 진주를 찾으시오. img 파일을 FTK Imager에서 열어서 분석해보도록 합시다. 가장 유의미한 증거는 clam.pptx랑 dance.mp4이다. 근데, dance.mp4는 이상한 여성분이 갑자기 돌변해서 격렬한 춤사위를 보이신다.. (밤에보면 무섭다) 동영상에 flag가 숨어져 있나 싶었지만 frame 단위로 잘라도 어떠한 증거도 나오지 않는다. 삭제 처리된 수상한 clam.pptx를 추출하였고, 열어보려 시도하였지만 내용에 문제가 있다고 안내한다. ppt도 zip이므로 확장자를 zip으로 바꿔서 압축해제해보자. 그러고 나서 가장 증거가 많이 도출되는 media를 찾기 위해 [ppt]-[media] 경로에 들어가자. 그러면 다양한 조개 관련 사진과 함께 굉장히 수상한 사진..
문제 : hit the core.........?? 코어를 쳐라..? 정확히 찾아야 하는 것을 명시하지 않았다.. 일단 분석하자. core 확장자를 처음 보았기에 무엇인지 찾아보았다. core 파일이란, 비정상적으로 종료되었을 때 현재 프로그램의 상태를 기록하는 파일이다. 기본적으로 segmentation fault 발생 시 생성되는 core dump file인 것 같다. fore1.core 파일인 ELF 파일을 어떻게 분석해야 할까? 먼저 strings로 flag가 출력되는지 확인해보았지만 출력되는 것을 없었다. 전반적인 fore1.core의 string을 살펴보기 위해서 string file을 생성한다. sublime으로 fore1.txt을 살펴보자. 상당히 긴 text data이기 때문에 일일이 살..