'30./36. Exploit-Exercises'에 해당되는 글 8건

  1. 2014.02.04 [exploit-exercises] Nebula level 08
  2. 2014.02.03 [exploit-exercises] Nebula level 06
  3. 2014.01.26 [exploit-exercises] Nebula level 05
  4. 2014.01.26 [exploit-exercises] Nebula level 04 [미완성]
  5. 2014.01.26 [exploit-exercises] Nebula level 03 [미완성]
  6. 2014.01.26 [exploit-exercises] Nebula level 02 [미완성]
  7. 2014.01.26 [exploit-exercises] Nebula level 01
  8. 2014.01.26 [exploit-exercises] Nebula level 00

Nebula level08


About

World readable files strike again. Check what that user was up to, and use it to log into flag08 account.


To do this level, log in as the level08 account with the password level08 . Files for this level can be found in /home/flag08.


Source code

There is no source code available for this level



capture.pcap 파일을 패킷 분석 툴을 이용하여 flag08의 비밀번호를 탈취










tcpdump로 패킷 분석 실패... scp를 이용하여 kali linux로 capture.pcap 전송

scp -P ./capture.pcap root@192.168.186.129:/root






프로그램 - Kali Linux - Sniffing/Spoofing - Network Sniffers - wireshark 선택



로드된 파일 - 마우스 오른쪽 버튼 클릭 - Follow TCP Stream 선택








아래 Hex Dump를 선택하여 hex 코드 확인

0x7f의 경우 아스키코드에서 delete를 뜻함. 즉, 글을 작성하고 삭제됨

 


flag08의 비밀번호는 backd00Rmate 이다.



저작자 표시
신고

Nebula level06


About

The flag06 account credentials came from a legacy unix system.


To do this level, log in as the level06 account with the password level06 . Files for this level can be found in /home/flag06.


Source code

There is no source code available for this level



레거시 리눅스에서 flag06 계정의 비밀번호 탈취







/etc/passwd 파일의 권한은 644로

root는 읽기 및 수정이 가능하고 other(현제 접속한 계정 level06) 또한 읽기 가능





가장 흔한 password creak 도구인 john the ripper를 사용하여 패스워드를 획득





계정 : flag06

패스워드 : hello








저작자 표시
신고

Nebula level05


About

Check the flag05 home directory. You are looking for weak directory permissions


To do this level, log in as the level05 account with the password level05 . Files for this level can be found in /home/flag05.


Source code

There is no source code available for this level




디렉토리 권한 문제로 특정 압축파일의 권한이 664이지만 압축 해제된 파일들의 권한은 현제 계정으로 권한이 발급되어 사용 가능




/home/flag05 디렉토리로 접근하면 아래와 같은 파일 확인 가능

.ssh 디렉토리를 발견하였지만 해등 디렉토리에는 접근 권한이 없음


ps 명령어를 이용하여 sshd 데몬이 존재하는지 확인




.backup 폴더에 접근하여 backup-19072011.tgz 압축 파일 확인



해당 압축파일은 현제 계정의 폴더에 해제

tar -xzvf [압축을 해제할 파일] [해제할 경로]

상위 ssh 파일은 ssh 암호 없이 자동로그인 하는 키를 저장한 파일

참고자료

 http://kldp.org/node/84757




flag06 접근


비밀번호 없이 접근





저작자 표시
신고

Nebula level04


About

This level requires you to read the token file, but the code restricts the files that can be read. Find a way to bypass it :)


To do this level, log in as the level04 account with the password level04 . Files for this level can be found in /home/flag04.


Source code


1#include <stdlib.h> 2#include <unistd.h> 3#include <string.h> 4#include <sys/types.h> 5#include <stdio.h> 6#include <fcntl.h> 7 8int main(int argc, char **argv, char **envp) 9{ 10 char buf[1024]; 11 int fd, rc; 12 13 if(argc == 1) { 14 printf("%s [file to read]\n", argv[0]); 15 exit(EXIT_FAILURE); 16 } 17 18 if(strstr(argv[1], "token") != NULL) { 19 printf("You may not access '%s'\n", argv[1]); 20 exit(EXIT_FAILURE); 21 } 22 23 fd = open(argv[1], O_RDONLY); 24 if(fd == -1) { 25 err(EXIT_FAILURE, "Unable to open %s", argv[1]); 26 } 27 28 rc = read(fd, buf, sizeof(buf)); 29 30 if(rc == -1) { 31 err(EXIT_FAILURE, "Unable to read fd %d", fd); 32 } 33 34 write(1, buf, rc); 35}






















