- NEW초롱이의 하루
- kisa
- 길은 가면, 뒤에 있다
- C언어 예술가
- Zer0 day - Zer0 day
- Information Security
- Secure-EDU
- 앙큼한유채's 일상 Story
- Library of Ezbeat (잠정 폐쇄)
- The Factory
- 안드
- 모후모후의 커뮤니티
- 공학도의 잡다한 시선
- 안드2
- IT속에 코코아
- IP주소검색(whois)
- IP주소검색(좌표포함)
- 소프트웨어 경력 관리
- 해저 케이블 지도
- MAC주소검색
- IANA
- 포트번호검색
- 자신의IP확인
- 웹페이퍼캡처
- 나의패스워드보안등급
- 웹 취약점 분석
- IT용어정리
- GitHub
- 라이브러리 모음
- 웹마당넷
- 시스템콜참고
- BCD 변환
- 보안뉴스
- 코딩도장(C, Python)
- 백준알고리즘
- 코딩테스트 연습
- 웹 사이트 테스트
- 스크립트꾸미기
- ctf대회목록
- 전자신문
- hash 크랙
- CVE
- 도메인등록
- N클라우드
- BugBountyList
- 칼리공식사이트
- CR4FTING BOX
- 아스키코드 변환
- 웹 사이트 통계 및 평가
- PDF변환
- AWS 및 클라우드 정보
- 가상화 및 서버관련
- 티오리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Tkinter
- LEVIATHAN
- Android
- API
- 자바
- 프로젝트
- 쉘 스크립트 if문
- ACL
- nginx
- docker
- 라즈베리파이
- System
- JSP
- 메소드
- 네트워크
- 쉘 스크립트
- Java
- 리눅스
- 쉘 스크립트 기초
- RaspberryPi
- 그라파나
- synology
- 클라우드
- GUI
- GPIO
- Linux
- Python
- Shell script
- centos docker
- 안드로이드
- Today
- Total
목록WarGame/Leviathan (7)
IT창고
Leviathan Level 6문제입니다. leviathan의 모든 문제가 SETUID가 걸려있군요. 바로 leviathan6파일을 실행해보았습니다. 숫자 4개를 입력해야하는 프로그램인거 같습니다. 이와 같은 문제는 0000~9999 까지의 숫자를 무작위로 집어넣는 brute force공격이 생각나네요 ltrace명령어로 확인해보면 함수를 안쓰고 있습니다. 디버거로 하나씩 확인해보았습니다. 코드가 많이 없어서 힘이나네요.레지스터에 공간을 잡고 0x08048547 :mov DWORD PTR [esp+0x1c],0x1bd3 이부분을 확인하는데 자세히 보니 0x1bd3 이걸 16진수에서 10진수로 바꾸면 7123이 나옵니다. 4자리의 숫자... 결론부터 보면 이게 패스워드값입니다. 분석하는데 힘이 넘칠거같네요..
Leviathan Level 5 문제입니다. leviathan5 실행파일을 실행시켜보았습니다. tmp디렉토리안에 file.log파일이 없다고 나오네요. ltrace명령어로 다시 한번 실행시켜보았습니다. fopen함수를 리턴하는거 같은데 tmp디렉토리를 확인해보겠습니다. tmp디렉토리에 file.log파일이 없는거같아 만들어보았습니다. 만들고 leviathan5파일을 실행하니 에러메세지도 안뜨길래 정상적으로 작동된다는걸 알수있었습니다. file.log파일안에 abcdefg를 입력해서 실행하니 정상적으로 실행이 되었습니다. 그렇다면 leviathan5도 SETUID가 걸려있다면 level2 에서 고통받았을때 사용한 링크를 사용한다면? 하고 떠올랐습니다. 바로 기존의 파일을 지우고 링크파일을 만들어서 levi..
Leviathan Level 4 문제입니다. 홈 디렉토리에 디렉토리를 숨겨놨군요. 바로 들어가보니 여기에 bin파일이 있습니다. 이번에도 SETUID가 걸린 파일임을 확인할수있습니다. 당황스럽네요. 2진수 코드로 실행되고 ltrace로 실행해보았습니다. C라이브러리를 살펴보니 Level5의 값이 2진수로 출력이 된거같습니다. BCD코드를 이진수 십진법으로 풀어 hex number를 아스키코드로 바꾸면 답이 나옵니다.문제가 Level이 올라갈수록 조금 쉬워지는 느낌이 드네요.
Leviathan Level 3 문제입니다. 시작하자마자 바로 ltrace명령어를 사용해보았는데 Level1때와 같이 strcmp함수를 사용한걸 알수있었습니다. Level2 문제에서 너무 고통받아서 Level3문제는 너무 쉬워서 의심이 들었습니다. 문제의 의도는 ltrace명령어를 사용하지않는 방법이겠지만 ltrace로 이번에는 쉽게 넘어갔습니다. level3파일도 SETUID가 걸려있는걸 알수있습니다.snlprintf 를 비교하니 패스워드로 입력해보았습니다. ltrace로 입력해보니 이번에도 쉘창이 나타났습니다. 권한 상승기법으로 다음패스워드를 알아내야하는데 ltrace로 실행했기에 정상적인 권한 상승이 이루어지지는 않았습니다. 다시 제대로 작동해보면 euid값이 ruid값보다 올라간 모습을 확인할수있..
Leviathan Level 2 문제입니다. printfile프로그램이 있습니다. 이번에도 SETUID가 걸려있네요. ltrace명령어를 사용해봤지만 저번처럼 쉽게 되지는 않네요.디버거로 확인해보겠습니다. 이글을 쓰고 있는 지금은 결국 풀었지만 이 문제를 해결하려던 때에는 정말 고생했습니다. 먼저 바이너리를 분석하며 인자갯수를 확인하는점 access함수를 사용하는점 리턴값이 0이면 프로그램이 종료되는 사실을 알아내었습니다. 아래에 geteuid가 있는걸 보면 이번에도 권한 상승 기법을 사용해야하는걸 알수있었습니다. 인자만 넣는다고 해결되지는 않았습니다. 인자를 비교해야하는 프로그램이고 이걸 어떻게 해야할지 고민하며 힌트를 받았습니다. " 과 link 였었는데 듣고 심볼릭 링크파일을 만들어 봐야겠다고 생각..
Leviathan Level1문제입니다. 홈 디렉토리를 보면 어떤 실행파일하나가 있습니다. 시험삼아 바로 cat명령어로 보려했지만 당연이 안되고 check파일을 실행해보면 패스워드가 걸려있음을 확인할수있었습니다. check파일의 권한을 살펴보면 SETUID가 걸려있는 모습을 보고 권한 상승 기법으로 풀수있지않을까 생각해보았습니다. 우선 디버거를 열어보기전에 ltrace명령어로 한번 확인해보았습니다. 확인해보고 좀 당황스러웠습니다. strcmp함수를 사용해서 C라이브러리로 만들어져서 패스워드하고 비교해서 정답이면 답을 알려주는 프로그램으로 생각이됩니다. 답을 너무 쉽게 찾게 되었네요 사실 이문제가 디버거를 사용해서 찾는 문제인거 같은데 ltrace명령어로 쉽게 찾게 된거같습니다. ltrace로 정답을 써보..
overthewire.org/wargames/ 는 워게임 사이트로서 다양한 문제들이 있으며Leviathan은 시스템해킹을 연습할수있습니다. Level 0 접속방법은 사이트에 나와있습니다. 워게임 접속 방법과 설명이 잘되어있습니다.각각의 홈디렉토리에 paasword가 있다고 되어있네요. Level 1로 가는 문제를 풀어보겠습니다. 직접 디렉토리로가서 확인해보니 역시 안되는군요. 먼저 디렉토리안에 무엇이 있을지 확인했는데 아무것도 없습니다. 숨김파일이 있을까 했는데 backup디렉토리가 숨겨져있네요. backup 디렉토리안에는 bookmarks.html 파일하나가 있습니다. 숨김파일도 없고 html파일을 살펴보겠습니다. cat으로 먼저 확인했는데 내용이 너무 많아서 vi로 확인하였습니다. 1395줄이나 되는..