일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- #Qt Creator
- >
- vim
- FTZ 레벨2
- KASAN
- ftz
- Network
- vi
- #MINT64 #Sqix
- C++11
- libtins
- BEST of the BEST
- Sqix
- #
- 인터럽트
- #IntelManual
- command
- 오버워치
- vi 외부 명령어
- #Best of the Best #OS #MINT64 #Sqix
- Find
- linux
- #IntelManual #segment Descriptor #세그먼트 디스크립터 #MINT64 #Sqix
- Overwatch League SaberMetrics
- 오버워치 세이버메트릭스
- libpcap
- Today
- Total
목록Wargame/FTZ (20)
Sqix
==============================================hint 두 명의 사용자가 대화방을 이용해 비밀스러운 대화를 나누고 있다.그 대화방은 공유 메모리를 이용해 만들어졌으며,key_t의 값은 7530이다. 이를 이용해 두 사람의 대화를 도청해서level11의 권한을 얻어라. - 레벨을 완료하셨다면 소스를 지우고 나가주세요. ============================================== program이라는 디렉토리가 있습니다. 읽기 권한과 실행 권한이 있습니다. 그런데 권한이 root입니다. cd도 먹히지 않습니다. $ find / -perm +6000 -user level11 2> /dev/null로 level11의 setuid가 걸린 파일을 찾아봤지만,..
============================================hint 다음은 /usr/bin/bof의 소스 코드이다. #include #include #include main(){ char buf2[10]; char buf[10]; printf("It can be overflow : "); fgets(buf,40,stdin); if ( strncmp(buf2, "go", 2) == 0 ) { printf("Good Skill!\n"); setreuid( 3010, 3010 ); system("/bin/bash"); } } 이를 이용하여 level10의 권한을 얻어라.============================================ /home/level9/tmp에 동일한 소..
===================================================$ cat hint level9의 shadow 파일이 서버 어딘가에 숨어있다.그 파일에 대해 알려진 것은 용량이 "2700"이라는 것 뿐이다.=================================================== Shadow 파일 용량이 2700이라고 하니, 아마 2700바이트를 의미하는 것 같습니다. 그 전에 Shadow 파일이 무엇인지에 대해서 자세히 알아보는 것이 좋을 것 같습니다. 리눅스 시스템은 단방향으로 암호화한 패스워드를 포함해서 계정 유효 기간 등의 정보를 /etc/passwd에 보관합니다. 이 파일은 수정할 수는 없지만, 이전에는 이 정보를 아무나 볼 수 있었습니다. 따라서 보..
hint /bin/level7 명령을 실행하면 패스워드 입력을 요청한다 1. 패스워드는 가까운곳에..2. 상상력을 총동원하라.3. 2진수를 10진수로 바꿀 수 있는가?4. 계산기 설정을 공학용으로 바꾸어라. 일단 objdump, gdb 전부 못 켜게 permission을 710으로 해 놨네요. rwx--x--- 그런데 파일 혹은 디렉토리가 없다고 나타나고, 바로 종료됩니다. 당황스럽네요. 아무것도 주어지지 않고 브루트 포싱으로 풀어야 하나.. 아무래도 저 파일이 없으면 문제를 못 풀 것 같은데, /bin 디렉토리에는 root 권한으로만 r/w 권한을 사용할 수 있기 때문에 다른 방법을 찾아야 할 것 같습니다. 정리하면, level7은 디버깅도 안 되고, odjdump 역시 사용할 수 없고, 비밀번호를 입..
Level6에 접속하여 들어갑니다. =================================================hint - 인포샵 bbs의 텔넷 접속 메뉴에서 많이 사용되던 해킹 방법이다. 메뉴 텔넷 접속 서비스 1 . 하이텔 2. 나우누리 3. 천리안================================================= 위와 같이 1,2,3 어떤 메뉴를 들어가더라도, Connection Refused라는 텔넷 에러 메세지와 함께 연결이 종료됩니다. 혹시나 해서 저 메뉴 입력 상태에서 bash 쉘의 명령어들을 쳐 보았지만 바로 프로그램이 종료됩니다. input 화이트리스트 검사를 하는지 테스트를 하기 위해서 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..
힌트는 다음과 같습니다. /usr/bin/level5 프로그램은 /tmp 디렉토리에 level5.tmp라는 이름의 임시 파일을 생성한다. 이를 이용하여 level6의 권한을 얻어라. 일단 level5 파일이 어떤 것인지 확인해 보았습니다 level6 권한으로 setuid가 걸려 있고, level5 권한에서는 실행만 가능합니다. 디버깅은 불가능한 상태입니다. GDB가 안 붙네요.(permission denied) tmp 파일을 이용한 취약점 공격은 주로 race-condition이라고 하니, race-condition에 대해서 미리 공부를 해야 할 필요가 있습니다. Race Condition은 임시 파일이 존재할 시, 이를 삭제하는 과정에서의 시간차로 발생하는 취약점입니다. 임시 파일이 만약 존재하면, 다..
힌트는 "누군가 /etc/xinetd.d/에 백도어를 심어놓았다.!" 입니다. 디렉토리에 들어가 보니 level4 권한을 달고 있는 backdoor가 있네요. file 명령어로 backdoor를 확인하여 보니, ASCII text (일반 텍스트 문서)라고 합니다. cat하여 보니 다음과 같은 설정이 나오네요. level5의 권한을 가지고 있고, /home/level4/tmp/backdoor에 실행 서버가 있다고 합니다. 사실 이건 xinetd(internet daemon) 디렉토리이고, 이 파일은 finger 서비스의 정보입니다. 즉, finger 서비스를 실행하면 level5권한으로 /home/level4/tmp/backdoor 파일을 실행한다는 것입니다. 하지만 아무것도 없네요. 여기다 backdoo..
깨진 한글 부분만 따로 검색했습니다. 다음 코드는 autodig의 소스코드이다. /* 소스 코드 */ 이를 이용하여 level4의 권한을 얻어라. more hints. - 동시에 여러 명령어를 사용하려면?- 문자열 형태로 명령어를 전달하려면? 문자열 형태로 명령어를 전달하려면, " "를 달아주어 파라미터로 전달하면 됩니다. 또한, 동시에 여러 명령어를 사용하려면 ; (앞의 명령어의 성공 유무와 상관없이 실행), & (앞의 명령어가 성공하면 실행), && (명령 동시에 실행. 앞의 명령은 백그라운드로 실행됨)을 씁니다. 코드를 대충 둘러봐도 위험한 요소가 몇 개 보이네요. strcpy, strcat 함수를 사용했는데, 해당 함수는 memory boundary 검사를 안 해서 BOF 취약점이 발생하는 함수입..
FTZ level2로 진입합니다. hint는 "텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데..." 입니다. 아무래도 기본적으로 설치되어 있는 텍스트 에디터는 vi일 테니, vi 관련 문제인 듯 합니다. vi에서 외부 명령어를 사용하는 방법으로는, 두 가지가 있습니다. vi를 실행하고 esc를 눌러서 명령어를 실행시킬 수 있도록 합니다. 쉘 실행 :sh vi로 돌아오기 ctrl + d vi에서 명령어 실행 :! {commands} 실행 명령어의 결과 가져오기 :r!ls -al level2 계정으로 로그인을 해서, level3으로 setuid가 걸린 파일이 있나 찾아보았습니다. /usr/bin에 있어서 찾아보았습니다. 실행 권한까지 있네요. 열어 보니, vim editor를 그냥 실행하면 ($ v..
Level 1번 문제를 풀기 위해 ssh로 진입합니다. ls 명령어를 이용해 어떤 파일이 있는지를 체크해 봅니다. hint가 있으니 hint를 보도록 합시다. 한글이 깨져서 나오는데, 인코딩 문제로 보여서 힌트는 따로 찾아보았습니다. 힌트는 다음과 같습니다. level2 권한에 setuid가 걸린 파일을 찾는다. 처음에 삽질을 하다가 find의 -perm옵션을 이용한다면 손쉽게 찾을 수 있다는 것을 알아냈습니다. 이에 대해서는 따로 정리를 해 두었습니다. setuid는 특수 권한으로, root 권한에서만 접근할 수 있는 파일 혹은 커맨드에 대해서 일반 user가 사용할 수 있도록 하는 권한입니다. 이는 permission을 나타내는, 예를 들어 755와 같은 숫자들 앞에 특수 권한을 나타내는 비트를 추가..