728x90

정보보안 공부 45

[써니나타스] game32

경찰청으로 부터 연쇄 테러 용의자로 부터 압수한 USB 이미지 분석을 의뢰 받았다. 최초 분석을 신입 직원에게 맡겼으나 Hex Editor로 여기 저기 둘러 보다 실수로 특정 부분이 손상되고 이미지가 인식되지 않는다. 당신은 포렌식 전문가의 자존심을 걸고 이미지를 살려 내고 다음 테러를 예방하는데 기여를 해야 한다. 다음 테러 계획이 들어있는 문서의 수정 일시는? (UTC+9) 다음 테러 장소는? 인증키 형식 : lowercase(MD5(YYYY-MM-DD_HH:MM:SS_장소) 예) lowercase(MD5(2016-03-28_13:00:00_Pink Lake) 이미지 분석 문제이다 파일을 다운받으면 ftk 이미저로는 열리지 않기에 먼저 Hxd로 분석해보면 FAT32 부트섹터 파일임을 알 수 있다. 한..

[써니나타스] game 28

암호를 풀어야 뭘 볼수 있지! 암호가 있기나 한건가! 이 문제를 낸 사람은 너무 쉬워서 사람들이 빨리 풀지 않을까 걱정하다가 시름시름 앓고 있다는 전설이 있다. → zip 파일이므로 파일의 시그니처값과 관련되어 있을 것 같다는 생각을 했다. zip 파일에 들어있는 3가지 파일 모두 암호가 걸려있었고 .. zip 파일의 확장자 헤더 구조를 살펴보면 다음과 같다. 암호를 풀기 위한 필드는 flag 이므로 flag 부분의 값을 바꾸어주면 되는데 0x6 0x7 (09 08) 부분을 리틀 앤디안으로 읽으면 00001000 00001001 이 된다. 여기에서 bit 00 은 암호화된 파일을 의미하므로 bit 01로 바꾸어주어야 하는데, 빨간 네모 박스를 모두 0808 로 바꾸면 된다!그럼 첫 번째 파일에서 flag..

[써니나타스] game 21

제공되는 파일을 열어보면.. jpg 이미지 치고는 너무 큰 사이즈 분명 안에 다른 파일이 숨겨져 있을 거라고 생각합니다.. 현재 이 파일에서는 중간에 H4.. 가 보이지 않으므로 저 부분만 보이는 이미지를 추출하면 쉽게 해결되는 문제이다. 이미지를 extract 할 때는 앵간한 파일은 cybercheif 로 추출할 수 있어 편리하다. (여기서 추출 안 되는 파일은,, 머리가 아파진다) Auth : H4CC3R_IN_TH3_MIDD33_4TT4CK

[써니나타스] game 14

새로운 워게임 사이트 발견 써니나타스 써니나타스 웹해킹, 포렌식, 리버싱, 암호학, 해킹 워게임 제공. www.suninatas.com → 써니나타스의 비밀번호 찾기 파일을 다운받고 열어보면 passwd와 shadow 파일이 있다. 과거에는 passwd에 사용자의 비밀번호를 저장했다고 하는데 현재는 shadow 파일에 해시로 암호화되어 저장돼있다. 따라서 ,, passwd 파일 보다는 shadow 파일에서 써니나타스의 비밀번호에 관련된 정보를 찾는 것이 더 나을 것 같다. shadow 필드의 설명은 다음과 같다. 6 -> SHA-512 $QlRlqGhj $BZoS9PuMMRHZZXz1Gde99W01u3kD9nP/zYtl8O2dsshdnwsJT/1lZXsLar8asQZpqTAioiey4rKVpsLm/bqr..

[Dreamhack] SingleByteXor

어느날, 살인사건이 일어났다. 살인 사건의 유일한 증거물은 쓰여있는 쪽지에는, 다음과 같이 적혀있었다. 크립이에게 주어진 단서는, 쪽지의 내용과 이것이 어떤 단일바이트와 XOR해서 만들어진 암호라는 단서 뿐. 54586b6458754f7b215c7c75424f21634f744275517d6d So, 주어진 문자를 XOR 로 복호화 하면 됨 (암호문으로 다시 XOR) 그러기 위해 다음과 같은 코드를 구성했다. #define _CRT_SECURE_NO_WARNINGS #include #include int main() { char hex[25] = { 0x54, 0x58, 0x6b, 0x64, 0x58, 0x75, 0x4f, 0x7b, 0x21, 0x5c, 0x7c, 0x75, 0x42,0x4f, 0x21,..

[DreamHack] error based sql injection

처음 보이는 화면 (현재는 내가 uid 부분에 guest 값을 입력했다.) 첨부된 파일을 살펴보니 uid 란에 값을 입력하면 화면에 표시되는 것 같다. CREATE DATABASE IF NOT EXISTS `users`; GRANT ALL PRIVILEGES ON users.* TO 'dbuser'@'localhost' IDENTIFIED BY 'dbpass'; USE `users`; CREATE TABLE user( idx int auto_increment primary key, uid varchar(128) not null, upw varchar(128) not null ); INSERT INTO user(uid, upw) values('admin', 'DH{**FLAG**}'); INSERT INT..

[운영체제] 세마포어 구현

child1과 child2가 거의 동시에 실행되기에 하나의 실행이 채 끝나기 전에 entered되고 exits 되는 일이 발생함 이를 방지하기 위해 child1, child2 중 어떤 것이 먼저 실행되면 다른 하나는 접근하지 못하도록 하는 세마포어를 구현해보자. 실행 환경 : WSL ubuntu #include #include #include #include #include #include sem_t m1, m2; void *child1(void *arg) { printf("child thread 1 entered!\n"); sem_post(&m1);// call semaphoreshere here sem_wait(&m2); printf("child thread 1 exits!\n"); return NU..

728x90