일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Multimedia
- 디지털포렌식
- disk
- 24시간의 전사
- 실기
- 네트워크 보안
- 슬퍼유
- 생활코딩 html
- 생활코딩
- Multimeida
- 네트워크관리사2급
- Window process
- 는 하지마...
- html
- 윈도우 프로세스
- blkls
- pythonchallenge
- vinetto
- slack space
- CTF-D
- ftz
- 포렌식
- 윈도우 프로세스 종류
- 2022시작
- 정보처리기사 필기 합격
- ZIP 파일구조
- network
- 디지털포렌식 with CTF
- N0Named
- memory
- Today
- Total
목록challenge/pwn (29)
ssoL2 TISTORY
level10 / interesting to hack! key_t 값이 7530인 공유 메모리를 읽고 level11의 권한을 얻으라는 문제이다. 공유 메모리 : 보통 프로세스에서 사용되는 메모리영역은 해당 프로세스만이사용할수 있다. 하지만 때때로 여러개의 프로세스가 특정 메모리영역을 사용했으면 하는때가 있을것이다. 이때 사용하는 것이 공유 메모리이다. 출처: https://unabated.tistory.com/entry/공유-메모리-shared-memory [랄라라] 일단 level11 SetUID를 가진 파일은 찾을 수 없다. 지금 할 수 있는 건 공유 메모리에 접근하는 것뿐이다. ipcs 명령어를 통해 현재 생성되어 있는 IPC 지원 목록을 조회 가능하며 [-m] 옵션으로 공유 메모리 자원만 볼 수 ..
level9 / apple cat hint 명령어로 hint를 봅시다. /usr/bin/bof 실행파일의 소스를 주었다. 딱 보니 fgets 함수로 buffer overflow = bof 를 일으키려는 모양입니다! bof 란 buffer overflow로 말 그대로 버퍼를 넘치게 해서 취약점을 얻는 해킹 방법입니다! main 함수를 보면 buf2랑 buf를 10 bytes씩 할당하고, fgets 함수로 10 bytes 밖에 안되는 buf에 최대 40 bytes만큼 입력받아서 buf2까지 덮어씌워지게 하는 문제. if 문에 있는 strncmp 함수를 보면 buf에 'go'가 있도록 해야 setuid를 얻을 수 있겠죠? 여기서 10bytes씩 나란히 할당했다고 해서 실제 스택에 buf와 buf2가 붙어 있는..
level 8 / break the world 짜잔 hint 살펴보니 level9의 shadow 파일을 찾으라는 것, 이 파일은 용량이 2700이라는 것 !! 2700 용량을 가진 파일을 찾으려면 find 명령어로 쉽게 찾을 수 있을 것이다 !!! find --help 로 용량 옵션을 찾아보니 [-size] 옵션을 사용하면 된다고 설명한다. 그래서 find 명령어로 옵션 [size]를 같이 써서 찾아보려 했으나 나오는 결과는 없었다........그럴리가 없는데,, 알아보니 용량 사이즈를 적을때 뒤에 단위가 붙지 않으면 디폴트값으로 b로 블록단위였다 ! 지금보니 위에 --help 설명서에도 -size 뒤에 [bckw]라고 나와있다..... ㅇㅅㅇ;; 따라서 바이트 단위인 c를 붙여주면 된다. 또잉? 가장 ..
LEVEL 7 / come together hint를 보면 /bin/level7를 실행하면 패스워드 입력하라고 한다며 패스워드를 찾으라고 한다. 실행할 /bin/level7을 자세히 보니 level8 SetUID를 지닌 실행 파일이구만 ^^ 그럼 한번 실행해봅시다. Insert The Password 라고 패스워드 값을 입력하라 나오는데 'hi'라고 치니 갑자기 cat 명령어로 /bin/wrong.txt를 읽을 수 없다고 오류가 뜬다. ==> 찾아보니 잘못 만들어진 문제인듯 ! 개발하신 분이 /bin/wrong.txt 를 만들지 않아서 생긴 문제래여 ㅠ,ㅠ /bin/wrong.txt 만들려고 애써봤지만 안되더라..... 아무튼 새롭게 root / hackerschool 로 계정 들어가서 /bin/wron..
level 6 / what the hell 예? 다짜고짜 힌트를 준다고요? 프롬프트는 어디갔구요? 아무거나 치고 엔터 쳤더니 꺼져버렸음.. 읭? 다시 들어가서 이번엔 바로 엔터를 쳤더니 바로 텔넷 접속 메뉴로 넘어온듯 1번 눌렀더니 IP 주소에 접속하는 모습이다.. 그런데 얼마 지나고 또 꺼져버리는 창,, 나한테 왜그래여 2번 선택하고 3번 선택해도 넘어가지 않고 계속 창이 꺼져버린다.. 으아ㅏㅏㅏㅏㅏㅏ 그래서 처음부터 돌아와서 1. 어떠한 것을 입력하면 꺼지고 2. 엔터치면 꺼지므로 마지막으로 리눅스 쉘 프롬프트에서 나갈때 사용하는 ctrl+c를 해봤더니 탈출을 성공했다. 이제 ls하고 상황 살펴보니 처음에 봤던 hint가 요있네.. 아마 이 hint를 처음 시작할 때부터 보여주도록 해놓지 않았을까....
1. [접속id@서버 현재위치]$ => 프롬프트 2. linux는 대소문자 구분한다. 3. ls 현재 위치에서 보여줌 [-a] 숨겨진파일(.) [-l] 디렉토리(d), 파일(-) 구분 4. ls 끝부분 => 생성용량 생성날짜 파일명 1. pwd => 현재 경로 2. 프롬포트에 나오는 현재위치는 현재경로 맨 뒤 디렉토리 3. /는 최상위 디렉토리 4. cd => 경로 바꾸기 [..] 한단계 위로 5. mkdir 디렉토리 rmdir 디렉토리 6. cp 파일1 파일2 => 파일1을 복사해서 파일2 생성 7. rm 파일 => 삭제 8. mv 파일1 파일2 => 파일1을 파일2에 덮어씀 1. 텔넷으로 접속 한 것을 "터미널"로 접속했다고 한다. 2. 직접 컴퓨터에 linux 설치 후 접속한 것을 "콘솔"로 접속했..
오랜만이구만......... FTZ level5를 풀어봅시다. level5 / what is your name? hint에서 /usr/bin/level5 라는 실행프로그램은 /tmp 디렉토리에 level5.tmp를 생성함을 알려줬다. 이 사실만 가지고 level6의 권한을 얻으라는 소리는 level5 프로그램에 뭔가 있다는 소리. 으흠, /usr/bin/level5는 level6를 가진 유저에게 SetUID 권한으로 실행한다는 것! 그래도 level5 gid를 가진 사람들도 /usr/bin/level5 실행 권한이 있으니 \tmp에 가서 임시 파일이 생성되는지 확인해봅시다. level5를 실행해도 \tmp 경로에는 level5.tmp 파일이 생성되지 않는다.. 뭐지? tmp 임시 파일은 말 그대로 '임시..
잠깐 !!! 위치 /etc/xinetd.d 에서 xinetd를 알아보자. 다시 돌아와서 backdoor를 읽어보자. backdoor에 있는 내용은 위와 같음! 위의 예시인 telnet 서버처럼 생각해보자. finger이라는 서비스는 level5의 권한을 갖고 있으며 /home/level4/tmp/backdoor의 파일을 읽어 들인다. 즉, finger는 1. /etc/xineted.d/backdoor 에서 사용되는 finger 2. /usr/bin/finger 두가지가 있는 것이다. 그렇다면 1. /etc/xineted.d/backdoor 에 있는 finger를 작동시키려면 어떻게 해야 할까? xineted 특성상 A 서버의 사용자가 B 서버로 접속 시 이용하는 서비스이다. 여기서 1번 finger가 작..
1. 인자는 2개여야 함 2. dig @argv [1] version.bind chaos txt가 실행됨 최종적으로 dig @argv[1] version.bind chaos txt 실행될 때 argv[1] 즉, 두 번째 인자로 넣는 게 서버가 될 텐데.............. 갑자기 무슨 서버? 흠;; 일단 more hint에서 동시에 여러 명령어 가능하고, 문자열 형태로 명령어를 전달한다고 하는 것 보니 argv [1]로 dig가 아닌 다른 명령어를 넣는 것 같다. 이를 문자열 형태로 넣고 ㅇㅇ dig @argv [1] version.bind chaos txt 여기서 dig @는 실행되고 나서 argv [1]이 입력 되잖음 이때 ;로 끊고 새로운 명령어를 넣으면 실행될 것이다 이거임 대신 argv [1..
출처 www.joinc.co.kr/w/Site/Vim/Documents/Tip/ExternalCommand vim 팁: 외부명령어 실행시키기 쉘로 빠져나가지 않고 외부명령어 실행 www.joinc.co.kr
nan491.tistory.com/entry/FTZ-%EB%A1%9C%EC%BB%AC-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95 [FTZ] 로컬 환경 구축 안녕하세요. 해커스쿨 FTZ 문제풀이를 위한 로컬 환경 구축을 진행하도록 하겠습니다. 설치 순서는 다음과 같습니다. ------------------------------------------------------------ 1. 해커스쿨 FTZ 이미지 파일.. nan491.tistory.com # ip addr 192.168.214.128/24 내가 이해한 결론은 sh 자체가 쉘. linux에서는 bash 쉘 사용했었음 => /bin/sh or /bin/bash 근데, 이후 버전에서 dash 쉘 사용함 그래서 => /bin/..
Papa brought me a packed present! let's open it. Download : http://pwnable.kr/bin/flag This is reversing task. all you need is binary 다운받고 gdb 볼려했는데 안돼. ./flag I will malloc() and strcpy the flag there. take it. 음 malloc에 flag 있단거면 heap에 있겠네 추론 ida 32bit에 넣었다가 빠꾸먹고 64bit에 넣어봄 string 찾아봤는데 upx.sf.net 이 나옴 뭐지하고 쳐봤는데 upx 다운로드 가능한 홈페이지 였음 아 !~ [flag]설명에도 나와있듯이 packed된 선물이 있다했더니 upx로 flag파일을 unpackin..