• nmap

  • ftp 확인 결과 Users에서 특정 단서를 얻었음

  • 허나, nathan PC로 향할 방법이 없음

  • 80 포트가 열려있어 웹 접근 nvms-1000 CVE 존재함 정보 획득

  • 이런 취약점이 있나보다

  • 동일하게 발생함을 확인 하였음

  • nathan’s desktop에 passwords.txt 파일이 존재하므로 접근 시도 성공

  • hydra를 사용하여 로그인 성공

  • user.txt 획득

현재 디렉터리부터 하위까지 "password"가 들어간 txt 파일 찾기
dir /s /b *pass* == *.txt
findstr /si password *.txt *.xml *.ini *.config
정확히 root.txt 찾기
dir /s /b C:\root.txt

if powershell
Get-ChildItem -Path C:\ -Filter root.txt -Recurse -ErrorAction SilentlyContinue
  • 아까 nmap 결과에서 8443으로 열린 nsclient++ 서비스가 존재

nsclient++은 윈도우에서 SYSTEM 계정으로 실행됨
  • nsclient++ config file 확인

  • 아래와 같이 터널링

ssh 통로를 만들겠다
-L : local의 포트를 저쪽으로 연결하겠다
8443: 내 칼리에서 사용할 포트
127.0.0.1:8443 타겟
문을 열어줄 사람 : nadine@10.129.29.0
 
3. 어떤 일이 일어나는가? (동작 원리)
당신이 칼리 리눅스 브라우저에서 [https://127.0.0.1:8443](https://127.0.0.1:8443)이라고 입력합니다.
 
내 컴퓨터의 8443 포트로 들어간 데이터가 SSH 통로(빨대)를 타고 타겟 서버로 날아갑니다.
타겟 서버에 도착한 데이터는 서버 내부에서 발생한 데이터처럼 서버 자신의 8443 포트로 전달됩니다.
서버의 NSClient++"어? 서버 안(127.0.0.1)에서 누가 접속했네? 허가해줘야지!"라고 착각하고 화면을 보여주게 됩니다.
 

  • 크로미움은 불안정했고, safari도 불안정했지만 결국 safari로 실행하였다
  • external script 실행 부분에 스크립트를 구동할 수 있어서 해당 기능을 활용한다

마치며,,

nmap을 통해 ftp, smb, ssh 등 열린 부분을 확인 ftp를 통해 첫번째 힌트를 획득 + CVE를 활용하여 user.txt 획득 dir traversal 시, 어느정도 감이 필요함

root.txt는 nmap에서 획득했던 nsclient++ 서비스가 올라와있음을 캐치하고 해당 서비스는 SYSTEM 권한으로 구동됨을 캐치했었어야 함!

로그인을 위해 터널링을 진행하였고,(내 칼리에서 요청 시, nadine 을 거쳐서 넘어가는 느낌) 로그인 후에도, 스크립트를 구동하는 모듈을 찾아 직접 작성/실행 후 루트 획득