반응형

setuid 8

그루트 시큐리티 - CatchMeIfYouCan

Target ip는 10.10.31.242이다. Port scanning 결과 21, 22, 80 port 가 열려져 있다. ftp에 anonymous아이디로 접근을 하였더니 접속이 되었다. ftp id : anonymous pw : anonymous 그 후 ls -a 옵션으로 list를 확인해보았다. .ssh_creds.docx, hiya, temporary_pw.txt 파일을 확인 하였다. get 명령어로 3개의 파일을 다운 받았다. cat 명령어로 temporary_pw.txt파일을 읽었다. 파일의 내용은 docx 파일을 찾아서 읽으라고 한다. docx 파일은 아까 다운받은 .ssh_creds.docx 파일을 읽으면 될 것이다. 먼저 libreoffice를 다운 받는다. libreoffice 다운 ..

[Tryhackme] - GLITCH

문제 이름 https://tryhackme.com/room/glitch 위 사이트에 접속하면 해당 문제를 풀 수 있다. 정보 수집 대상 ip를 확인하였다. 포트 스캐닝을 진행을 하였고 80포트가 열려있어서 웹 사이트가 구동중이라고 생각을 하였다. 80포트로 웹 사이트에 접속하니 아무것도 나타나지 않았다. 페이지 소스보기를 통해 해당 웹 페이지가 어떻게 구성되어 있는지 확인하였다. 페이지를 확인해보니 getAccess()라는 함수가 api를 호출하고 결과를 반환하는 것을 볼 수 있다. 하지만 getAccess()함수를 수행하는 부분이 없다. 콘솔창에서 해당 함수를 실행하니 토큰을 준다. 토큰 값 : dGhpc19pc19ub3RfcmVhbA== 토큰 값이 base64형태여서 원래대로 decode를 진행하였다..

[Tryhackme] - Basic Pentesting

문제 이름 https://tryhackme.com/room/basicpentestingjt TryHackMe | Basic Pentesting This is a machine that allows you to practise web app hacking and privilege escalation tryhackme.com 위 사이트에 접속하면 해당 문제를 풀 수 있다. 정보 수집 대상 ip를 확인하였다. ping 명령어를 이용하여 해당 시스템이 살아있는지 확인하였다. 대상이 살아있음을 확인을 한 후 nmap을 이용하여 포트스캐닝을 진행하였다. 해당 시스템은 22, 80, 139, 445, 8009, 8080 포트가 열려있다. 80포트 http 웹 사이트로 접속을 하였다. 해당 웹사이트는 유지 보수중이며 ..

[Tryhackme] - RootMe

문제 이름 https://tryhackme.com/room/rrootme TryHackMe | RootMe A ctf for beginners, can you root me? tryhackme.com 위 사이트에 접속하면 해당 문제를 풀 수 있다. 정보 수집 대상 ip를 확인하였다. nmap을 이용하여 포트스캔을 진행하였다. sV 옵션으로 열린 포트의 서비스와 버전정보를 탐색하고 O옵션을 통해 운영체제를 탐색하였고 리다이렉션을 이용해 scan_res에 nmap결과 값을 저장시켰다. scan_res를 확인해보면 22번 ssh 포트와 80번 http포트가 열려있다. 포트가 2개가 열려있다. Apache 버전은 2.4.29 버전이다. 해당 웹 사이트를 들어가보도록 하겠다. 해당 웹 사이트에 들어가니 root를..

[Hackerschool FTZ] - level 5 문제

문제 내용 힌트를 보면 /usr/bin/level5 프로그램을 실행하면 /tmp 디렉토리에 level5.tmp라는 임시 파일을 생성한다고 한다. /usr/bin/level5를 실행하고 /tmp 디렉토리를 확인 해 보겠다. 명령어를 실행하였지만 level5.tmp가 생성되지 않았다. 하지만 생성된것이 아니라 빨리 삭제가 된것이여서 보이지 않는 것이다. 이것은 레이스 컨디션 공격을 통해 문제를 해결할 수 있다. 레이스 컨디션 공격을 위한 조건은 아래와 같다. 1. SUID가 걸려있어야 한다. 2. 임시파일을 생성해야 한다. 3. 임시로 생성되는 파일의 이름을 알아야 한다. /usr/bin/level5를 실행하면 /tmp/level5.tmp 파일이 생성된다. setUID가 걸려있고 임시파일을 생성하고 생성되는..

[Hackerschool FTZ] - level 3 문제

문제 내용 hint를 보면 autodig의 소스코드를 보여주고 있다. argc가 2개가 아니면 종료가 된다. => 인자를 1개 넣어줘야함 strcpy로 dig @를 cmd에 복사하고있다. strcat(A,B)함수는 문자열을 이어붙이는 함수로 A뒤에 B를 붙인다. 마지막에 system함수로 입력받은 명령어를 실행할 수 있다. 힌트를 보면 동시에 여러 명령어를 사용하기 위해 ;(세미콜론)을 사용하면 되고 문자열 형태로 명령어를 전달하기 위해서는 '(싱글 쿼터), "(더블 쿼터)를 사용하면된다. 인자에 '8.8.8.8;my-pass'을 넣어주면 dig @8.8.8.8을 실행한 후 my-pass를 실행하게 될 것이다. 일단 autodig파일의 위치를 찾아보겠다. autodig파일은 /bin디렉터리 아래에 있는 ..

[Hackerschool FTZ] - level 2 문제

문제 내용 hint 파일을 확인해보니 텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데... 이라고 한다. 텍스트 파일 편집 중 쉘의 명령을 실행시킬수 있는 텍스트 파일은 vi에서 실행시킬 수 있다. level 1번 문제처럼 setUID 권한을 가지고 있는 소유자가 level3인 파일을 찾아보았다. /usr/bin/editor이라는 파일이다. /usr/bin/editor 파일을 확인해보면 group사용자가 level2이고 소유자가 level3인것을 보아 level2에서 실행시키면 level3의 권한을 가진다. editor파일은 32비트 ELF 실행파일이므로 한번 실행해 보도록 하겠다. 실행을 하니 vi 편집기가 떴다. 아까 힌트를 보면 편집기능에서 쉘의 명령어를 실행시킬 수 있다고 하였다. vi편집..

[Hackerschool FTZ] - level 1 문제(환경 설정 포함)

환경설정 id : root, password : hackerschool 이다. ifconfig로 ip를 확인한다. putty로 접속을 한 후 hint를 보니 한글이 깨진다. Window -> Translation -> Remote character set: 에서 Use font encoding을 사용한다. 한글이 이제 보인다. level1번 문제를 바로 풀어보도록 하자. 문제 풀이 아이디와 비밀번호는 level 1으로 동일하다. hint를 보니 level2권한에 setuid로 설정된 파일을 찾는것이다. setuid는 파일 실행 시 파일 소유자 권한으로 실행하는것을 말한다. setuid로 파일을 설정하고 싶으면 권한설정을 4000번으로 하면 된다. ex) chmod 4777 [file_name] find의..

반응형