kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

IT 용어 사전

암호학 메모 정리

까마기 2020. 10. 28. 11:59
반응형

암호화

 

-인증을 거쳐야 한다.

Open / WEP(PreShared Key) / WPA-PSK / WPA2-PSK / WPA-Enterprise / WPA2-Enterprise

PSK(PreShared Key) 즉, WEP 같이 암호화하기 위해 패스워드가 필요한데 패스워드 기반해서 암호화 키라는게 만들어짐

WEP - RC4라는 암호화 방식을 사용.

WPA - TKIP "

WPA2 - AES "

WPA-PSK => WPA-개인

WPA-Enterprise = > WPA-기업

WPA2-PSK => WPA2-개인

WPA2-Enterprise = > WPA2-기업

기업용은 인증서버를 따로 두는데 Kerberos / RADIUS 와 같은 인증 서버를 따로 구성

TACACS => TACACS+ => RADIUS (윈도우 같은 경우)

리눅스 같은경우 LDAP 이라는 서버가 있는데 AD(Active Directory)을 사용할 수 없기 때문에? 통합인증을 받는다?

----Workgroup(작업그룹)-모든 윈도우 시스템이 처음 설치가 되면은 작업그룹인데 인증을 각자 컴퓨터에서 sam file을 통해서 인증.

----Domain

 이두가지의 차이점은 통합인증?

SSO(Single Sign On) ?

키를 추출 -> 암호화된 데이터를 복호화 시킬 수 있다.

 

<WEP 인증 취약점>

유선네트워크와 동등한 암호화 방식을 사용한. AP에 사용한 패스워드와 스테이션 ,자신이 사용한 패스워드가 같아야한다?

AP가 스테이션에게 키를 알려줘야 하는데. 평문을 사용하면 스니핑으로 알수있다?

동일한 패스워드로 부터 공유 키(Preshared Key)를 생성한 후 암호 및 인증에 활용됨

공유키의 KEY ID와 IV(Initial Vector, 초기 벡터, 이안에 키가 들어가 있다.)

값을 평문으로 상대방에게 알려줘야 함, 즉 암호화할수없다. ==> 2계층 헤더 앞에 Preamble, SOF와 같이 frame 시작을 알려주는 신호.

1) 짧은 길이의 IV 값 사용으로 IV 값의 재사용 가능성이 높음

2) 불완전한 RC4(ARC4, Archfour) 암호화 알고리즘 사용으로 인한 암호키 노출 가능성이 높음

3) 짧은 길이의 암호키 사용으로 인한 공격 가능성이 높음(만들어내기 쉽다)

4) 암호키 노출로 인한 무선 전송 데이터의 노출 위험성이 높음(IV안에 암호화키 노출)

중간에 스니핑을 한후 키를 추출.

PWR : 0에 가까울수록 빠르다?

 

 

<WPA/WPA2 인증 취약점>

PSK에만 해당 / Enterprise는 해당하지 않음

WPA/WPA2는 WEP와 다르게 고정된 키 값을 이용해 무선 전송데이터를 암호화 하지 않음

WPA/WPA2는 무선랜 AP에 접속하기 위해 4way-handshaking을 사용

4way-handshaking 과정의 패킷을 수집하여 PSK 키 값을 유추가 가능함

WPA에서 사용하는 TKIP, WPA2에서 사용하는 AES 암호화 알고리즘은 RC4에 비해 키 길이가 아주 길고 취약점이 없음

즉, 4way-handshaking 과정의 패킷을 수집하여 가능한 모든 패스워드를 대입하여 유추 가능! 반드시 4way-handshaking 과정의 패킷을 잡아야.패스워드 크랙을 깰 수 있다. 하지만 이 패킷을 수집을 하더라도 dictionary attack이든지 brute force attack 이든지 다 집어넣어봐야 크랙을 깰 수 있다.

 

 

<Password Crack>

Brute Force Attack

Dictionary Attack

 

* 암호(패스워드)

-윈도우 시스템의 로그인 패스워드 위치

=>C:\WINDOWS\system32 

 

LSA : 모든 계정의 로그인을 검증하며, 시스템 자원 및 파일 접근 권한 등을 검사하여 SRM이 생성한 감사 로그등을 

기록하는 역할

SAM : 사용자 및 그룹 계정 정보에 대한 데이터베이스 관리하며 사용자가 입력한 정보와 SAM 정보를 비교하여 인증함

SRM : SAM이 사용자의 계정과 패스워드가 일치하는지 확인하여, SRM에게 알려주면 SRM은 사용자에게 고유의 SID(Security Identifier)

를 부여함. SRM은 SID 기반하여 파일이나 디렉토리 접근 제어를 하며, 이에 대한 감사 메세지를 생성함.

 

S-1-5-21-xxxxxx-xxxxxx-xxxxx-500

S-1 : 해당 시스템이 윈도우 시스템

5-21 : 도메인컨트롤러나 단독시스템

xxxxx-xxxxxx-xxxxx : 시스템이 설치되면서 시스템의 특성에 의해 생성된 고유값