저작자 표시
신고

Nebula level03


About

Check the home directory of flag03 and take note of the files there.


There is a crontab that is called every couple of minutes.


To do this level, log in as the level03 account with the password level03 . Files for this level can be found in /home/flag03.


Source code

There is no source code available for this level




nebula login : level03

password : level03























저작자 표시
신고

Nebula level02

About

There is a vulnerability in the below program that allows arbitrary programs to be executed, can you find it?


To do this level, log in as the level02 account with the password level02 . Files for this level can be found in /home/flag02.


Source code


1#include <stdlib.h> 2#include <unistd.h> 3#include <string.h> 4#include <sys/types.h> 5#include <stdio.h> 6 7int main(int argc, char **argv, char **envp) 8{ 9 char *buffer; 10 11 gid_t gid; 12 uid_t uid; 13 14 gid = getegid(); 15 uid = geteuid(); 16 17 setresgid(gid, gid, gid); 18 setresuid(uid, uid, uid); 19 20 buffer = NULL; 21 22 asprintf(&buffer, "/bin/echo %s is cool", getenv("USER")); 23 printf("about to call system(\"%s\")\n", buffer); 24 25 system(buffer); 26}































다른 풀이법



저작자 표시
신고

Nebula level01


About

There is a vulnerability in the below program that allows arbitrary programs to be executed, can you find it?


To do this level, log in as the level01 account with the password level01 . Files for this level can be found in /home/flag01.


Source code


1#include <stdlib.h>

2#include <unistd.h> 3#include <string.h> 4#include <sys/types.h> 5#include <stdio.h> 6 7int main(int argc, char **argv, char **envp) 8{ 9 gid_t gid; 10 uid_t uid; 11 gid = getegid(); 12 uid = geteuid(); 13 14 setresgid(gid, gid, gid); 15 setresuid(uid, uid, uid); 16 17 system("/usr/bin/env echo and now what?"); 18}









실행해야하는 파일은 /home/flag01 디렉토리 아래 있다.



flag01을 실행하면 "and now what?"을 확인 가능하다.




이번문제는 $PATH weaknesses 를 이용하는 문제로




현재 실행되고 있는 shell(/bin/sh)이 명령어를 검색할때 PATH에 설정된 디렉토리에서 먼저 검색해온다.




쉘어 $PATH에 /tmp 경로를 추가해준다.


/tmp의 경우 sticky bit가 설정되어 특별한 권한이 생긴다.

[sticky bit]

사용자가 아무나 파일을 넣어 놓을 수 있는 디렉토리를 가지고 있다면 어느 누구나 다른 사람의 파일을 지울 수 있다. 이때, sticky bit를 설정하게 되면, 아무나 해당 디렉토리에서 파일을 삭제할 수 없게 되며, 파일을 삭제할 수 있는 사용자는 다음과 같다.

> 파일의 소유자

> 디렉토리 소유자

> 슈퍼 유저






/bin/bash를 심볼릭 링크를 걸어서 /tmp/echo를 만들고 실행한다.

하지만, system안에 작성된 "and now what?"을 파라미터로 인식하여 실행되지 않는다.

 


간단한 bash script를 작성하여 파라미터로 인식되는 부분을 무시한다.



저작자 표시
신고

Nebula level00



About

This level requires you to find a Set User ID program that will run as the "flag00" account. You could also find this by carefully looking in top level directories in / for suspicious looking directories.


Alternatively, look at the find man page.


To access this level, log in as level00 with the password of level00 .


Source code

There is no source code available for this level


문제 시작

nebula login : level00

Password: level00


문제 이해







$ find / -executable -user flag00 2> /dev/null

flag00으로 실행가능한 파일 검색





You have successfully executed geflag on a target account


저작자 표시
신고
1 

카운터

Total : 85,369 / Today : 1 / Yesterday : 31
get rsstistory!