본문 바로가기

전체 글

(113)
[블루투스 보안] 이론 공부 ⭐️ 블루투스란? 무선 통신 프로토콜의 하나로, 2.4GHz 주파수 대역을 사용하여 전자기기 간의 근거리 무선 통신을 제공하는 기술이다. 주로 저전력으로 동작하며, 주요 기능으로는 데이터 전송, 음성 통화, 주변 기기 연결, IoT 장치 간 상호 작용 등이 있다. 전송 속도와 통신의 안전성을 보완하며 여러 버전이 개발되어 왔다. ⭐️ 블루투스의 주요 장점 • 케이블 대체 (ex. 마우스, 키보드 등의 주변기기를 무선으로 연결 가능) • 쉬운 파일 공유 • 무선 동기화 (ex. 스마트폰과 자동차의 연락처 동기화 등) • 인터넷 연결성 (ex. 스마트폰 핫스팟 기능) ⭐️ 블루투스 종류 블루투스는 전송 속도를 기준으로 BR, EDR, HS의 세 가지 종류로 나누어지며, 전력 소비량을 낮춘 LE도 있다. 종류..
[UWSPPointerOverflowCTF] Sunshine on Filth is Not Polluted(미해결) 먼저 문제에서 주어진 ip와 port번호를 이용해 live system에 접속해서 동작을 살펴보았다. 위와 같이 시스템에 접근하는 명령어를 입력한다. (1) Enter username (2) Confirm username (3) Done 의 세가지 선택지가 뜬다. (1)을 선택하여 username을 admin으로 입력해보았다. 그리고 (2)를 선택하여 Confirm username을 해보니 Current username이 admin이라고 떴다. 마지막으로 (3)을 선택해보니 admin으로 로그인한다고 뜨며 authentication code를 입력하라고 한다. 임의의 값 1234를 입력해보니 Access denied가 뜨며 프로그램이 종료된다. IDA를 이용하여 문제에서 주어진 파일 re3.bin을 열었..
[드림핵 워게임] rev-basic-3 먼저 동적 분석을 해본다. Windows PowerShell을 열어 다운로드한 chall3.exe 파일을 드래그앤드롭했다. 엔터를 눌러 실행한다. Input : 이라고 뜨며 입력을 대기한다. 임의로 apple을 입력했다. 엔터를 누르면 Wrong이라는 메시지가 뜨고 프로그램이 종료된다. 이제 정적분석을 해본다. IDA를 이용했다. 열 파일에 대한 정보가 나온다. 변경사항없이 OK를 클릭한다. 적용할 심볼파일이 없으므로 No를 클릭한다. Shift+F12 단축키를 눌러 문자열 목록을 본다. Correct 문자열을 찾을 수 있다. 해당 문자열의 상호참조를 찾아가보면 입력값과 올바른 input 값을 비교하는 명령문이 있는 함수를 찾을 수 있을 것이다. Correct 문자열을 더블클릭한다. Buffer 변수를 ..
[드림핵 워게임] patch 먼저 다운로드한 실행파일 patch.exe를 실행해보았다. 플래그로 보이는 이미지가 가려져있다. ida를 이용해 patch.exe를 연다. 처음 뜨는 화면은 열 파일에 대한 정보를 보여준다. 변경사항 없이 OK를 클릭한다. patch문제는 WinAPI를 이용해 만든 프로그램이기 때문에 WinMain 함수를 찾아야 한다. WinMain함수가 일반적으로 상호참조하는 함수를 찾아 WinMain 함수를 찾아 올라가는 방식으로 찾아본다. import 탭을 클릭한다. CreateWindowExW라는 함수를 찾는다. 이 함수는 보편적으로 윈도우를 생성할 때 사용하는 함수로, WinMain에서 호출한다. 더블클릭해서 함수가 임포트되는 곳으로 간다. CreateWindowExW를 클릭하고 단축키 x를 눌러 상호참조하는 ..
[드림핵 워게임] rev-basic-1 먼저 파일을 실행하여 동적 분석을 진행해본다. Windows PowerShell을 연다. 다운로드한 chall1.exe를 PowerShell 창에 끌어다놓고 Enter를 눌러 실행한다. 입력값을 대기하는 상태가 된다. 임의의 값 apple을 입력해보았는데 Wrong 메시지가 뜨고 프로그램이 종료된다. 이제 정적 분석을 진행해본다. IDA로 chall1.exe를 연다 파일에 대한 정보가 나온다. 확인 후 OK를 클릭한다. 심볼을 가져오겠냐는 확인창이다. 심볼 파일이 없으므로 No를 클릭한다. Shift+F12를 눌러 문자열을 찾아본다. Correct 부분을 더블클릭한다. 어셈블리 코드 내에서 Correct 가 있는 부분의 명령어를 찾았다. Buffer 변수를 참조하는 함수를 찾기 위해 Buffer를 클릭한..
[드림핵 워게임] rev-basic-0 먼저 동적분석을 진행해본다. Windows PowerShell을 연다 다운로드한 chall0.exe 파일을 PowerShell창으로 드래그앤드롭한다. Enter를 쳐서 명령어를 입력하면 Input : 이라는 문자가 뜨면서 입력 대기 상태가 된다. 임의의 값 1234를 입력해본다. Wrong이 뜨고 프로그램이 종료된다. 이제 IDA를 이용해 정적 분석을 해본다. IDA가 실행파일을 열기 전에 파일에 대한 정보를 보여준다. 대략 확인한 후 OK를 클릭한다. 심볼(.pdb) 파일을 찾아서 로드하겠느냐고 묻는다. 심볼 파일이 없으므로 No를 클릭한다. 우선 실행할 때 출력되었던 문자열을 찾아가본다. View > Open subviews > Strings 를 클릭하거나 Shift+F12 를 누른다. 출력된 문자열..
[CodeEngn] Basic RCE L16 우선 문제 파일을 다운로드하고, 7-Zip File Maneger로 압축을 푼다. 16.exe를 실행해본다. 이름을 입력하는 프롬프트가 뜬다. 문제를 따라 이름은 CodeEngn으로 입력한다. 다음에 뜨는 Password 입력란에는 임의의 숫자 1234를 입력했다. Wrong password! 라는 에러 메시지가 뜬다. 엔터를 누르면 프로그램이 종료된다. 파일을 디버거로 열어보기 전에 패킹 여부를 확인하기 위해 PEiD로 파일을 열어본다. EP Section에 UPX 등의 패킹방식이 아닌 그냥 .text 떠있고, 아래에도 .NET 같은 내용이 없는 것으로 보아 따로 언패킹이 필요하진 않는 것으로 판단할 수 있다. 디버거를 이용해 파일을 열어본다. 올리디버거로 16.exe 를 열었다. 가장 먼저 오류메시지..
[드림핵 Reverse Engineering] Stage 5 [Stage 5] Tools: IDA #IDA #디스어셈블러 #디버거 #디컴파일러 - IDA(The Interactive Disassembler) : Hex-Rays사에서 제작한 디스어셈블러. 디스어셈블 기능 외에도 여러 환경에서의 디버깅, 다양한 아키텍처 디컴파일 등의 여러 기능 제공. - IDA Freeware 설치 : https://hex-rays.com/ida-free/ - IDA 파일 열기 : File > Open > 파일 선택 또는 drag and drop - IDA 둘러보기 Function Window : IDA에서 분석한 함수 목록 나열. Ctrl+F 로 함수 찾기 가능 Graph Overview : 함수의 흐름을 파악할 수 있게 함수를 그래프화하여 보여줌 Output Window : I..