แกแแฌแแ แแแก แกแแแแ แแแขแแแ แแแ แแแแจแ แแ แแแแแแ แจแแแแแแ แแแฎแแ: แแแแแแแแแ แกแแญแแ แแ แแแแแแฃแแแแแ แจแแแชแแ แแแก แแคแแกแแแจแ แแแแแขแแแแก แ แแแแแแแแ แกแแแชแแแแแกแขแแแแก แแแแ , แ แแแแแแแช แแแกแแฎแฃแ แแแแแ แแ แแแแกแฃแแขแแชแแแแก แฃแฌแแแแ แแแแแแแชแแฃแ แแ แแแ แแแฃแ แฃแแ แฃแแแแแงแแคแแก, แแ แแฃแแฌแ แคแแแแ แ แแ แแแฅแแแ, แแแแฎแแแ แแแแแแ แฎแจแแ แแ แแแ แแขแแ แแงแแแแแแ แกแแแชแแแแแกแขแแแแก แแแฎแแแ แแแแก, แฉแแฆแ แแแแแแแก แกแฃแ แแแแแก แแแ แแจแ. แแแแแ แกแแแแแฎแแ แแแแแแแ โแแแแแแ - แแแแแฎแแแ แแแแแ - แแแแแแแแแแ, แแฆแแแ แแแฌแแแ/แงแแแแก แแแแแแ แแ แ.แจ. แกแแขแแแแคแแแ แแแแกแฃแแขแแชแแ แกแแ แแแ แแก แแแแแแ แแแแกแแก แฃแคแ แ แแคแแฅแขแฃแ แแ, แแฃ แแแกแขแแแชแแฃแ แแแ แแแก แฃแงแฃแ แแแ.
แฉแแแแ แแแแแกแแแแแแก "แแแแแแแแแแแก" แจแแแแแ, แกแขแแขแแแก แแแแแแ แกแแฆแ แแแคแแ แแแชแแ แแแแแฉแแแ:
แฅแแแแแ แแแงแแแแแแ แงแแแแ แแแคแแ แแแชแแ แแแแแฃแแแแแแแ แแแแแแแก, แแแแช แฉแแแฃแแแแ แแ แแแแแแแแก แแ แแแแ แแแแฃแ แแแ แแแ แกแแแแก แกแแกแฃแ แแแแ แจแแแแแแก แแแกแแฆแแแแ, แแ แแกแแญแแ แ แแแแแแแแแก แแแแแแแแแแ.
แแแแกแแแแแก, แ แแ "แแแขแแก แแฃแแแ แแ แแแแแแแแ", แแแแแฌแงแแ แแแแ: แแแแแกแแแแแ แแฃแจแแแแก แกแแจแฃแแแ แแแแฎแแแ แแแแแกแแแแก, แ แแแแแแช แแงแแแแแก แแแแฃแแแแฃแ แก.
I. แแแแกแแแ แแ แฉแ แแแแแแแแ RDP.
แแแแแงแแแแแแก แจแแแแแ แกแแ แแแ แแก แแแแแฏแแ แแก แแแแกแแแแก แแแแแแแกแขแ แแขแแ แแก แฃแคแแแแแแ -> QuickSessionCollection -> แแแแแขแแ แแกแแแฃแแ แแแแฎแแแ แแแแแก แกแแกแแแแ แแแฌแแแแฃแแแแแ, แแแแขแแฅแกแขแฃแ แ แแแแแฃแแแ แฉแ แแแแแก แแ แฉแแแแ แแแ แกแแแแแแกแแแแก, แ แแแแแแช แแกแฌแแแแแก แ แแแแ แแแแแแงแแแแก แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแ, แแ แแ แแก แแแ แแแแขแ, แแแแแฎแแแแแแแ แแแแแ แแ แแ "แฎแแก" แแแแแแ, แแแ แซแแ:
1. แจแแแขแงแแแ แกแแกแแแก RDP id:
query user | findstr Administrator
แแ:
qwinsta | findstr Administrator
แฃแคแ แ แแแขแแช "| findstr แแแแแแแกแขแ แแขแแ แโแแฎแแแแ แแแกแแฎแแ แฎแแแแแ แแงแ, แ แแชแ แแฃแกแขแแ แแชแแแ แ แ Administrator แแญแแ แแแแแ, แแ แแแแแแงแแแแ แแฎแแแแ แแแ แแแแ แแแฌแแแ, แ แแ แแแฎแแ แงแแแแ แจแแกแฃแแ แกแแ แแแ แแ.
2. แแแฃแแแแจแแ แแแ แแ แกแแกแแแก, แแ แแแ แแแแ, แ แแ แแแแแแจแ แฏแแฃแคแแก แแแแแขแแแ "แแแกแขแแแชแแฃแ แ แแแ แแแแก แฌแแกแแแแก แแแงแแแแแ แแแกแขแแแชแแฃแ แ แแแกแแขแแ แกแแ แแแกแแแแก แแแแฎแแแ แแแแแก แกแแกแแแแแกแแแแก" แแ แฉแแฃแแแ แแแแแแฃแ "แแแแฎแแแ แแแแแก แแแแแ แแแแ แแแแแขแแ แแก แกแแกแแแก" แแแ แแแแขแ แแ (
mstsc /shadow:127
แแแฎแแแ แแแแแแแแแกแฌแแแแ, แ แแ แกแแ แจแแแชแแแก แแฎแแแแ แแแแฎแแแ แแแแแก แจแแกแแแแก.
แแแแแแ แแ, แ แแ แแแแแแแกแขแ แแขแแ แแก แฃแคแแแแแแแก แแแ แแจแ แแแแฆแแแ แจแแแแแแก:
แแแแ แแ แแ แแแ แแแแก แฌแแแแกแฌแแ แ แแแแแ แแแแกแแแแก, แ แแแแแแช แแฅแแแแ แแแแฎแแแฃแแ, แแ แแแแแแแงแแแ แแแแแ แแจแ แแแแแแแกแขแ แแขแแ แแก แฃแคแแแแแแแ.
II. แแ แแแ แแแ
แแกแ แ แแ, แแ แแแแแแแก แแแแชแฎแแแแแ: แจแแฅแแแแแ แแแ แขแแแ แแ แแคแแแฃแแ แแแขแแ แคแแแกแ, แ แแแ แแแฃแแแแจแแ แแแก แแแแฎแแแ แแแแแก แฉแ แแแแแก แแ แซแแแแแก แแแกแ แแแแแ แแแแ, แแแแฎแแแ แแแแแกแแแแก แจแแขแงแแแแแแแแก แแแแแแแแ. แแ แฉแแฃแแ แแ แแแ แแแแ แแแแก แแแ แแแ แแ แแก Lazarus.
1. แฉแแแ แแแฆแแแ แแแแฎแแแ แแแแแแ "แจแแกแแแ" - "แกแ แฃแแ แกแแฎแแแ" แกแ แฃแ แแแแแแฃแ แกแแแก แแแแแแแกแขแ แแขแแ แแกแแแ, แแ แแกแแ แแแแกแแแแก แกแแจแฃแแแแแแ:
wmic useraccount get Name,FullName
แแแแกแแช แแ แแแแ แแ แซแแแแแก:
wmic useraccount get Name,FullName > c:testusername.txt
แแแจแแแแ แแแขแงแแ, แ แแ แกแฌแแ แแ แแแแแ แแก แฐแฅแแแแ แแ แคแแแแแก แแแแฃแจแแแแแแก แแ แแแแแแ, แ แแแแแ แแแแฃแแแกแฎแแแแแ แแแกแ แแแแแ แแแ แแ แแก UCS-2, แแแแขแแ แแ แฃแแ แแแแ แฎแแแแ แแแแแฌแแ แแแกแ แแแแแงแแแแ แฉแแแฃแแแแ แแ UTF-8-แแ. แคแแแแแก แกแขแ แฃแฅแขแฃแ แแจแ แแ แแก แฃแแแ แแแ แฉแแแแ แแ, แฃแคแ แ แกแฌแแ แแ, แแแแ แ แกแแแ แชแ, แ แแแแแก แแแแฃแจแแแแแ แแแแแฌแงแแ แแ แแแ แแแฃแแแ; แแแ แ แแฃ แแแแแ แแแแแแ แแแแ แแแแแ แแแแก แแ แแแแแแ แแ แคแแแแ แแ แแแ แแแฃแแแ แแแแแฎแแแแแ.
แแกแ แ แแ, แแแแ แแ แแก แแ แแแ แแแแก แแแแฎแแแ แแแแแแแกแแแแก แฎแแแแแกแแฌแแแแแ แกแแฅแแฆแแแแ, แแแแแแแแแ c:test, แ แแแแแจแแช แแฅแแแแ 2 แคแแแแ: แแแ แแแแ login-แแ แแ แกแ แฃแแ แกแแฎแแแแ, แแแแ แ id_rdp-แแ แแ แแแแฎแแแ แแแแแแแก แจแแกแแแ. แจแแแแแแ, แฉแแแ แแแแฃแจแแแแแ แแ แแแแแชแแแแแก, แ แแแแ แช แจแแแแแซแแแ :).
แแแแแแ แแฃแแแ, แกแแกแแแแแก แฉแแแแแแแแแแแแ แแแกแแแแแจแแ แแแแแ, แฉแแแ แแแแแแชแแแ แแ (แจแแกแแแแก แแ แกแ แฃแแ แกแแฎแแแแก) แจแแแแแ แกแก แแแกแแแจแ:
procedure Tf_rdp.UserF2Array;
var
F:TextFile; i:integer; f1, line1:String; fL: TStringList;
begin //f_d ะณะปะพะฑะฐะปัะฝัะน ะฟััั ะบ ัะฐะทะผะตัะตะฝะธั ัะฐะนะปะพะฒ
f1:=f_d+'user_name.txt'; //ะทะฐะดะฐัะฐ ััะธัะฐัั ะฒ ะผะฐััะธะฒ ัะพะดะตัะถะธะผะพะต ัะฐะนะปะฐ
fL := TStringList.Create; // ัััะพะบั ะฟะพะดะฒะตัะณะฝะตะผ ะผะตัะฐะผะฐััะพะทะฐะผ ั ัะฐะทะดะตะปะธัะตะปัะผะธ
fL.Delimiter := '|'; fL.StrictDelimiter := True;
AssignFile(F,f1);
try // ะัะบัััั ัะฐะนะป ะดะปั ััะตะฝะธั
reset(F); ReadLn(F,line1);
i:=0;
while not eof(F) do // ะกัะธััะฒะฐะตะผ ัััะพะบะธ, ะฟะพะบะฐ ะฝะต ะทะฐะบะพะฝัะธััั ัะฐะนะป
begin
ReadLn(F,line1);
line1:= StringReplace(line1, ' ', '|',[]); //ะทะฐะผะตะฝัะตะผ ะฟะตัะฒัะน ะฟะพะฟะฐะฒั.2ะฟัะพะฑะตะปะฐ ัะฐะทะดะตะปะธัะตะปะตะผ |
// ัะดะฐะปัะตะผ ะฒัะต ะดะฒะพะนะฝัะต ะฟัะพะฑะตะปั
while pos(' ',line1)>0 do line1:= StringReplace(line1, ' ', ' ', [rfReplaceAll]);
begin
if (pos('|',line1)>0) then
begin //ะตัะปะธ ัะฐะทะดะตะปะธัะตะปั ัััะตััะฒัะตั ะทะฐะฝะพัะธะผ ะตะณะพ ะฒ ะผะฐััะธะฒ
fL.DelimitedText :=line1; // ัะฐะทะฑะธะฒะฐะตะผ ะฝะฐ ััะพะปะฑัั
if (fL[0]<>'') then //ะตัะปะธ ััะตัะบะฐ ะธะผะตะตั ะธะผั
begin //ะฒะฝะพัะธะผ ะตะต ะฒ ะผะฐััะธะฒ
inc(i); // ะธะทะฑะฐะฒะปัะตะผัั ะพั ะฒะพะทะผะพะถะฝัั
ะพะดะธะฝะพัะฝัั
ะฟัะพะฑะตะปะพะฒ ะฒ ะปะพะณะธะฝะต
fam[0,i]:=StringReplace(fL[1],' ','',[rfReplaceall, rfIgnoreCase]);
fam[1,i]:=fL[0];
end;end;end;end; // ะะพัะพะฒะพ. ะะฐะบััะฒะฐะตะผ ัะฐะนะป.
CloseFile(F);
Fl.Free;
except
on E: EInOutError do ShowMessage('ะัะธะฑะบะฐ ะพะฑัะฐะฑะพัะบะธ ัะฐะนะปะฐ. ะะตัะฐะปะธ: '+E.Message);
end;end;
แแแแแจแก แแแฎแแ "แแแแ แ แแแแแกแแแแก", แจแแแแแแ แแฃแแฅแขแแแ แฃแคแ แ แแแแแ แแฅแแแแ.
2. แฌแแแ แแแแแชแแก แแแแแ แแแแแแแ แแแแแฎแฃแแแแ แกแแแก StringGrid แแแแแแแขแจแ แแแแฃแจแแแแแแก แจแแแแแก, แฎแแแ แแ แแแแชแแ แแแแแก โแแแแจแแแแแแแแโ แแแฌแแแก:
2.1 แฉแแแ แแแฆแแแ RDP แกแแกแแแแแก แแแแแแแแ แ แกแแแก แคแแแแจแ:
f1:=f_d+'user.txt';
cmdline:='/c query user >'+ f1;
if ShellExecute(0,nil, PChar('cmd'),PChar(cmdline),nil,1)=0 then;
Sleep(500); // ะผะพะถะฝะพ ะธ ะฟะพะดะพะปััะต ะถะดะฐัั ะฟะพะบะฐ ัะฐะนะป ะดะปั ััะตะฝะธั ัะพะทะดะฐะตััั
2.2 แคแแแแแก แแแแฃแจแแแแแ (แแแแแแแแฃแแแ แแแแแก แแฎแแแแ แแแแจแแแแแแแแแ แกแขแ แแฅแแแแแ):
StringGrid1.Cells[0,i]:=fL[1]; StringGrid1.Cells[2,i]:=fL[3]; //ะบะธะดะฐะตะผ ะฒ ัะธะบะปะต ะฒ StringGrid1
login1:=StringReplace(fL[1],' ','',[rfReplaceall, rfIgnoreCase]); //ัะฑะธัะฐะตะผ ะธะท ะปะพะณะธะฝะฐ ะฟัะพะฑะตะปั
if (SearchArr(login1)>=0) then //ะธัะตะผ ะฒ ะผะฐััะธะฒะต ะธะท ะฟ1. ะปะพะณะธะฝ ะธ ะทะฐะฟะธััะฒะฐะตะผ ะฒ ัะฐะฑะปะธัั ะคะะ
StringGrid1.Cells[1,i]:=fam[1,SearchArr(login1)]
else StringGrid1.Cells[1,i]:='+'; // ะปะธะฑะพ ะทะฐะฟะธััะฒะฐะตะผ ะฟะปััะธะบ:)
.... //ะฒ ะทะฐะฒะธัะธะผะพััะธ ะพั ะฒัะฑะพัะฐ ะฟะพะปัะทะพะฒะฐัะตะปั ัะพััะธััะตะผ ะธ ัะพัะผะฐัะธััะตะผ ะฟะพ ะดะฐะฝะฝัะผ
if (b_id.Checked=true) then SortGrid(0) else SortGrid(1);
StringGrid1.AutoSizeColumn(0);StringGrid1.AutoSizeColumn(1); StringGrid1.AutoSizeColumn(2);
3. แฃแจแฃแแแ แแแแจแแ แ แแแแแ แแแแฎแแแ แแแแแแแ แแ แแแก แกแแกแแแก แแแแแ แแ แแแฌแแแแฃแแแแแ:
id:=(StringGrid1.Row);// ัะทะฝะฐะตะผ ะฝะพะผะตั ัััะพะบะธ IntToStr(StringGrid1.Row)
ids:=StringGrid1.Cells[2,id]; //ะฟะพะปััะฐะตะผ ะธะดะตะฝัะธัะธะบะฐัะพั rdp
cmdline:='/c mstsc /shadow:'+ ids; //ะธ ะฟะพะดะบะปััะฐะตะผัั....
if (b_rdp.Checked=True) then if ShellExecute(0,nil, PChar('cmd'),PChar(cmdline),nil,1) =0 then;
4. แแแแแแแ แแแแแ แ แแแแแแแแ แแแแแ แแชแแ, แ แแแแ แแชแแ แแแฎแแ แแกแฎแแแ แ แแแแแฆแแแแแแ แแแฌแแแแฃแแแแแ แแ แจแแขแงแแแแแแแแแ แแแแฎแแแ แแแแแกแแแแก แแ แงแแแแ แแแแฎแแแ แแแแแกแแแแก.
โ แกแ แฃแแ แแแแแก แแแฎแแ แจแแแแซแแแแ
III. AdminLink-แแก แแแแแงแแแแแแ - แ แแช แแแแฎแ:
AdminLink แฅแแแแก แแแแกแแฎแแแแก, แ แแแแแแช แแแฃแแแแแแก แแ แแแ แแแแก แแแแแแแแแแแ แแแแแแ admilaunch.exeแแ แแแจแแแแแก แแ แแแ แแแแก แแแ แแแ แแกแแ AdmiRun.Exe แ แแแแแแช แแแแแแ แแแแก แแแแฎแแแ แแแแแก แกแแฅแแฆแแแแแจแ, แแแแแแแแแ Vasya, แขแแแ C: แแแแฎแแแ แแแแแแ WINDOWS. แแแแแแแ, แงแแแแแคแแ แ แแ แช แแกแ แชแฃแแแ: แจแแแแซแแแแ แแแแแแจแแ แแแแกแแฎแแแแแแแก แคแแแแแ แแ แกแฎแแแแแ แฌแแแแแแก แฃแคแแแแแแแ, แ แแแ แแแแกแฃแคแแแแแ แแฅแแแแ แกแแแฃแแแ แ แแแแแแแกแขแ แแขแแ แแก แกแแแแแกแ.
แฌแงแแ แ: www.habr.com