본문 바로가기

분류 전체보기

(550)
[3주차] 2024.03.29 - Pwnable War Game Write Up CTF Cite : https://play.picoctf.org 1. babygame01 WASD키로 움직이는 게임에서 FLAG를 획득하는 문제이다. 먼저, 게임에 접속해 [@]가 있는 곳까지 움직여보았다. "You win!"만 출력될 뿐, FLAG는 출력되지 않았다. 문제 힌트를 통해 시크릿 커맨드가 있는 것을 알 수 있었고, 이를 Ghidra를 이용하여 확인해보았다. 두번째 if문을 통해 [p]가 시크릿 커맨드인 것을 발견할 수 있었다. 게임을 다시 시작하고, [p]를 누르면 바로 [@]의 위치까지 이동해 "You win!"만 출력한다. 그 다음 IDA를 이용해 메모리와 코드를 분석해보았다. 변수 v6과 v7을 살펴보면 다음과 같다. v6 : var_A9C v7[2700] : var_A98 이를 통해..
[악성코드 정적 및 동적 분석] 애드웨어 동적 분석 process explorer 현재 동작 중인 모든 프로세스를 실시간으로 보여주고, 새로 실행되거나 종료되는 프로세스도 보여준다. 시스템에서 File의 변화(추가, 삭제)를 실시간으로 모니터링하는 도구이다. Registry의 변화 역시 실시간으로 모니터해주며, 시간별로 로그가 계속해서 기록된다. LOCKBIT 2.0 동적 분석 처음 실행시킨 LockBitRansomware.exe 파일의 프로세스를 확인할 수 있고, 실행 후에 금방 종료됩니다. 이후 DLLHost 파일로 LockBitRansomware.exe 파일을 다시 실행시킵니다. DLLHost.exe 파일은 Microsoft Windows 운영 체제에서 COM 객체의 호스트 프로세스로 사용되는 파일입니다. Dllhost.exe는 ..
[3주차] Injection 취약점 분석/실습 (1/2) INJECTION : 신뢰할 수 없는 데이터가 명령 또는 쿼리의 일부로 전송될 때 발생함 -> 공격자가 임의의 코드를 실행하거나 민감한 데이터에 접근 가능 1. Command Injection 취약한 애플리케이션을 통해 호스트 운영 체제에서 임의 명령을 실행하는 것이 목표인 공격. 애플리케이션이 안전하지 않은 사용자 제공 데이터(양식, 쿠키, HTTP 헤더 등)를 시스템 셸에 전달할 때 가능한 공격이다. 인젝션 공격 중 사용자의 입력을 통해 시스템 명령어를 실행시키는 공격 주요 정보 노출 시 루트 권한 탈취 위험 有 웹을 통해 시스템명령어(커맨드)를 실행하는 공격 대응 방법 사용자의 입력값이 원래의 의도에 맞는지 검사한다. → 입력받아야 할 값이 ip 주소이면 ip주소 입력이 맞는지 확인하는 과정을 추가..
[2주차] 블레이드러너 - 안드로이드 모의해킹 강의 : 안드로이드 모바일 앱 모의해킹과 시큐어코딩 2주차 활동 : 섹션2 (안드로이드 취약점 분석 - 하드코딩, 디컴파일), 섹션3 (안드로이드 취약점 분석 - 내부, 외부 저장소 내 중요 정보 확인), 섹션4 (안드로이드 취약점 분석 - 취약한 로깅 매커니즘, 평문전송), 섹션5 (드로저(Drozer) 프레임워크를 활용한 취약점 분석) 안드로이드 취약점 분석 - 하드코딩, 디컴파일 1. 하드코드된 중요 정보 확인 하드 코딩 : 소스코드 내에 중요한 정보들이 정적으로 저장되어 있을 때 외부로 노출될 수 있는 취약점이 있는지 점검하는 것 취약점 소개 하드코드란 프로그램 소스 코드 내에 데이터를 직접 입력해서 저장하는 경우를 뜻함 중요한 정보(관리자 계정, 암호화키 등)가 소스 코드 내에 노출된 경우 취약..
[2024.03.23] 2주차 활동 - 리눅스 기초 인프런 '생활코딩-리눅스' 강의를 듣고 함께 스터디했다. 섹션 2. IO Redirection섹션 3. 쉘과 쉘 스크립트섹션 4. 디렉토리 구조와 파일찾는 법섹션 5. 프로세스와 실행https://inf.run/9Yxy [지금 무료] 생활코딩 - Linux 강의 - 인프런본 수업에서는 리눅스의 사용법을 다룹니다. 특히 초심자들이 어려워하는 부분이 명령어를 이용해서 컴퓨터를 제어하는 법입니다. 여기서는 초심자가 명령어를 사용하는데 필요한 가장 보편적www.inflearn.com섹션 2. IO RedirectionoutputIO Redirection : 화면에 나온 출력 값을 다른 파일과 같은 곳으로 돌려 저장하는 것 > 리다이렉션 기호 : 예시로 ls -l > result.txt를 해주면, ls -l의 결..
[2024.03.23] 리버씽씽카 2주차 활동 2주차 스터디에서는 유튜브 강의를 통해 리버싱 기초 지식을 학습했다. 4-7강을 듣고 내용을 정리한 뒤, 실습에서 해결되지 않았던 부분들을 공유하며 해결하는 시간을 가졌다. https://youtu.be/mJCzHwBH2HQ?si=0CeZOsEWrNH4yXnx HTML 삽입 미리보기할 수 없는 소스 CPU 레지스터 CPU 내부에 있는 저장공간. CPU 내부에 있기때문에 데이터 연산속도가 매우 빠르지만, 용량이 매우 작다. 범용 레지스터(General Register) 레지스터의 한 종류로, 막 쓰는 레지스터이다. 32비트 아키텍처 레지스터에 포함됨. reg size(IA-32 32bit) = 4byte 범용 레지스터의 종류 산술 명령어에서 상수/변수 값이 저장되는 용도 - EAX : 결과값을 저장하거나 ..
[2주차] 스테가노 그래피 보호되어 있는 글입니다.
[2주차] 2024.03.14 - Reversing War Game Write Up CTF Cite https://play.picoctf.org #문제 1. [Ready Gladiator 0] 문제 설명을 보면 항상 패배하는 전사를 만들어야 문제가 풀리는 것으로 예상된다. launch instance를 클릭하면 nc포트가 활성화되고 imp.red라는 파일을 다운받을 수 있다. imp.red는 Redcode라는 프로그래밍 언어로 작성되었다. 포트에 접속해보면 다음과 같이 100번 동점이 나온다. 100판 모두 지게 만들기 위해서 imp.red 파일을 확인했다. ;redcode ;name Imp Ex ;assert 1 mov 0, 1 end 여기서 mov 0,1을 삭제해 패배하게 만들 수 있다. ;redcode ;name Imp Ex ;assert 1 end 이렇게 imp.red 파일을 수..