보안/2023 KISA 정보보호 제품군 실습 훈련 - 중급

공격 시나리오 웹 서버의 접근이 불가능하다는 보고를 받았으니 침해사고를 파악하고, 보안 장비를 활용하여 적절한 조치를 취하는 실습입니다. Slowloris Dos 공격은 HTTP 헤더의 끝내 불완전한 데이터를 포함시킨 패킷을 다량 전송하여 서버의 가용 자원을 모두 소진하는 DoS 공격입니다. 일반적인 HTTP 패킷의 헤더에는 헤더 종료 개행 문자 하나와 전체 헤더 종료 개행 문자 총 두개가 포함되어야하지만, 헤더의 마지막에 개행 문자를 하나만 전송하면, 웹 서버는 헤더가 모두 도착하지 않았다고 간주하고 대기 상태를 유지합니다. 서버 자원이 잠식되는 것입니다. 이번 포스팅에서는 위 시나리오 공격에 대한 다음과 같은 대처 방안을 실습합니다. ① 패킷 분석을 통해 과거 공격자의 IP를 확인 ② IPS 차단 정..
웹 해킹 공격 시나리오 공격 시나리오는 다음과 같습니다. 공격자가 웹 취약점을 이용하여 PUT 메서드를 통해 웹쉘을 업로드합니다. 웹쉘이 업로드 되면서 피싱 사이트 링크를 삽입하고, 유저가 이에 접근하면 피싱 사이트 링크로 인해 피싱 사이트로 리다이렉트되는 공격입니다. 이번 포스팅에서는 위 시나리오 공격에 대한 다음과 같은 대처 방안을 실습합니다. ① WAF에 차단정책(Default 정책)을 설정 ② 방화벽을 이용하여 공격자 IP 차단 ③ 웹쉘 삭제 및 백업 파일을 이용하여 웹 서버 코드 복원 공격자가 사용한 피싱 도메인과 도메인의 IP User01의 방문 기록을 보면 kisa.co.kn 이라는 수상한 도메인에 방문한 기록이 있습니다. 그렇다면 이 도메인의 IP를 확인해봅니다. 명렁 프롬프트 창에서 다음..
워터링 홀 공격 및 시나리오 워터링 홀 공격이란 공격대상이 방문할 가능성이 있는 합법적 웹사이트에 미리 악성코드를 심어 놓은 뒤 잠복하면서 피해자의 컴퓨터에 악성코드를 추가로 설치하는 공격을 말합니다. 마치 사자가 먹이를 습격하기 위해 물웅덩이(Watering Hole) 근처에서 매복하고 있는 형상을 빗댄 것으로, 표적 공격(APT 공격)의 일종이라고 볼 수 있습니다. 워터링 홀은 사전에 공격 대상에 대한 정보를 수집한 후 주로 방문하는 웹사이트를 파악, 해당 사이트의 제로데이(Zero-Day) 등을 악용해 접속하는 모든 사용자에게 악성 코드를 뿌리기 때문에 사용자가 특정 웹사이트에 접속만 하여도 악성코드에 감염됩니다. 공격 시나리오는 다음과 같습니다. 웹서버의 SSTI 취약점을 활용하여 페이지가 변조되..
공격 시나리오 공격 시나리오는 다음과 같습니다. User01가 Mail 서버에서 악성 코드가 내재된 메일을 전달 받고, 악성 코드의 리버스 쉘이 실행되면서 C2 서버와 연결이 설정됩니다. 이를 통해 C2 서버는 Eternalblue 공격을 통해 내부 침투를 수행합니다. ※ Eternalblue 공격 패턴 특징: '00 00 00 00 00 00 00 10' 값을 전송 실습 수행 1. 악성 프로세스 종료 및 파일 삭제 User01의 가상환경의 브라우저에 mail.co.kr로 접속하여 메일을 확인합니다. 메일에 포함된 실행 파일이 실행되고 있는지 확인하기 위해 윈도우의 [작업 관리자] → [세부 정보]에 update.exe 파일이 실행되고 있는지 확인합니다. PID가 4484인 update.exe 파일이 실..
업무망 방화벽 정책 설정 시나리오 기준, 업무망에서 외부 혹은 DMZ로 접근 시에는 모두 가능입니다. 방화벽 정책 추가 업무망은 출발지가 네트워크 망 상에 192.168.42.0/24 대역이므로 출발지 설정에 앞서 인터페이스 객체를 만드는 것처럼 망 또한 객체를 만들어줍니다. 그리고, 시나리오에 맞게 목적지를 설정합니다. 업무 → 외부, DMZ는 모두 이므로 다음과 같이 설정할 수 있습니다. NAT 정책 추가 외부와 통신할 때는 사설 IP(업무망, 192.168.42.0/24)가 아닌 공인 IP(13.124.137.1)로 접속할 수 있도록 정책을 설정해야합니다. 여기서 중요한 것은 정책 설정 순서입니다. 정책은 순차적으로 적용되기 때문에 방금 추가한 NAT 정책은 최하위로 이동해야합니다.
UTM에서 IPS 차단 기능을 사용하도록 설정 [IPS/DDoS] → [보호 도메인 정책]에서 보호 도메인 정책을 추가합니다. 적용 후 [IPS/DDoS] → [일반 설정]→ [동작 모드]에서 차단 모드로 변경합니다. WAF에서 웹 서버에 대한 공격을 차단하도록 설정 최종적으로 외부 PC의 브라우저에서 www.kisa.or로 접근했을 때의 프로세스는 다음과 같습니다. ① kisa.or.kr로 접속하면 UTM에서 NAT 설정을 통해 WAF로 보낸다. ② WAF는 받은 연결을 192.168.0.200으로 보낸다. 우선은 WAF가 웹 서버 쪽으로 접속이 가능하도록 설정해야합니다. 그럼 AdminConsole에서 WAF로 접속하도록 설정합니다. [Firewall] → [방화벽] → [방화벽 정책 설정]에서 방화..
인프라 구축 시나리오 제시된 인프라를 구성하기 위한 UTM, WAF 설정 및 정책을 적용하는 실습을 진행합니다. 먼저 AdminConsole에서 UTM만 접근 가능한 상태이므로, UTM에 접근해서 다음 인터페이스들을 세팅해주어야하며, 세팅 이후 라우팅도 해야 하고, 망 별로 접근 권한을 위해 방화벽 정책 그리고 NAT 설정까지 해야 합니다. 인터페이스 설정 관리자 가상환경인 AdminConsole의 SECUI MF2라는 UTM 프로그램을 실행한 후 [System] → [시스템 구성] → [인터페이스 설정]으로 이동합니다. 그리고, 조건에 맞게 eth0, eth1, eth2, eth3 인터페이스를 설정합니다. 이제 시스템 점검 도구를 통해 세팅이 잘 되어 있는지 확인합니다. [System] → [시스템 구..
Command Injection 개념과 실습 Command Injection 공격은 사용자 입력 값이 운영체제 명령어의 일부 또는 전부로 구성되어 실행되는 경우, 의도하지 않은 시스템 명령어가 실행되어 부적절하게 권한이 변경되거나 시스템 동작 및 운영에 악영향을 미치는 공격입니다. 일반적으로 명령어 라인의 파라미터나 스트림 입력 등 외부 입력을 사용하여 시스템 명령어를 생성하는 프로그램에서 발생합니다. 윈도우의 &나 리눅스의 ; 특수문자는 명령어를 이어서 실행하게 한다. 즉, 원래는 특수문자 이전까지의 filename을 실행하는 것이지만 특수문자까지 합쳐져서 그 이후도 실행하게한다. Command Injection의 동작 방식에 이해를 위해 실습 시스템에서 웹 서버에 먼저 접속합니다. 해당 터미널에서 c..
SQL Injection 개념과 실습 데이터베이스(DB)와 연동된 응용 프로그램에서 입력된 데이터에 대한 유효성 검증을 하지 않는 경우, 공격자가 입력 데이터에 SQL 쿼리문을 삽입하여 DB로부터 정보를 열람하거나 조작할 수 있는 취약점입니다. 앞서 미니 로그인 서버와 DB를 실제로 생성하여 SQL Injection 실습을 진행했었습니다. 이번에는 WAF(웹 방화벽)을 통해 SQL Injection을 차단하는 실습을 진행해보고자 합니다. https://younngjun.tistory.com/63 SQL Injection 실습 실습 환경 구축 이번 SQL Injection 실습에서는 이전 포스팅에서 구축한 서버를 바탕으로 실습이 진행됩니다! https://younngjun.tistory.com/62 리눅스..
HFS(HTTP File System) rejetto 공격이란? HFS에서 %00 처리 미흡으로 인해 /search=%00{.exec|cmd.} 와 같이 원격으로 cmd 명령이 실행되는 취약점이 발견되었습니다. HFS rejetto 공격 실습 1. 파일 서버 공격자에 의해 원격 명령이 실행될 파일 서버입니다. 2. 공격자 공격자의 웹 브라우저를 통해 HFS rejetto 공격을 수행합니다. 공격자의 웹 브라우저를 통해 파일 서버로 이동합니다. 앞서 설명하였듯 HFS rejetto 공격은 HFS에서 %00 처리 미흡으로 인해 /search=%00{.exec|cmd.} 명령으로 원격에서 파일 서버에 cmd 명령을 실행하는 공격입니다. 그러므로, 파일 서버의 search에 파일 서버에 원격에서 계산기를 실행하..
Younngjun
'보안/2023 KISA 정보보호 제품군 실습 훈련 - 중급' 카테고리의 글 목록