반응형

CTF 604

[2020CCE] Easyransom - 리버싱 / IDA / HxD / XOR

2020년에 진행되었던 국정원 주최 사이버공격방어대회 묵혀놨던 Write Up을 이제야 포스팅 해 본다. 제목에서 알 수 있듯이 이번 문제는 랜섬웨어와 관련된 문제이다. 랜섬웨어는 몸값을 뜻하는 Ransom과 Software(소프트웨어)가 더하여진 합성어로 컴퓨터에 저장된 문서파일이나 사진 등을 암호화하고, 복호화하는 대가로 몸값을 요구하는 악성코드를 말한다. 문제파일로 두개의 파일이 주어진다. 하나는 easyransome.exex.exe 파일이고 다른 하나는 flag.txt.easyransom 파일이다. exe 파일이 랜섬웨어 역할을 하는 파일인것 같고, flag.txt.easyransom 파일은 flag.txt 파일이 암호화되어서 easyransom 으로 확장자가 바뀐듯 하다. 암호화된 파일을 HxD..

CTF/리버싱 2022.11.04

[CTFlearn] Tux! - 포렌식 / HxD / Binwalk

CTFlearn의 서른네번째 문제 또다시 나온 그림파일 포렌식 문제이다. https://hackingstudypad.tistory.com/266 https://hackingstudypad.tistory.com/288 https://hackingstudypad.tistory.com/305 조금씩 다르긴 하지만 이전에 비슷한 문제를 많이 풀이했었다. 이번 문제는 쪼금 더 꼬아놓은 문제이다. 이게 주어진 Tux.jpg 파일이다. 귀어운 펭귄의 모습이 보이는데 얘는 턱스라고 부르는 리눅스 공식 마스코트 펭귄이다. HxD 프로그램을 이용해 Tux.jpg 파일을 열어보았다. 열자마자 바로 눈에 띄는 부분이 있는데, 두번째 줄부터 시작되는 ICAgICAgUGFzc3dvcmQ6IExpbnV4MTIzNDUK 라는 값이다..

워게임/CTFlearn 2022.11.02

[2020CCE] My Friend - 리버싱 / IDA / Python

2020년에 진행되었던 국정원 주최 사이버공격방어대회 묵혀놨던 Write Up을 이제야 포스팅 해 본다. 이번에 포스팅 할 문제는 My Friend 라는 제목의 리버싱 문제이다. 주어지는 파일은 mf 라는 이름의 바이너리 파일이다. 리버싱 카테고리에 있는 문제고, 알 수 없는 바이너리 파일을 받았으니 바로 IDA 라는 디스어셈블러를 이용해 열어보았다. IDA에서 인식하길 해당 파일은 Mach-O 파일이라고 한다. Mach-O 파일은 애플의 MacOS 에서 동작하는 프로그램이다. 개인적으로 CTF에서 Mach-O 파일이 나오는걸 이때 처음봤다. IDA로 분석해보면 함수가 친절하게 이거밖에 없다. 그중 _main 함수와 _get_flag 함수가 눈에 띈다. _main 함수의 내용이다. 별 내용이 없다. 사용..

CTF/리버싱 2022.11.01

[HackTheBox] baby CachedView - 웹해킹 / Flask

HackTheBox에서 제공하는 쉬운 난이도의 웹해킹 문제이다. 문제페이지에 처음 접속했을 때 화면이다. 토끼가 춤추고 있고, 아래에는 URL을 입력하는 창이 보인다. 시험삼아 네이버 주소를 입력해 봤더니 이렇게 아래쪽에 네이버 메인화면 스크린샷을 가져와서 표시해준다. 문제 제목 그대로 사용자가 입력한 URL에 방문해서 해당 페이지를 Caching 하는 기능의 웹페이지이다. 일단 주어진 문제파일을 통해서 flag 라는 사진파일이 서버 내에 있다는것을 알았다. @api.route('/cache', methods=['POST']) def cache(): print("Cache") if not request.is_json or 'url' not in request.json: return abort(400) r..

[2020CCE] Webpacket - 포렌식 / Wireshark / XOR

2020년에 진행되었던 국정원 주최 사이버공격방어대회 묵혀놨던 Write Up을 이제야 포스팅 해 본다. 이번에 풀이할 문제는 Webpacket 문제이다. 문제에서 주어지는 파일은 packet.pcapng 파일이다. pcapng 파일은 패킷 캡처 파일로 Wireshark 라는 도구를 이용해 열어볼 수 있다. 파일을 열어보면 이런 화면이 나온다. 패킷이 약 95,000개로 좀 많아서 어디부터 봐야하나 고민하다가 일단 File - Export Objects - HTTP 로 웹 접속흔적을 살펴보기로 했다. 들어가보니 여러 흔적들이 나오는데, 그중 유일하게 Hostname이 IP 주소로 되어있고, 포트도 80이나 443이 아닌 4423 이라는 이상한 포트를 사용하는 호스트를 발견했다. login.js 파일을 가..

