글 전체보기

반응형
Wargame 🎮/🎡 FTZ

[FTZ] level5

[FTZ] level5 level5 로그인해서 문제를 확인해 본다. level5라는 파일에는 SetUID가 설정되어 있다. 파일을 실행하면, SetUID가 설정되어있는 임시파일이 생성되었다가 삭제되는것 같다. 여기서 Race Condition 공격을 이용하는 문제인걸 생각할 수 있었다. 2022.07.05 - [시스템/시스템 해킹] - [시스템 해킹] 레이스 컨디션(Race Condition) level5.tmp 파일에 심볼릭 링크를 설정해 놓으면, 파일이 실행되면서 임시파일이 삭제되도 해당 권한의 파일을 읽을 수 있도록 한다. ln -s 원본파일명 링크파일명 이니까 /tmp 파일에 가서 hi라는 파일 만들고 level5.tmp로 심볼릭 링크를 만든다. $ cd /tmp $ touch hi $ ln -s..

Wargame 🎮/🎡 FTZ

[FTZ] level4

[FTZ] level4 level4 문제를 확인하면 /etc/xinetd.d/에 백도어가 있다고 한다. * /etc/xinetd.d/ 디렉터리에는 xinetd 데몬이 참조하는 서비스 설정 파일들이 존재한다. 진짜 backdoor가 있다. 안에 내용을 보면 finger service 가 정의되어 있고, user = level5 권한이고, server = /home/level4/tmp/backdoor 이 실행된다. 그러고 /home/level4/tmp/ 디렉터리에 들어가보니 파일이 없었다. 여기서부터 어떻게 해야 할지 헤매었는데 이 안에 backdoor 파일을 만들어 주면 된다. #include #include int main(void){ system("my-pass"); return 0; } 그러고 나서 ..

Wargame 🎮/🎡 FTZ

[FTZ] level3

[FTZ] level3 level3으로 접속을 한다. - 동시에 여러 명령어를 사용하려면? ; - 문자열 형태로 명령어를 전달하려면? "" 우선 autodig란 파일을 찾는다. find / -name autodig 2>/dev/null 명령어를 이용한다. 해당 파일에는 SetUID가 설정된 것을 확인할 수 있다. 파일을 실행하면 usage가 나오는데 문제 힌트인 - 동시에 여러 명령어를 사용하려면? ; - 문자열 형태로 명령어를 전달하려면? "" 을 이용하여 인자값 뒤에 실행하고 싶은 명령어 my-pass를 아래처럼 붙여서 넣어서 실행하면 성공한다.

Wargame 🎮/🎡 FTZ

[FTZ] level2

[FTZ] level2 level2로 접속을 한다. level1처럼 SetUID가 설정된 파일을 찾아본다. /bin/ExecuteMe 파일이 나오고, 권한에 SetUID가 있는게 확인된다. 파일을 실행해보면, Vim 에디터가 나온다. 문제의 "텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데..." 에서 착안하여 편집기에서 :!명령어 를 입력하면 명령어가 실행되는걸 적용해보았다. 그러면 우리가 찾고자 하는 :!my-pass 명령어를 입력한다 그럼 해결!

Wargame 🎮/🎡 FTZ

[FTZ] level1

[FTZ] level1 level1 / level1 1 > /dev/null Standard Ouput(정상 메시지)를 Null로 버린다 2> /dev/null Standard Error(에레 메시지)를 Null로 버린다 위의 정보를 가지고 오류메시지를 없에기 위해 뒤에 2>/dev/null을 붙이면 아래처럼 정상 메시지 하나만 나온다. cd /bin ./ExecuteMe 로 파일을 실행한다. 이후, level2의 권한으로 명령어 하나를 실행시켜준다고 할때, /bin/bash 명령어를 실행하면 level2 권한으로 쉘이 실행이된다. my-pass 명령어를 치면 Password가 나온다.

Wargame 🎮/🎡 FTZ

[FTZ] 시작 (로컬 서버 구축하기)

[FTZ] 시작 HackerSchool에서 제공하는 리눅스 시스템 트레이닝 및 워게임 사이트 https://www.hackerschool.org/Sub_Html/HS_FTZ/html/ftz_start.html +해커스쿨 커뮤니티+ by HACKERSCHOOL.org www.hackerschool.org 로컬 서버 구축을 위해 준비 사항 1. VMWare 2. HackerSchool FTZ 파일 3. 접속을 위한 Putty, Xshell 로컬 서버 구축 방법 1) 이미지 파일 다운 링크 : https://drive.google.com/file/d/1Esc7VQhrwVd-6sYKLSjDSTx9Ub7gnKxX/view?usp=sharing HackerSchool FTZ.zip drive.google.com 2..

Wargame 🎮/🌞 SuNiNaTaS

[SuNiNaTaS] 20번 문제

이제 마지막 문제인 20번째 문제이다. 전에 풀어보려다가 실패를 해서... bof 공부를 다시 하고 마지막으로 풀어보았다 20번 문제 문제 : Download 링크를 누르면, 'reverseme.zip'이라는 파일이 받아지고, 압축을 풀면, reverseme라는 파일이 나온다. 해당 파일을 [ Exeinfo PE ] 와 [ HxD ] 에서 열면 아래와 같은 정보가 나온다. ELF 파일이다. 윈도우에 EXE 파일이 있듯이, ELF 파일은 리눅스에서 돌아가는 파일이다. 그래서 Ollydbg, 32xdbg 같은 디버깅 프로그램으로는 열리지 않는다. 리눅스에서 reverseme 파일을 실행하면 아무런 반응이 없다. gdb 와 IDA 프로그램으로 해당 파일을 분석해 보았다. main 함수 구조 auth 함수 구조..

시스템 보안/시스템 해킹

main 함수 인자

main 함수 인자 1. 인자 없을 때 main() ; 인자없음 2. 인자 있을 때 : argc, argv 1) argc : 인자 개수 2) argv : 실제 인자 문자열 argv[0] : 파일명을 포함한 실행경로 argv[1] : 인자1 argv[2] : 인자2 ※ argv들의 구분자는 공백 #include int main(int argc, char *argv[]){ printf("argc=%d\n", argc); for(int i=0;i

반응형
제나나
'분류 전체보기' 카테고리의 글 목록 (18 Page)