썸네일 2025년 하반기 대회 회고 정말 오랜만에 쓰는 글 같습니다 요 블로그에는 Write up 은 이제 기고하지 않기 때문에 텀이 좀 더 길었을지도 모릅니다 ㅎ.. 25년도는 정말 많은 일이 있었고, 하반기는 정말 많이 바쁘고 새 직장에 적응하는 기간이었습니다.솔직히 말하면 문제를 푸는 것에 큰 회의(슬럼프)가 찾아와서 아직도 극복 중입니다.. 그 사이에 언제나 같이 대회를 나가자고 해주시는 감사한 분들로 인해 나간 대회는 은근히 많습니다 (머쓱)성과가 있었다고 해야하나.. 그런 대회만 기고하면 아래와 같습니다 1. Layer CTF 2025요 대회는 24시간( 11월 15일 오전 10시 ~ 11월 16일 오전 10시 )진행했습니다. 제가 좋아하는 개인전입니다정말 감사하게 일반부 2위를 기록했습니다. 문제같은 경우는 엄청난 난이도를 ..
썸네일 Tuya OS Firmware 추출기 이 글은 지식적으로 뭔가 알려드리는 건 없습니다.. 저도 하드웨어는 초보이기 때문에, 잘못되거나 엉성한 설명이 있을 수 있음에 유의해주세요!대상 기기신원 미상 제조사의 Tuya smart camera구매 정보 : https://ko.aliexpress.com/item/1005006144740984.html?spm=a2g0o.order_list.order_list_main.5.efea140f1M91uK&gatewayAdapt=glo2kor#nav-specificationTuyaOS는 RTOS(Real Time OS) , Linux , Non-OS 등 다양한 환경에서 실행 가능한 OShttps://developer.tuya.com/en/docs/iot-device-dev/TuyaOS-Overview?id=K..
썸네일 [Dreamhack Invitational 2025 Final] 대회 후기 이틀간 Dreamhack Invitational 2025 Final과, .Hack 2025 컨퍼런스를 다녀온 후기를 담고 있습니다사실상 거의 대회 후기입니당..  대회 후기예선을 28등해서 본선에 나가게 될거라고 생각을 아예 못했는데, 진짜 운이 좋게 턱걸이로 본선에 가게 되었습니다이 대회를 하면서 진짜 많은 분들의 도움이 있었습니다.. 같이 출전해서 힘이 되신 분도 계셨고, 메일 확인 못해서 못나갈뻔했는데 알려주신 분도 계셨고 정말 너무너무 감사한 분들의 도움으로 좋은 대회를 경험했습니다 ㅠㅠ 최근에 나간 대회나, 워게임을 풀때도 고전을 너무 많이 해서 자존감이 상당히 낮은 채로 갔습니다.. 너무 긴장해서 울렁울렁하고 그냥 하나도 풀지 말고 가자... 하면서 앞에서 계속 맴돈 기억이 나네욥 대회는 오전..
썸네일 [codegate2025 qual] Web write-up 지난 주말에 codegate 예선에 참여했습니다본선은 못갔지만, 문제들이 하나하나 너무 잘 만들어서 힘들면서도 즐겁게 풀었던 거 같습니다팀원들이랑 다 함께 풀었는데, 이렇게 떠들면서 같이 푸는 경험도 너무 재밋엇습니다 두 개 풀고 하나 더 풀다가 체력과 시간이딸려 못 푼게 너무 아쉽지만... 다음에는 전부 풀 수 있길...! Masqurade 개요권한이 두 개가 있습니다. hasPerm (boolean), Role (지정된 값)둘 다 로그인 시 jwt cookie에 내용이 박히며 이를 기반으로 검증합니다bot은 존재하지 않는 계정으로 바로 jwt를 생성하여 url에 접근하며, jwt에 박힌 uuid가 flag입니다 즉 bot의 cookie탈취를 위해 XSS가 발생해야 하며, 이를 위해 글을 써야 합니다글..
썸네일 [HackTheBox] Finale write-up 오랜만에 쓰는 write up입니다요즘 pwnable 공부 중이라서 어렵게 풀어봤습니다 1. 분석[*] '/wargame/Finale/challenge/finale' Arch: amd64-64-little RELRO: Full RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000) Stripped: NoCanary, PIE 없음 우선 실행해보면 아래와 같이 입력이 나옵니다root@user-utuntu:/wargame/Finale/challenge# ./finaleLet's celebrate Spooktober!!! ..
썸네일 [CCE 2024 Final] 대회 후기 이번에 CCE 2024 Final 을 다녀왔습니다!저는 오프라인 CTF가 처음이라 너무너무 긴장됐어요..  아침 7시 반까지 코엑스에 가야해서 3시부터 일어나 전년도 writeup 보다가 눈비비며 출발했습니다.. 사람들도 너무너무 많고 모니터도 챙겨온 분들이 많아서 더더욱 긴장됐던거같아요!더군다나 저는 웹만 풀 줄 알아서 공방전이나 다른 문제들은 어떡하나 하는 걱정이 가득했습니다..   내부 사진도 찍고 싶었는데, 대회장 내부는 사진 촬영 불가라고 되어있어서 찍지는 못했습니다..ㅎ내부에는 따뜻한 커피와 다과가 제공되었어요! 자리에는 CCE 티셔츠가 제공되어있어서, 원래 입은 옷 위에 입고 대회를 진행했습니당..ㅎㅎ사람도 정말 많고 잘하시는 분들이 많이 계시다보니 긴장이 엄청 됏습니당 점심은 도시락으로 제..
썸네일 [BlackHat MEA qual CTF 2024] WEB all write-up 회사 분들과 BlackHat 2024 예선에 참가했습니다! 이번에는 다양한 분야의 분들과 나갈 수 있어서 너무 기뻤어요.. 엉엉풀이는 늘 그렇듯 web만 있습니다.,... hard 문제는 대회 중에 다른 팀원이 풀어주었지만, 대회가 끝나고 개인적으로 풀이해서 WEB all write-up을 작성해봅니다!  1. [EASY] Free Flagfile 파라미터를 통해 file_get_content에 값을 넣을 수 있음파일의 앞 5글자는 flag는 /flag.txt 파일에 존재 index.php 파일같이 소스코드는 잘 가져와지는데 flag.txt같은 일반 파일은 catched됩니다.여기서는 php filter chain을 이용하면 됩니다.php filter chain은 본래 php web shell code를..
썸네일 [CCE 2024 Qual] ccend write-up 주말에 지인분들과 CCE를 나갔습니다작년에는 한문제도 못풀었...는데 ㅎㅎ 팀원들이 다 웹이 주분야여서 이번 목표는 웹 다 풀어보자!!! 였습니다다만 대회 시간이 많이 짧아서 큰 기대는 못했..는데 7등은 했어요;;; 억덕게?? 저는 운좋게 한 문제 풀어서 write up을 써봅니다 1. 문제 구성UI는 별로 없고 index.php에서 action 파라미터를 통해 동작 수행, arg 파라미터로 인자를 받습니다action 파라미터 값에 따른 동작read : arg를 인자로 file_get_contents() 사용, 파일을 불러옴, scheme 사용 불가write : arg를 인자로 file_get_contents 후 file_put_contents 를 사용하여 data 디렉터리 하위에 랜덤명 파일 생성in..
썸네일 [TFC CTF 2024] write-up 전날에 CCE 예선전 참가하고 다음날 잠깐 했는데.. 집중력 떨어져서 많이는 못풀고 두개 풀었습니당.. 해외 CTF는 확실히 블랙박스가 많아서 뭐부터 해야하는지 우왕좌왕 하게 되는거같아욥 내년에는 더 많이 풀기를.. 1. [WEB] GREETINSwelcome 문제. username 입력하면 출력하는 게 다여서, SSTI말고는 없을 거 같았음Express라서 node 관련으로 했고 아래와 같이 품 2. [WEB] SAFE_CONTENT content를 가져온다네요 src는 아래와 같음parse_url로 host를 검사하니까 우회는 쉬울 듯 내용을 기반으로 command를 실행하는 것으로 보아 command injection가능 webhook response는 flag 위치부터 찾기 위해 아래처럼 함1; ..
썸네일 부고장, 경찰청 피싱 악성 앱 분석 (3) - 기능 분석 악성 앱 분석의 하이라이트입니다. 과정보다는 해당 코드의 내용을 보면서 어떤 역할을 하는지 간단하게 봅시다. 최대한 실행 후 진행되는 순서대로 작성했습니다만 순차대로 일어나지 않을 수도 있습니다. 기본적으로 정적 분석을 진행하였으므로, 실제 동작과 다른 부분이 있을 수 있습니다. 제 미숙함으로 여겨주시고 알려주시면 감사하겠습니다 악용될 가능성이 있기 때문에 너무 자세한 분석은 공개하지 않겠습니다.(어떻게 공격자 서버로 전달되는 지, 접근하는 지 등) 아래 모든 행위는 권한을 허용했을 때 발생합니다. 실행을 하더라도 권한을 허용하지 않으면 대부분의 동작은 수행되지 않습니다. 0. 기본 설정 첫번째로 공격자 웹 서버 관련입니다. 공격자 서버가 설정되어 있습니다. 아래에는 핸드폰에 저장된 NPKI 인증서 파일..
썸네일 부고장, 경찰청 피싱 악성 앱 분석 (2) - 문자열 복호화 이 앱의 로직을 보면 아래와 같이 암호화가 되어 있습니다. 다행히 복호 로직은 어렵지 않습니다만, 가독성을 너무 해치고 분석 시간도 오래걸립니다. 메소드 명도 참 기괴하죠? 생각보다 어려운 로직은 아닙니다. base64랑 xor 두가지만 수행합니다. 다만 왜인지 Jeb에서 자동으로 복호화를 안해주더라구요. 보기가 참 난감한데.. 복호화를 수행해봅시다. 우선 이름이 unicode라서 여러가지로 귀찮아질 거 같아서 이름부터 바꿔주었습니다. dex파일 format을 살펴가며 이름을 바꿔주면 아래와 같이 이름이 바뀝니다. 1. dex2jar String decodedex2jar는 Android 입문할 때 많이 듣던 툴인데, 여기에 유용한 기능이 있다고 해서 사용했습니다. 다만 시행착오가 많이 걸렸는데.. 우선 ..
썸네일 부고장, 경찰청 피싱 악성 앱 분석 (1) - AndroidManifest.xml 난독 해제 AndroidManifest가 잘 보여야 분석이 수월하기 때문에 난독을 해제해봅시다. 요즘은 xml binary 파싱을 어렵게 해서 Manifest파일도 Decompile이 어렵게 하는 등 난독을 수행한다고 하더라구요. 이런것도 잘 파싱해주는 좋은 툴이 있지만 바이너리를 뒤져보면서 고쳐보는것도 한번쯤 해볼만 한 것 같아요 처음 발생하는 에러입니다.String Chunk 부분의 문제같으니 바이너리를 살펴봅시다.빨간 박스는 String Count이고, 주황 박스는 String Pool Offset입니다. String Count 후에 String Pool이 시작되는데, String Pool이 0x198 에서 시작하기 위해서는 String Count가 5D여야 합니다. 따라서 빨간 박스 부분은 5D000000으..