KOROMOON

착한 사마리아인이 되고 싶습니다.

1/20/2021

Cisco 라우터 암호 유형


( 01 ) Type 0


이것은 라우터가 실행/시작 파일에 저장할 때 암호가 암호화되지 않음을 의미함.


명령어 : enable password cisco123




( 02 ) Type 4


이것은 라우터가 SHA-256 을 사용하여 실행/시작 파일에 저장할 때 패스워드가 암호화된다는 것을 의미함.

이 유형은 IOS 15.3(3) 부터 더 이상 사용되지 않음.

Cain & Abel 과 같은 프로그램을 이용하여 크랙할 수 있지만 시간이 오래 걸림.


명령어 : enable secret 4 Rv4kArhts7yA2xd8BD2YTVbts

(위 명령어 주의사항! 문자열 자체가 암호가 아니라 암호의 해시값임)




( 03 ) Type 5


이것은 라우터가 MD5 를 사용하여 실행/시작 파일에 저장할 때 패스워드가 암호화된다는 것을 의미함.

Cain & Abel 과 같은 프로그램을 이용하여 크랙할 수 있지만 시간이 오래 걸림.


명령어 : enable secret 5 00271A5307542A02D22842

(위 명령어 주의사항! 문자열 자체가 암호가 아니라 암호의 해시값임)

or

enable secret cisco123

(위 명령어 주의사항! 문자열 자체가 암호임)


참고로 FreeBSD 에서 MD5 Crypt 로 알려진 알고리즘을 널리 사용됨.

Cisco 는 IOS 운영 체제에서 동일한 FreeBSD 암호화 라이브러리를 사용하므로 Type 5 해시 형식은 FreeBSD 암호 알고리즘과 동일함.

단, 유일한 예외는 Cisco 가 대부분의 시스템에서 사용하는 8 개 대신 4 개의 솔트 문자를 요구한다는 것임.


< FreeBSD 와 Cisco 간의 암호 해시 비교 >


< Cisco Type 5 암호 해시 분석 >




( 04 ) Type 7


이것은 라우타가 Vigenere 암호를 사용하여 실행/시작 파일에 저장할 때 패스워드가 암호화된 것을 의미함.

Type 7 리버서(Reverser) 가 있는 웹사이트에 1초 이내로 크랙할 수 있음.

Cisco 암호 크래킹 사이트 :

https://www.ifm.net.nz/cookbooks/passwordcracker.html


명령어 : ena password cisco123

        service password-encryption




( 05 ) Type 8


이것은 라우터가 PBKDF2-SHA-256 을 사용하여 실행/시작 파일에 저장할 때 패스워드가 암호화된다는 것을 의미함.

IOS 15.3 (3) 부터 사용이 가능함.

여기서 PBKDF2-SHA-256 는 보안 해시 알고리즘 26비트(SHA-256)를 해싱 알고리즘으로 사용하는 암호 기반 키 파생 함수 2(PBKDF2)임.


사용예1 :

R1(config)#enable algorithm-type sha256 secret cisco

R1(config)#do sh run | i enable

enable secret 8 $8$mTj4RZG8N9ZDOkelY/asfm8kD3iDmkBe3hD2r4xcA/0oWS5V3os.O91u.


사용예2 :

R1(config)# username yasser algorithm-type sha256 secret cisco

R1# show running-config | inc username

username yasser secret 8 $8$dsYGNam3K1SIJO7nv/35M/qr6t.dVc7UY9zrJDWRVqncHub1PE9UlMQFs




( 06 ) Type 9


이것은 라우터가 scrypt 를 해싱 알고리즘으로 사용하여 실행/시작 파일에 저장할 때 패스워드가 암호되된다는 것을 의미함.

IOS 15.3 (3) 부터 사용이 가능함.


사용예1 :

R1(config)#enable algorithm-type scrypt secret cisco

R1(config)#do sh run | i enable

enable secret 9 $9$WnArItcQHW/uuEx5WTLbu7PbzGDuv0fSwGKS/KURsy5a3WCQckmJp0MbE


사용예2 :

R1(config)# username demo9 algorithm-type scrypt secret cisco

R1# show running-config | inc username

username demo9 secret 9 $9$nhEmQVczB7dqsOX.HsgL6x1il0RxkOSSvyQYwucySCt7qFm4v7pqCxkKM




( 07 )중요 사항


1. Type 8 또는 Type 9 암호를 구성한 다음 Type 8 또는 Type 9 암호를 지원하지 않는 릴리스로 다운그레이드하는 경우 하기 전에 Type 5 암호를 구성해야 함.

그렇지 않은 경우 장치가 잠기고 암호를 복구해야 함.


2. IOS 15.3 (3) 사용 시 Type 4 는 더 이상 사용되지 않으며 Type 8 또는 Type 9 알고리즘에 대한 지원이 추가되었으며 Type 4 알고리즘 지원 제거에 대한 경고 메시지가 추가됨.




( 08 ) Type 5 암호 생성하는 간단한 파이썬 코드


사전 준비 : 

Python3 설치

passlib 모듈 설치 (pip install passlib)



# passlib 2.0 이상부터는 md5_crypt.hash() 메소드 사용할 것!

from passlib.hash import md5_crypt

# "koromoon" 문자열을 "hack" 솔트값으로 해싱

hash = md5_crypt.hash("koromoon", salt="hack")

print(hash)


결과값 : $1$hack$wJkdH5yC3eDLAoczafume/




( 09 ) Type 5 암호 크래킹하는 간단한 파이썬 코드



from passlib.hash import md5_crypt

# 사전 리스트

dict = ["password", "qwerty", "123456", "Password123", "koromoon"]

# 크랙하고자 하는 해시값

hash = "$1$hack$wJkdH5yC3eDLAoczafume/"

# 크래킹

for password in dict:

    if md5_crypt.verify(password, hash):

        print("Password Found: %s" % password)


Password Found: koromoon




참고 사이트 : 

https://learningnetwork.cisco.com/s/article/cisco-routers-password-types

https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/security/d1/sec-d1-cr-book/sec-cr-e1.html

https://axcheron.github.io/cracking-cisco-type-5-passwords/




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

본 게시물은 KOROMOON 님께서 작성하였으며 CCL (Creative Commons License) 에서 "저작자표시-비영리-동일조건변경허락" 이용조건으로 자료를 이용하셔야 합니다.


댓글 없음:

댓글 쓰기