리팩토링/3. CERT

Command Injection애플리케이션이 시스템 명령어를 실행하는 과정에서, 외부 입력값이 적절히 검증되지 않아 공격자가 임의의 시스템 명령어를 삽입·실행할 수 있는 취약점이다.주로 웹 애플리케이션에서 { system, exec 등 } os 명령어 호출 함수를 사용할 때 발생한다.공격자는 이를 통해 1) 시스템 명령어를 조작하거나 2) 민감 정보 탈취 및 3) 시스템 제어권 획득을 시도할 수 있다.특징Linux / Windows 명령어 방식에 따라 공격 방식이 다르다.합법적인 명령어와 혼용되어 탐지가 어렵다.URL, 폼 입력값, HTTP 헤더, API 등 입력 경로가 다양하다.실습가장 먼저 Command Injection 실습 페이지 동작을 확인한다.해당 페이지는 입력한 IP 주소로 ping을 전송하..
실습 환경 준비아래 유튜브 영상을 참고하여 kali-linux 설치 및 DVWA 환경 구성을 진행했습니다. 1. 가상 환경 준비VMware Workstation (링크)kali-linux vm image (링크)2. DVWA 환경 구성1) Apache Web server 설치 및 실행## Github 주소 : https://github.com/digininja/DVWAgit clone https://github.com/digininja/DVWA## DVWA 폴더를 httpd 웹 서버 디렉터리로 이동sudo mv DVWA /var/www/htmlcd /var/www/html## Apache2 시작sudo service apache2 start 2) MariaDB 설치 및 실행cd DVWA## config ..
Proxy 란?프록시 Proxy 는 사용자와 인터넷 간의 gateway를 제공하는 시스템 및 라우터로, 사이버 공격자가 사적 네트워크에 침입하는 것을 방지한다. 중개자 역할을 수행하는 서버로서, 종단 사용자와 그들이 방문하는 웹 페이지 사이에서 동작한다. 인터넷에 연결될 때, 사용자 컴퓨터는 IP 주소를 사용한다. 이는 집의 거리명 주소와 유사하다. 들어온 데이터가 어디로 가야 할지 알리고, 나가는 데이터에 다른 기기에서 인증 받기 위한 반환 주소를 표시한다. 프록시는 본질적으로 자체적인 IP 주소를 가진 인터넷 상의 컴퓨터와 동일하다.Proxy의 특징프록시는 일반 사용자 컴퓨터에게 중요한 security layer 를 제공한다. 웹 필터 및 방화벽으로 설정되면 악성코드 같은 인터넷 위협으로부터 사용자 ..
1. Cross-Site Scripting (XSS) 취약점 여러 사용자가 보는 게시판이나 메일 등을 통해 악성 스크립트를 삽입하는 공격 기법웹 서버 사용자에 대한 입력값 검증이 미흡할 때 발생한다.쿠키/세션 값, 키보드 입력 값을 탈취하거나 피싱 사이트로의 접근을 유도하여 사용자에게 직접적 피해를 줄 수 있다. 공격자가 삽입합 악성스크립트가 사용자 측에서 어떻게 동작하는지에 따라 크게 세 가지로 분류할 수 있다.Reflected XSS공격자의 악성스크립트가 URL click을 통해 사용자 화면에 즉시 출력되어 피해가 발생하는 취약점 Stored XSS공격자의 악성스크립트가 데이터베이스에 저장되고 이 값을 출력하는 페이지에서 피해가 발생하는 취약점반사형(Reflected) XSS 보다 공격 대상 범위가 ..
1. 웹 쉘 (Webshell)이란?웹 쉘 (Web Shell)은 target 웹 서버에서 다양한 명령을 실행할 수 있는 쉘 스크립트 파일을 의미한다. 웹 서버에서 웹 쉘을 실행시켜야 하기 때문에 보통 서버 사이트 스크립트(ex. asp, jsp 등)로 제작되고 사용된다. 주로 웹 서버의 취약점을 이용하여 업로드하며, 웹 서버에 대한 권한 상승, 파일 업로드 / 다운로드 / 삭제 / 실행 등 에 사용된다. 2. 웹 쉘의 특징웹 사이트와 동일한 웹 서비스 포트(HTTP:80, HTTPS:443)를 통해 공격이 이루어져 탐지 및 차단이 까다롭다.(서버만 지원한다면) 어떤 프로그래밍 언어로든 작성될 수 있다.웹 쉘은 파일 업로드 취약점 뿐 아니라 다음의 공격으로도 업로드되고 이용될 수 있다.SQL 삽입애플리케..
1. 파일 다운로드 취약점외부에서 입력되는 값에 대해 경로 조작에 사용될 수 있는 문자 (../, %2e%2e%ef 등)를 검증하지 않고, 주요 시스템 파일이 저장된 경로에 접근 권한이 설정되어 있지 않을 경우 발생하는 취약점이다. 공격자가 임의 위치에 존재하는 파일을 다운로드 할 수 있으며, 다운로드된 시스템 파일 정보 획득을 통해 2차 공격에  악용할 수 있다. 특히, 유닉스나 리눅스 계열의 웹 서버는 각별한 주의가 필요하다. 검색 방법Burp Suite 를 통해 Null bytes 허용 여부 확인{ Windows : \,  Linux: / } 입력./, ../ 을 입력하여 파일 다운로드 시도download.jsp 파일 존재 여부 확인inurl:"download.jsp?filename="inurl:"..
취약한 파일 존재 취약점웹 루트 하위 내부 문서에 백업파일, 로그파일, 압축 파일 등이 존재하여 공격자가 유추 후 직접 접근을 요청하여 핵심 정보를 획득할 수 있는 취약점이다. 이로 인해 웹 애플리케이션 내부 로직 및 DB 정보 등 시스템 관련 정보 및 소스 코드가 노출 / 탈취 당할 위험이 존재한다. 검색 방법웹 서버 디렉토리의 확장자 파일 검색 > intitle:"index of" "env.bak" | "config.bak" | "admin.bak" > intitle:"index of" "users.yml" | "admin.yml" | "config.yml"PhpMyAdmin 웹 서버의 경우 웹 페이지(phpinfo.php) 존재 점검 > intitle:"index of" phpinfo.php 대응 ..
1. 관리자 페이지 노출 취약점적절한 인증 없이 관리 패널이 공개적으로 접근 가능하여 공격자가 이를 식별하고 탈취하는 행위를 의미한다. 실제 검색 사례 ※ 주요 목적 : "공개 노출된 관리자 로그인 페이지 탐색"intitle:"admin login" OR inurl:"admin/login"inurl:admin intitle:logininurl:admin.phpsite:XXX inurl:adminintitle:"index of" inurl:"/admin" after:2020 "admin"을 중점으로 검색을 실행하였고, 주로 https가 설정되지 않은 관리자 로그인 페이지를 다수 확인할 수 있었다. 대응 방안접근 제한 : 관리자 패널에 대한 IP whitelist 및 VPN 접근을 사용한다.강력한 인증 체계..
Shodan 키워드 검색을 수행하면 결과 중 일부에 아래와 같은 tag가 붙어 있는 것을 쉽게 확인할 수 있다.  Honeypot? 그게 뭘까?그래서 이번 주차에는 추가적으로 honeypot에 대한 공부를 추가했다. Honeypot 이란? Honeypot 은 그럴듯한 사이버 공격의 목표물을 가장하는 컴퓨터 또는 컴퓨터 시스템으로, 공격자 관점에서 더 매력적인, 또는 확실한 목표물을 가장하기 위해 의도적으로 알려진 취약점을 사용해서 설계된다. Honeypot 은 실질적인 데이터를 데이터를 포함하지 않고, 네트워크의 정상적인 트래픽에도 참여하지 않는다.즉, honeypot 안에서 발생하는 모든 일은 오로지 공격에 따른 결과인 것이다. Honeypot 은 위의 사항들을 모두 log로 저장하며 공격 방법론에 대..
CCTV국내 : title:"CCTV" country:"KR" port:8080해외 : 200 ok dvr port:81 country:"US" 국내 / 해외 각각 키워드 검색 결과, 특정 CCTV 회사의 로그인 페이지 목록을 확인할 수 있었다.고객이 로그인 정보 변경 없이 사용 중인 CCTV의 경우 쉽게 탈취당할 위험이 존재한다. IP 카메라를 이용한 CCTV 체계 : server: “i-Catcher Console" 로그인이 필요한 CCTV 페이지가 존재하는가 하면 로그인 없이 바로 내용을 확인할 수 있는 CCTV 페이지도 존재하였다.WebCam, IP CamWindowsXP 및 Windows 7 웹카메라 : title:"webcamXP" ("webcam 7")Windows에서 사용되는 가장 유명한 ..