반응형

전체 글 714

[CTFlearn] HyperStream Test #2 - 암호학 / Bacon

CTFlearn의 스무번째 문제 벌써 스무번째 포스팅이다. 문제 제목이 HyperStream Test #2 인데 왠지 모르게 #1 문제는 없다. ABAAAABABAABBABBAABBAABAAAAAABAAAAAAAABAABBABABBAAAAABBABBABABBAABAABABABBAABBABBAABB 문제에서 주어지는 암호문은 위와 같다. A와 B로 이루어진 긴 문자열인데 사실 이 문제는 문제 설명에서 거의 답을 다 줬다. I love the smell of bacon in the morning! bacon cipher 라는 암호가 존재한다. Francis Bacon 이라는 사람이 만들어서 그렇게 이름이 붙었는데 이런식으로 알파벳을 a와 b, 또는 0과 1만을 이용해 표현하는 방식이다. 예를들어 주어진 암호..

워게임/CTFlearn 2022.09.09

[Root Me] IP - Time To Live - 네트워크 / Wireshark

Root Me 에서 제공하는 네트워크 문제 엄청 쉬운 문제인데.. 정답이 뭔가 일반적인 CTF 답 형식과 달라서 답을 찾아놓고도 답이 아닌줄 알아 푸는데 시간이 좀 걸렸다.. Time To Live 란 컴퓨터 네트워크에서 패킷의 유효기간을 나타내는 역할을 한다. 패킷이 네트워크에서 무한정 떠도는것을 막기 위해 설정하는 것이다. 이렇게 ping 명령어를 쳐보면 바로 확인할 수 있는데 맨 끝에 있는 TTL 이 바로 Time To Live 의 약자이다. 윈도우는 기본적으로 TTL 값이 128 이고, 리눅스는 64로 설정되어 있다. 라우터를 거칠때마다 1씩 줄어들어 TTL 값이 0 이 되면 패킷이 폐기되는 방식이다. 문제에서 주어지는 파일은 ch7.pcap 파일이다. 문제의 목표는 targeted host에 도..

워게임/Root Me 2022.09.08

[TFCCTF] PONG - 웹해킹 / Command Injection / 명령어삽입

