wonder

정보보안 스터디 - 23주차 2일 - tryhackme task 6 본문

Red Team/My 프로젝트

정보보안 스터디 - 23주차 2일 - tryhackme task 6

wonder12 2023. 3. 18. 00:32

 

 

THM task 6

 

 

 

 오류 해결

 

이렇게 failed to negotiate cipher with server. 라고 뜰 때는 

 

일단 openVPN에서 AU 서버인지 잘 봐야합니다. connected 상태이고, IP가 나와야합니다. 

 

 

핵심은 

vi 로 config파일을 열어서 'cipher AES-256-CBC' 라인을 'data-ciphers AES-256-CBC' 로 고치면 됩니다.

또한 openvpn 실행 등은 root 계정으로 해야합니다.

 

 

 

시작

 

nmap 10.10.75.209 -sS -T4

일단 먼저 nmap  > 22, 80 확인

속도를 빠르게 하는 스캔하고, 속도4로 높입니다.

22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.7 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

 

 

nmap 10.10.75.209 -sV -sC -p 22,80

배너그래빙확인+기본 스캔 스크립트모음 

기본 스트립트로 돌려서 이미 /admin.html을 뭔가 하나 찾아냈습니다. 

 

 

웹페이지에서는 찾을 건 다 찾읍시다. robots.txt 는 웹서버의 검색엔진 최적화 (SEO)에 쓰이도록 만들어졌지만, 잘못 설정될 경우 원치않은 디렉토리나 페이지를 유출할 수 있습니다. 

 

 

 

검색엔진은 크롤러들을 돌림. 무작정 접속해서 어떤 페이지들이 있는지 긁어옵니다.
하지만 admin같은 중요한 페이지는 보여주면 안되기 때문에 검색이 안되게 robots.txt설정으로 금지를 해줘야합니다.

 

 

 

그리고 볼만한 파일/디렉토리가 있는지 gobuster를 돌려봅니다. > 딱히 없네요

 

 

 

admin에가보면

XXXX.hv.html 숫자를 찾으라고 합니다.

brute force tool이  필요합니다.

burp suite 로 처음에는 하려고했지만 너무 느리기 때문에 

txt파일을 만들어 사용해야합니다.

 

python을 이용할수도 있고 c로 이용할 수 있지만 그냥 bash쉘 안에서 할 수도 있습니다.
반복문을 bash 셸프로그래밍으로 만들어줍니다.

for i in {0000..9999} ; do echo $i.hv.html >> wordlist.txt; done

 

wc -l wordlist.txt

라인개수를 보여줍니다. = 만개가 있다.


대부분이 생각할만한 도구들은 칼리에 기본적으로 깔려있으니 확인해보고 안되면 python 스크립트 등으로 만드는 게 좋습니다.

seq -s '.hv.html
' 1111 9999

 

 

 

그다음 이걸 가지고 gobuster 돌리면 빠르게 나옵니다. 이때 쓰레드는 그냥 100으로 합니다.

 

 

 

참고로 유저이름:password 는 많이 사용하는 포맷입니다.

 

 

처음에는 해당 RCE 취약점이 있는지 확인하려 했습니다.

또한 searchsploit을 이용해 검색해봅니다.

 

일단 ssh user 열거는 그리 유용하지 않고, 될 법한 게 Apache httpd 2.4.29 버전이였습니다.

RCE가 있기 때문이죠.

그래서 2.4.49 상위 버전 취약점을 시도해봤지만 안되었구요.

 

관련해서 msfconsole 을 이용해서

apache_normalize_path_rce 을 시도해봤지만

requires mod_cgi to be enabled
/cgi-bin 

mod_cgi 기반으로 설정되어있고, 페이지가 있어야 가능했습니다.

 

 

생각해보니

secret유저와 비밀번호가 웹서버에 노출되어있으니 

그걸 이용해서 ssh를 접속하고자 했습니다.

 

ssh 10.10.75.209 -login secret 또는

ssh secret@10.10.75.209 로 접속하고

암호를 붙여넣으면 되구요.

 

nc 버전이 낮은 바람에

공격자 서버에서 /bin/bash 허용하는 건 되었지만 

nc -e /bin/bash 가 안되었습니다.

bindshell이든 reverse shell이든 결국 피해자측에서 -e 는 써야하기 때문에 사용하지 못했습니다.

 

현재는 SUID 없이도 숨겨진 파일들을 확인하고 플래그인 secrets.txt를 찾을 수 있었지만 

권한 상승이 필요하다면 SUID, CVE 취약점을 찾습니다.

 

필요없었지만

만약 공격자 서버의 쉘에서 컨트롤하고 싶다면 python을 사용합니다. 

따라서 python, python3 검색해야합니다.

이 환경에서는 python3만 가능하더라구요

 

 

 

갑자기 포트스캔과 접속 및 ping이 차단되면 openvpn regenerate를 한 번 해줍니다.

 

 

 

Comments