해킹 동아리 I.Sly()/방학 스터디 활동 36

[bandit] level 12 -> level 13

해설) 다음 레벨의 패스워드는 data.txt에 저장되어 있고, 그것은 반복적인 압축이 된 파일을 헥사코드로 바꾸어 놓은 것이다. 이 레벨을 위해, 너가 mkdir 명령어를 사용하여 작업할 /tmp 아래에 디렉토리를 만드는 것이 유용할 것이다. 예: mkdir /tmp/myname123 그리고 데이터파일을 cp 명령어를 사용해 복사하고, mv 명령어를 사용해 이름을 다시 지어준다. (manpage를 읽으렴!) ?뭔... 뭐라는지 하나도 모르겠다. ㅎㅎ 그래서 구글링을 해 보았고, 따라가는 것에 의의를 두었다^^. (라고 애써 합리화) 대충 디렉토리를 하나 생성하고.. cp 와 mv 명령어를 사용하라는 것 같다. 단계를 짜보자 1. mkdir /tmp/gomin 를 이용해 tmp 디렉토리 밑에 gomin ..

[bandit] level 11 -> level 12

해설) 다음 레벨의 패스워드는 data.txt 안에 저장되어있으며, 그 파일은 소문자와 대문자가 13씩 이동되어있다. 예전에 배웠던 암호화와 비슷한 개념인 것 같다. 왜인지 시작부분이 The password is 인 것 같은... 느낌^^,,,, 문자를 암호화하고 복호화하는 코딩을 짜 본 적은 있지만 리눅스에서는 처음 써본다. 아는 개념 나와서 설레는 거 맞음. 여기서 주목할 점은 조건에서 문자들이 13개씩 이동되어있다는 점이다. 영문자는 총 26개로, 13개가 두번 돌아가면 원위치되는 특성이 있다. 이렇게 키 값을 +13 해주는 암호는 ROT13이라고, 특별히 이름까지 지어주었다. tr 명령어는 지정한 문자열을 바꾸어주는 역할을 한다. 기본 사용법은 이러하다. $ tr [대상 문자] [바꿀 문자] 여기..

[bandit] level 10 -> level 11

해설) 다음 레벨의 패스워드는 data.txt 파일에 저장되어있고, 이 파일은 base64 형태로 인코딩 되어있다. Base64 란? 직역하면 64진법. Binary data를 문자로 바꾸어주는 인코딩 방식 중 하나이다. 인코딩하는 방법: base64 명령어 사용 ex) $base64 data.txt 디코딩하는 방법: -d 옵션 사용 ex) base64 -d data.txt 새로운 명령어다. 개념을 알고는 있었지만 보안 쪽에서는 처음 써보는... base64 -d 명령어를 써주면 바로 답이 나온다.

[bandit] level 9 -> level 10

해설) 다음 레벨의 패스워드는 data.txt라는 파일 안에 저장되어 있고, 이 파일은 사람이 읽을 수 있는 스트링 형태이며, 앞에 몇 개의 '=' 문자가 들어가 있다. 쯧... strings 명령어를 쓰면, 방금보단 상황이 나아진 것을 볼 수 있다. 이는 읽을 수 있는 문자들만 출력한 것이라고 할 수 있다. 조건을 추가해준다. grep 옵션을 덧붙여주는데, 조건에 따르면 '=' 문자가 있다고 하니 시도해보자. 형태는 이러합니다. $ strings [파일명] | grep [옵션] 출력값들이 더 좁혀지는 것을 확인할 수 있다. 조건에 따르면 '='문자가 여러개 있다고 하니, 일단 = 두개로 옵션을 추가한다. 헉. 보이시나요?! password is 어쩌구저쩌구... 이게 답이겠네요. 성공!

[KISA 연구보고서] "임베디드 리눅스 기반 IoT 기기 악성코드 분석 기술 연구"

**본 내용은 I.Sly() 방학스터디 활동내용과 같습니다** (21.02.09) 제 1장 연구개요 제 1절 연구 배경 및 동향 최근 IoT 시대에 맞추어 다양한 디지털 기기들의 보급화, 대중화가 이루어지고 있다. 다양한 종류의 IoT기기들은 다양한 사이버 범죄에 악용되고 있고, 공격 수법 또한 갈수록 지능적이고 복합적으로 변하고 있다. 기존의 IoT Malware 탐지에 대한 다양한 연구는 대부분 웹 로그 분석/ 비전문적인 독립 연구원들의 인사이트에 의한 것으로 비과학적이다. IoT Malware는 범위가 넓을 경우 다른 유형의 Malware도 포함되고, 좁을 경우 단 하나 또는 몇 가지의 IoT의 IoT Malware 변종을 설명할 수 밖에 없다. 제 2절 과제의 필요성 IoT 기기가 발전함에 따라 ..