Warm Up 난이도의 간단한 웹해킹 문제 아주 기본적인 Command Injection 문제이다. 문제 제목이 PONG 인걸보니 ping 명령어와 관련된 문제인듯 하다. 이 문제와 똑같은 문제를 Root Me 사이트에서 제공하고 있고, 얼마전에 해당 문제 풀이를 포스팅했었다. (https://hackingstudypad.tistory.com/74) 문제페이지에 접속한 모습이다. index.php 에서 host 변수에 127.0.0.1 이라는 값을 받아 서버로 전달하고 있다. 서버에서는 ping -c 2 127.0.0.1 이라는 명령어가 실행되었다는 정보를 알려주고 있다. ping 은 네트워크를 통해 특정한 host 가 도달할 수 잇는지 여부를 테스트하는데 쓰이는 명령어이다. 문제는 이렇게 웹서비스를 통..

CTF/웹해킹 2022.09.07

[Root Me] Command & Control - level 2 - 포렌식 / Volatility

Root Me에서 제공하는 첫번째 메모리 포렌식 문제 무슨일인지 level 1 은 없고 level 2 부터 시작한다. 내용을 보면 원래는 level 1이 있었는데 알수 없는 이유로 삭제한것 같다. 문제 설명을 읽어보면 메모리 덤프 파일에서 워크스테이션의 hostname을 찾는것이 이번 문제의 목표이다. 메모리포렌식 문제를 풀 때는 Volatility 라는 도구를 사용한다. 이 분야에서 거의 독보적인 툴이다. https://hackingstudypad.tistory.com/188 [SANS SIFT Workstation] 최신버전 다운로드 및 설치방법 SANS SIFT Workstation 최신버전 다운로드 및 설치 방법에 대해서 알아보자. SIFT는 Sans Investigative Forensics T..

워게임/Root Me 2022.09.06

[CTFlearn] Simple Programming - 프로그래밍 / Python

CTFlearn의 열아홉번째 문제 이번엔 프로그래밍 문제이다. 해킹대회를 참가할때마다 느끼는 거지만 프로그래밍은 해킹하는데 필수로 잘해야 하는것 같다. 어려운 문제들은 반드시 코딩해서 풀어야 하기때문.. 프로그래밍 공부도 해야하는데 참 쉽지가 않다. 0의 개수가 3의 배수이거나 1의 개수가 2의 배수인 행의 개수를 찾는것 이것이 이번 문제의 목표이다. 말이 헷갈려서 몇번이나 읽어봤던거 같다. 문제에서 주어지는 data.dat 파일을 열어보면 이렇게 0과 1로 된 데이터들이 10000줄 들어있다. 사람이 일일이 계산하기는 불가능하기 때문에 프로그래밍이 필수이다. 여기서 각 line의 0과 1의 갯수를 센 후, 0의 개수가 3의 배수이거나 1의 개수가 2의 배수인 행를 세어주면 된다. f = open('da..

워게임/CTFlearn 2022.09.05

[rgbCTF] A Basic Challenge - MISC / Encoding

빵점 방지용 간단한 문제 말 그대로 basic challenge 수준이다. 문제파일로 basic_chall.txt 파일이 주어진다. 110100 1100100 100000 110101 110100 100000 110101 111001 100000 110111 111001 100000 110100 111001 100000 110100 110100 100000 110100 110101 100000 110011 110000 100000 110100 1100101 100000 110111 111001 100000 110100 110001 100000 110111 111000 100000 110100 1100101 100000 110100 110100 100000 110100 111001 100000 110110..

CTF/MISC 2022.09.04

[Root Me] ELF x86 - Stack buffer overflow basic 1 - 포너블 / 버퍼오버플로우

Root Me 에서 처음 풀어보는 포너블 문제 가장 기본적인 스택 버퍼오버플로우 문제이다. 문제 환경을 살펴보면 아무런 보호기법도 적용되지 않은것이 보인다. 그냥 편하게 풀 수 있는 수준이다. #include #include #include #include int main() { int var; int check = 0x04030201; char buf[40]; fgets(buf,45,stdin); printf("\n[buf]: %s\n", buf); printf("[check] %p\n", check); if ((check != 0x04030201) && (check != 0xdeadbeef)) printf ("\nYou are on the right way!\n"); if (check == 0xdea..

워게임/Root Me 2022.09.03

[CTFlearn] 07601 - 포렌식 / HxD / binwalk

CTFlearn의 열여덟번째 문제 문제 제목이 07601 인데 이게 대체 뭘까 싶어서 검색해봤더니 미국 뉴저지의 우편번호라는 검색결과가 가장 많이 나온다. 우편번호가 영어로 zip code 인데 아마 zip 때문에 제목을 그렇게 붙였나보다. 문제에서 주어진 주소로 접속해보면 AGT.png 파일을 다운로드 받을 수 있다. 아메리카 갓 텔런트 캡쳐한 화면인데 HxD 프로그램을 이용애 AGT.png 파일을 열어보면 맨앞이 FF D8 FF E0 로 시작하는걸 볼 수 있다. 이렇게 파일 맨 앞에 써있는걸 파일 시그니처 라고 하는데 FF D8 FF E0 로 시작하는것은 JPG 파일의 특징이다. 주어진 파일은 PNG 파일인척 하는 JPG 파일이었던 것이다. JPG 파일의 또다른 특징은 끝날때 무조건 FF D9 로 끝..

워게임/CTFlearn 2022.09.02

[IJCTF] Input Checker - 포너블 / 버퍼오버플로우 / IDA / Peda / Pwntool

조금 헷갈렸던 포너블 문제 포너블은 항상 어려운것 같다. 문제설명에서 best input 을 찾으라고 한다. 문제파일로 input 이라는 이름의 바이너리 파일이 하나 주어진다. file 명령어로 확인해보면 ELF 64-bit 파일인것을 확인할 수 있다. ELF 은 리눅스에서 실행가능한 파일이다. 파일을 실행시켜보면 Input : 이라는 문구가 출력되면서 사용자 입력을 기다린다. hello 라고 입력해봤는데, 프로그램이 종료되거나 하지 않고 계속 대기중이었다. IDA 라는 디스어셈블러를 이용해 input 파일을 열어보았다. main 함수를 먼저 살펴봤는데 Input : 이라는 출력이 나온 뒤에 getchar() 함수를 이용해 사용자의 입력을 받고 있다. 반복문이 0에서 1089 까지 돌아가면서 사용자의 입..

CTF/포너블 2022.09.01

[씨라이프부산아쿠아리움] 방문 후기

얼마전 해운대 근처에 볼일이 있어서 갔다가 시간이 조금 애매하게 남아서 들러봤던 씨라이프부산아쿠아리움 이렇게 규모가 큰 아쿠아리움은 처음 가봤는데 아주 색다른 경험이었다. 아쿠아리움의 위치는 해운대 해수욕장, 파라다이스호텔 부산 바로 뒤에잇다. 운영시간은 위에 나온것처럼 주말 10:00 ~ 20:00 / 평일 10:00 ~ 19:00 이고, 입장마감은 영업종료 1시간 전이다. 이곳이 아쿠라이움 주차장으로 들어가는 길목인데, 주차장이 생각보다 협소해서 조금 많이 대기를 했다. 오후 6시 30분 정도에 갔는데, 그때까지도 차가 많아서 아쿠아리움 들어가려는 차들이 저기 보이는 우회전 차선에서 계속 서서 대기했다. 그런데 보이다싶이 저기가 직진/우회전 차선이라 뒤에 직진하려는 차들 눈치가 조금 보였다... 약 ..

일상 2022.08.31
반응형