id : bandit16 password : JQttfApK4SeyHwDlI9SXGR50qclOAil1 (2023.05 기준) localhost 31000번 포트부터 32000번 포트 범위 내에 현재 패스워드를 제출해야 다음단계로 가는 자격증명을 얻을 수 있다고 합니다. 우선 서버에서 어떤 포트들이 리스닝 하고 있는지 부터 확인해보세요. 그리고 서버가 SSL 통신을 하는지, 아닌지를 확인해보세요. 단 하나의 서버만 다음 단계 자격증명을 줄 것이고, 다른 것들은 당신이 무엇을 보내던지 간단히 되돌려 보낼 것입니다. 우선 열려있는 포트부터 확인해야겠네요 netstat 을 이용해도 좋고 nmap 을 이용해도 좋습니다. 함께 풀어봅시다. 더보기 이번 문제에서는 특정 범위 내에 열려있는 포트를 확인해야 합니다. ..
SSL 은 암호화 통신을 위해 대칭키, 비대칭키 방식을 혼용하여 사용합니다. 이것은 공개키, 개인키를 활용하는 ssh 통신의 원리와 거의 같은 방식입니다. 차이점은 SSL 통신에는 디지털 인증서가 필요하다는 점입니다. SSL 디지털 인증서는 클라이언트가 접속한 서버가 통신하려고 하는 대상이 맞는지를 제 3자가 보증해주는 전자문서입니다. 서버는 CA(Certificate Authority) 기관에게 본인의 신원을 보장해줄 수 있는 인증서를 구입하고 설치하는데 CA 기관은 아무기업이나 참여할 수 없고 신뢰성이 공인된 기업만 이를 수행할 수 있습니다. (우리나라 공인인증서도 은행은 금융결제원, 증권/보험은 SignKorea 에서만 발급하는 것과 비슷합니다) 즉, 공인기관에서 보장하는 인증서를 갖춘 서버와 암호..
openssl 은 데이터통신을 위한 TLS, SSL 프로토콜을 이용할 수 있는 오픈소스 라이브러리 입니다. SSL은 1994년 netscape사의 웹 브라우저 보안 프로토콜로 처음 고안되어 1996년까지 버전 3.0까지 발표되었는데, 3.0을 국제표준화 기구에서 새로 정립한 것을 TLS라고 합니다. 즉 TLS 1.0 은 SSL 3.0 과 같습니다. 통상적으로 SSL과 TLS는 같은 의미로 사용되지만 SSL이 더 익숙한 느낌이 있습니다. 쉽게 설명하면 http 통신을 안전하게 하기 위한 프로토콜로 만들어진게 SSL 이고 이것은 실제 https, sftp 와 같은 표준 프로토콜에 적용된 기술입니다. ssl 이나 https 모두 프로토콜인데, 웹 접속(HTTP)이 인터넷을 이용해서 구현된 서비스 중의 하나인 ..
id : bandit15 password : jN2kgmIXJ6fShzhT2avhotn4Zcka6tnt (2023.05 기준) ssl 암호화를 이용해서 localhost 30001번 포트로 현재 패스워드를 제출하면 다음 레벨로의 패스워드를 얻을 수 있다고 합니다. 이번 문제는 openssl 을 공부하고 풀어봅시다. 더보기 로그인하면 홈디렉토리에서 bandit14 패스워드를 확인할 수 있습니다. 지난 단계에서 제출한 값과 맞는지 비교하는데 사용되었겠죠 헤깔리지 말고 bandit15 의 패스워드 부터 확인해둡니다. openssl --help 를 살펴보니 다양한 서브 커맨드 들을 지원하는게 눈에 띕니다. 우리가 이용해야할 서브커맨드는 s_client 입니다. 리눅스에서 우리가 사용할 openssl 명령은 ss..
nc 명령은 NetCat 의 약자로 네트워크를 통해 cat 을 수행할 수 있다의 의미입니다. 일반적으로 내 PC 내의 파일(로컬 환경)을 읽고 화면에 출력하는데 사용하는 명령이 cat 인데 netcat 이라고 이름을 붙인데는 상대방 쪽의 파일을 내 쪽에서 간편하게 읽어들일 수 있다 정도의 의미로 받아들이면 되겠습니다. telnet, ssh 는 사용자 인증(계정확인)을 통해 해당 아이디의 bash 환경 접속을 허용해주는데 비해, nc 는 간단한 메세지 통신, 파일 전송 등에 최적화 되어 있습니다. 리눅스 종류에 따라서 nc가 기본 프로그램으로 설치되어 있지 않을 수도 있습니다. 이때는 yum 이나 apt-get 명령을 통해 간단히 설치할 수 있습니다. nc 는 tcp, udp 통신을 모두 지원하고 포트단위..
우리는 인터넷을 이용하기 위해 google.com, daum.net, naver.com 등을 인터넷 주소창에 입력하죠? 위에 나열한 구글, 다음, 네이버 에 접속하면 [웹사이트]가 나타나고 우리는 이를 자연스럽게 이용합니다. 여러분들이 [웹사이트]에 접속하는데 사용하는 크롬, 인터넷 익스플로어, 엣지, 웨일, 파이어폭스 등의 프로그램을 [웹브라우저] 라고 부릅니다. [웹브라우저]는 웹사이트의 내용을 살펴볼 수 있게 해주는 인터넷 탐색 프로그램입니다. 사실 이것은 윈도우 파일탐색기와 비슷합니다. [웹사이트]에는 실제로 수 많은 폴더가 존재하고, 각각의 폴더마다 많은 파일들이 채워져 있는데 우리가 사용하는 윈도우와 같다고 생각하시면 됩니다 차이점은 윈도우 파일탐색기는 파일의 내용을 직접 클릭해야 확인할 수 ..
id : bandit14 password : fGrHPx402xGC7U7rXKDaxiWFTOiF0ENq (2023. 04월 기준) 현재 레벨의 패스워드를 localhost 30000번 포트로 패스워드를 제출하면 다음 레벨로의 패스워드를 되찾을 수 있다고 합니다. 이번 문제를 풀기 전에 IP address 와 Port 에 관해서 개념이 불확실 하다면 [IP 주소와 Port의 쉬운 설명]을 읽고 오시길 권해드립니다. 더보기 처음 접속해서 패스워드를 확인해봅니다. localhost 30000 으로 접속을 하고 패스워드도 제출해야 합니다. telnet 으로 포트번호 30000 으로 접속해봅시다. connected to localhost 가 나타나내요. 즉 연결이 잘되었습니다. ctrl + x 로 빠져나가기(es..
리눅스 vim 을 이용하면서 기본으로 반영할만한 설정들입니다. 사용자 홈 디렉토리(~) 밑에 .vimrc 파일에 내용을 입력해주면 vim 을 불러올때마다 자동 반영해줍니다. if has("syntax") syntax on endif set hlsearch set nu set autoindent set cindent set ts=2 set sts=2 set shiftwidth=2 set laststatus=2 set showmatch set smarttab set smartindent set ruler set incsearch set smartcase 탭간격은 개인적으로 4보다 2가 편해서 조정했습니다. 설정 각각의 의미는 아래 링크를 참고하면 되겠습니다. https://hyoje420.tistory.co..
ssh 는 Secure Shell 의 줄임말로 원격 호스트에 접속하기 위해 사용되는 프로토콜이고 기본적으로는 22번 포트를 사용하고, ssh 를 기반으로 파일복사 등도 가능합니다. * putty 같은 터미널 프로그램 뿐만 아니라 winscp 같은 프로그램을 이용하면 ssh 기반으로 파일 전송을 쉽게 활용할 수 있습니다. 1995년에 ssh 가 개발되기 전까지 기존 원격 접속은 ‘텔넷(Telnet)’ 방식을 사용했는데, 암호화를 제공하지 않기 때문에 보안상 취약하다는 단점이 있었습니다. 실제로 WireShark같은 패킷 분석 프로그램을 이용해서 내 컴퓨터에서 주고받는 패킷을 살펴보면 telnet 통신 중 전달되는 ID, 비밀번호, 파일 내용 등의 데이터를 쉽게 엿볼 수 있지만 ssh 암호화 기법을 사용하기..
- Total
- Today
- Yesterday
- Bandit
- Linux
- 웹보안
- over the wire
- OverTheWire
- find
- bz2
- 리눅스
- Encode
- 리터럴
- Natas
- tar
- OpenSSL
- nc
- BASE64
- tr
- natas7
- ssh
- 풀이
- SSL
- Strings
- 압축파일
- grep
- 웹보안공부
- gz
- solution
- java
- X32
- 32bit
- HTTPS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |