2013-03-30 18 views
5

をコマンドラインパラメータを隠し、私はこの質問はstackoverflowのかSuperUserまたは何StackExchangeサイトのためのより適切であるかどうかわからないんだけど...起動プロセスおよびタスクマネージャから

基本的に私はから、サードパーティのアプリを起動していますC#にはProcess.Startといくつかのコマンドラインパラメータがあります。これらのコマンドラインパラメータの1つはパスワードです。

タスクマネージャの[プロセス]タブを開いた場合、「コマンドライン」列を追加してそれらのコマンドラインをすべて表示できる点を除いて、アプリ内のどこからでもそのパスワードを確保することができますパラメーター。

誰もが何らかの方法でコマンドラインパラメータを隠しているプロセスを起動する方法を考えることができますか?これはまったく可能ですか?

ありがとうございました!

EDIT:

これはplink.exe(SSH /パテのもの)のためのWindowsサービスラッパーです。私は、標準入力をリダイレクトするように指定しましたが、多分私はにして見ていきます

Plink.exe - 3/30/2013 2:40:47 PM - Attempting keyboard-interactive authentication 
Plink.exe - 3/30/2013 2:40:47 PM - Server refused keyboard-interactive authentication 
Plink.exe - 3/30/2013 2:40:49 PM - [email protected]'s password: 

:私は、コマンドラインでパスワードを指定しない場合は、パスワードの入力を求められますが、私はこの奇妙な警告を受けますそれを回避できるかどうかを確認してください。また、David Heffernanが推薦したように、私はPageantをさらに詳しく見ていきます。みんなありがとう - 私はより良い解決策を見つけたらアップデートを投稿します!

+0

サードパーティのアプリが頻繁に変更されますか?のように、新しいバージョンとすべての。また、これはどこに配置されていますか?あなたのサーバーや顧客のPCで? – Filip

+0

私はそれがどちらもうまくいくとは思っていませんが、楽しむためにはコンソールアプリですか?パスワードを入力しないとどうなりますか?再度入力するにはコマンドラインを吐き出すのですか?それは1つの考えです - あなたは私がコンソールへのストリーム入力を考えることができます(例えば[this](http://stackoverflow.com/questions/6721396/repeatably-feeding-input-to-a-process-standard-input)) - 私はそれが私がうまく覚えていればうまくいったと思っていますが、それは長い間閉鎖されています:) – NSGaga

+0

コメント/回答ありがとうございました。基本的に私は半永久的なSSHトンネルを確立するためにplink.exe(SSH接続のためのPutty.exeの作成者から)を使用するWindowsサービスを書いています。 –

答えて

3

プロセスにコマンドライン引数を渡す方法はないので、プロセスはそれを見ることができますが、システム内の他のものはそれを見ることができません。

これは明白な欠陥であり、プログラムがパスワードを引数として渡すことができるとき、通常は盗聴者を気にしないユーザーの便宜のために行われます。よく設計されたプログラムは、通常、その他の安全な認証手段を提供します。

1

新しいプロセスにACLを設定すると、コマンドライン情報を読むことができるユーザーを制限する必要があります。許可が与えられていない空のACLがの場合、はタスクマネージャを使用して管理者へのアクセスをブロックする可能性があります。 (空のセキュリティ記述子がない空のACLと同じものであることに注意してください。一つは、暗黙的にすべての人に許可を与える、他には暗黙のうちにそれを拒否します。)もちろん

、管理者は常にその店舗何かをplink.exeを置き換えることができますどこかのパスワード。だから私は、管理者がタスクマネージャーで見ることができることを心配するのが理にかなっているのではないでしょうか。