전체보기

· Cloud/AWS
Internet Gateway가 연결된 Public Subnet에 위치한 인스턴스들은 부여된 Public IP를 통해 SSH Keypair를 가지고 바로 인스턴스에 접속할 수 있다. 하지만 외부와 연결이 없는 폐쇄된 Private Subnet에 위치한 인스턴스들은 이와 같이 접속할 수 없다. 보통 이런 경우에는 Public Subnet에 Bastion host를 두어 이를 거쳐서 내부 Private 인스턴스로 접근하고는 한다. Bastion host를 두고 접속하는 방법에는 다음과 같은 단점들이 존재한다. Bastion host 인스턴스 : Private 인스턴스의 접속을 위한 인스턴스가 별도로 필요하고, 관리도 해줘야 한다. 인바운드 포트 : 접속을 위해 SSH 포트 설정이 필요하다 SSH Key Pa..
시나리오 개요 In this scenario, you are presented with a signup and login page with AWS Cognito in the backend. You need to bypass restrictions and exploit misconfigurations in Amazon Cognito in order to elevate your privileges and get Cognito Identity Pool credentials. AWS Cognito를 활용한 로그인 페이지, 제한을 우회하고 잘못설정된 Cognito를 Exploit해서 권한상승 후 Cognito Identity Pool Credential을 탈취하라 시나리오 목표 Cognito IdentityPoo..
WSL2를 이용해 실습을 위해 리소스를 생성하는 중에 특정 리소스가 계속해서 막히는 것을 확인했다. 확인한 결과, Terraform 커맨드를 실행하는 위치의 시간대역이 꼬여있어서 리소스 생성시에 Signature 검증의 오류가 발생한 것이다. Signature expired: is now earlier than error : InvalidSignatureException I am trying a small example with AWS API Gateway and IAM authorization. The AWS API Gateway generated the below Endpoint : https://xyz1234.execute-api.us-east-2.amazonaws.com/Users/users wi..
시나리오 개요 In this scenario, you start as the 'bilbo' user. You will assume a role with more privileges, discover a lambda function that applies policies to users, and exploit a vulnerability in the function to escalate the privileges of the bilbo user in order to search for secrets. 'bilbo' 유저로 시작해서 lambda 함수를 찾고, 그 함수의 취약점을 Exploit해 bilbo 유저의 권한을 상승시켜 최종적으로 Secrets를 탈취해라 시나리오 목표 Secret 값을 읽기 (cg-..
CloudGoat 클라우드 환경의 서비스에서 발생할 수 있는 취약점을 공부하기 위한 시나리오들을 모아둔 훈련장 CloudGoat는 AWS에서 발생할 수 있는 취약점 Exploit 시나리오만 제공하고 있으며, Terraform을 통해 각 시나리오별 리소스를 생성할 수 있도록 코드를 제공한다. = 0.14 installed and in your $PATH The AWS CLI installed and in your $PATH AWS account with sufficient privileges to create and destroy resources. jq 먼저 리소스를 만드는데에 사용할 AWS 사용자를 하나 생성해준다. AdministratorAccess 권한을 갖는 IAM 사용자를 생성하도록 한다. 생성..
· Study/K8s
Helm kubernetes의 패키지 매니저, 배포하는 환경에 따라 설정값을 따로 정의해서 배포할 수 있도록 패키지 매니저 역할을 한다. Helm에서 패키지는 ‘Chart’라고 하며, chart는 kubernetes 애플리케이션의 리소스 정의로 이루어진다. Helm을 통해 Chart를 설치하는 과정은 Chart가 정의된 helm repo를 추가하고, 해당 repo를 통해 install한다. Helm 아키텍쳐 Helm 아키텍쳐의 구성요소에는 쿠버네티스 클러스터, Helm 클라이언트, Helm Chart Repository가 있다. Helm 클라이언트가 Chart Repository로부터 Chart를 다운로드받고, 이 Chart를 기반으로 쿠버네티스 클러스터의 API 서버와 통신해 Chart를 적용하게 된다..
· Cloud
이번에는 EC2 인스턴스의 Metric을 Prometheus로 수집하고, Grafana까지 연동까지 진행해보도록한다. Prometheus와 Grafana가 연동된 아키텍쳐 구조를 먼저 보도록한다. 각 노드들의 node-exporter로 부터 Prometheus 서버가 metric을 Pull해오고, Grafana가 Prometheus 서버에 PromQL을 날려 쿼리 결과를 가져와 Dashboard 형태로 보기좋게 구성을 해주게 된다. Prometheus 설치 수집한 Metric 데이터를 모을 인스턴스에 Prometheus를 설치한다. 공식 페이지에서 Prometheus 설치는 바이너리 / 소스 / Docker 이미지 형태로 제공한다. 이 글에서는 Docker 이미지를 받아 컨테이너 방식으로 설치하도록 한다..
· Cloud
서버나 서비스 등의 운영에 있어서 모니터링은 필수 요소이다. 개발 Language 못지않게 모니터링 툴/시스템들도 굉장히 다양한 종류가 존재하고 새롭게 생겨나고 있다. 나는 기존에는 Cloudwatch Agent나 Logstash + Datadog 등을 이용해서 서버나 서비스에서 발생하는 데이터들을 모니터링하도록 구성했었다. 다만, Datadog의 요금정책 등의 이슈들로 인해 다른 모니터링 도구 탐색을 하게 되었다. 그렇게 최근들어 알게된 Prometheus를 적용하고 깊게 공부해보고자 해서, 이 시리즈를 작성하기로 했다. 이번에는 Prometheus의 기본 개념과 특징을 알아보도록한다. Prometheus Metric 수집 모니터링 오픈소스 프로젝트, SoundCloud사에서 개발했으며 CNCF 소속 ..
Omoknooni
'분류 전체보기' 카테고리의 글 목록 (3 Page)