사용자 데이터
User data에는 원격 host의 사용자 계정 핵심 요소가 포함됩니다. 여기에는 login name, GECOS fields, SSH keys 등 관련 세부 정보가 포함됩니다. 단, 실제 hashed passwords와 같은 민감한 정보는 절대 포함하지 않습니다.
Sandfly는 password 존재 여부와 password hash type을 나타내는 값을 반환합니다. 또한 password hash 자체의 cryptographic hash를 반환하여, 실제 민감한 데이터를 전달하지 않고도 모든 hosts에서 동일한 hashes를 검색할 수 있게 합니다.
예를 들어, password hash와 salt를 그대로 반환하는 대신 전체 entry를 hash하여 반환하며, 이 hash는 동일한 password hash와 salt 조합을 나타내므로 검색에 사용할 수 있습니다.
SSH authorized_keys의 경우 Sandfly는 key entry를 decode하여 list 형식으로 제공합니다. 또한 발견된 authorized_keys 파일에 대해 file attributes를 제공하여, key 자체뿐 아니라 authorized_keys의 file attributes에도 기반한 signature를 구성할 수 있게 합니다(예: 파일이 immutable이고 X개의 key를 보유하거나 key duplicate 존재). 또한 발견된 key와 해당 key의 hashes도 반환하므로, 모든 hosts 전반에서 해당 정보를 신속히 검색할 수 있습니다.
사용자 데이터
{
"username": "",
"groupname": "",
"group_membership": null,
"shell": "",
"uid": 0,
"gid": 0,
"gecos": "",
"home_dir": "",
"password": {
"locked": false,
"disabled": false,
"empty": false,
"present": false,
"type": "",
"days_since_last_changed": 0,
"age_min": 0,
"age_max": 0,
"warning_period": 0,
"inactivity_period": 0,
"days_since_expired": 0,
"reserved": "",
"shadow_entry_missing": false,
"shadow_parsing_error": ""
},
"ssh": {
"authorized_keys": {
"present": false,
"duplicate_found": false,
"total": 0
},
"known_hosts": {
"present": false,
"total": 0
},
"ssh_data_status": ""
},
"inferred": false
}사용자 SSH 데이터
{
"authorized_keys": {
"present": false,
"duplicate_found": false,
"total": 0,
"data": null,
"file": null
},
"known_hosts": {
"present": false,
"total": 0,
"data": null,
"file": {
"date": {
"created": "",
"created_minutes": 0,
"modified": "",
"modified_minutes": 0,
"accessed": "",
"accessed_minutes": 0
},
"inode": 0,
"device": 0,
"rdevice": 0,
"nlink": 0,
"mode": "",
"uid": 0,
"username": "",
"gid": 0,
"groupname": "",
"size": 0,
"size_byte_count": 0,
"size_byte_count_status": "",
"size_mismatch": false,
"blksize": 0,
"blocks": 0,
"path": "",
"path_root": "",
"path_link": "",
"true_path": "",
"name": "",
"extension": "",
"selinux_context": "",
"flags": {
"directory": false,
"regular": false,
"link": false,
"suid": false,
"suid_root": false,
"sgid": false,
"sgid_root": false,
"socket": false,
"device": false,
"char_device": false,
"named_pipe": false,
"sticky": false,
"immutable": false,
"hidden": false,
"deleted": false,
"containerized": false
},
"entropy": 0,
"hash": {
"md5": "",
"sha1": "",
"sha256": "",
"sha512": ""
},
"magic_num": {
"hex": "",
"text": "",
"type": "",
"class": "",
"expected_extensions": null
},
"mount": {
"mountpoint": "",
"device": "",
"fs_type": ""
},
"container": {
"id": "",
"id_short": "",
"rootdir": ""
},
"data": null
}
},
"ssh_data_status": ""
}사용자 SSH authorized_keys 데이터
{
"entry_num": 0,
"friendly_name": "",
"entry": "",
"path": "",
"options": "",
"type": "",
"key": "",
"hash": {
"md5": "",
"sha1": "",
"sha256": "",
"sha512": ""
},
"comment": "",
"detected_type": "",
"detected_bits": 0,
"key_parse_error": false
}사용자 SSH authorized_keys 파일 데이터
{
"date": {
"created": "",
"created_minutes": 0,
"modified": "",
"modified_minutes": 0,
"accessed": "",
"accessed_minutes": 0
},
"inode": 0,
"device": 0,
"rdevice": 0,
"nlink": 0,
"mode": "",
"uid": 0,
"username": "",
"gid": 0,
"groupname": "",
"size": 0,
"size_byte_count": 0,
"size_byte_count_status": "",
"size_mismatch": false,
"blksize": 0,
"blocks": 0,
"path": "",
"path_root": "",
"path_link": "",
"true_path": "",
"name": "",
"extension": "",
"selinux_context": "",
"flags": {
"directory": false,
"regular": false,
"link": false,
"suid": false,
"suid_root": false,
"sgid": false,
"sgid_root": false,
"socket": false,
"device": false,
"char_device": false,
"named_pipe": false,
"sticky": false,
"immutable": false,
"hidden": false,
"deleted": false,
"containerized": false
},
"entropy": 0,
"hash": {
"md5": "",
"sha1": "",
"sha256": "",
"sha512": ""
},
"magic_num": {
"hex": "",
"text": "",
"type": "",
"class": "",
"expected_extensions": null
},
"mount": {
"mountpoint": "",
"device": "",
"fs_type": ""
},
"container": {
"id": "",
"id_short": "",
"rootdir": ""
},
"data": null
}사용자 SSH known_hosts 데이터
{
"entry_num": 0,
"entry": "",
"path": "",
"masked": false,
"masked_salt": "",
"masked_value": "",
"marker": "",
"hostnames": null,
"cert_authority": false,
"revoked": false,
"type": "",
"public_key": ""
}사용자 SSH known_hosts 파일 데이터
{
"date": {
"created": "",
"created_minutes": 0,
"modified": "",
"modified_minutes": 0,
"accessed": "",
"accessed_minutes": 0
},
"inode": 0,
"device": 0,
"rdevice": 0,
"nlink": 0,
"mode": "",
"uid": 0,
"username": "",
"gid": 0,
"groupname": "",
"size": 0,
"size_byte_count": 0,
"size_byte_count_status": "",
"size_mismatch": false,
"blksize": 0,
"blocks": 0,
"path": "",
"path_root": "",
"path_link": "",
"true_path": "",
"name": "",
"extension": "",
"selinux_context": "",
"flags": {
"directory": false,
"regular": false,
"link": false,
"suid": false,
"suid_root": false,
"sgid": false,
"sgid_root": false,
"socket": false,
"device": false,
"char_device": false,
"named_pipe": false,
"sticky": false,
"immutable": false,
"hidden": false,
"deleted": false,
"containerized": false
},
"entropy": 0,
"hash": {
"md5": "",
"sha1": "",
"sha256": "",
"sha512": ""
},
"magic_num": {
"hex": "",
"text": "",
"type": "",
"class": "",
"expected_extensions": null
},
"mount": {
"mountpoint": "",
"device": "",
"fs_type": ""
},
"container": {
"id": "",
"id_short": "",
"rootdir": ""
},
"data": null
}Updated 7 days ago