화이트리스트 분석기법 & 블랙리스트 분석기법


화이트리스트 분석기법 (Positive 규칙)

 - 미리 정해진 기준을 통과하는 패킷만 허용

ex) 외부에서 내부로 들어오는 패킷들을 전부 차단!, 관리자가 선택한 패킷들만 들어올 수 있게 허용

 

블랙리스트 분석기법 (Negative 규칙)

 - 특정 조건에 해당되는 패킷만 거부

ex) 외부에서 내부로 들어오는 패킷들을 전부 허용!, 관리자가 선택한 패킷들만 들어오지 못하게 차단

 

 

 

 

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

'공부 > Security' 카테고리의 다른 글

[인코딩 & 디코딩] 개념  (8) 2020.03.09

[SuNiNaTaS(써니나타스)] 26번 문제 풀이


오늘은 오랜만에 써니나타스 문제를 풀어보았다.

26번 문제는 아래와 같다

26번 문제

 

제목 비슷한 곳을 보니 "Frequency analysis(빈도분석)"라고 적혀있다.

 

암호학에서 빈도분석이란?

 평문과 암호문에 사용되는 문자 또는 문자열의 출현빈도를 단서로 이용하는 암호해독법을 말한다.

(출처: 위키백과)

 

정확하게 이해한지 모르겠지만, 문자의 출현빈도에 따라서 단어 또는 언어가 바뀌는 것 같았다. 

 

그래서 나는 빈도분석을 자동으로 해주는 사이트를 이용해서 문제를 풀어냈다.

https://quipqiup.com/

 

quipqiup - cryptoquip and cryptogram solver

 

quipqiup.com

 

 

해당 사이트에 들어가서 문제에 있던 글을 옮겨 넣었다.

(문제 사이트)

 

 

"Solve"을 눌러주면 아래와 같이 변환되는 것을 알 수 있다.

(해석된 결과)

 

 

정답(kimyuna)을 집어 넣으니 아래와 같이 문제가 풀렸다!

(정답!)

 

 

 

 

 

 

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

 

Classes.dex 파일을 디컴파일(decompile)하는 방법


이번엔 classes.dex파일을 디컴파일 하는 방법에 대해서 공부하려고 한다.

 

일단 classes.dex 파일에 대해서 간략하게라도 알아야한다.

 

 

classes.dex 란?

Android 가상 머신인 Dalvik이 인식할 수 있도록 Java로 짜여진 코드가 컴파일되어 바이트 코드로 변환 된 소스 파일

 

 

필요한 도구


1. dex2jar

2. jd-gui

 

1. dex2jar은 dex 파일을 jar 파일로 변환시켜주는 도구입니다.

2. jd-gui는 jar 파일을 Java 코드로 볼 수 있게 도와주는 도구입니다.

 

 

디컴파일 방법


dex2jar

 

 

1. dex2jar 설치

아래의 링크를 통해서 다운받는다.

https://sourceforge.net/p/dex2jar

 

2. 디컴파일할 파일을 다운로드한 'dex2jar'에 옮긴다.

 

3. 'dex2jar'폴더의 경로를 복사한다.

아래의 화면처럼 복사하면 쉽다.

 

4. 'cmd'창에서 cd 입력후 한칸 띄운 다음 복사한 경로를 붙여넣는다.

ex) cd C:\Users\joon\Downloads\dex2jar-2.0

 

5. 'd2j-dex2jar classes.dex' 입력 하면 jar 파일로 변환이 된다.

ex) d2j-dex2jar calsses.dex

 

이때 d2j-dex2jar이 안된다면 dex2jar로 하면 될 수 있다. 이건 각 pc마다 다르게 적용되는 것 같다.

 

 

JD-GUI

 

 

1. JD-GUI 설치

아래의 사이트를 이용해서 다운받으면 된다. 

http://java-decompiler.github.io/

 

2. 사이트에 들어가면 아래와 같은 화면을 볼 수 있는데, 개인 PC 환경에 맞게 설치하면 된다.

(나는 window 유저라서 맨 밑에 있는 것을 다운 받았다.)

 

3. 설치가 끝났으면 exe 파일을 실행시켜준다.

 

4. 실행한 모습이다.

 

5. 아까 변환한 jar 파일을 JD-GUI에 넣는다!

 

 

 

 

 

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[SuNiNaTaS(써니나타스)] 17번 문제 풀이


오늘은 17번 문제를 풀었다. 해당 문제는 많은 노력이 필요했다....