CTF/포렌식 2022.10.30

[2020CCE] Web Log - 포렌식 / Blind SQL Injection

2020년에 진행되었던 국정원 주최 사이버공격방어대회 묵혀놨던 Write Up을 이제야 포스팅 해 본다. 이번에 풀이할 문제는 Web Log 이다. 문제 제목처럼 정직하게 Web Access Log를 분석하는 문제이다. 문제파일로 access.log 파일이 주어진다. 파일 크기가 63.1MB로 꽤 크다.. 실제로 Subline Text를 이용해 파일을 열어보면 305,077개의 로그가 있는것을 볼 수 있다. 여기저기 스크롤 옮겨가며 둘러보다가 265,847번째 줄에서 특이한 로그를 발견했다. /image_view.php?idx=1 and if(ascii(substr((select flag from flag),1,1))=32, (select 1 union select 2), 0) URL로 이렇게 요청을 하..

CTF/포렌식 2022.10.28

[CTFlearn] Chalkboard - 포렌식 / HxD / WolframAlpha

CTFlearn의 서른세번째 문제 이제부턴 풀이수가 3000대로 떨어졌다. 문제 자체는 어렵지 않은데 아마 여기까지 도전하는 사람이 없기 때문일것 같다. 이 문제는 새로운 유형이 아니다. https://hackingstudypad.tistory.com/266 https://hackingstudypad.tistory.com/288 기존에 포스팅했던 이 두 문제와 아주 유사하다. 거의 똑같다고 보면 된다. 문제 설명을 읽어보면, jpeg 파일에 포함된 방정식을 풀어서 플래그를 찾으라고 한다. 그리고선 math.jpg 파일이 제공되는데, math.jpg 파일을 열어보면 이런 사진이 들어있다. 복잡한 방정식이 보이는데 당연하지만 이걸 계산하는 문제는 아니다. HxD 라는 도구를 실행시켜, 문제파일을 드래그 앤 ..

워게임/CTFlearn 2022.10.27

[2020CCE] Simple Packet - 포렌식 / Wireshark / XOR

2020년에 진행된 국정원 주최 사이버공격방어대회 오랫동안 컴퓨터에 당시 문제들을 묵혀놨다가 이제야 풀이 포스팅을 해본다. 당시는 거의 이런 대회에 나가본게 처음이라, 시간에 쫒겨서 캡쳐를 제대로 못한 부분이 많다. Simple Packet 문제에서는 세 가지 파일이 주어진다. client.py / server.py / simple_packet.pcapng 파일이다. #!python3 from socket import * import sys def do_xor(data): key = b"\x10\x07\x19" return bytearray([data[i] ^ key[i%3] for i in range(len(data))]) if len(sys.argv) != 2: print('[-] usage : {}..

CTF/포렌식 2022.10.26

[Root Me] PHP - Loose Comparison - 웹해킹 / MD5 Magic Hash

php의 약한 비교(Loose Comparison) 로 인해 발생하는 php magic hash 와 관련된 웹 해킹 문제이다. 문제 페이지에 접속하면 이런 화면이 나온다. seed 와 hash를 입력하는 칸이 있고, 옆에는 check 버튼이 있다. 뭔지 모르겠으니 일단 아래 source code 버튼을 눌러 소스코드를 확인해본다. source code 버튼을 누르면 이렇게 아래쪽에 소스코드가 출력된다. 이 부분부터 살펴본다. seed 에 입력한 값은 $s 에 저장되고, hash 에 입력한 값은 $h 에 저장된다. 각각의 변수에 저장되기 전에 sanitize_user_input 함수와 secured_hash_function 함수에 입력값을 먼저 넣어주는데, sanitize_user_input 함수는 정규식..

워게임/Root Me 2022.10.25

[2020CCE] Simple Cmdshell / Simple Patch - 포너블 / IDA

2020년에 진행된 국정원 주최 사이버공격방어대회 오랫동안 컴퓨터에 당시 문제들을 묵혀놨다가 이제야 풀이 포스팅을 해본다. 당시는 거의 이런 대회에 나가본게 처음이라, 시간에 쫒겨서 캡쳐를 제대로 못한 부분이 많다. 생각보다 쉬운 난이도의 문제가 많아서, 하나씩 포스팅하면 글이 너무 짧아질까봐 쉬운 문제들은 몇개씩 묶어서 포스팅 해보려 한다. Simple Cmdshell 첫번째로 Simple Cmdshell 문제 Jail Escape 와 관련된 문제이다. 바이너리 파일이 하나 주어지고, nc를 이용해 접속할 수 있는 주소가 하나 주어진다. 바이너리 파일을 IDA 라는 디스어셈블러를 이용해 열어보면 위 사진과 같은 main 함수를 볼 수 있다. __isoc99_scanf("%4096s", haystack)..

CTF/포너블 2022.10.24
반응형