Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
windows powershell pipe uzaktan yönetim
#1
http://www.delphican.com/delphi-ile-cmd-...almak.html
buradaki konudan yola çıkarak acaba cmd ile yapacağımız işlerden daha efektif şeyler yapabilirmiyiz diye biraz araştırma yaptım ve
Windows PowerShell
ile karşılaştım ve örneği şu şekilde değiştirdim.
function GetDosOutput(CommandLine: string; Work: string = 'C:\Windows\System32\WindowsPowerShell\v1.0\'): AnsiString;
var
SA: TSecurityAttributes;
SI: TStartupInfo;
PI: TProcessInformation;
StdOutPipeRead, StdOutPipeWrite: THandle;
WasOK: Boolean;
Buffer: array[0..255] of ansiChar;
BytesRead: Cardinal;
WorkDir: String;
Handle: Boolean;
begin
Result := '';
with SA do begin
  nLength := SizeOf(SA);
  bInheritHandle := True;
  lpSecurityDescriptor := nil;
end;
CreatePipe(StdOutPipeRead, StdOutPipeWrite, @SA, 0);
try
  with SI do
  begin
    FillChar(SI, SizeOf(SI), 0);
    cb := SizeOf(SI);
    dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
    wShowWindow := SW_HIDE;
    hStdInput := GetStdHandle(STD_INPUT_HANDLE); // don't redirect stdin
    hStdOutput := StdOutPipeWrite;
    hStdError := StdOutPipeWrite;
  end;
  WorkDir := Work;
  Handle := CreateProcess(nil, PChar('C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe ' + CommandLine),
                          nil, nil, True, 0, nil,
                          PChar(WorkDir), SI, PI);
  CloseHandle(StdOutPipeWrite);
  if Handle then
    try
      repeat
        WasOK := ReadFile(StdOutPipeRead, Buffer, 255, BytesRead, nil);
        if BytesRead > 0 then
        begin
          Buffer[BytesRead] := #0;
          Result := Result + Buffer;
        end;
      until not WasOK or (BytesRead = 0);
      WaitForSingleObject(PI.hProcess, INFINITE);
    finally
      CloseHandle(PI.hThread);
      CloseHandle(PI.hProcess);
    end;
finally
  CloseHandle(StdOutPipeRead);
end;
end;
Kullanımı
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Text:=GetDosOutput(Edit1.Text);
end;

sonra şu komutla dosya indirebildiğimi farkettim.
-command "& { (New-Object Net.WebClient).DownloadFile('http://www.deneme.com/dosyalar/DENEME.exe', 'C:\Users\username\Desktop\test\DENEME.exe') }"

sonra aklıma şu geldi ben programın alacağı komutları herhangi bir porta takılmadan nasıl dışarıdan verebilirim haberleşebilirim

bir örnekle http://www.siteadi.com/komut.txt yi her 40 sn yede bir çekip komutvar ise çalıştırıp sonucuda memo yerine
http://www.siteadi.com/formpost.php ye gönderen bir uygulama yapılabilir.
kendi uygulamalarınızı download etirip bunlara parametrelerle çalıştırarak örnek ekran görüntüsü alıp bunu yine http://www.siteadi.com/resimpost.php post etirebilirsiniz ister dosya olarak ister base64 vel hasıl kelam tarayıcınızdan bilgisayarınızı uzaktan kontrol edebilirsiniz.
powershell windows 7 ve sonra ki sürümlerde var
gerisi hayal gücünüze kalmış Smile

“Do. Or do not. There is no try.”
Cevapla
#2
Elinize sağlık hocam. Süper olmuş !

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#3
(10-05-2017, Saat: 15:16)ramazan_t Adlı Kullanıcıdan Alıntı: Elinize sağlık hocam. Süper olmuş !

sizde sağolun bu windows powershell kötü niyetli kullanıma çok müsait pdf dosyalarına js injection edilerek veya vb macro kodu ile powershell komutları çalıştırılıp sisteme cryptolocker virüsünün download etirilip çalıştırıldığını duymuştum.

“Do. Or do not. There is no try.”
Cevapla
#4
Merhaba pwershell'in yönetici hakları ile çalıştırılması gereken durumlarda ne yapılabilir?
Cevapla
#5
@Javs mrb, script'leri çalıştıracağınız her bilgisayarda geliştirici mod altından powershell ayarını açmayı deneyebilirsiniz
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi İle Firebird 2.5x Uzaktan Yedekleme Aracı COMMANDX 1 602 25-10-2025, Saat: 22:19
Son Yorum: mcuyan
  Windows mediaplayer ol2.dcu sorunu diseqc 1 716 28-01-2025, Saat: 11:54
Son Yorum: diseqc
  Windows Explorer dan delphi formuna dosya Drag&Drop işlemi örneği adelphiforumz 1 716 23-01-2025, Saat: 15:16
Son Yorum: yhackup
  Rest Server Windows Sunucuda Yayınlama ugorkem 6 1.656 14-08-2024, Saat: 18:48
Son Yorum: ugorkem
  Windows XP; Win32 uygulaması geçerli değil! delphi.developer 1 1.379 24-01-2024, Saat: 22:32
Son Yorum: enigma



Konuyu Okuyanlar: 1 Ziyaretçi