500 : administrator

501 : Guest

1000 : 사용자계정

 

 

* 윈도우 인증 방식

-자신의 사용자가 맞는지 확인 하는 매커니즘

LM(LAN Manager) - 98에서 사용하던 방식인데 취약하여 사용하지 않음.

NTLM v1

NTLM v2 : 인증에 대한 도전/응답 (Challenge/Response) 방식 사용

xp/2000에서 사용하는 방식임.

 

 

*패스워드 크랙

1) 패스워드 타입(Type) = Factor

=>강력한 보안을 위해서는 2 Factor 이상을 해야 함.

Type1 - What You Know

=>지식기반의 패스워드(자신이 기억하고 있는 지식들로 이루어진 패스워드)

=>단어가 아닌 문장형태로 패스워드 구성하면 좀 더 강력함

Type2 - What You Have

=>소유기반 패스워드로 스마트 카드나 패스포트 같은 인식

Type3 - What You Are

=> 존재기반 패스워드로 홍채, 망막, 지문 같은 사용자가 가지고 있는 일부분을 이용

Type4 - What You do

=> 행동기반 패스워드로 음성 등.

 

2) 패스워드 크래킹

-Dictionary Attack : 이미 사전파일(wordlist) 형태로 ID,PWD를 구성해 놓고

대입시켜서 패스워드 크래킹

=> 단점 : wordlist에 없으면 실패.

 

-Broute Force Attack : 무작위 대입 공격.

거의 모든 패스워드나 암호는 크래킹 가능.

=> 단점 : 시간이 많아 소모됨

 

-Rainbow Table Attack : 미리 패스워드별로 hash 값을 생성해 놓고 대입시켜서 

원래 패스워드를 찾는 개념

hash 값을 비교하여 원래 단어를 찾음.

 

 

3) 패스워드 크래킹 툴

- 무차별 대입 공격 : OphCrack

- 사전공격과 무차별 대입 : Cain & Abel, John the ripper, LC4/LC5 등

- 패스워드 클리어 : Hiren BootCD

* wscript.shell

-윈도우를 구동하는 쉘 프로그램

PowerShell로 좀더 강력한 쉘 프로그램

--------------------- 오늘 공부할 것

* wscript.shell 공부

* 윈도우 명령어

* 윈도우 인증구조

- 인증하는 방법 : NT hash

LM hash

*다운로드 사이트에서 Snadboy's Revelation

 

ex)vmware 에서 메모장열고

set wshshell=Wscript.createObject("WScript.shell")

wshshell.Run "calc"

set wshshell=nothing

--> "계산기.vbs" 저장

 

set wshshell=Wscript.createObject("WScript.shell")

wshshell.Run "calc"

wscript.sleep 100

wshshell.AppActivate "Calculator"

wscript.Sleep 100

wshshell.SendKeys "1{+}"

wscript.Sleep 500

wshshell.SendKeys "2"

wscript.Sleep 500

wshshell.SendKeys "~"

wscript.Sleep 500

wshshell.SendKeys "*3"

wscript.Sleep 500

wshshell.SendKeys "~"

wscript.Sleep 500

wshshell.SendKeys "%{F4}" 

wscript.Sleep 500

set wshshell=nothing

 

저장 후 실행.

##########################################################################

 

<Wireless Packet 분석>

http://172.16.11.254:8080/share/docs/test.pcap 

1.test.pcap 파일 준비(

aircrack-ng-1.1-win.zip 파일을 윈도우7에 다운로드

airocrack-ng GUI 실행-> test.pcap 열어서 패스워드 크랙.

wireshark -edit - Preference -IEEE 802.11 - decryption -new - key type에 wep, key에 airocrack-ng GUI 에서 test.pcap에서 찾은 key 를 입력, enable decryption 에 체크 후 apply- ok -> 패스워드크랙이 꺠진것을 볼수 있음

또, 메뉴에 statistics - summary 나 protocol Hierarchy (패킷 정보 확인), Conversations에 ipv4나 TCP 패킷 분석

및 Follow Stream 이라는 것은 2계층에서 MTU(1500바이트)만큼 쪼개진 패킷을 합쳐서 7계층에서 보내려고 했던 데이터를 한꺼번에 볼 수 있는 것.

-->내용중 Authorization: Basic YWRtaW46YWRtaW4=

YWRtaW46YWRtaW4=(base64 인코딩 방식), perl 언어로.

base64 다운-> 위의 내용 복사해서 cmd 창에 

>base64.pl YWRtaW46YWRtaW4=

여기서 패스워드 안뜨는 것은 윈도우7에 perl script 실행 프로그램이 없어서.

 

#wget http://172.16.11.254:8080/share/program/base64.zip

#unzip base64.zip

#perl base64.pl YWRtaW46YWRtaW4=

admin:admin

 

=========================================================================

<암호학>

1. 고대 암호

 1) 치환(Substitution) - 문자를 1:1로 대응되는 다른 문자나 기호로 변환

 ABCDEFGHIJKLMNOPQRSTUVWXYZ

 GHIJKLMNOPQRSTUVWXYZABCDEF

 I LOVE 

 P SVBJ

 E(12%) T(9%) A(8%)

 2) 전치(Transposition) - 어떤 규칙에 의해서 문자를 다른 순서로 재 배열하는 것

 ABCDEFGHIJKLMNOPQRSTUVWXYZ

 ???ZYXWVUTSRQPONMLKJIHGFEDCBA

 I LOVE

 R OLDW

 EX) GHIJKLMNOPQRSTUVWXYZABCDEF --> 치환

      F     G 

  --> P SVBJ 를 다시 전치.( 복합적으로 이용하면 더 어려워진다.)

 

 EX2)123456789

      987654321

 

     여기서, 12345를

    PSVBJ로 보고 다시,

   54321을

   JBVSP로 바꿀 수도 있다.

