정보보안
-
Level1WarGame & 문제풀이/FTZ 2018. 12. 3. 14:39
아이디 : level1 비번 : level1Hint가 있어서 바로 열어 봤습니다.Level2 권한에 setuid가 걸린 파일을 찾는다라.. Setuid와 관련이 있는 권한에 대해서 한번 공부해 보자.음.. 일단 모든 파일을 확인해서 setuid가 걸려있는 파일을 찾는걸 우선으로 해야할것 같다.해당 home 디렉터리 안에는 없는 것 같아서 find명령어를 사용해야 할 것 같다. Find 명령어에 대해서 좀 알아보면!그래서 setuid의 권한이 4000이므로 이에 대해 검색을 해보았다.여기서 정확히 4000보다는 4000을 포함하는 파일을 찾기 위해서 -4000을 옵션으로 사용했다. 사용한 명령어 : find / -user level2 -perm -4000거의 전부다 권한 때문에 접근이 불가능 했지만 딱 1..
-
[Toddler's Bottle] 5번.[passcode]$ 시스템 해킹 $/pwnable.kr 2018. 12. 2. 11:09
이번에 풀어볼 문제는 pwnable.kr의 5번문제인 [passcode] 문제 입니다.주요한 passcode.c 파일이 있네요 한번 확인해 보겠습니다.코드를 살펴 보면 main() -> welcome() -> login() 이 순서대로 들어가는 것을 알 수 있습니다.welcome()에서 이름을 입력 받은 뒤에 login()에서 passcode1,passcode2를 입력 받아서 if문으로 비교 해서 맞으면 /bin/cat flag를 실행 시키는 방식으로 이루어진 코드 인 것 같습니다. 한번 코드를 실행시켜서 338150와 13371337을 넣어보겠습니다.Segmentation fault 즉, 세그먼테이션 오류가 나네요 그 이유를 보니 scanf에서 &가 없습니다.&변수 형태가 변수가 들어있는 주소이고, 이..
-
[Toddler's Bottle] 3번.[bof]$ 시스템 해킹 $/pwnable.kr 2018. 12. 1. 23:17
이번에 풀어볼 문제는 pwnable.kr의 3번문제인 [bof] 문제 입니다.문제를 보니까 download가 있으니 한번 다운 받아 보겠습니다.URL 이 있기 때문에 wget 을 사용했습니다. 파일을 한번 확인 해 보겠습니다 음.. 일반폴더 하나와 c언어로 작성된 코드가 하나 있네요 내용을 확인해보면 func함수로 들어가서 값을 출력하는거 같은데..Key 값과 0xcafebabe와 일치해야 /bin/sh에 있는 flag가 나오는 코드인거 같네요 Key값은 func에 있는 0xdeadbeef 인거 같은데… 실행을 한번 해보겠습니다. 실행권한을 부여해주고 실행을 해보니 값을 입력 받으려고 하는거 같네요 저기에있는 0xcafebabe를 입력해보겠습니다. 안나오는 걸 보니 gdb를 이용해서 한번 리버싱 해보겠습..
-
[Toddler's Bottle] 4번.[flag]$ 시스템 해킹 $/pwnable.kr 2018. 11. 30. 22:33
이번시간에 풀어볼 문제는 www.pwnable.kr 의 4번째 문제 [flag]입니다.키워드를 한번 뽑아보면 packed // reversing // need binary 리버싱을 이용해야 하는 문제인거 같네요 일단 저 url을 이용해서 다운로드를 받아줍니다.그리고 파일이 무엇인지 확인합니다.실행했을때 힌트를 받을수도 있기 때문에 실행파일로 바꿔 봅시다.실행파일로 바뀌었다는 걸 알수 잇습니다. 실행을 한번 해보겠습니다. malloc() (동적할당) 과 strcpy 그리고 flag를 그곳에 둘것이니 가져가라 라는 뜻같네요 파일 분석을 한번 해보면..그냥 ELF형식의 64비트라는것을 알수 있네요. 32비트가 아니라는것은 알수 있었습니다. 그러면 이제 gdb을 이용해서 리버싱을 한번 해보겠습니다.gdb로 들어..
-
[Toddler's Bottle] 2번.[collision]$ 시스템 해킹 $/pwnable.kr 2018. 11. 29. 17:00
이번에 풀어볼 문제는 pwnable.kr의 2번문제인 [collision] 문제 입니다. (* 사정상 이번에는 cmd를 이용해서 문제를 풀겠습니다. )MD5 해시 라는 말이 보이네요 ssh를 통해서 한번 문제로 들어가 보겠습니다. ls -l 명령어를 통해 무슨 파일이 있는지 확인해 보겠습니다. col, col.c , flag가 있네요 flag는 접근 불가능 하고 col.c를 읽어 봐야 할거 같네요.Hash code 가 16진수로 되어있네요. 대충 코드를 살펴 보니 argc는 2보다 커 야하고 길이는 20이어야 합니다. Hashcode 16진수를 10진수로 변환해 보겠습니다. 0x21DD09EC -> 568134124 Check_password함수를 보면 입력 받은 p의 주소 값을 포인터형 변수 ip에 집..
-
[Toddler's Bottle] 1번.[fd]$ 시스템 해킹 $/pwnable.kr 2018. 11. 29. 11:24
처음으로 www.pwnable.kr 1번문제를 보면 다음과 같습니다.맨 아래줄에 있는 ssh fd@pwnable.kr -p2222 를 이용해서 문제에 접속하기입력 후에 guest를 비번으로 입력ls 명령어를 이용해서 무슨 파일이 있는지 확인합니다.fd.c 파일과 fd파일 flag파일이 있네요. 그러면 fd.c파일의 내용을 확인 해보겠습니다.fd을 실행할때 argc라는 변수를 같이 입력해야 실행이 되는 파일입니다.argc는 2 이상이어야 하고 int fd = atoi(argc[1])을 보면 값이 0x1234 라는것을 알수 있습니다. 0x1234는 16진수 값이기 때문에 10진수로 바꿔줘야 합니다. 0x1234 = 4660입니다.엔터 하면 입력을 계속 받으려고합니다. 다시 코드를 보면 if(!strcmp("..
-
시스템 호출(System Call)Basic knowledge/시스템(Pwn) 2018. 11. 26. 16:51
시스템 호출 이란? - 시스템 호출은 대부분 시스템 콜이라고 자주 쓰임- 시스템 콜은 응용프로그램에서 운영체제에게 어떠한 기능을 수행해 달라고 하는 하나의 수단- 운영 체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근 하기 위한 인터페이스 시스템 호출의 기능 1. 사용자 모드에 있는 응용 프로그램이 커널의 기능을 사용할 수 있도록 한다.2. 시스템 호출을 하면 사용자 모드에서 커널 모드로 바뀐다,3. 커널에서 시스템 호출을 처리하면 커널 모드에서 사용자 모드로 돌아가 작업을 계속한다. 시스템 호출의 유형 1. 프로세서 제어(process Control)2. 파일 조작(file manipulation)3. 장치 관리(Device Management)4. 정보 유지(Inform..