본문 바로가기

모의해킹 침해대응 과정73

암호학 / 블록 암호 모드 구현(by python) python을 통한 블록암호구현 1. 3DES - CBC 를 통한 메시지 암,복호화 구현 평문 -> 3DES & CBC mode -> 암호문 프로그램 구현 from Crypto.Cipher import DES3 as DES from Crypto.Hash import SHA256 as SHA class MyDES: def __init__(self, key, iv): myhash = SHA.new() myhash.update(key.encode()) tkey = myhash.digest() self.key = tkey[:24] myhash.update(iv.encode()) tiv = myhash.digest() self.iv = tiv[:8] def enc(self, msg): msg, fillernum .. 2021. 6. 23.
암호학 / 블록 암호 모드 (Block cipher mode) 블록 암호 모드 (Block Cipher Mode) 블록 암호 (Block cipher) 지정된 특정 bit 수 단위의 집합(block)을 기준단위로 한번에 처리하는 암호 알고리즘. DES or 3DES : 64bit AES : 126bit, 192bit, 256bit 블록 암호 모드 (Block cipher mode) 긴 평문을 블록으로 나누어 암호화 진행, 각 블록에 암호 알고리즘을 반복해서 사용하여 긴 평문 전체를 암호화 진행. 블록 하나 하나를 암호화 하는 암호화 알고리즘, 블록 들의 집합을 암호화하는 암호 모드가 같이 활용되어야 한다. 주요 모드 1) ECB mode : Electric CodeBook Mode(전자 부호표 모드) 2) CBC mode : Cipher Block Chaning M.. 2021. 6. 23.
암호학 / 대칭(Symmetric) 암호 비트열 암호와 OTP 비트열 암호 부호화 암호화 프로그램을 통한 문자열(string)을 비트열(bit string)로 바꾸는것 고전암호 = 문자 암호 방식 (A -> T) 현대암호 = 비트열 암호 방식 (0x41 + 연산 = 0x75) XOR XOR(eXclusive OR) 배타적 논리합 두 수를 비교하여 같으면 0 다르면 1로 표기하는것 암복호화에 활용시 굉장히 빠른 속도로 암호화 및 복호화를 진행할 수 있다. a = 60 b = 13 print(' a:', bin(a).rjust(10)) print(' xor b:', bin(b).rjust(10)) c = a ^ b #XOR (a XOR b) print('a xor b:', bin(c).rjust(10)) print() print(' c:', bin.. 2021. 6. 22.
암호학 / 암호의 역사(고전 암호학) 시저암호 (Caesar) 시저암호 = 카이사르 암호 = 케사르 암호 단순 치환(대치식) 으로 만든 암호, 단일 치환 암호 시저암호 : 줄러이서 시저(유리우스 케사르) 가 사용했다는 암호 평문으로 사용되는 알파벳을 일정한 문자 수 만큼 평행이동 시킴으로써 암호화 시저암호의 경우 Brute Force Attack에 취약하다, 알파멧은 26문자임으로 키가될 수 있는 모든 경우의 수로 공격을 시도해볼 경우 컴퓨터의 경우 빠른속도로 결과값을 출력할 수 있다. [참고] 단일 치환 암호 평문을 구성하는 알파벳을 다른 알파벳으로 매칭하여 진행하는 암호방식 무작위 대입(Brute Force Attack) 및 빈도분석(Frequency Analysis) 공격 등에 크랙될 수 있다. 아핀 암호(Affine Cipher) 시.. 2021. 6. 21.
암호학 / 암호 개요 암호 평문(Plaintext) : 암호화 하기 전의 메시지 암호문(Ciphertext) : 암호화 한 후의 메시지 암호기술(Encryption, Decryption) : 중간의 도청자가 암호문을 가로체어 갖게 된다고 하더라도 특정 비밀박을 모른다면 암호문을 평문으로 복호화 할 수 없도록 하는 기술 해독 복호화 : 정당한 수신자가 암호문을 평문으로 바꾸는것 암호해독(Cryptanalysis) : 수신자 이외의 사람이 암호문으로부터 평문을 복원하려 시도하는것 암호해독자(Cryptanalyst) : 암호 해독을 하는 사람, 악의적인 도청자 및 암호 연구자등이 있다. 대칭키 암호화와 비대칭키 암호화 1. 암호 알고리즘 암호화 알고리즘 : 평문을 암호문으로 만드는 절차 복호화 알고리즘 : 암호문을 평문으로 만드는.. 2021. 6. 21.
Hackme / day 49-51 교육목표 1) 멀웨어 분석 2) 포렌식 분석 3) 권한 상승 (CTF) 4) reverse 를 통한 의사코드(가상코드)생성 5) Exploit 코드 개발 (BoF, FSB) Level 1 Backdoor 의 이해 악의적인 사용자가 시스템 보안 취약점을 응용하여 고안된 프로그램, 사용자 인증 등 정상적인절차를 거치지 않고 응용프로그램 또는 시스템에 접근 할 수 있는 프로그램 대표적으로 reverse_tcp, bind_tcp 가 있다. 풀이 더보기 level1 으로 접근진행. 내부를 확인해본다. hint file 확인 시 "level2 권한에 setuid가 걸린 파일을 찾는다" 라는 문구 기반으로 추적을 시작한다. find CMD를 통해 setuid의 값을 가지고 있는 파일을 찾았다, 해당 파일을 실행해본다.. 2021. 6. 3.