==============> 모든 암호화 알고리즘이 위와 같은 방식들을 사용한다.(치환과 전치를 몇번 수행했느냐 하는 것)

 

암호학 : Cyryptography / 암호 : Cipher / 평문 : Plaintext / 암호문 : Ciphertext / 암호화 : Encryption / 복호화 : Decryption

<대칭키 암호화 시스템>

=Symmetric Key=Secret Key Cipher System

1) 스트림 암호(Stream Cipher)

 bit나 byte 단위로 암호화를 한다.

 RC4

2) 블록 암호(Block Cipher)

 block 단위(암호화 방법에 따라 크기는 다름)에 따라 암호화를 한다.

 DES, 3DES, AES

 간혹 DEA(Data Encryption Algorithm)라는게 나온다. 맨처음 IBM애서 개발-> 미국에서 표준화시킨게 DES

 

 DES(Data Encryption Standard) - 취약점이 있는데 키가 없어도 키를 유추할수 있다 .시간이 걸려도. 길이는 56bit

 AES(Advanced Encryption Standard)를 가장 기본으로 사용, 길이는 128bit 길이가 길면 풀기가 어렵고 암호화를 하는데에도 시간이 많이 걸린다.

 SEED - 인터넷 뱅킹 이용시 사용하는 암호화 알고리즘, 우리나라가 만듬. 128bit

 A        B

   Plaintext(예를들어 "Hello")            Plaintext("Hello")

 ↓       ↑

       Encoding     Decoding

 ↓       ↑

    암호화 알고리즘(←KEY 가 필요)   ALG(←암호문을 만들었던 똑같은 KEY)

 ↓       ↑

        암호문(Ciphertext)→→네트워크를통해전송→→→  Ciphertext

키 분배의 문제 -> 평문으로 밖에 전송할 수 없기 때문에 , 이것을 중간에서 스니핑해서 가로채면 암호를 하나마나 똑같다.

 

<비대칭키 암호화 시스템>

=Public Key=Asymmetric Key

공개키 : 누구나 알아도 상관없음/암호화 할 때 사용

사설키 : 반드시 자신만 알고 있어야 하는 키 /복호화 할 때 사용

암호화할때 사용하는 키와 복호화할때 사용하는 키는 다르다.(수학적으로 증명됨)

**RSA**

 

 공개키 A   A        B   공개키 B

   사설키 A   Plaintext(예를들어 "Hello")            Plaintext("Hello")   사설키 B

    ↓       ↑

          Encoding     Decoding

    ↓       ↑

 (암호화할때 사용하는 KEY→) 암호화 알고리즘      ALG(←복호화할때 사용하는 KEY, B의 사설키만 사용)A에서 B로 데이터 전송시

A->B데이터전송시 B의 공개키사용 ↓       ↑                                   A의 공개키 사용 B에서 A로 데이터 전송시

B->A데이터전송시 A의 사설키사용 암호문(Ciphertext)→→네트워크를통해전송→→→  Ciphertext

-대칭키 암호화 시스템 보다 암호화 하는데 시간이 오래걸린다.

공개키 암호화 방식은 아무나 알아도 상관없고, 대칭키 암호화 방식에 키를 전달할 때만 사용하고 대칭키의 암호화방식을 사용한다.

결국, 대칭키 암호화 방식의 문제점인 키 분배의 문제를 비대칭키 암호화 시스템으로 해결하고 비대칭키 암호화 시스템의 문제인 속도를 해결하기 위해 대칭키 암호화시스템을 사용

BT5 메뉴에 SSHD

service sshd restart

ssh localhost

 

 

기초 암호학

 

https://developer-mac.tistory.com/76

http://blog.naver.com/PostView.nhn?blogId=jkf941&logNo=220783412472

 

반응형

'IT 용어 사전' 카테고리의 다른 글

Backlog  (0) 2020.10.28
악성 봇(Bot) 메모 정리  (0) 2020.10.28
LTE 구조  (0) 2020.08.05
jupyter notebook 원하는 경로에서 실행하기 (특정 경로)  (0) 2020.07.23
Gmail 보안 설정 및 기타 이슈 관련  (0) 2020.03.20