본문 바로가기

3. Pwnable (포너블)

(57)
[2021.05.22] 8주차 : Bandit Level 15,16,17->18 | 달고나 문서 p.34 ~ ~ p.44 벌써 한 학기 마지막 활동이라니..!!! 아쉬움도 많지만 팀원들과 1학기를 알차게 보낼 수 있어서 너무너무 행복했습니다 🤩 이번 시간은 Bandit Level15, 16, 17 -> 18 풀이를 했고, 달고나 문서는 p.34 ~ p.44까지 진행했습니다. Bandit Level 15, 16, 17 -> 18 Bandit 15 s_client : SSL/TLS 클라이언트 프로그램 openssl : 네트워크를 통한 데이터 통신에 쓰이는 프로토콜인 TLS와 SSL의 오픈 소스 구현판이다. C 언어로 작성되어 있는 중심 라이브러리 안에는, 기본적인 암호화 기능 및 여러 유틸리티 함수들이 구현되어 있다. 출처 : 위키 가장 기본적인 사용법은 다음과 같습니다. openssl s_client -connect [서버]..
[2021.05.15] 7주차 : Bandit Level 12,13,14->15 | 달고나 문서 p.27 ~ ~ p.34 이번 시간에는 Bandit Level 12, 13, 14까지 문제 풀이 후, 달고나 문서 p.27 ~ 34까지 읽었습니다! 이전에는 다뤄본 적이 없었던 SSH, telnet, nc 등을 다루다 보니 굉장히 어려웠지만 우여곡절 끝에 이번 주도 잘 마무리하였습니다~~! -> data.txt 파일 내에 있는 여러 번 압축된 파일을 풀어서 비밀번호 찾기 bzip2, gzip, tar 등 압축 명령어를 공부하는데 큰 도움이 되었다. -> bandit14만 접근할 수 있는 비밀번호 파일에 권한이 없으니 priavte SSH key를 이용해 localhost로 bandit15에 접속하기 localhost 내에서 port 30000인 네트워크에 접속하기 nc (netcat) : TCP, UDP 같은 프로토콜에서 데이터..
[2021.05.8] 6주차 : Bandit Level 10,11,12->13 | 달고나 문서 p.13 ~ p.27 이번 주는 Bandit Level 10, 11, 12 총 세 문제를 진행하였고, 12 레벨은 문제가 까다로워 다음 주에 다시 다뤄보기로 하였습니다. 또한 달고나 문서를 p.12 ~ p.27까지 읽고 질의응답하는 시간을 가졌습니다. Bandit Level 10은 base64로 인코딩 된 data.txt 파일을 복호화해서 비밀번호를 찾아내는 문제였습니다. Level 11은 data.txt 파일 내용이 모두 카이사르 암호화로 치환되어서 이를 해독하는 문제였습니다. Level 12는 data.txt 파일이 여러번 압축되어 있어서 이를 계속해서 압축 해제해주어야 하는데, home 디렉터리에 대한 권한이 없기 때문에 /tmp/test/ 와 같은 임시 디렉터리를 만들어주어 파일을 복사해 수행하면 됩니다. 또한 파일이..
[2021.05.1] 5주차 : Bandit Level 6, 7, 8, 9 -> 10 | 달고나 문서 p.1 ~ p.12 포야호팀이 중간고사를 무사히 마치고 3주만에 뭉쳤습니다~~ 모임이 없는 3주 동안 Bandit을 6~13 레벨까지 풀어오기로 했으나 10부터 생각보다 난이도가 높아 시간 소요가 많이 돼서 10까지만 진행하였습니다. find 명령어를 사용해 -user , -group, -size 옵션을 주어 파일을 찾아내는 문제였습니다. grep 명령어를 사용해 millionth 이라는 문자열이 있는 행을 출력하도록 하였습니다. cat data.txt | grep "millionth" data.txt 파일 내에는 수많은 라인이 출력되는데, 오직 한 줄을 제외하곤 모두 중복된다고 합니다. sort 명령어로 먼저 정렬을 해주고, uniq로 그 한 줄을 찾아주면 됩니다. 저(팀장)는 sort와 uniq 둘 다 처음 써봐서 많이..
[2021.03.27] 4주차 : C언어 기본 다지기(3), Bandit Level 3~5 팀명 : 포~야호~ (그만큼 잘하고 싶으시다는 거지~) 활동 일자 : 2021.03.27 13시 40분 ~ 15시 4주차 활동 계획 : 유튜브 영상을 통한 C언어 기본 다지기(3), Bandit Level 3~5 문제 풀이 팀원 : 이서은, 이연지, 이혜지, 정효주 bandit Level 3 -> Level 4 목표: inhere 디렉터리의 숨겨진 파일에 저장되어있는 암호 구하기 ls 명령어를 통해 파일목록을 알아낸다 cd 명령어를 통해 [inhere]로 경로 이동 ls -a를 통해 숨겨진 파일을 포함하여 디렉터리를 출력한다. [.hidden]의 존재를 파악할 수 있다. cat 명령어를 통해 [.hidden]을 읽는다. bandit4 pw : pIwrPrtPN36QITSp3EQaw936yaFoFgAB b..
[2021.03.20] 3주차 : C언어 기본 다지기(2), Bandit Level 0~2 팀명 : 포~야호~ (그만큼 잘하고 싶으시다는 거지~) 활동 일자 : 2021.03.20 13시 40분 ~ 15시 3주차 활동 계획 : 유튜브 영상을 통한 C언어 기본 다지기(2), Bandit Level 0~2 문제 풀이 팀원 : 이서은, 이연지, 이혜지, 정효주 bandit 0 level - ssh>네트워크 상의 다른컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용프로그램 또는 프로토콜을 가리킴 (사용법 ssh user@hostname or ssh user@192.~~~(주소)) 따라서 #ssh bandit0@bandit.labs.overthewire.org -p2220 bandit 0 -> bandit 1 ls 명령어를 통해 파일을 나열한 뒤..
[2021.03.13] 2주차 : C언어로 기본 다지기 (1) 팀명 : 포~야호~ (그만큼 잘하고 싶으시다는 거지~) 활동 일자 : 2021.03.13 13시 40분 ~ 15시 2주차 활동 계획 : 유튜브 영상을 통한 C언어 기본 다지기 팀원 : 이서은, 이연지, 이혜지, 정효주 스터디 내용 이번 2주차는 '29살의 C언어 with 거니' 유튜브 채널의 영상을 시청하며 C언어의 기본을 다지는 시간을 가졌다. 수강 범위 1. C언어 기초 개념 2. C언어 printf 함수 3. 변수 variable 첫 이름은 대문자, 소문자,_ ( 자료형 int, float, char, double) 4. 연산자 - +,=,==,!=,, =,++,--,+=,-= 5. 조건문 if , else if, else 6. 반복문 - for, while, do while, switch 총 6강..
[2020.11.21] 4너블 4ever - 달고나 문서 70p ~ 84p(끝!) Return into libc 기법 스텍 영역의 코드를 실행하지 못하게 하는 non-executable stack보호 기법이나 일부 IDS에서 네트워크를 통해 쉘 코드가 유입되는 것을 차단하는 보호 기법을 뚫기 위한 방법으로 제안. non-executable stack 기법 -스텍 영역에 있는 코드를 실행하지 못하게 하는 것. -CPU 레벨, 운영체제 영역 에서의 보호 기법. -위의 사진처럼 butter overflow 취약점이 있는 버퍼를 공격. -버퍼를 overflow시켜 butter위에 있는 return address영역에 실행시키고자 하는 libc 함수의 주소를 넣어줌. -return address가 libc함수로 바뀌어서 함수가 리턴되면서 libc함수가 실행. -system()함수의 시작지점은 ..