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에 파일 서버에 원격에서 계산기를 실행하..
APFS(Apple File System 파일 시스템은 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제입니다. APFS는 기존 iOS에서의 파일 시스템인 HFS+를 대체하는 파일시스템으로, macOS 10.13 High Sierra, iOS 10.3, watchOS, tvOS에서 범용적으로 사용하는 파일 시스템입니다. APFS의 장점 1. 컨테이너 방법을 사용하여, 컨테이너 내의 파티션 용량을 동적으로 할당합니다. 이전의 HFS+에서는 전체 사용할 수 있는 용량이 100이라면 50의 용량을 차지하는 프로세스가 추가적인 메모리를 필요로 할 때 재할당을 해주어야 했지만, APFS에서는 이를 컨테이너 방법을 통해 동적으로 할당하여 파일 시스템을 관리하게 더욱 용이해졌습니다...
준비물 탈옥(jailbreak) 프로그램과 프로그램에서 지원하는 ios 버전이 설치된 아이폰이 필요합니다. 왜 탈옥을 해야 할까요? 탈옥을 하면 저희가 아이폰을 일반적으로 사용할 때의 권한인 일반 사용자 권한이 아니라 루트 권한을 가지게 됩니다. 이로써 아이폰의 파일 시스템 및 모든 바이너리에 대한 전체 접근 권한을 갖게 되며, 다양한 옵션을 사용하여 아이폰을 사용자화할 수 있습니다. 여러 탈옥 프로그램으로 탈옥을 진행할 수 있지만 저는 checkra1n 이라는 프로그램을 통해 iPhone 6 12.5.4 버전의 탈옥을 진행하였으며, checkra1n 사이트에서 준비한 아이폰에 설치된 버전의 탈옥을 지원하는지 확인 후 탈옥을 진행해야 합니다. 참고 영상 https://www.youtube.com/watc..
실습 환경 구축 이번 SQL Injection 실습에서는 이전 포스팅에서 구축한 서버를 바탕으로 실습이 진행됩니다! https://younngjun.tistory.com/62 리눅스 가상환경에 서버 구축 및 간단한 로그인 페이지 구현 서버를 구축한다? 웹 프론트엔드가 구현되었다면, 클라이언트는 브라우저를 통해 로그인 등의 기능을 수행하고자 합니다. 이러한 기능 구현을 위해 백엔드에서는 해야할 일들이 있습니다. ① younngjun.tistory.com 현재 MySQL DBMS의 login Database의 user Table에 id: admin, pw: admin123의 데이터를 추가해놓은 상황입니다. ID와 PW를 입력했을 때 login Database에 (id,pw) 쌍을 확인한 후에, 로그인 성공 ..
서버를 구축한다? 웹 프론트엔드가 구현되었다면, 클라이언트는 브라우저를 통해 로그인 등의 기능을 수행하고자 합니다. 이러한 기능 구현을 위해 백엔드에서는 해야할 일들이 있습니다. ① 먼저 클라이언트의 요청을 받고 이를 응답할 수 있어야 합니다. 이를 웹 서버(Web Server)가 담당합니다. → Web Server (ex: Apache2, Nginx) ② 요청에 대한 응답이 가능하다면 로그인, 검색 등 상황에 맞는 기능을 개발해야 합니다. 이는 클라이언트에게 보여지는 부분이 아닌 서버에서 실행되어야 하는 부분이기에 서버 사이드 언어를 사용해 개발을 해야합니다. → 서버에서 기능을 담당하는 프로그래밍 언어인 PHP, JSP, ASP 등 ③ 그리고 기능을 정상적으로 실행하기 위해서는 서버 사이드 언어로 개..