CERT 여름방학 스터디 11

2024.7.15 스터디 - DreamHack

쿠키HTTP 프로토콜Connectionless: 하나의 요청에 하나의 응답을 한 후 연결 종료Stateless: 통신 끝난 후 상태 정보 저장 않음두 특성을 갖는 HTTP에서 상태를 유지하기 위해 쿠키가 탄생함.쿠키(Cookie): Key와 Value로 이뤄진 일종의 단위.서버가 클라이언트에게 쿠키를 발급 → 클라이언트는 서버에 요청 보낼 때마다 쿠키 함께 전송.클라이언트 정보 기록 & 상태 정보 표현 용도 악의적인 클라이언트는 쿠키 정보 변조해 서버에 요청을 보낼 수 있음세션을 사용해 클라이언트가 인증 정보 변조할 수 없게 함.세션은 인증 정보 서버에 저장하고 해당 데이터에 접근할 수 있는 키를 만들어 클라이언트에 전달하는 방식으로 작동.→ 해당 키는 일반적으로 Session ID라고 함.이미지 출처:..

2024.7.15 스터디 - Bandit

브루트 포스(brute force) → 조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호 해독함24렙 비밀번호 + 0000~9999 모두 대입하는 쉘 스크립트 작성 git clone ~ (주소에 port 입력 포함시켜서)git 리포지토리 파일 다운받기→ 27렙 비번 치기→ repo로 이동→README 확인 git clone ㄱㄱ→ 비번 입력→ 엥 비밀번호 안 알려주네→ git log→ git checkout 명령어로 커밋 이전 확인 앞 문제들이랑 비슷하게 git clone까지 함git branch -a : 브랜치 확인브랜치 까보면 됨 또 git 레포지토리야..똑같이 디렉토리 만들고 git clone해서 진행함just an epmty file... muahaha이거 뭐냐? 열받게 하네..→ 어케..

2024.7.11 스터디 - DreamHack

개발자 도구 실습devtools-sources | 워게임 | Dreamhack | 워게임 | Dreamhack devtools-sources개발자 도구의 Sources 탭 기능을 활용해 플래그를 찾아보세요. 플래그 형식은 DH{...} 입니다. Reference Tools: Browser DevToolsdreamhack.io 문제 파일 다운로드(압축 안 풀고 뻘짓 조금 함)→ 개발자 도구 오픈→ ctrl + shift + f검색 기능 이용해 플래그 획득

2024.7.11 스터디 - Bandit

셸 스크립트 만들기실행 후 셸 스크립트 제거됨. 사본 보관*또 cron파일이게 무슨 소리인고.. /var/spool/bandit24/foo 디렉토리 안 모든 스크립트를 실행하고 지운다네요 일단 mkdir로 /tmp/dPdud 하나 만들고셸 스크립트 파일도 만듦 💡 cat /etc/bandit_pass/bandit24 > /tmp/dPdud/pw.txt이렇게 쓰면 bandit24 패스워드를 /tmp/dPdud/pw.txt 라는 새로운 파일로 저장하겠다는 뜻 chmod 명령어로 권한 추가 생성된 파일 확인 후 다음 레벨 비밀번호 획득

2024.7.9 스터디 - Bandit

bandit20 계정에서 bandit21 계정에 bandit20 비밀번호 전송해 맞다면, bandit21 계정 비밀번호 획득 가능setuid 활용setuid 적용된 suconnect 파일새 터미널 오픈nc -lnvp [포트번호] 옵션n: DNS 이름 해석 비활성화, IP주소 연결 수락, 표시p: 포트에서 연결 수락하게 함v: 상세 정보 표시 설정l: 리스닝 모드 활성화./suconnect [포트번호] 통해서 연결 시간 기반 프로그램 cron에서 일정한 간격으로 프로그램 실행됨./etc/cron.d/ 살펴보기cron: 스케줄 프로그램. 일정한 시간마다 특정 프로그램, 명령어 실행하게 해줌.bandit21@bandit:/etc/cron.d$ cat cronjob_bandit22 @reboot bandit22..

2024.7.4 스터디 - DreamHack

