분류 전체보기

Pwnable/Stack

main으로 돌리기

익스를 하다보면 한 번의 기회로 바로 익스플로잇을 못할 수 있다. 그럴 경우 실행흐름을 처음으로 보내서 다시 main을 실행하여 다시금 익스플로잇을 할 기회를 얻을 수 있다. 방법으로는 2가지 방법이 있다.- pie base를 leak 하였을 경우- main의 ret을 덮을 수 있을 경우 일단 두 경우 모두 rsp는 stack에 존재해야 한다. 즉 stack pivot으로 rsp를 망가뜨리면 main으로 돌리기는 불가능하다. (스택 프레임이 bss에 생기는데 bss영역은 너무 작음) // gcc -no-pie -fno-stack-protector -o test test.c#include int main(){ char buf[0x50]; printf("stack : %p\n", b..

후기

2025 Autohack ctf 후기

이번 11월 25일 ~ 28일동안에 Autohack ctf를 다녀왔습니다. 해당 대회는 국민대 주관의 대회로 실제 차량을 기반으로 대회가 이루어졌으며 부산 Bexco에서 진행되었습니다. 첫날에는 간단한 대회 설명과 강연후에 숙소에서 쉬었고 둘째날부터 본격적으로 대회가 시작되었습니다. 아무래도 2박 3일간 대회를 진행하다 보니 정말 많이 지치고 힘들었습니다. 생각보다 문제는 꽤 많이 어려웠고 처음보는 툴을 쓰다보니 정말 쉽지 않았습니다.문제 퀄리티는 굉장히 높았습니다. 국내에 거의 유일하게 실제 차량을 대상으로 실시한 해킹 대회이기 때문에 학생 신분으로 하기 힘든 정말 값지고 많은 경험을 할 수 있었고 정말 정말 재미있었습니다. 이런 식으로 실제 차량을 기반으로 공격을 진행하였습니다. 결과적으로 좋..

Embedded

[D-link] AX1500 Analyze

이번 6월에 d-link사의 무선라우터 AX1500에 대한 취약점분석 프로젝트를 진해하였다. 해당 타겟의 분석과정에 대해 설명하고자 한다. 펌웨어 추출해당 타겟의 펌웨어는 공식 사이트에 올라와있지만 암호화가 되어있다. 아마 장비 펌웨어 업데이트시에 내부에서 복호화 후에 펌웨어 업데이트가 진행되는 방식인것 같다. 그렇기 때문에 다른 방법을 사용해서 펌웨어를 획득해야 한다.UART우선 뚜껑을 따면 다음과 같다.판을 제거해주면 다음과 같다. UART로 의심되는 홀을 바로 발견할 수 있다.친절하게 어떤 TP가 뭔지 다 적혀있어서 바로 식별할 수 있다. GND-RX GND-TX GND-VCC 전압 체크 결과 모두 살아있는 TP임을 알 수 있다. uart 연결 후 공유기를 키면 디버그 문자열들이 출력된다.해당 로..

후기

2025 MSG ctf 후기

이번 11월 9일에 MSG ctf 를 다녀왔습니다. 해당 대회는 상명대, 명지대, 건국대, 순천향대, 중앙대 보안 동아리가 함께 만든 오프라인 CTF로 HSPACE에서 후원을 받아 개최되었습니다. 2인 1팀으로 20세 이상 전국 대학생이 참여 대상이였습니다. 일반적인 오프라인 ctf와는 다르게 각 동아리 마다 부스 체험, 이벤트 같은 것들이 준비되어 있어서 꼭 ctf를 풀지 않고 부스를 즐길 수도 있었습니다. 기존 오프라인과 색다른 느낌이었지만 수상을 목적으로 ctf를 참여해서 다른 부스들은 체험하지 못한게 살짝 아쉽습니다. 문제 난이도는 전체적으로 살짝 쉬운 느낌이었습니다. 대회 컨셉도 재미있고 문제도 괜찮았고 재미있었던 것 같습니다.운이 좋게도 1등을 하게되어 상금 500,000원을 받았습니다. 같..

Embedded/Hardware

