한님폐하 2022. 9. 13. 09:26

1. Base64 인코딩

  • 8bit 2진수 데이터를 6bit씩 재구성하여 64개의 문자/숫자/기호를 이용하여 ASCII 문자열로 인코딩하는 암호화 기능이다.
  • 64개의 문자/숫자/기호 : A~Z, a~z, 0~9, +, /
  • Base64 테이블을 참조하면 디코딩이 가능하기 때문에 보안상 취약하다.
echo -n cisco | base64
echo -n Y2lzY28= | base64 --decode

 

2. Base32 인코딩

  • 8bit 2진수 데이터를 5bit씩 재구성하여 32개의 문자/숫자를 이용하여 ASCII 문자열로 인코딩하는 암호화 기능이다.
  • 32개의 문자/숫자 : A~Z, 2~7
echo -n meg | base32
echo -n NVSWO=== | base32 --decode

 

3. Base64 Encoding (Secret)

  • 해시값이 간단하거나 많이 노출된 경우라면 레인보우 테이블에 매칭되기 때문에 실제 평문 내용을 조회할 수 있다.
  • 참고 사이트 : https://hashes.com/en/decrypt/hash

 

[참고] %2F는 ASCII 문자로 / 이다.

 

 

4. Clear Text HTTP (Credentials)

  • 실제 PC에서 'Internet Explorer' 브라우저를 이용하여 시나리오 페이지로 접속한다.
  • 공격자는에서 ettercap을 이용하여 ARP 스푸핑을 실시한다.
  • 실제 PC에서 bee/bug로 로그인을 실시한다.

 

5. Heartbleed Vulnerability

  • Open SSL 라이브러리의 구조적인 취약점이다. 
  • 동작 과정은 클라이언트가 임의 길이를 갖고 있는 정보를 서버에게 보내면 서버는 동일한 길이의 정보를 응답한다.
  • 이때, 공격자가 거짓의 길이 정보를 서버에게 보내면 서버는 Heartbeat에서 이를 검증하지 않고, 거짓 길이의 정보만큼 응답하는 취약점이 있다.
ls /usr/share/nmap/scripts | grep ssl-heartbleed
nmap --script=ssl-heartbleed.nse -sV -p 8443 [타겟 IP]

 

 

6. POODLE Vulnerability

  • POODLE : Padding Oracle On Downloaded Legacy Encryption
  • SSLv3 프로토콜에서 암호화되어 통신 중인 암호문 중 일부가 평문으로 복호화가 가능한 취약점이다.
  • 블락암호화 기법인 CBC(Cipher Block Chaning) 모드를 사용할 경우, 발생하는 패딩된 암호화 블락이 MAC(메세지 인증 코드)에 의해서 보호되지 않기 때문에 발생한다.
ls /usr/share/nmap/scripts | grep poodle
nmap --script=ssl-poodle -sV -p 443 [타겟 IP]