function fred_report_info() { var info={report_cat : "SAM", report_name : "User accounts", report_author : "Gillen Daniel, Voncken Guy", report_desc : "Dump Windows user accounts", fred_api : 2, hive : "SAM" }; return info; } var table_style = "border-collapse:collapse; margin-left:20px; font-family:arial; font-size:12;"; var cell_style = "border:1px solid #888888; padding:5; white-space:nowrap;"; function IsValid(val) { return (typeof val!=='undefined'); } function PrintTableHeaderCell(str) { println(" ",str,""); } function PrintTableDataCell(alignment,str) { var style=cell_style+" text-align:"+alignment+";"; println(" ",str,""); } function Get_v_info(v_key_value,str_off) { var ret_str=""; var offset=Number(RegistryKeyValueToVariant(v_key_value,"uint16",str_off))+0x0cc; var len=Number(RegistryKeyValueToVariant(v_key_value,"uint16",str_off+4)); if(len>0) ret_str=RegistryKeyValueToVariant(v_key_value,"utf16",offset,len) return ret_str; } function fred_report_html() { // See http://windowsir.blogspot.com/2006/08/getting-user-info-from-image.html println("

User accounts

"); // Iterate over all user names var user_names=GetRegistryNodes("\\SAM\\Domains\\Account\\Users\\Names"); if(IsValid(user_names)) { println(" "); println(" "); PrintTableHeaderCell("Name"); PrintTableHeaderCell("RID"); PrintTableHeaderCell("Full
name"); PrintTableHeaderCell("Last
login"); PrintTableHeaderCell("Last PW
change"); PrintTableHeaderCell("Last failed
login"); PrintTableHeaderCell("Account
expiry"); PrintTableHeaderCell("Total
logins"); PrintTableHeaderCell("Failed
logins"); PrintTableHeaderCell("Flags"); PrintTableHeaderCell("Password
hint"); PrintTableHeaderCell("Home drive
and dir"); PrintTableHeaderCell("Logon
script path"); PrintTableHeaderCell("Profile
path"); PrintTableHeaderCell("Comment"); println(" "); for(var i=0;i"); PrintTableDataCell("left",user_names[i]); PrintTableDataCell("right",String(user_rid_dec)+" (0x"+user_rid+")"); PrintTableDataCell("left",full_name); PrintTableDataCell("right",last_login_time); PrintTableDataCell("right",last_pw_change); PrintTableDataCell("right",last_failed_login); PrintTableDataCell("left",account_expires); PrintTableDataCell("right",total_logins); PrintTableDataCell("right",failed_logins); PrintTableDataCell("left",acc_flags_str); PrintTableDataCell("left",hint); PrintTableDataCell("left",home_dir_drive+" "+home_dir); PrintTableDataCell("left",logon_script_path); PrintTableDataCell("left",profile_path); PrintTableDataCell("left",comment); println (" ") } println("
"); println("

"); } else { println("

"); println(" Unable to enumerate users!
"); println(" Are you sure you are running this report against the correct registry hive?"); println("

"); } }