Advanced Search
Search Results
53 total results found
01. 스프링 부트 설치
01. JDK 설치 - 자바로 만든 웹 프레임 워크이기 때문에 자바 설치가 필요 설치 링크 : https://www.oracle.com/java/technologies/downloads/#jdk24-windows - 필자는 Windows에서 x64 installer 를 선택했다. - 설치진행 설치 경로 : C:\Program Files\Java\jdk-24 02. STS 설치 (Spring Tool Suite) - 스프링 부트 프로그...
02. Controller 만들기
01. 컨트롤러 만들기 프로젝트를 생성했으니 이제 예시로 페이지를 만들어 보려한다. http://localhost:8080/hello 라는 URL을 만들어 테스트할 것이며, 해당 요청을 받기 위해선 컨트롤러를 만들어서 사용하여야 한다. * 컨트롤러는 클라이언트에서 받은 요청을 관리하는 자바의 클래스이다.프로젝트의 메인 파일을 우클릭하여 Class를 새로 만들어 준다 컨트롤러 명을 입력 후 생성해준다. 정상적으로 컨트롤러 클래스가 생성됨을 확인...
01. 오류 메시지 노출 [시작]
설명 고객사에서 웹 모의해킹을 하다보면 개발용 웹페이지, 관리자 페이지에서 흔하게 볼 수 있는 취약점이다. 디버깅에 편의성을 올리기 위해 오류를 웹 페이지에 출력하는 설정 기본 값 display_errors = Off -> 양호 예시 위의 예시는 어느 파일의 몇번째 줄에서 오류가 났는지 출력이 된다. 오류가 난 파일의 경로까지 확인이 가능하므로 설정을 꺼두는 것이 좋다. 조치 방법 01. PHP의 conf 파일 진입 -> php.ini ...
02. 불필요한 헤더 정보 노출
설명 웹 모의해킹 시 프록시 툴을 사용하여 응답 값을 확인할 때가 많은데 웹서버의 버전 정보가 노출되는 경우가 있다. php 8.3, nginx 1.27 처럼 EOS가 되지 않은 안전한 버전이라고 하더라도 보안 조치의 기본은 공격 범위를 줄이는 것이기 때문에 불필요하게 정보를 제공할 필요가 없다. EOS 확인용 페이지 버전을 특정할 수 있다는 것은 해당 버전의 공개된 취약점을 사용해 볼 수 있다는 의미이기 때문에 조치가 필요하다. 기본 값 기...
03. 외부 URL 파일 인클루드 비활성화
설명 개발언어는 보통 다른 파일들을 불러와 사용할 수 있다. 파이썬의 import 혹은 php의 include 등등... 외부에서 만들어 놓은 php 파일을 URL에 삽입하였을때 별다른 제한 없이 실행이 될 경우 치명적인 공격이 가능하기 때문에 해당 설정을 Off 로 바꿔주어야한다. 딴소리 관련된 취약점으로는 LFI 와 RFI 가 있다. (현재 취약점의 경우 RFI 가 해당) LFI = Local File Inclusion RFI = Remot...
04. 불필요한 명령어 사용 제한
설명 웹 페이지 중에 명령어를 입력할 수 있는 칸이 있다면 공격자가 악의적인 명령어를 입력할 수 있으므로 비활성화 해주어야 한다. 단순한 예제로 Command injection 공격을 시연할 수 있는 CTF 등이 많다. 딴소리 정말 특이한 케이스가 아닌 이상 서버의 명령어를 그대로 실행하는 입력창을 웹 사이트에 구현하는 일은 없다. 그치만 웹 모의해킹을 하다보면 웹 페이지 상에는 보이지 않게 hidden으로 가려져있거나, 파라미터에 실행할 명령어가 ...
05. PHP 실행 경로 제한
설명 웹 서비스 진단 시에도 있는 path traversal 취약점 관련 설정이다. http://localhost/home.html 이라는 경로가 존재할 경우, 상위 디렉터리로 이동하여 웹 서버 내부 경로를 벗어나 시스템 파일을 확인 할 수 있는 취약점이다. apache를 예시로 들 경우 위 home.html 파일은 (시스템 자체에서) /var/www/html/home.html 이라는 경로에 존재한다. html이라는 디렉터리가 웹 서버측에선 최...
06. 최신 보안 패치 적용 [마무리]
설명 거의 대부분의 자산 종류에서 마지막을 장식하는 항목 EOS를 확인하여 보안패치를 지원하고 있는 버전인지 확인을 한다. 딴소리 단순히 서버 업데이트만 하면 조치가 되지 않느냐 싶겠지만, 업데이트 시의 서비스 영향도를 고려하여야 하기 떄문에 회사 입장에선 섣불리 업그레이드를 하기 힘들다. 그래서 의외로 되게 많이 나오는 취약점 항목 EOS 를 확인할 수 있는 페이지가 존재하여 보안패치를 지원하는지 확인 후 진단하자. EOS 확인 페이지 : ...
03. 스프링부트 도구 설치하기
스프링 부트 라이브러리 설치 웹 개발을 도와주는 스프링 부트의 도구(라이브러리)를 설치해보자 라이브러리 = 개발 시 자주 사용하는 코드를 모아 둔 것이라고 할 수 있다. 01 . Srping Boot Devtools 설치 스프링 부트 Devtools 라이브러리를 설치하면 서버를 매번 재시작 하지 않고도 수정한 내용이 반영된다. * 보통은 서버코드를 수정할 경우 재시작을 하여야한다. 예시 01. 운영 중인 웹 서비스에서 코드를 변경 02. 코드 ...
00. 작성 현황
작성 중 01. Spring Boot 구축 02. Cloud 보안 진단 가이드 [AWS] 작성 완료 01. PHP 보안 진단 가이드 02. apache 보안 진단 가이드 준비중... 01. Java 언어 공부 중... 02. 모바일 앱 진단 공부 중... 03. C 언어 공부 중.... 작성 예정 01. 모바일 앱 진단 02. Cloud 보안 진단 가이드 [AWS, GCP, Azure] 03. 주요 정보 통신 기반 시설 가이드 서술 및...
01. 참고하면 좋은 페이지 항목
01. 인프라 구축 및 세팅에 대해 간략하게 잘 정리해주신 블로그 https://btcd.tistory.com/category/INFRA?page=31 02. 여러 기술 스택에 대한 상세한 설명이 있는 블로그 https://inpa.tistory.com/category
LFI / RFI 취약점 시연
설명 php와 apache2를 사용하여 LFI / RFI 취약점을 시연한다. LFI = Local File Inclusion RFI = Remote File Inclusion LFI 시연 환경 Ubuntu - 24.04.3 PHP - 8.3.6 Apache - 2.4.58 IP - 172.30.1.68 [웹 서버] LFI 취약한 코드 진입할 파일 명 - lfiPhp.php <?php // RFI 취약점이 있는 코드 (교육용) ...
1.1. 사용자 계정 관리 [시작]
취약점 설명 AWS에서는 계정마다 권한을 부여하거나, 권한들의 집합인 Role 을 부여할 수 있습니다. * Role을 통해 사용자 권한을 관리하는 방식을 RBAC (Role Based Access Control) 라고 합니다. AWS에는 수 많은 서비스(200개 이상)가 존재하기 때문에 권한 관리는 굉장히 중요합니다. AWS에서는 한 파트에 대한 모든 권한을 관리하는 Full Access 권한이 존재함으로 필요에 따라 권한이 부여되어 있는지 확인합니다. ...
1.2. IAM 사용자 계정 단일화 관리
취약점 설명 사용자 계정은 1인 1계정 원칙을 우선으로 합니다. 한 계정에 대해 여러명이 같이 쓸 경우 로그를 분석할때 문제가 생기므로 1인 1계정을 사용하여야 합니다. 딴소리 1. 보안 진단 인터뷰 할때 중요한 점으로는 담당자를 납득시키는 점이라고 생각합니다. 이거 설정하시고 저것도 설정하셔야 되요. 라고 말했을때 담당자분이 "왜 그걸 설정해야되요?" 라고 했을때 답변 할 줄 알아야합니다. 2. 사용자 계정이 관리자분 한명밖에 없을 경우 양호처...
1.3. IAM 사용자 계정 식별 관리
취약점 설명 계정별로 만들어진 목적을 네임태그에 적어놓고 관리하는지 확인합니다. 계정이 여러개 일때 관리를 용이하게 하기 위함입니다. 딴소리 SK 가이드에만 포함되어 있는 가이드입니다. 안해두면 위험하다! 보다는 가용성, 관리용이 에 대한 내용 같습니다. 진단 방법 01. 임의의 사용자로 진입합니다. 02. '태그' 탭으로 진입하여 사용자 설명이 존재하는지 확인합니다. 임의로 태그를 넣어놓았으나, 방식은 담당자마다 상이합니다. 양호...
1.4. IAM 그룹 사용자 계정 관리
취약점 설명 IAM 계정들을 한 그룹으로 묶어서 한번에 권한을 부여 및 관리할 수 있다. 해당 그룹에 속해있는 계정들에 불필요 계정은 없는지, 과도하게 권한을 부여하진 않았는지 확인하면 된다. 딴소리 그룹으로 권한을 관리하는 것과, RBAC이 조금 헷갈릴 수 있다. 예시를 들면 아래와 같다. 그룹을 통한 EKS 담당자 관리 EKS Manager [그룹] -> EKS 접근, 수정 권한 manager A[사용자], manager B[사용자],...
1.5. Key Pair 접근 관리
취약점 설명 EC2에 접근할때 인증하는 방법으로 Key Pair를 사용할 수 있다. 단순히 패스워드를 치고 들어가는 것 보다 보안 성이 뛰어나지만, 해당 파일이 유출 및 탈취될 경우 바로 EC2에 진입 할 수 있으므로 보관에 유의하여야 한다. 이번 진단 항목은 Key Pair를 사용해 EC2 인스턴스에 접근하고있는지에 대한 항목이다. 딴소리 KeyPair 보관 및 관리 방법은 바로 다음 항목이다. 겸사겸사 같이 인터뷰 진단 방법 01. EC...
1.6. Key Pair 보관 관리
취약점 설명 Key Pair를 통해 EC2에 접근할 경우 일반 패스워드 보다 훨씬 보안성은 높지만 키 페어 파일이 유출, 탈취될 경우 공격에 취약할 수 있다. * 쉽게 말하면 비밀번호를 적어둔 텍스트 파일이라고 생각하면 된다. 파일의 누출을 방지하기 위해 Keypair 파일을 예상하기 힘든 경로, 혹은 S3 버킷, USB 별도 관리 등 접근하기 어려운 장소에 보관하여야 한다. 딴소리 Key Pair가 유출, 탈취된 것을 인지하지 못할 수 있으므로 주기적...
1.7. Admin Console 관리자 정책 관리
취약점 설명 AWS Console에 가입하게 되면 가장 처음으로 생성하게 되는 계정은 모든 서비스에 접근할 수 있는 최고 관리자 계정이다. root 계정이라고 보통 부르며, 모든 권한을 가지고 있기 때문에 서비스 운영에는 사용하지 않는 것이 좋다. 진단 방법 인터뷰를 통해 Admin Console 계정을 서비스 용도로 사용하고 있지 않은지 확인 한다. 양호 취약 기준 질문 : AWS Console의 root 계정을 서비스 운영에 사용하고 계...
1.8. Admin Console 계정 Access Key 활성화 및 사용주기 관리
취약점 설명 Access key는 AWS에서 사용하는 인증수단으로 해당 계정의 액세스 키를 가지고 있을 경우 손 쉽게 로그인이 가능하다. 07번 항목에서 설명했다시피 AWS의 root 계정은 모든 권한을 다 가지고 있기 때문에 최대한 비인가 접근을 막기 위해, Access Key를 만들거나 사용하지 않는것이 보안적으로 안전하다. 또한 Access Key가 탈취당하거나 유출될 수 있으므로 60일 간격으로 Access Key를 재발급 해주어야 한다. 딴소...