분류 전체보기
Cyber Kill Chain
Cyber Kill Chain
2023.08.151. Cyber Kill Chain 이란 Cyber Kill Chain은 군에서 사용하던 적의 활동을 식별하고 저지하는 단계별 접근 방식을 사이버 공격으로 해석한 개념으로 사이버 공격의 다양한 단계와 보안팀이 공격자를 탐지 및 차단할 수 있는 지점에 대해 설명한다. 2. Cyber Kill Chain 단계 Reconnaissance(정찰) 공격 목표를 선정 및 분석하는 단계이다. 공격 목표가 선정되면 목표에 대한 정보를 수집한다. 웹 크롤링, 사회 공학 기법, 구인 공고의 기술 스택, 사용하는 백신 및 EDR , IP 대역 및 열린 Port 등 다양한 정보를 수집하여 앞으로 진행될 단계에 활용한다. Weaponization(무기화) 초기 액세스에 사용될 악성코드가 개발되어 일부 유형의 익스플로잇 또는 전..
Broken API Authorization
Broken API Authorization
2023.08.13Broken API Authorization (https://medium.com/bugbountywriteup/bug-bounty-broken-api-authorization-d30c940ccb42)[https://medium.com/bugbountywriteup/bug-bounty-broken-api-authorization-d30c940ccb42] 해당글을 이해하기 위한 목적으로 작성된 글입니다. "Authenticate"라는 버튼이 존재했고 클릭하면 로그인 페이지로 이동했다. 그리고 로그인을 시도하니 "Account not authorized" 라는 메시지가 나왔다. 그리고 다음과 같은 endnpoint들이 존재했다. /poweruser/add /poweruser/delete /user/delete..
AeroCTF - Localization is hard
AeroCTF - Localization is hard
2023.08.13[Localization is Hard] We made a little cafe for all the ctfers to relax after the competition. The website is available in russian and english. Try to find the flag somewhere in / 페이지에 접속하여 기능을 살펴보면 별다른 기능은 없고 영어, 러시아어로 변경해주는 기능이있다. 해당 기능은 쿠키 값에 lang=en 또는 ru 로 설정되어 처리된다. GET / HTTP/1.1 Host: 151.236.114.211:7878 Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 DNT: 1 User-Agent: Mozilla/5..
RCE via Server-Side Template Injection
RCE via Server-Side Template Injection
2023.08.13RCE via Server-Side Template Injection | by Gaurav Mishra | Medium SSTI 취약점을 이용하여 Remote Code Execution을하고 Akamai WAF을 우회하는 방법을 소개하는 글이다. 사용자가 입력한 데이터를 Response에 문자열로 응답하는 기능을 발견하였다. 해당 기능에 XSS 페이로드를 몇개 입력하였지만 Javascript가 실행되지 않았다. 하지만 context_type Parameter에 ${191 * 7} SSTI 페이로드를 입력하자 아래 그림처럼 성공적으로 계산이되어 출력되었다. 이후 어떤 Template Engine이 사용되는지 확인하기 위해 Error Message를 출력시켜볼려고 했지만 실패했다. 해당 취약점을 이용한 공격..
LineCTF(2023) - Adult Simple GoCurl
LineCTF(2023) - Adult Simple GoCurl
2023.08.13# Adult Simple GoCurl 이전 문제인 Baby Simple GoCurl에서 업그레이드된 문제이다. 소스코드상 변경된 부분만 살펴보면 flag 문자열을 검사하는 로직이 || 으로 바뀌었고, ClientIP() 함수를 체크하는 로직이 없어졌다. reqUrl := strings.ToLower(c.Query("url")) reqHeaderKey := c.Query("header_key") reqHeaderValue := c.Query("header_value") reqIP := strings.Split(c.Request.RemoteAddr, ":")[0] fmt.Println("[+] " + reqUrl + ", " + reqIP + ", " + reqHeaderKey + ", " + reqHea..
LineCTF(2023) - Baby Simple GoCurl
LineCTF(2023) - Baby Simple GoCurl
2023.08.13# Baby Simple GoCurl 문제 페이지에 접속하면 URL, Header Key, Header Value를 설정하여 Curl 요청을 보낼 수 있는 기능이 존재한다. 상단에는 현재 내가 할당받은 IP주소가 표기되게 되어있다. https://www.naver.com , test, test로 요청을 보내면 아래 처럼 Response가 나타난다. GET /flag/ r.GET("/flag/", func(c *gin.Context) { reqIP := strings.Split(c.Request.RemoteAddr, ":")[0] log.Println("[+] IP : " + reqIP) if reqIP == "127.0.0.1" { c.JSON(http.StatusOK, gin.H{ "message": ..
[KVE-2020-1616] 그누보드 메인화면 XSS 취약점
[KVE-2020-1616] 그누보드 메인화면 XSS 취약점
2023.08.13Gnuboard 5.4.5.1 버전 메인화면 XSS 취약점 [KVE-2020-1616] 1. 수정된 코드 확인 adm/menu_list_update.php - 기존(5.4.5.1 ver) $_POST = array_map_deep('trim', $_POST); $_POST['me_link'][$i] = is_array($_POST['me_link']) ? clean_xss_tags(clean_xss_attributes($_POST['me_link'][$i], 1)) : ''; $code = is_array($_POST['code']) ? strip_tags($_POST['code'][$i]) : ''; $me_name = is_array($_POST['me_name']) ? strip_tags($_POS..
Network Analysis - Web Shell
Network Analysis - Web Shell
2023.08.10[Blue Team Labs] Network Analysis - Web Shell # 시나리오 The SOC received an alert in their SIEM for ‘Local to Local Port Scanning’ where an internal private IP began scanning another internal system. Can you investigate and determine if this activity is malicious or not? You have been provided a PCAP, investigate using any tools you wish. 1. What is the IP responsible for conducting the port scan a..
Log4j 2 RCE (CVE-2021-44228)
Log4j 2 RCE (CVE-2021-44228)
2023.01.01Log4j 2 RCE (CVE-2021-44228) 1. 개요 Log4j는 java 기반 로깅 도구인 Apache 라이브러리이다. Log4Shell 이라고도하는 이 취약점은 CVE-2021-44228로 식별되며 CVSS(Common Vulnerbility Scoring System) 점수는 최고점인 10점을 받았다. 비교적 공격방법이 쉬운 편에 속하지만 RCE 취약점이고, 다양한 제품에서 해당 라이브러리를 사용한다. 해당 취약점은 JNDI Injection을 통한 RCE로 JNDI Lookup을 구문을 취약한 파라미터에 삽입하여 해당 구문이 로깅되면서 악성 LDAP 서버로 부터 임의의 코드를 받아와서 실행이 되는 취약점이다. 2. 대상 CVE-2021-44228에 취약한 Log4j 2 버전은 아래와 같다..
THM - Root me
THM - Root me
2022.12.11Root ME Task 1 - Reconnaissance 먼저 정보 수집을 진행한다. nmap을 통해 open된 Port 정보를 수집한다. nmap -sV -T4 -F --version-light targetIP 해당 옵션을 이용하면 서비스의 버전 정보도 확인이 가능하다. http 서비스가 동작 중이니 브라우저를 통해 접속하면 웹 페이지가 나타난다. 해당 페이지에있는 디렉토리를 확인하기위해 gobuster 툴을 이용해 디렉토리 스캐닝을 진행한다. gobuster -u targetIP -w common.txt ※wordlist : https://github.com/kkrypt0nn/wordlists /panel, /uploads 디렉토리를 확인해보면 파일을 업로드하고 업로드 내역을 확인할 수 있는 페이지가..
[BOB CTF 8th] - FileStroage
[BOB CTF 8th] - FileStroage
2022.09.130. Description 파일을 관리할 수 있는 구현이 덜 된 홈페이지입니다. 1. 페이지 구성 1. GET / read객체의 filename property에 fake라는 스트링을 넣고 반환 2. POST /mkfile 파일 생성 기능, filename과 content를 입력받아 __dirname/storage/ 경로에 filename 값을 해쉬하여 해쉬 이름으로 파일을 생성한 파일 이름을 반환한다. 3. GET /readfile filename 파라미터를 받을 경우 __dirname/storage/ 경로에서 filename 이름의 파일을 읽는다. filename 파라미터가 없을 경우 read 오브젝트의 filename Property를 가져온다. 4. GET /test func, filename, ..
[BOB CTF 8th] - Summer Fan
[BOB CTF 8th] - Summer Fan
2022.09.13문제 파일을 다운로드 받으면 Summer_Fan.apk 파일이 존재한다. 해당 앱을 설치하고 실행해보면 아래 처럼 선풍기를 돌리고 플래그를 얻을 수 있는 앱이 실행된다. adb install Summer_Fan.apk GET FLAG! 버튼을 클릭하게 되면 아래 화면처럼 나온다. jadx를 통해 apk 파일의 소스코드를 보면 MainActivity에 다양한 함수들이 존재한다. 그 중 Start 버튼을 누르면 실행되는 startTimer(), Get Flag 버튼을 누려면 실행되는 checkTime(), Flag를 생성하는 generateFlag() 함수가 있다. private final void checkTime(Intent intent) { Toast.makeText(this, (((int) inten..