vared
vared - Blog
vared
전체 방문자
오늘
어제
  • 분류 전체보기 (138)
    • Study (0)
    • Project (0)
    • Paper Review (0)
    • Tool (0)
    • WriteUp (124)
      • Root-me.org (44)
      • LOS_rubiya (32)
      • Webhacking.kr (21)
      • DreamHack (9)
      • XCZ.kr (8)
      • HackCTF (10)
    • Miscellaneous (0)
    • Forensic-CheatSheet (10)

블로그 메뉴

  • Category

공지사항

  • Forensic-CheatSheet 오픈

인기 글

태그

  • Digital-Forensic
  • trim
  • LNK FIile
  • shellbag forensics
  • File Execution
  • forensic-cheatsheet
  • Digital Forensic
  • shellbag
  • webhacking.kr
  • Los
  • digital-forensics
  • ssd
  • sql injection
  • forensic artifacts
  • Thumbcache
  • Windows Artifact
  • iconcahce
  • JavaScript
  • Artifacts

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
vared

vared - Blog

LDAP - null bind
WriteUp/Root-me.org

LDAP - null bind

2020. 5. 31. 23:03

개인적으로 엄청 어렵게 풀었다….ㅠ

 

LDAP 가 뭔지 먼저 알아보도록 하자.

 

LDAP(Lightweight Directory Access Protocol)

TCP/IP 위에서 디렉토리 서비스를 조회, 수정하는 응용 프로토콜 이라고 한다.

 

ldap://host:port/DN?attributes?scope?filter?extensions

 

보통 위와 같은 형식으로 사용된다고 한다.

여기서 디렉토리 자료는 속성-값 의 페어로 표현된다.

 

ㅇㅋ 대충 감이 오는데, null 바인드라는 개념이 서비스를 조회하는데, 익명으로 조회하게 해주는 거 같다. LDAP 는 DB 정도로 보면 될듯.

 

 

https://wiki.kldp.org/wiki.php/LDAP-Tips#s-7.1

이 사이트에 ldap 관련 설정부문 설명이 자세히 나와있다.

 

여기서 정보를 검색할때, ldapsearch 라는 명령어를 사용하는것을 확인했다. 이걸 잘 활용해주면 되겠다.

매뉴얼 페이지에서 하나씩 이해해서 적어보자

 

 

 우리가 필요한 옵션 위주로 보면,

 

-b : use searchbase as the starting point for the search instead of default

     문제에서 준 부분을 베이스로 검색해야 하니까 필요하다.

-x : use simple authentication -> 비밀번호를 모르니까 이 옵션이 필요하다.

-p 포트 정보.

-h : specify an alternate host on which the ldap server is running -> 로컬을 볼건 아니니까 필요.

 

대충 이렇게 넣어주면 되겠다.

 

ldapsearch -h ldap://challenge01.root-me.org -p 54013 -x -b "dc=challenge01,dc=root-me,dc=org"

 

음…. NO such object 라는게 뜨는데 문제점을 찾아보자.

문제가 생길만한 부분은 -b의 searchbase 부분밖에 없다.

searchbase가 포함하는 object는 다음과 같다고 한다.

 

그러니까 내 쿼리가 응답이 없었던 이유가 h 와 H를 혼동한데에 있었다. ldap url 형식으로 써줄거면 -H를 사용해야 한다.

바꿔서 넣어보자.(근데 무슨 차인지는 잘 모르겠다만,,,)

-> 나중에 알아보니까 같은건데, ldap:// 형식으로 나타낼 때는 H 를 쓰고 그냥 쓸때는 h 와 p 를 함께 써주는 거라고 한다.

실질적으로는 같은거ㅇㅇ

 

ldapsearch -H ldap://challenge01.root-me.org:54013 -x -b "dc=challenge01,dc=root-me,dc=org"

 

무언가는 나오는데, 원하는 값인 이메일값은 나오질 않는다.

ㅇㅋ 이유를 알았다. 하나의 DC 그룹에 대해서 OU 가 지정이 되어있지 않아서 그런거 같다.

 

이런 식인데, 지금 최상위에서 화살표가 없는 셈이다.

 

ou에 값을 지정해줘야 하는데, 아무거나 지정해 줄수 있으면 좋겠다.

null bind 를 찾아보니까 이걸 의미하는 거였다. 아무 값이나 바인드 해서 값을 끌어내는 것인 듯 하다.

이때 주는 값은 anonymous 라고 한다.

그러면 문제가 LDAP-anonymous bind 여야 하는거 아닌가…

 

일단 명령어는 다음과 같이 주면 된다.

 

ldapsearch -H ldap://challenge01.root-me.org:54013 -x -b "ou=anonymous,dc=challenge01,dc=root-me,dc=org"

 

오케이 원하는 이메일이 나왔다.

 

 

pw : sabu@anonops.org

 

저작자표시 (새창열림)

'WriteUp > Root-me.org' 카테고리의 다른 글

Javascript - Source  (0) 2020.06.03
Javascript - Authentication  (0) 2020.06.03
IP - Time To Live  (0) 2020.05.30
HTTP - Open redirect  (0) 2020.05.29
HTML - Source code  (0) 2020.05.29
    'WriteUp/Root-me.org' 카테고리의 다른 글
    • Javascript - Source
    • Javascript - Authentication
    • IP - Time To Live
    • HTTP - Open redirect
    vared
    vared

    티스토리툴바