아래의 화면이 17번 문제이다. 'QR코드가 망가졌으니 고쳐라' 라고 문제가 주어졌다. 아마도 빨간색으로 칠해진 부분을 수정하는 문제인 듯하다.

(17번 문제)

 

 

포토샵을 한 번도 사용해본 적이 없어서 그림판을 이용해서 최대한 QR코드를 복구해보았다.

(멋있게 포토샵을 이용해서 하고 싶으나.... 프로그램도 없고, 사용해본 적도 없어서 그림판을 이용했다...)

(그림판을 이용한 QR코드 복구)

 

 

최대한 복구한 QR코드는 처음에는 인식을 하지 못했다. 그래서 주변 색상(흰색)과 QR선을 비슷하게 만들어 놓고 QR코드를 인식되게 만들었다.

 

휴대폰으로 QR코드를 인식했더니 아래와 같이 키값을 얻을 수 있었다.

"Good Job! Congraturation! AuthKey is YouAreQRCodeMaster~!"

 

 

키값을 그대로 들고 가 정답에 넣으니 아래와 같이 축하한다는 팝업창과 함께 문제가 풀리는 것을 알 수 있다.

(정답!)

 

 

점수도 조금씩 향상되는 것을 알 수 있다!

(점수 향상!)

 

 

 

 

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[SuNiNaTaS(써니나타스)] 19번 문제 풀이


오늘은 19번 문제를 풀어봤다. 문제를 풀 때 한참을 고민해서 풀었던 문제였지만, 정답을 알고 보니 쉽게 해결할 수 있는 문제였다.

 

아래의 화면은 19번 문제이다.

19번 문제를 보면 이진수로 이루어져있는 것을 볼 수 있다. 그러면 이진수를 텍스트로 바꿔야 하는 것을 알 수 있다. 

(19번 문제)

 

 

그래서 나는 binary를 string으로 바꿔주는 사이트를 이용하기로 했다.

http://www.unit-conversion.info/texttools/convert-text-to-binary/

 

Convert text to binary - Converters

About Convert text to binary tool Convert text into binary. Computers store all characters as numbers stored as binary data. Binary code uses the digits of 0 and 1 (binary numbers) to represent computer instructions or text. Each instruction or symbol gets

www.unit-conversion.info

 

 

아래 사이트는 19번 문제에 있는 binary를 그대로 복사해서 붙여 넣기 한 모습이다. 그리고 변환한 모습을 보인 것이다.

(string으로 변환한 모습)

 

 

이진수를 텍스트로 변환하니 아래와 같은 문자로 바뀌었다. 해당 문자를 보고 쉽게 문제에 접근할 수가 없었다. 왜냐하면 무슨 문자인지 모르게 나타냈기 때문이다.

" NVCTFDV KF JLEZERKRJ REU KFURP ZJ R XFFU URP REU RLKYBVP ZJ GCRZUTKWZJMVIPYRIU "

 

 

나는 이상하게 나열되어있는 문자열을 보고 일정한 법칙에 의해 치환되었다는 것을 감지했다. 

(사실 이 사실을 알기까지 꽤 오랜 시간이 있었다.)

그래서 '치환 암호'라는 개념을 적용해서 문제를 풀기로 했다.

 

 

치환 암호란?
일정한 법칙에 따라 평문의 문자 단위를 다른 문자 단위로 치환하는 암호화 방식.

(출처: 위키백과)

 

 

아래의 사진은 치환 암호가 어떻게 이루어지는 간략하게 보여주는 사진이다.

평문 A -> D, B -> E, C -> F 으로 변환해서 서로 약속을 한 사람만 평문을 읽을 수 있게 치환하는 것이다.

