R's Hacking Daily Log

Pentesting Fundamentals 본문

TryHackMe/Walkthroughs

Pentesting Fundamentals

hanhxx 2023. 1. 30. 17:45

▶ Task 1 : What is Penetration Testing?

penetration test의 기술적인 측면을 배우기 전에, 

penetration test를 수행하기 위해 거치는 과정과 tester의 직문 책임에 대해 알아야 한다. 

 

 

Penetration test or Pentest 이란, 

정보와 자산을 보호하기 위해 security defense를 테스트하고 분석하는 윤리적 행위를 의미하며, 

pentest는 악의적인 의도를 가진 사람이 사용할 것과 같은 도구, 기술, 방법론을 사용한다.

 

 


▶ Task 2 : Penetration Testing Ethics

Pentration test에서 윤리와 합법성의 싸움은 항상 논란이 있다. 
해킹&해커라는 레이블이 붙으면 대중문화에서는 흔히 부정적인 의미로 받아들여진다. 
합법적으로 컴퓨터 시스템에 접근한다는 개념을 쉽사리 이해하기는 힘들 수 있다.
그렇다면 항상 논란이 되는 pentest가 어떻게 합법적이라는 것일까?

 

Penetration test는,

시스템 소유자가 동의한 컴퓨터 시스템의

보안&방어에 대한  승인된 감사이다. 

 

penetration test가 시작되기 전 tester와 owner 간 공식적인 논의가 이루어지고, 

이 과정에서 테스트할 시스템, 기술, 도구가 합의된다. 

 

결론적으로 논의를 통해

테스트의 계약 범위와 테스트 과정이 결정된다.

 

 

 

 

Tester는 종종 윤리적으로 의심스러운 결정에 직면하곤 한다. 

데이터베이스 접근 권한을 얻고, 잠재적으로 예민한 데이터가가 제공된다고 했을 때

이에 대해 관련된 조치는 사전에 합의되었다면 합법적이지만, 윤리적으로는 문제가 될 수 있다. 

 

 

Hacker는 크게 3가지로 분류되며, 행위를 한 그들의 윤리와 동기에 따라 나눠진다. 

Hat category Description
White hat 법을 준수하며, 다른 사람들에게 도움이 되는 기술을 사용한다. 
Grey hat 자신의 기술을 사용하여 도움이 되는 경우도 있지만 모든 경우에 법을 준수하진 않는다. 
Black hat 조직에 피해를 주거나 다른 사람을 희생시켜 금전적 이익을 얻는다. 

 

 

[ROE : Rules of Engagement]

ROE란, pentest 계약 초기 단계에 작성하는 문서로 궁극적으로 계약 수행 방법을 결정되며

크게 3가지 메인 section의 내용으로 구성된다. 

 

Permission : 

수행할 계약의 명시적 권한을 제공하는 section.

수행하는 활동에 대해 개인&조직을 법적으로 보호하는 데 필수적이다.

 

Test Scope : 

계약이 적용되어야 하는 특정 대상에 주석을 작성하는 seciton.

pentest는 전체 네트워크가 아닌 특정 서버나 특정 어플리케이션에만 적용될 수 있다. 

 

Rules : 

계약 이행 시 허용되는 기술에 대해 정확히 정의하는 section. 

예를 들어, 피싱 공격은 금지되지만 MITM공격은 허용된다고 구체적인 내용을 작성할 수 있다.

 

 


▶Task 3 : Penetration Testing Methodologies

침투 테스트는 범위 내에 다양한 목적과 목표를 가지기 때문에
모든 침투 테스트는 동일하지 않으며, 테스터가 어떻게 접근해야 하는 지 등 모든 것이 다르게 취급된다.

 

 

테스터가 수행하는 단계를 방법론[= Methodologies]이라 하며, 
실용적인 방법론은 당면한 상황에 따라 취해지는 단계가 달라진다. 
즉, 웹 어플리케이션을 테스트할 때의 방법론은 네트워크 보안을 테스트할 때 유용하지 못하다는 의미이다. 

 

 

몇 가지 산업 표준 방법론을 알아보니 전에, 방법론의 일반적인 절차를 살펴보자.

Information Gathering 조직이나 target에 대한 공개적으로 접근가능한 정보를 가능한 한 많이 수집하는 단계로,
시스템에 대한 스캔은 포함하지 않는다. 
Enumeration/
Scanning
잠재적으로 취약할 수 있는 web server를 찾아내는 것처럼, 
시스템에서 동작하고 있는 서비스나 application을 찾아내는 단계
Exploitation system or application에서 발견된 취약점을 활용하는 단계
Privilege Escalation system or application을 성공적으로 해킹한 후, 시스템에 대한 접근 권한을 확장하는 단계
다른 사람의 계정을 탈취 (horizontally) or 관리자 계정을 탈취하는(vertically).
Post-exploitation 1. 타겟이 될 만한 다른 host가 있는가.
2. host에서 어떤 추가정보를 얻을 수 있는가.
3. 흔적을 덮고
4. 보고한다!

 

 

[ OWASP : open web application security project ]

OWASP framework는,

web application & service의 보안성을 테스트하는 데에만 사용되는 framework로

web application에서 발견될 수 있는 상위 10개의취약점과 테스트 방식 및 해결 방법에 대한 레포트를 주기적으로
업데이트한다. 

 

 

