목록분류 전체보기 (67)
Hack4S3cur1ty
문제풀이 제공된 링크에 들어가보면 다음과 같은 페이지가 나온다. SQLI 문제로 보이니 간단한 구문을 넣어서 테스트 해본다. Payload = 'or 1=1;-- - 잘 먹힌다. 그럼 다음 payload를 넣어보자. Payload = 'or 1=1 union select 1,2;-- - 아주 잘 먹힌다. 이제 select 구문으로 information_schema에 있는 테이블을 가져오자. Joker라는 테이블을 발견하였고, information_schema.columns에서 column을 가져오자. Flag와 HaHaHa라는 column을 가져왔고 Flag에 있는 값을 보자. FLAG : BITSCTF{wh4t_d03snt_k1ll_y0u_s1mply_m4k3s_y0u_str4ng3r!}
문제풀이 우선 해당 주소에 접속하면 다음과 같은 페이지가 뜬다. 문제에서 결정적인 단서를 제공해줬는데 바로 BOT이다. 그래서 다음과 같이 주소 뒤에 /robots.txt를 붙이고 접속했다. 그 결과 다음과 같은 /fl4g 경로를 확인 할 수 있었다. 해당 경로에 접속해보면, FLAG를 얻을 수 있다. FLAG : BITCTF{take_a_look_at_googles_robots_txt}
실습 목표 1. 여러 가지 분석 방법을 통해 APK 파일 내 악성 코드를 찾아내고 분석하고 이해한다. 필수 구성 요소 1. dex2jar 2. jd-gui 3. sample apk 실습 과정 안드로이드 애플리케이션은 APK 파일의 형대로 배포된다. APK파일은 ZIP과 같은 PE구조이므로 그냥 압축 해제하면 구성파일을 확인할 수 있다. 구성파일은 대표적으로 assets, res, libs 폴더와 AndroidManifest.xml, classes.dex 파일들로 구성된다. [그림1] 특히 classes.dex파일에는 달빅 바이트코드가 담긴다. 여기에 담긴 코드는 4가지의 주요 컴포넌트로 나뉜다. [그림2] Activity - 사용자가 앱 아이콘을 터치할 때 실행되어 보이는 UI화면을 뜻한다. 가장 흔히 ..
Lab #2 Making Malware using SFX Archive 실습 목표 1. 백도어를 제작할 수 있다. 실습 준비물 1. VB로 제작한 Malware 2. 스크린세이버 파일 & 아이콘 3. OS (Victim, Hacker = Windows 7) 4. WinVNC.exe, vncviewer.exe, VNCHooks.dll 실습 방법 1.1. 기존 책을 이용한 방법 VB Script를 이용하여 악성코드를 감염시킨다. run.vbs는 WinVNC.exe를 실행시키는데 이용되고 install.vbs는 run.vbs를 시작프로그램에 등록하여 부팅될때마다 실행되게 한다. vbs파일과 vnc파일과 악성코드를 숨기기 위한 스크린세이버 파일과 함께 sfx로 압축한 후 감염시키는 방식이다. 1.2. 결과 & ..
문제 풀이 먼저 주어진 파일을 FTK Tool로 열어보면 Mac OS 시스템인것을 확인할 수 있다. Mac OS 포렌식은 처음이라 구글링을 통해 정보를 수집했고, http://sysforensics.org/2016/09/mac-dfir-hfs-filesystem-volume-header/ 다음과 같은 블로그를 찾을 수 있었다. 000000410 Offset의 D3 B9 00 BF 부분이 생성된 날짜에 해당하는 곳임을 알게되었고, FTK Tool로 해당 Offset으로 이동해 D4 7B 24 F5가 생성된 시간임을 알았다. D4 7B 24 F5 값을 시간으로 변환해야 하는데 위에서 발견한 블로그에서 The Sleuth Kit 이라는 툴을 발견했다. http://www.sleuthkit.org/sleuthk..
문제 풀이 먼저 파일을 다운받아보면 다음과 같은 코드를 볼 수 있다. GeneratePrime함수를 통해 p값과 q값을 생성하고, GenerateKeys함수를 통해 e, d, n 값을 생성한다. 그 후 MakeRandomString함수를 통해 랜덤값의 문자열을 헥스화 시킨 후 powmod를 통해 RSA암호화 시킨다. 시간제한은 1초로 설정되어 있고, 초과시에는 Time Out을 출력, 시간내에 Data값과 Answer값이 일치하면 FLAG가 출력된다. 우선 전체적인 로직을 파악하기 위해 코드를 정리했다. 통신관련 함수를 때내고 p, q, n, d, plain text값을 출력하도록 하고 실행시켜본 결과 p, q, n, d 값이 일정하다는 것을 알 수 있었다. p, q, n, d에 관한 함수들을 그대로 욺..
문제 풀이 먼저 문제를 보니 어플리케이션의 구조를 가진것으로 예상할 수 있다. classes.dex를 분석하기보다는 assets 폴더에 들어가서 데이터를 확인해보았다. assets/x-game 에 들어가면 x-script.rpyc 라는 파일이 보이는데, 이 어플레이션의 전체적인 작동 스크립트라고 생각하고 rpyc파일을 디컴파일했다. unrpyc툴을 이용해 디컴파일하면 다음과 같이 x-script.rpy 파일이 나오고 스크립트 내용을 볼 수 있게 됬다. 해당 스크립트 마지막 부분에 가면 key를 출력하는 부분이 보이고, 이런식으로 로직을 따라다니면서 키값을 하나씩 적었다. 하지만 중간에 이런식으로 로직이 두 부분으로 나뉘어 키값이 두가지로 나뉘게 되는데, 모든 경우의 수를 따져서 게싱으로 풀었다.. HS{..