[tp-link] Tapo C200 Hardware Analyze

이번 학기 프로젝트로 tp-link 사의 Tapo C200 이라는 제품에 대하여 취약점 분석을 진행하는 중이다. 현재까지는 펌웨어 추출까지 완료하였고 그 과정에 대해서 설명하고자 한다. 타겟은 위와 같은 ip cam 이다. 우선 분해를 해보자. 카메라 부분과 흰색 커버 결합 부분 사이에 일자 드라이버를 넣어 비틀면 쉽게 분해할 수 있다.실리콘을 제거 후 선을 모두 뽑아서 pcb 판을 꺼내준다. TOPTOP에서 Ingenic Semiconductor 사의 SoC 칩을 확인할 수 있다.비디오 카메라 시스템이 탐재되어있다.근처에 UART로 의심되는 TP를 발견하였다. BOTTOMXMC flash memory를 확인할 수 있다. data sheet는 구글링을 통해 얻을수 있다. Flash memory dumpu..

Pwnable/Stack

*ABS* overwrite

*ABS* section이란?Absolute Section의 약자, 절대 영역, libc got 라고도 부른다.컴파일 후 링크 과정에서 하나의 오브젝트 파일이 다른 오브젝트 파일의 전역 변수 또는 함수를 사용하는 경우 접근을 용이하게 하기 위해 사용하는 영역이다.(libc의 plt, got 느낌)plt,got 와 *ABS* 차이점은 다음과 같다.- plt, got 는 함수만 취급함, 최초 참조 시 맵핑 과정이 있음- *ABS*는 전역 변수와 함수 둘 다 취급함, 최초 실행시 바로 함수 호출함 *ABS* overwrite*ABS* 섹션의 함수 주소를 overwrite하는 기법이다. (got overwrite 느낌) libc aaw가 가능할때 사용 가능하다. puts 함수를 까보면 다음과 같다. ABS영역의..

후기

2025 충청권 사이버보안 경진대회 후기

이번 8월 28일에 충청권 사이버보안 경진대회 본선을 다녀왔습니다. 이전과는 다르게 이번 대회에서는 예선이 치뤄졌으며 상위 20팀이 본선에 진출하였습니다. 작년에는 학교당 선착순으로 몇 팀만 제한하여 받았는데 아무래도 말이 많았던 모양이였나 봅니다. 도착하고 옷을 갈아입고 점심식사 후에 바로 대회 준비를 하였습니다. 작년에는 핑크색 옷이여서 어디 입고다니기 조금 애매했는데 이번 옷은 꽤 괜찮았습니다. 이번 대회의 컨셉은 바이오헬스로 대부분의 문제들은 병원에 관련된 문제들이였습니다. 그리고 문제 방식은 시나리오 기반으로 1번 문제를 풀어야 2번 문제가 오픈되는 그런식이였습니다. 특정 시간마다 자동으로 오픈되기는 하지만 빨리 풀면 이후 문제를 빨리 오픈 할 수 있는 방식입니다.해당 대회는 AI 사용을 금..

후기

2025년 제 23회 순천향대학교 YISF 운영진 후기

8월 8일 ~ 10일 동안 위습 예선이 치뤄졌고 8월 17일에 위습 본선이 치뤄졌습니다. 예선은 총 36시간동안 진행되었고 36시간 동안 서버 컴퓨터실에 갇혔습니다... 저는 pwnable 분야에 command note를 제작하였습니다. 분명 작년 후기에서 내년에 입대를 한다고 말했지만 어쩌다보니 1년을 더 하게 됐습니다. 이번이 진짜 마지막이고 내년 초에 바로 입대할것입니다. 이번에는 여러모로 바빠서 한 문제밖에 못 만들었고 그 마저도 좀 쉬운 것 같습니다. 다음에 기회가 있을지는 모르겠지만 그때는 더 야무지게 내보겠습니다.ㅜㅜ 해당 문제는 dreamhack에 올렸으며 또 노트 문제입니다. 그래도 이번에는 좀 색다르게 내봤습니다.https://dreamhack.io/wargame/challenges..

K0n9
'분류 전체보기' 카테고리의 글 목록