(출처: https://starlibrary.org/ecollection/infogudIemList.do?id=GUD00000000000001082 )

 

 

그래서 자동으로 치환 암호를 평문으로 바꿔주는 사이트를 이용하기로 했다.

http://theblob.org/rot.cgi

 

ROT encoder/decoder

 

theblob.org

 

 

치환암호 사이트를 이용해서 아래의 화면처럼 처음에 문자열로 바꾼 값을 넣어준다.

 

 

값을 넣어주면 총 25가지의 평문이 나오게 되는데 그중에서 우리가 알아볼 수 있는 평문은 9번째에 있는 값이다. 

(평문 변환 값)

 

 

9번째 열을 보게 되면 키값을 발견할 수 있다.

" WELCOME TO SUNINATAS AND TODAY IS A GOOD DAY AND AUTHKEY IS PLAIDCTFISVERYHARD "

 

 

키 값을 그래도 들고 가서 정답에 넣어주면 아래와 같이 축하한다는 팝업창을 볼게 된다.

(축하한다는 팝업창)

 

 

물론 점수도 향상됐다!

(점수향상)

 

 

 

 

 

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[SuNiNaTaS(써니나타스)] 9번 문제 풀이


오늘은 9번 문제를 풀었다. 리버싱에 대한 개념을 잘 몰라서 문제를 풀기가 매번 꺼려진다. 그런데 이번 9번 문제는 잘 얻어걸린 문제였다. 

 

9번 문제를 들어가 보면 아래와 같은 창을 보게 된다. 'Download' 표시가 있고 밑에 비밀번호가 있으니, 파일을 다운로드한 후 비밀번호를 입력하면 될듯하다.

(9번 문제)

 

 

파일을 다운로드하고, 압축을 풀면 아래와 같은 파일을 얻을 수 있다.

 

 

항상 문제를 풀 때는 실행파일이 무엇인지에 대해 알아봐야 한다. 문제에서는 exe 파일이 사실 zip 파일일 수도 있기 때문이다.

그래서 나는 'Exeinfo PE' 툴을 이용해서 해당 실행파일이 무엇인가 확인해봤다. 확인해보면 해당 파일은 'OllyDbg'를 이용하면 된다고 한다.

(Exeinfo PE)

 

 

'OllyDbg'는 아래의 폴더에서 실행시켜주면 된다!

(없으신 분들은 설치를 권장합니다!)

(OllyDbg 파일 폴더)

 

 

사실 'OllyDbg'의 사용에 대해 익숙하지가 않다. 대략적으로 설명하면 4 분할되어있는 왼쪽 위부터 시계방향으로 '어셈블리 코드' , '레지스터', '스택', 'DUMP(덤프)' 이다. 

 

 

'OllyDbg'에 다운로드한 실행파일을 옮겨 놓고, 아래의 네모 박스 칠해져 있는 실행 표시를 눌렀다.

('OllyDbg' 메뉴바)

 

 

그다음, '어셈블리 코드' 부분에서 조금만 위로 올려보니 Text 부분에 Congratulation 이라는 문구가 있었다. 아마 이쪽 부분에서 확인을 해보면 정답을 얻을 수 있을 것 같았다. 

바로 위쪽에 ASCII "913465" 가 있어서 이 값을 실행시켜본 프로그램에다가 넣어보기로 했다.

(실행파일을 'OllyDbg'에 넣은 모습)

 

 

사실 실행 버튼을 누르면 아래와 같이 프로그램이 실행된다.

(실행된 모습)

 

 

913465를 넣어보니 Congratulation!이라는 문구를 출력하는 것을 볼 수 있다.

 

 

그래서 이 값이 키값으로 인지하고 바로 정답에 넣어봤더니, 아래와 같이 축하한다는 문구를 볼 수 있는 팝업창을 볼 수 있다.

(문제해결!)

 

 

점수도 차곡차곡 쌓여간다!

(점수향상!)

 

 

 

 

 

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[dotPeek] 설치 방법


오늘은 "dotPeek" 다운로드에 대해 설명을 드리려고 합니다. 

 

dotPeek 란?
.NET 어셈블리를 해당 C# 코드로 디컴파일하고 내부적으로 어떻게 프로그래밍 되어있는지 확인 할 수 있도록 도와주는 프로그램

 

여기서 디컴파일러(Decompiler)란 간단하게 설명을 드리면 컴파일러와 반대의 역할을 하는 컴퓨터 프로그래밍입니다. 

 

 

이제부터 설치 방법에 대해 알려드리겠습니다.

 

1. 첫번째로 'dotPeek' 홈페이지에 접속합니다.

공식 홈페이지

https://www.jetbrains.com/decompiler/

 

dotPeek: Free .NET Decompiler & Assembly Browser by JetBrains

dotPeek is a free tool based on ReSharper. It can reliably decompile any .NET assembly into C# or IL code.

www.jetbrains.com

 

 

2. 홈페이지 화면 내 'Download' 클릭

홈페이지에 접속하면 아래와 같은 화면을 볼 수 있을 겁니다. 해당 화면에 오른쪽에 'Download'를 클릭해줍니다.

(2020.03 기준)

 

 

3.  한번더 'Download' 클릭해줍니다.

 

그러면 아래의 화면처럼 다운로드 중이라고 화면 창에 뜰 것입니다.

 

 

4. 홈페이지에서 다운로드가 끝났다면, 실행파일을 실행시켜 설치를 진행합니다. 보이는 화면처럼 'Next'을 클릭해줍니다.

 

5. 또다시 'Next' 클릭

 

 

아래와 같은 화면이 뜨면 설치가 정상적으로 진행이 되는 것입니다.

 

 

6. 아래의 화면은 설치가 완료 된 화면입니다.

 

 

 

실행화면


 

 

 

 

 

*해당 블로그는 개인적인 공부와 정보공유를 위해 만들었습니다.

'공부 > Tools' 카테고리의 다른 글

[Wireshark(와이어샤크)] 설치방법  (4) 2020.03.22
[Burp Suite (버프스위트)] 설치 및 설정 방법  (12) 2020.03.07

[SuNiNaTaS(써니나타스)] 10번 문제 풀이


오늘은 10번 문제를 풀었다. 10번 문제를 들어가 보면 달랑 'Download'밖에 없었다. 그 외에는 아무것도 존재하지 않았다.

(10번 문제)

 

 

 

그래서 페이지 소스코드를 들어가봐서 확인해봤다. 힌트를 얻기 위해서!

소스코드를 확인해보면 아래의 화면처럼 'Reversing'이라고 적혀있었다. 이 부분이 힌트인 것 같았다.

(10번 페이지 소스코드)

 

 

리버싱 하라는 것임을 인지하고 파일을 다운로드하였다. 파일 이름도 'reversing.exe'이다.

(reversing.exe)

 

 

파일을 실행시켜보면 아래와 같은 화면처럼 입력창과 'OK', 'QUIT' 이렇게 밖에 없었다. 이게 뭘 하라는 건지 모르겠다. 

(실행화면)

 

 

그래서 일단 아무 값이나 넣어봤는데, 그러면 'Try again!' 이라는 팝업창이 뜨게 된다. 아마 정확한 값을 넣어야지 문제가 풀리는 것 같다.

(Try again!)

 

 

그래도 일단 파일이 정확하게 무엇인지 판단하기 위해 'Exenfo PE'로 확인해보았다. 확인해보니. NET Reflector를 이용해서 문제를 풀면 되는 것 같다.

(분석 결과 : .NET Reflector)

 

 

.NET Reflector의 정확한 기능을 모르겠지만 위키백과에서 확인해보니, 

.NET Framework로 작성된 소프트웨어 용 클래스 브라우저, 디컴파일러 및 정적 분석기

라고 한다. 여기서 내가 주목해야하는 것은 디컴파일러 기능을 사용해야 할 듯하다.

 

 

그래서 적당한 툴을 다운 받기로 했다. 아래의 링크를 보면 내가 다운로드한 툴 이외에도 많은 종류가 나와있다. 사용자들이 원하는 툴을 다운로드하면 될 듯하다.

http://freealt.selfhow.com/net-reflector/

 

무료 .NET 반사경(.NET Reflector) 대체 프로그램 10개 | 무료 대안 소프트웨어

.NET 반사경(.NET Reflector) 소개 설명 .NET Reflector는 .NET 용 클래스 브라우저 및 분석 도구입니다 개발자는 .NET 구성 요소를 탐색, 검색, 분해 및 분석 할 수 있습니다. 공식 홈페이지 플랫폼. Windows,.NET Framework, 지원사양 analyzer,decompiling,disassembler,net-framework, 무료 .NET 반사경(.NET Reflector) 대체 프로그램 10개 1. Explo

freealt.selfhow.com

 

 

나는 'dotPeek' 라는 툴을 다운로드하였다. 해당 툴을 다운로드하고 다운로드한 파일(reversing.exe)을 dotPeek에 옮겼다. 

옮기면 아래와 같이 'WindowsFormsApplication3'가 뜰 것이다.

(dotPeek 분석)

 

 

그래서 나는 하나하나 확인해보았는데, 그중 'Metadta' -> '#US' 에 들어가 봤다. 들어가 보니 키 값이 그대로 나와있었다.

(키 값)

 

 

키 값을 그대로 정답을 넣었더니 아래와 같이 축하한다는 팝업창과 함께 문제가 풀렸다.

(문제 해결!)

 

 

그리고 점수도 향상되는 것을 볼 수 있다!

(점수 향상!)

 

 

 

 

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

+ Recent posts