在本地的情况下,可以进pe来破解密码,但是我们往往有些时候需要远程去解决很多人的故障,特别是在大型公司会进行加域操作,管理员密码的差异也各有不同。我今天要说的是已知的情况下,有较少的密码可能性进行这种操作是比较方便,如果完全未知的话,暴力破解时间较长,并且可能性不高,不建议此种操作。
那我们看下需要怎么去写。这里写的是域账号试管理员密码的方法,如果试其他密码可以用后面的方法。因为我在试域账号下试管理员密码后面的方法会报错。
private void yunxing(string zhanghao, string Password)
{
Process MBRTProcess = new Process();
MBRTProcess.StartInfo.UserName = zhanghao;
//密码必须是SecureString类型
string strPWD = Password;
SecureString password = new SecureString();
foreach (char c in strPWD.ToCharArray())
{
password.AppendChar(c);
}
MBRTProcess.StartInfo.Password = password;
//启动本目录下对的文件
MBRTProcess.StartInfo.FileName = @".\1.exe";
MBRTProcess.StartInfo.UseShellExecute = false;
MBRTProcess.Start();
}
如果账号固定的话,可以把账号写在方法里面,然后密码也可以写在txt里面,用读取txt文本的方式来遍历。
后面就可以开始遍历了。
try
{
yunxing(admin,admin);
console.writeline("admin");
console.readline();
}
catch
{
try{}
catch{...}
}
如果在域账号下试管理员密码仅仅只能用这方法,如果直接试其他账号可以直接Process.Start("","","","","");
扩展应用为以管理员账号密码启用其他程序,假如我们现在的账号没有管理员权限,还可以用此方法打开应用,以管理员方式打开运行。方法的扩展是多种多样的,有好的想法欢迎交流。
领取专属 10元无门槛券
私享最新 技术干货