반응형

해킹 640

[HackTheBox] xorxorxor - 암호학

제목 그대로 정직한 XOR 과 관련된 암호학 문제이다. 문제에서 제공되는 파일은 output.txt 파일이다. 해당 파일을 열어보면 암호화된 플래그가 적혀있다. 당연하겠지만 XOR 을 이용해서 암호화 됐을것이다. 암호화하는 파이썬 코드도 함께 주어진다. 암호화하는 과정을 살펴보면 os.urandom(4) 로 4바이트짜리 임의의 키를 생성해서 그 키값과 플래그를 XOR 연산을 한다. 랜덤이라 경우의 수가 굉장히 많지만 HackTheBox 에서의 플래그는 HTB{ 로 시작한다는 사실일 알기때문에 아주 쉽게 풀 수 있다. CyberChef(https://gchq.github.io/CyberChef) 를 이용해서 HTB{ 를 16진수로 바꿔보면 48 54 42 7b 가 된다. 이 값을 암호화된 플래그 맨 앞자리..

[Tenable CTF] Play Me - 리버싱 / VisualBoyAdvance

Tenable CTF 에서 처음 접해본 게임 리버싱 문제 재밌는 문제였다. game.gb 파일이 문제로 주어지는데 이건 VisualBoyAdvance 를 이용해 실행시킬 수 있다. 실행시키면 이런 화면이 나온다. 슈퍼마리오 같은 간단한 게임이다. 점프해서 장애물을 넘어 오른쪽 끝으로 가면 된다. 순조롭게 진행되다가 이 부분 이후로는 게임을 더이상 진행시킬 수 없다. 마지막에 보이는 발판은 발판이 아니라 그냥 배경그림이다.. 그래서 아무리 점프를 해도 저 발판을 밟을수가 없다. VisualBoyAdvance 의 기능을 이용해 본다. Tools 메뉴에서 Memory viewer 기능을 선택한다. 그럼 게임이 진행되는 동안 메모리 상태를 실시간으로 확인할 수 있다. 주목할 부분은 C0AC, COAE 부분의 값..

CTF/리버싱 2023.04.08

[CTFlearn] Is it the Flag? (JAVA) - 프로그래밍 / Python

CTFlearn의 여든 다섯번째 문제 이번엔 Hard 난이도의 프로그래밍 문제이다. 갈수록 어려운 문제가 나와서 이젠 못풀수도 있겠다 싶다. 문제 설명을 읽어보면 플래그는 6글자의 alphanumeric characters 라고 한다. alphanumeric 은 a ~ z, 0 ~ 9 까지의 문자열을 모두 합한걸 의미한다. public class IsItTheFlag { public static boolean isFlag(String str) { return str.hashCode() == 1471587914 && str.toLowerCase().hashCode() == 1472541258; } public static void main(String[] args) { String flag = "-----..

워게임/CTFlearn 2023.04.07

[Tenable CTF] Web 문제들(3/3) - 웹해킹 / Python

Tenable CTF 에서 웹해킹 카테고리에 있던 문제들은 하나의 웹 사이트가 주어지고, 그 안에서 여러 플래그를 찾아 해결하는 방식이었다. 간단한 문제들이 많아서 여러개를 한번에 포스팅한다. 위에 보이는 것이 공통적으로 제공되는 웹사이트이다. 일곱번째 문제는 Certificate of Authenticity 문제이다. 문제 제목에서 볼 수 있는것처럼 인증서와 관려한 문제이다. 문제 페이지에서 https:// 로 스키마를 바꿔서 접속하면 인증서가 하나 다운로드 된다. 다운받은 인증서를 열어보면 발급 대상 및 발급자에 플래그가 적혀있는걸 볼 수 있다. 마지막 문제는 Follow The Rabbit Hole 문제이다. 이전 문제들과 비교해보면 확실하게 풀이수가 적다. 메인 페이지에서 Rabbit Hole 버..

CTF/웹해킹 2023.04.06

[HackTheBox] Reminiscent - 포렌식 / Volatility

HackTheBox 에서 제공하는 Easy 난이도의 포렌식 문제 문제 설명을 읽어보면 채용 담당자가 이상한 메일을 받아서 악성코드에 감염되었는데 이메일 사본과 메모리 덤프를 가지고 분석을 해달라 한다. 문제에서 제공되는 파일은 flounder-pc-memdump.elf 파일, imageinfo.txt, Resume.eml 파일 세가지이다. elf 파일이 메모리 덤프 파일이고, imageinfo.txt 는 volatility 를 이용해 메모리 덤프 파일에 imageinfo 플러그인을 실행한 결과, eml 은 이메일 사본이다. eml 파일을 열어보면 resume.zip 파일에 링크가 걸려있는데 해당 링크는 http://10.10.99.25:8080/ 주소로 연결되어 있는걸 알 수 있다. imageinfo.t..

[Tenable CTF] Web 문제들(2/3) - 웹해킹 / 개발자도구 / 헤더변조

Tenable CTF 에서 웹해킹 카테고리에 있던 문제들은 하나의 웹 사이트가 주어지고, 그 안에서 여러 플래그를 찾아 해결하는 방식이었다. 간단한 문제들이 많아서 여러개를 한번에 포스팅한다. 위에 보이는 것이 공통적으로 제공되는 웹사이트이다. 네번째 문제는 Show me what you got 이다. 문제 설명을 보면 Find the "indexes" flag 라고 적혀있다. indexes 라는 단어를 강조한 것을 보고 Directory Indexing 취약점이라는것을 알아냈다. F12의 개발자 도구를 이용해 웹페이지 구조를 대강 살펴봤다. images 라는 폴더가 있는것을 확인할 수 있었다. URL에 /images/ 라고 입력했더니 디렉토리 인덱싱 취약점으로 인해 Index of /images 페이지..

CTF/웹해킹 2023.04.04

[Tenable CTF] Web 문제들(1/3) - 웹해킹 / robots.txt / 개발자도구

Tenable CTF 에서 웹해킹 카테고리에 있던 문제들은 하나의 웹 사이트가 주어지고, 그 안에서 여러 플래그를 찾아 해결하는 방식이었다. 간단한 문제들이 많아서 여러개를 한번에 포스팅한다. 위에 보이는 것이 공통적으로 제공되는 웹사이트이다. 첫번째는 Stay Away Creepy Crawlers 이다. 문제 설명을 읽어보면 Find the flag where they keep the creepy crawlers away 라고 적혀있다. crawler 와 관련있는건 robots.txt 이다. 네이버 서치어드바이저에 있는 바로 그 robots.txt이다. robots.txt는 로봇 배제 표준이라고 해서 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 일종의 규약이다. 검색엔진들이 내 웹페이지를 마구마구 ..

CTF/웹해킹 2023.04.03

[CTFlearn] HailCaesar! - 포렌식 / ASCII Cipher

CTFlearn 의 여든 네번째 문제 Medium 난이도의 포렌식 문제인데 이전에 비슷한 유형의 문제보다 살짝 어렵다. 문제설명을 읽어보면, Python 을 사용하면 편하다는데 안써도 충분히 풀 수 있다. 문제에서 제공하는 HailCaesar.jpg 파일은 이렇게 생겼다. HxD 를 이용해 해당 파일을 열어보면 시작부터 뭔가 눈에띄는 데이터들이 보인다. 좀더 깔끔하게 보기 위해 Sublime에 붙혀넣어서 확인해봤다. CTFlearn 으로 시작하는 플래그 같이 생긴애들이 보이고 밑에는 Base64로 인코딩 된듯한 데이터가 보인다. 당연하게도 이 세 가지는 진짜 플래그가 아니다. 힌트일거라고 생각해서 고민해보니 두번째 줄은 맨 앞글자만 모아서 보면 ASCII, 세번째 줄은 32 ~ 126 이라는 숫자에 주목..

워게임/CTFlearn 2023.04.02

[Tenable CTF] A3S Turtles - 포렌식 / John the Ripper / Shell Script

암호학이 살짝 가미된 포렌식 문제 대회에서는 stego 로 분류되어 있었다. Tenable CTF 가 참신하고 재밌는 문제들이 많이 나오는것 같다. 문제에서 주어지는 것은 turtles128.zip 파일이다. 압축을 풀려고 보면 비밀번호가 걸려있다. ZIP 파일 비밀번호를 crack 하는데는 John the Ripper 라는 도구를 이용했다. 여러가지 비밀번호를 crack 해주는 기능을 가지고 있다. zip2john > hash 명령어로 hash 파일을 생성해준 다음 john hash 명령어로 비밀번호를 crack 해주면 된다. 해당 파일의 비밀번호는 0 이었다. 압축을 풀면 turtles127.zip 파일이 나오는데 이 역시도 암호가 걸려있다. 역시나 똑같은 방법으로 해보면 비밀번호는 0 으로 되어있는..

CTF/포렌식 2023.04.01

[CTFlearn] Time to Eat - 리버싱 / Python

CTFlearn의 여든 세번째 문제 이번에는 Medium 난이도의 리버싱 문제이다. 문제파일로는 파일이 제공된다. 문제에서 제공되는 코드를 열어보면 이렇게 적혀있다. eat, EaT, eaT, eAT 등 변수나 함수 이름을 상당히 헷갈리게 적어놔서 그냥 봐선 대체 무슨 말인지 알기가 어렵다. 일단 실행시켜봤다. what's the answer 라는 문구가 나오며 사용자 입력을 받는다. hello 라고 입력해 봤더니 bad length 라는 문구가 출력되었다. 사용자 입력값을 eat 에 저장하고 eat 가 9 와 같은지 비교하고 있는데 이 부분이 길이를 체크하는 부분이다. 입력값을 9자리여야 한다. 이번엔 aaaaaaaaa 라고 입력해봤다. bad format 이라면서 입력값의 예시를 출력해준다. 입력값은..

CTF/리버싱 2023.03.31
반응형