일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 인시큐어뱅크
- otter
- Docker
- elasticsearch
- igoat
- SQL Injection
- Volatility
- NTFS
- Suninatas
- diva
- ESXi
- ctf
- InsecureBank
- 2018
- foremost
- frida
- Strings
- base64
- XSS
- kibana
- logstash
- CTF-d
- 파이썬
- lord of sql injection
- Reflected XSS
- Openstack
- 안드로이드
- beebox
- MFT
- vulnhub
- Today
- Total
Information Security
Ghostcat : Tomcat-AJP (CVE-2020-1938) 본문
SSL 통신을 위해 apt-transport-https와 ca-certificates를 설치한다. apt-transport-https는 apt 명령어를 실행할 때 https로 변환해주는 패키지이고, ca-certificates는 인증 기관(CA) 인증서이다.
다음으로 dirmngr을 설치한다. dirmngr은 'X.509 인증서의 폐기 목록(CRLs)'이나 인증서를 다운로드하기 위한 서버이다.
apt에서 인증키를 관리하는 도구인 apt-key 명령어로 key 서버에서 key를 받는다.
Docker를 다운로드받기 위해 Docker 저장소를 칼리 리눅스에 추가한다.
칼리 리눅스 apt-get update 업데이트를 했다.
저장소를 업데이트하고, docker-engine을 설치한다.
docker를 이용해 취약한 Tomcat 버전 9.0.29를 설치했다.
Tomcat 설치를 확인하기위해 http://127.0.0.1:8080 페이지를 접속해 Tocmat default 페이지를 확인했다.
server.xml 파이를 에서 AJP 프로토컬 관련된 부분을 확인했다.
8009 포트가 열려있는 것을 확인했다.
http://127.0.0.1/WEB-INF/web.xml 페이지를 접속했는데 아래와 같이 404 에러를 확인할 수 있다.
https://github.com/00theway/Ghostcat-CNVD-2020-10487 POC코드를 다운받았다.
공격코드를 이용해 공격 시 web.xml 파일을 읽을 수 있는 것을 확인할 수 있다.
webshell을 서버에 강제로 업로하는 코드를 만들었다.
webapps/ROOT 폴더에 webshell.txt 파일을 복사했다.
업로드된 webshell.txt 파일을 읽어지는 것을 확인했다.
eval 함수를 이용해 webshell.txt 파일을 실행시켰다.
http://127.0.0.1:8080/cmd.jsp webshell 업로드가 성공한 것을 알 수 있다.
리눅스 명령어 id를 입력하면 root라는 것을 확인할 수 있다.
cat 명령어를 통해 /etc/passwd를 확인할 수 있다.
'CVE 취약점' 카테고리의 다른 글
Linux SUDO Baron Samedit 취약점 (CVE-2021-3156) (0) | 2021.02.01 |
---|---|
Windows Netlogon 권한상승 취약점 (CVE-2020-1472) (0) | 2020.12.26 |
GhostSMBv3 (CVE-2020-0796) (0) | 2020.05.12 |
WordPress Plugin Quizlord 2.0 - Cross-Site Scripting (0) | 2019.06.29 |
WordPress Plugin WP with Spritz 1.0 - Remote File Inclusion (0) | 2019.06.02 |