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("
");
}
}