wonder

정보보안 스터디 - 20주차 7일 - tryhackme CTF 본문

Red Team/My 프로젝트

정보보안 스터디 - 20주차 7일 - tryhackme CTF

wonder12 2023. 3. 1. 20:01

 

 

☞ tryhackme CTF

 

hackthebox와 tryhackme는 취약한 가상머신을 공격을 할 수 있는 환경입니다.

유료로 써보고 싶을 정도로 좋은 CTF문제들을 제공해주고 있습니다.

오늘은 그중에서 tryhackme 기초를 풀어보았는데 성취감도 있고 재밌네요.

 

 

기존에 있는 방에 접속하기 위해서는

머신에 들어가야합니다.

머신은 시작하게 되면 랜덤으로 IP가 이렇게 생성됩니다.

 

사설IP 주소형식으로 뜨는데 해당 IP로 들어가기 위해서는 쉽게 말해

같은 네트워크에 들어가 있어야합니다.

기존에 칼리 리눅스에서는 openvpn이 깔려있습니다.

또한 ssh도 접속이 바로 가능하기 때문에 추가로 설치해야할 건 없습니다.

하지만 윈도우라면 putty와 같은 ssh접속 프로그램이 필요하고 openvpn을 깔아야합니다.

 

sudo openvpn wonder.ovpn

개인 host ovpn파일을 받아와 네트워크 세팅을 해줍니다.

openvpn은 신뢰할 수 있기 때문에 많이 사용하고 있습니다.

 

 

파일 전송을 위해 winSCP > ftp 연결을 했는데 참고로 윈도우와 같은 네트워크에 있어야 하므로 네트워크 세팅은 네트워크에 브릿지로 해줘야합니다. 172.30.1.29 <-> 172.30.1.48

 

 

vpn이란

vpn은 가상 사설 네트워크로 주고받는 데이터가 투명하게 오픈된 공인 네트워크와는 달리

암호화하여 단둘이 데이터를 주고받고 싶다고 할 때 터널을 만들어 사용합니다.따라서 패킷 스니핑에 더 안전합니다.

그래서 ip도 사설ip로 되어있습니다.

또한 두번째로 많이 이용하는 이유는 ip를 숨길 수 있는 프록시 기능이 있기 때문입니다. 

 

openvpn연결 >> ssh로 머신에 접속하기 때문에 암호화되어 안전합니다.

 

 

openvpn이란

openvpn은 대부분의 vpn 서비스에서 지원하고 있는 프로토콜입니다. 그러니까 이걸 이용해서 vpn서비스를 한다는 것 입니다. 오픈소스 기반이고 더 빠르고 신뢰가능하다는 점이 있습니다.

서버/클라이언트 측에서는 ovpn확장자의 설정파일을 넣어 연결하는 방식입니다.

또한 서버를 구축하거나 들어갈 때 사용합니다.

 

기본적으로 tls/ssl 암호화가되어 NAT 처리되어 사설ip끼리 연결됩니다.

그외에도 강력한 암호화 알고리즘을 지원합니다.

  • 3DES
  • AES

 

vps(virtual private server)란

vps는가상 사설 서버로 물리서버를 여러개의 가상서버로 쪼개서 사용하는 개념입니다. (클라우드와는 다른 개념입니다.)

사용하는 기업은 그 가상서버하나로 호스팅합니다.

온프레스미스환경을 구성할 필요가 없고 비용측에서 장점을 가집니다.

 

 

 

 

username@hostname
호스트란 파티에서의 파티장을 말하는게 아니라

네트워크망에서 각각의 기기들을 말합니다.

 

 

 

 

 tmux(terminal multiplexer)

는 원활한 멀티모니터 환경을 제공해줍니다.

터미널을 여러개 열고싶을 때 사용하고

윈도우도 여러개 열어 자유자재로 이동하면서 사용가능합니다.

 

 

 

일단 세션은 하나밖에 열지못하고

윈도우는 여러개 생성할 수 있으며 이름을 변경할 수 있습니다.

나눠지는 부분 각각을 pane이라고 합니다. pane은 세로, 가로로 쪼갤 수 있습니다.

 

 

 

sessions

tmux (new -s 이름)
(이름으로) 세션을 생성합니다.
tmux ls 
세션 리스트를 확인합니다.

 

 windows

ctrl+b > c
새 윈도우를 생성합니다.
ctrl+d 
창을 닫습니다.
ctrl+b + ,
윈도우 이름을 변경합니다.
ctrl+b > 숫자
윈도우 창으로 이동합니다.
ctrl+b > n
다음 윈도우로
ctrl+b > p
이전 윈도우로
ctrl+b + w
윈도우 리스트를 보여줍니다.

 

pane

ctrl+b > % 
세로로 자릅니다.
ctrl+b > "
가로로 자릅니다.
ctrl+b > 방향키 
다른 pane을 사용합니다.
ctrl+b > [
스크롤 모드로 진입합니다. (창이 많을 때 눌려서 안보이거나 위로 올려야할 경우)
빠른 스크롤을 위해서는 PgUp/PgDn(page up/down)
ctrl+b > Z
하나의 pane만 확대해서 보고싶을 때입니다.
ctrl+b > space
랜덤으로 pane을 나눠줍니다.
exit
pane종료
ctrl+b + 방향키 끊어서 누르기
pane공간을 조정합니다. 

 

pane을 생성할 수록 who, w 에 pts/n가 늘어납니다.

tmux로 생성됩니다.

 

 

 

 eternalblue exploit 과정

메타스플로잇을 이용한 smb 취약점을 exploit하겠습니다.

정확히 윈도우 삼바서버의 ms17_010_eternalblue 라는 잘 알려진 취약점입니다.

 

 

일단 머신 서버에 연결되는지 ping으로 확인 후 

포트들을 nmap으로 확인합니다.

그다음 smb서버(445)가 열려있기 때문에 스크립트를 이용해 취약한지 확인합니다.

윈도우 17년 이전버전인듯합니다.

 

use auxiliary/scanner/~/ms17_010_eternalblue

로 취약한지 스캔하는 방법도 있습니다.

 

use exploit/windows/smb/ms17_010_eternalblue
show options

payload는 shell/reverse_tcp로 바꾸고

rhost를 넣어주고

lhost도 바꿔줘야합니다.

 

여기서 연결된 openvpn의 네트워크로 lhost를 지정해줘야 exploit됩니다.

그게 아니면 fail처리됩니다.

 

exploit을 하게되면 자동으로 reverse_tcp 연결이 되어 쉘을 사용할 수 있게 됩니다.

 

 

windows서버로 exploit되었기 때문에 리눅스 명령어는 안되고 dir, ipconfig 등

깔려있는 윈도우 명령어를 사용해야합니다.  

 

 

윈도우에서의 cat 실행은 type가 같은 기능을 합니다.

flag를 획득합니다.

 

 

 

 

Comments