도커(Docker)란?컨테이너를 만들고, 실행하고, 배포할 수 있는 가상화 플랫폼.도커의 컨테이너는 가상 환경이 구축되어 있는 하나의 박스를 의미함.새로운 운영체제 환경 구축이 필요 없이 하나의 분리된 프로세스처럼 작동하여 더 가벼움.도커 이미지도커 컨테이너의 전 단계. 컨테이너 생성, 실행하기 위한 모든 것.태그를 붙일 수 있는데, 태그를 붙이는 것은 하나의 이미지에 여러 개 별명을 붙여 주는 것과 같음. 주로 이미지 버전 지정에 사용.도커 컨테이너도커 이미지로부터 만들어진 실행 가능 인스턴스. 실행 중인 이미지를 컨테이너라고 할 수도 있다.도커 레지스트리도커 이미지 저장하는 저장소.

2024.7.4 스터디 - Bandit

/etc/bandit_pass/bandit14user bandit14만 읽을 수 있음파일 까보면 sshkey.private라는 비밀키가 있음$ ssh -i sshkey.private bandit14@localhost -p 2220key 사용 체크 후 /etc/bandit14_pass/bandit14 파일에 접근 localhost 포트 30000에 제출해 검색nc [시스템 주소] [포트]nc localhost 30000현재 패스워드 제출 localhost port 30001에 제출SSL 암호화 사용SSL이 뭔데→ SSL은 웹사이트와 브라우저 사이(또는 두 서버 사이)에 전송되는 데이터를 암호화하여 인터넷 연결을 보호openssl s_client -connect [시스템 주소:포트] localhost 310..

2024.7.3 스터디 - DreamHack

시스템 해킹컴퓨터 프로그램 행위를 조작하여 공격자가 원하는 행동을 실행하도록 하는 공격 전반. 컴퓨터에서 구동되는 모든 프로그램에 대한 해킹에 적용 가능한 말이다.→목표는 통상적으로 공격 대상 프로그램이 구동되는 서버의 임의 유저와 같은 권한 획득하는 것.웹 해킹웹 상에서 본래의 의도와 다른 동작을 일으키거나 데이터 도용, 변조, 손상 등의 악의적인 행위 수행하는 것.암호학정보를 보호하고 안전하게 통신하기 위한 방법론을 다룸.

2024.7.3 스터디 - Bandit

data.txt 안에 있음사람이 읽을 수 있는 문자열앞에 몇 개의 ‘=’문자 있음strings : 이진 파일에서 텍스트 문자열 만을 추출하는 명령어💡 strings data.txt | grep =응용해서 해결 data.txt에 있음base64로 인코딩 되어있음  data.txt에 저장돼있음소문자, 대문자는 13자리씩 바뀌었다ROT13 암호화 방식tr : 치환의 의미를 가짐. 지정한 문자 바꾸거나 삭제하는 명령어옵션-s: 문자열에서 반복되는 문자 삭제-t: 문자열 A를 문자열 B의 길이로 자름.-d: 문자열에서 지정한 문자 삭제ex) echo asdf | tr ‘[a-z]’ ‘[A-Z]’ (소문자 대문자로 변환)ASDF cat data.txt | tr ‘[A-Za-z]’ ‘[N-ZA-Mn-za-m]’→ ..

2024.7.1 스터디 - DreamHack

바이트 오더링(Byte Ordering)바이트 오더링: 각 바이트가 메모리에 정렬되는 방식빅 엔디안(Big Endian), 리틀 엔디안(Little Endian)→ 어떤 바이트부터 낮은 주소에 저장되는지에 따라 두 방식 구분됨.왼쪽에 있는 바이트가 크다고 표현한다면빅 엔디안은 큰 바이트부터 낮은 주소에 저장되고,리틀 엔디안은 작은 바이트부터 낮은 주소 저장됨.인코딩, 디코딩인코딩(Encoding): 데이터를 특정한 형식으로 변환→ 데이터의 크기를 줄이거나, 컴퓨터가 이해하기 쉽게 변환할 때 사용.디코딩(Decoding): 인코딩된 데이터를 디코딩해 원래의 값 구할 수 있음.64se6464se64 | 워게임 | Dreamhack | 워게임 | Dreamhack개발자 도구 오픈value값 Base64로 디코..