반응형

해킹대회 617

[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

[CTFlearn] RSA Noob - 암호학

CTFlearn 의 서른두번째 문제 이번엔 암호학 문제이다. 문제 제목처럼 RSA 암호 알고리즘에 관한 문제인데 풀어보면 이게 무슨 RSA 문제인가.. 싶을정도로 황당하다. 문제에서 주어진 주소로 접속하면 텍스트 파일을 하나 받을 수 있다. e: 1 c:9327565722767258308650643213344542404592011161659991421 n: 245841236512478852752909734912575581815967630033049838269083 텍스트 파일의 내용은 위와 같다. 보통 CTF에서 n, e, c가 주어지면 RSA 문제라고 보면 된다. RSA는 지금까지도 아주 많이 사용하는 공개키 알고리즘의 이름이다. 개발자인 Rivest, Shamir, Adleman 세명의 이름 앞글자를..

워게임/CTFlearn 2022.10.23

[2020CCE] Simple Memory - 포렌식 / Volatility

2020년에 진행된 국정원 주최 사이버공격방어대회 오랫동안 컴퓨터에 당시 문제들을 묵혀놨다가 이제야 풀이 포스팅을 해본다. 당시는 거의 이런 대회에 나가본게 처음이라, 시간에 쫒겨서 캡쳐를 제대로 못한 부분이 많다. Simple Memory 문제 문제 제목처럼 간단한 메모리 포렌식 문제였다. 문제파일로는 mem.raw 파일이 주어진다. 메모리포렌식 문제를 풀 때는 Volatility 라는 도구를 사용한다. 이 분야에서 거의 독보적인 툴이다. https://www.volatilityfoundation.org/releases Release Downloads | Volatility Foundation Volatility releases are the result of significant in-depth re..

CTF/포렌식 2022.10.22

[HackTheBox] misDIRection - MISC / Shell script

HackTheBox 의 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 해킹이라고 보긴 좀 뭐하고 해킹할때 쓰일수도 있는 잡다한 기술을 쓸수있는지 물어보는 문제이다. 문제파일로 misDIRection.zip 파일이 주어진다. 압축을 풀어보면 이렇게 .secret 폴더가 안에 들어있다. .secret 폴더 안에는 이렇게 숫자와 알파벳으로 된 폴더들이 들어있는데, 각 폴더를 들어가보면 이렇게 숫자도 된 내용없는 파일이 있는것도 있고, 없는것도 있다. 추측해보건데, 각 폴더 안에 있는 숫자이름의 파일은 해당 폴더명인 글자의 위치를 나타내는것 같았다. 예를들어 위에 0 같은 경우 플래그의 6번째 자리에 있고, 1 같은 경우 22, 30번 자리에 있고, 4 ..

반응형