
SSH 클라이언트 및 서버 핑거프린팅.
참고: 이 Corelight 저장소는 원래 저장소가 더 이상 유지 관리되지 않는 Salesforce의 요청에 따라 적극적으로 유지 관리되도록 생성되었습니다.
"HASSH"는 특정 SSH 클라이언트 및 서버 구현을 식별하는 데 사용할 수 있는 네트워크 핑거프린팅 표준입니다. 지문은 MD5 지문 형태로 쉽게 저장, 검색 및 공유할 수 있습니다.
"hassh"와 "hasshServer"는 다양한 SSH 클라이언트 및 서버 애플리케이션에서 지원하는 특정 알고리즘 집합으로 구성된 MD5 해시입니다. 이러한 알고리즘은 초기 TCP 3-way 핸드셰이크 후 "SSH_MSG_KEXINIT" 메시지로 알려진 평문 패킷으로 교환되며, 최종 암호화된 SSH 채널 설정의 필수적인 부분입니다. 이러한 알고리즘의 존재와 순서는 "Client" 또는 "Server" 문자열과 같은 상위 수준의 표면적 식별자와 관계없이 기본 클라이언트 및 서버 애플리케이션이나 고유한 구현을 식별하는 데 도움이 되는 지문으로 사용될 수 있을 만큼 고유할 수 있습니다.
"Cyberduck" SFTP 클라이언트 SSH-2.0-Cyberduck/6.7.1.28683 (Mac OS X/10.13.6) (x86_64) 의 경우 지원되는 알고리즘 집합은 다음과 같습니다 :
이러한 알고리즘을 ";" 구분 기호로 연결하면 상세 분석에 유용한 hasshAlgorithms가 생성됩니다.
[email protected],diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group14-sha256,diffie-hellman-group15-sha512,diffie-hellman-group16-sha512,diffie-hellman-group17-sha512,diffie-hellman-group18-sha512,[email protected],diffie-hellman-group15-sha256,[email protected],[email protected],diffie-hellman-group16-sha256,[email protected],[email protected],[email protected];aes128-cbc,aes128-ctr,aes192-cbc,aes192-ctr,aes256-cbc,aes256-ctr,blowfish-cbc,blowfish-ctr,cast128-cbc,cast128-ctr,idea-cbc,idea-ctr,serpent128-cbc,serpent128-ctr,serpent192-cbc,serpent192-ctr,serpent256-cbc,serpent256-ctr,3des-cbc,3des-ctr,twofish128-cbc,twofish128-ctr,twofish192-cbc,twofish192-ctr,twofish256-cbc,twofish256-ctr,twofish-cbc,arcfour,arcfour128,arcfour256;hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-sha2-256,hmac-sha2-512;[email protected],zlib,none
마지막으로 hassh는 단순히 hasshAlgorithms의 MD5이며 저장, 검색 및 공유에 사용됩니다. 몇 가지 예는 다음과 같습니다:
de30354b88bae4c2810426614e1b6976 Powershell Renci.SshNet.SshClient.0.0.1 (used by Empire exploit modules)
fafc45381bfde997b6305c4e1600f1bf Ruby/Net::SSH_5.0.2 x86_64-linux (used by Metasploit exploit modules)
b5752e36ba6c5979a575e43178908adf Python Paramiko_2.4.1 (used by Metasploit exploit modules)
16f898dd8ed8279e1055350b4e20666c Dropbear_2012.55 (used in IOT embedded systems)
8a8ae540028bf433cd68356c1b9e8d5b CyberDuck Version 6.7.1 (28683)
06046964c022c6407d15a27b12a6a4fb OpenSSH_7.7p1 Ubuntu-4
표준 SSH-2.0-OpenSSH_5.3 SSH 서버의 경우 지원되는 알고리즘 집합은 다음과 같습니다 :
| 기능 | SSH_MSG_KEXINIT 패킷에서 볼 수 있는 알고리즘 |
|---|
이러한 알고리즘을 ";" 구분 기호로 연결하면 상세 분석에 유용한 hasshServerAlgorithms가 생성됩니다.
diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1;aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected];hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96;none,[email protected]
마지막으로 hasshServer는 단순히 hasshServerAlgorithms의 MD5이며, 몇 가지 예는 다음과 같습니다:
c1c596caaeb93c566b8ecf3cae9b5a9e SSH-2.0-dropbear_2016.74
d93f46d063c4382b6232a4d77db532b2 SSH-2.0-dropbear_2016.72
2dd9a9b3dbebfaeec8b8aabd689e75d2 SSH-2.0-AWSCodeCommit
696e7f84ac571fdf8fa5073e64ee2dc8 SSH-2.0-FTP
기본적으로 원시 알고리즘 문자열과 키 알고리즘이 기록되며, 스크립트에서 다음 부울 변수를 설정하여 제어할 수 있습니다.
option log_raw_hasshAlgorithms = T;
option log_key_algorithm = T;
hassh와 hasshServer는 Salesforce의 Detection Cloud 팀 내에서 Ben Reardon이 구상하고 개발했으며, Adel Karimi(@0x4d31)와 JA3 팀의 영감과 기여가 있었습니다.
| 기능 | SSH_MSG_KEXINIT 패킷에서 볼 수 있는 알고리즘 |
|---|
| 키 교환 방법 | [email protected],diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group14-sha256,diffie-hellman-group15-sha512,diffie-hellman-group16-sha512,diffie-hellman-group17-sha512,diffie-hellman-group18-sha512,[email protected],diffie-hellman-group15-sha256,[email protected],[email protected],diffie-hellman-group16-sha256,[email protected],[email protected],[email protected] |
| 암호화 | aes128-cbc,aes128-ctr,aes192-cbc,aes192-ctr,aes256-cbc,aes256-ctr,blowfish-cbc,blowfish-ctr,cast128-cbc,cast128-ctr,idea-cbc,idea-ctr,serpent128-cbc,serpent128-ctr,serpent192-cbc,serpent192-ctr,serpent256-cbc,serpent256-ctr,3des-cbc,3des-ctr,twofish128-cbc,twofish128-ctr,twofish192-cbc,twofish192-ctr,twofish256-cbc,twofish256-ctr,twofish-cbc,arcfour,arcfour128,arcfour256 |
| 메시지 인증 | hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-sha2-256,hmac-sha2-512 |
| 압축 | [email protected],zlib,none |
| 키 교환 방법 | diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 |
| 암호화 | aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] |
| 메시지 인증 | hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 |
| 압축 | none,[email protected] |