[bandit] level 8 -> level 9

해설) 다음 레벨의 패스워드는 data.txt라는 파일 안에 있고, 오직 한 번 발생하는 유일한 텍스트이다. (?뭐라는) cat data.txt를 하면 아니나 다를까 많은 양의 문자열이 나열된다. 이번 단계에서 사용할 주요 명령어는 sort이다. 정렬! sort 명령어는, 옵션에 따라 내용을 정렬하는 역할을 한다. 기본 사용법은 다음과 같다. $ cat 파일이름 | sort 가운데에 있는 파이프( | )는 왼쪽의 출력을 오른쪽의 입력으로 보내주는 연결 통로 역할을 한다. uniq -c 옵션을 사용하면, 중복을 제거하고, 카운팅이 가능하다. $cat 파일이름 | sort | uniq -c 중복을 제거했는데도 이 모양이다. 문제의 조건에서는 '오직 한 번 발생'되었다고 하니, 1이 써져있는 문자열을 찾으면 ..

[bandit] level 7 -> level 8

해설) 다음 레벨의 패스워드는 data.txt 파일 안에 millionth라는 단어 옆에 저장되어있다. 문제가 낯설다. 그리고, 사용하는 명령어 또한 새로워졌습니다. ls을 입력하니 data.txt가 있는 것을 확인할 수 있습니다. 읽기 위해 cat data.txt를 써보니.. 굉장히 많은 양의 내용이 보이는데.. 명령어 쓰라고 일부러 많은 양 넣은 건 알겠는데 그래도 짜증은 나네요. 너무 길어서 캡쳐 불가능한 grep 명령어를 써보라는 거겠죠? grep은, 파일 내에 원하는 내용을 찾을 때 쓰이는 명령어입니다. 사용법은 이렇습니다. $ grep [옵션] [찾을 문자열] [파일명] 성공! 다음 단계로 가봅시다. 하나 남았다 (오늘치)

[bandit] level 6 -> level 7

해설) 다음 레벨의 패스워드는 서버의 어디엔가 존재하고 다음의 특성을 가진다: 유저 bandit7이 소유하고 있고 그룹 bandit6이 소유하고 있고 사이즈가 33바이트이다 find 명령어를 이용 이 밑으로도 뭐가 좌르륵 뜨는데 그 중에서 답을 찾은 것 같다. 이제 출력해준다. 성공! Tip! 명령어 뒤에 2>/dev/null 을 붙여주면 조건에 맞는 파일들만 출력해준다고 한다. 0은 표준 입력, 1은 표준 출력, 2는 표준 에러를 뜻한다. dev/null 이란 null인 파일을 뜻한다. 즉, 2>/dev/null 은, 표준에러(2)가 뜬 파일들을 리다이렉션(>)을 이용해 null파일에 넣어준다는 뜻이다. 따라서 화면 상에 출력되지 않는다.

[bandit] level 5 -> level 6

해설) 다음 레벨을 위한 패스워드는 inhere 디렉토리의 어딘가에 있고, 다음의 특성을 가진다: 사람이 읽을 수 있는 1033 바이트의 사이즈 실행할 수 없는 파일 뭐라노.. 일단 inhere로 이동해보자. maybehere? 장난하나! 장난둘 19개씩이나 있고 이걸 저번 단계처럼 하나하나 찾아보는 건 무리이다. 그러므로 find 명령어를 써보자. 조건으로 size까지 나와있으니, size옵션을 써봐야 인지상정 find [경로] -size [파일크기 / -파일크기 / +파일크기] [b/ c/ k/ w] + : 이상 ex) +1033c 이면 1033byte 이상인 파일을 찾아라. - : 이하 ex) -1033c 이면 1033byte 이하인 파일을 찾아라. b : 블록단위(512KB) c : byte k ..

[bandit] level 4 -> level 5

해설) 다음 레벨로 넘어가는 패스워드는 inhere 디렉토리에 사람이 읽을만한 파일 안에 저장되어있다. Tip: 만약 너의 터미널이 너무 더럽다면, "reset" 명령어를 써보아라. Tip문을 보고 혹해서 reset을 써버렸다가 전단계 패스워드도 같이 사라진 ...똘추같은 짓을 해버렸지 뭐야. level0부터 다시 시작했어 그래서.. 개짜증났어 똘추빡추야 inhere라는 디렉토리 안에 '사람이 읽을 수 있는 파일'? 그렇다면 우선 inhere디렉토리로 이동해보자. 그리고 ls로 이 디렉토리 안의 파일들을 둘러보았다. 총 9개의 파일이 있는 것을 확인할 수 있다. file00에 뭐가 있는지 시도해보았다. ㅋ...사람이 읽을 수 없구나.ㅋㅋㅋㅋ 그래서 하나하나 다 쳐보았다. 그 결과 file07에 패스워드가..