▷ 선택하고 이해하기 쉽다.

▷ 주기적인 업데이트, 적극적인 유지 보수가 이루어진다.

▷ 테스트부터 수정 및 보고까지 모든 단계를 다룰 수 있다. 

▷ web service and application을 전문적으로 다룬다.

 

 

 

[ NIST Cybersecurity Framework 1.1 ]

NIST Cybersecurity Framework 1.1는,

조직의 사이버 보안 표준을 향상하고, 사이버 위협의 리스트를 다루기 위해 사용되는 유명한 framework이다. 

 

이 framework는 중요한 인프라부터 상업에 이르기까지 조직의 성공을 위해 보안 제어 및 벤치마크에 대한
가이드라인을 제공하기 때문에, 테스터가 취해야 하는 방법론에 대한 표준 가이드라인에는 제한된 섹션이 존재한다. 

 

▷ 다른 framework와 실행되도록 설계되었다.

▷ 주기적으로 업데이트 된다.

▷ 이 framework를 사용하는 조직에는 인증이 제공된다. 

▷ 사이버 위협을 완화하는데 도움이 되는 표준 셋팅이
굉장히 세부적이다.

 

 

 

 

 

[ NCSC CAF : cyber assessment framework]

NCSC CAF란, 

사이버 위협의 리스크와 위협에 대한 조직의 방어도를 평가하기 위해 14가지의 원칙을 사용하는 framework이다. 

 

이 framework는 중요한 인프라, 은행 등과 같은
"필수적으로 중요한 서비스 및 활동"을 수행한다고 간주되는 조직에 적용되며 다음과 같은 주제에 초점을 둔다. 

 

  • Data security
  • System security
  • Identity and access control
  • Resiliency
  • Monitoring
  • Response and recovery planning

▷ 인증이 제공되며, 

▷ 이 framework는 정부의 지원을 받는다. 

▷ security부터 response까지에 이르는 14가지 원칙을
다룬다. 

 

 

 

[ OSSTMM : The Open Source Security Testing Methodology Manual ]

OSSTMM은, 

사이버 보안의 인간적 측면, 통신, 소프트웨어, 시스템, 어플리케이션을 위한 테스트 전략의
세부적인 framework를 제공한다.

 

OSSTMM에서는 시스템, 어플리케이션이 어떻게 통신하는지에 초점을 맞추므로

  • 통신 [Telecommunications]
  • 유선 네트워크 [wired networks]
  • 무선 통신 [wireless communications]

에 대한 방법론을 포함한다. 

 

▷ 다양한 테스트 전략을 심층적으로 다룬다. 

▷ 특정 타겟에 대한 테스트 전략을 포함하고 있다.

▷ 조직의 니즈에 따라 유연하게 적용될 수 있다.

▷ 이 framework는 시스템 및 어플리케이션에 대한 표준을 설정하기 위한 것이므로,
침투 테스트에서 보편적인 방법론을 사용할 수 있다는 의미이다.

 

 

 


▶ Task 4 : 

https://assets.tryhackme.com/additional/pentesting-fundamentals/box2.png

 

service or application에 대한 pentest를 진행할 때, 3가지의 기본 범위가 있다. 

 

타겟에 대한 이해는 pentest를 수행하는 데 있어서 테스트의 수준을 결정하게 된다. 쉽게 말해,
아는 정보가 많으면 더 정확하고 폭넓은 기술을 사용할 수 있다는 것이다. 

 

 

[ black box ]

black-box는 사진에서처럼 표면이 어두워 내부를 들여다볼 수 없는 유형을 뜻한다. 

즉, 프로그램에 대한 그 어떤 사전 지식이나 이해 없이 테스트를 진행하는 것!

 

테스터는 일반 유저로써 application or software의 기능들을 테스트하며, 

이 테스트에는 버튼처럼 interface와의 상호작용을 포함한다. 

 

말 그대로 black-box이기 때문에, 이 유형의 테스트에서는

"information gathering and enumeration phase" 에  상당한 시간이 소모된다.

 

 

[ grey box ]

Grey box는 pentest와 같은 작업에서 가장 흔한 케이스로,

application or sofrware 내부 구성 요소에 대해 제한된 지식을 가지고 있다. 

 

black-box처럼 application과 상호작용을 한 후,

정보를 이용해 문제를 찾아내고 해결하려고 시도한다. 

 

 

 

 

 

[ white box ]

white-box는 소프트웨어 개발자처럼 application or software의 로직을 알고 있는
사람에 의해 실행되는 "low-level process"로, 테스터는 application or software의 내부 구성 요소를 테스트한다.

 

application & 예상되는 동작을 모두 알고 있기 때문에 [= full knowledge]

전체 공격 영역의 유효성을 검사할 수 있음을 보장하는 테스트 접근 방식을 제공하며, 

black-box testing보다 더 많은 시간을 요구한다. 

 

 

 

 


▶ Task 5 : Practical : ACME Penetration Test

answer : THM{PENTEST_COMPLETE}

'TryHackMe > Walkthroughs' 카테고리의 다른 글

Intro to LAN  (0) 2023.02.04
What is Networking?  (0) 2023.02.04
Introduction to Defensive Security  (0) 2023.01.26
Web Application Security  (0) 2023.01.23
Hydra  (0) 2023.01.20
Comments