鱼柒 发表于 2018-6-28 18:12:31

Impacket网络协议工具包介绍

Impacket是一个Python类库,用于对SMB1-3或IPv4 / IPv6 上的TCP、UDP、ICMP、IGMP,ARP,IPv4,IPv6,SMB,MSRPC,NTLM,Kerberos,WMI,LDAP等协议进行低级编程访问。 在本文的实验场景中,我们需要准备以下两个系统:1.配置域控的Windows服务器;2. Kali Linux系统相关设置如下:Windows Server域: SERVER用户: Administrator密码: T00rIP地址: 192.168.1.140Kali Linux: 192.168.1.135在正式开始使用Impacket工具之前,让我们先对目标Windows服务器执行Nmap版本扫描,以获取当前Windows Server上运行的有关服务信息。nmap -sV 192.168.1.140http://image.3001.net/images/20180620/15294540177015.png!small正如你在上面的截图中看到的,目标系统当前运行的服务有域服务,Kerberos服务,Netbios服务,LDAP服务和Windows RPC服务。现在让我们从GitHub安装Impacket工具。你可以在这里获取到。首先,我们通过git clone命令克隆存储库,然后按以下截图所示安装Impacket。git clone https://github.com/CoreSecurity/impacket.gitcd impacket/python setup.py installhttp://image.3001.net/images/20180620/15294540326420.png!small这将在你的Kali Linux上安装Impacket。安装完成后,我们来查看下Impacket中都有哪些工具。cd impacket/exampleshttp://image.3001.net/images/20180620/15294540477091.png!small可以看到其中包含了许多的python脚本工具,让我们来尝试使用其中的一些工具:Ping.py一个简单的ICMP ping脚本,使用ICMP echo和echo-reply数据包检查主机状态。./ping.pyhttp://image.3001.net/images/20180620/15294540639307.png!small语法: ./ping.py ./ping.py 192.168.1.135 192.168.1.140以下是我从192.168.1.140(Windows Server)获得的ICMP响应http://image.3001.net/images/20180620/15294540796583.png!smallLookupsid.py通过 MSRPC接口的Windows SID bruteforcer示例,旨在查找远程用户/组。./lookupsid.pyhttp://image.3001.net/images/20180620/15294540947547.png!small语法: ./lookupsid.py [ username [: password] @] ./lookupsid.py SERVER/Administrator: [email protected]如下所示,lookupsid.py已成功为我提取到了目标服务器的用户和组信息http://image.3001.net/images/20180620/15294541141319.png!smallPsexec.pyPsexec.py允许你在远程Windows系统上执行进程,复制文件,并返回处理输出结果。此外,它还允许你直接使用完整的交互式控制台执行远程shell命令(不需要安装任何客户端软件)。./psexec.pyhttp://image.3001.net/images/20180620/15294541408156.png!small语法: ./psexec.py [ username [: password] @] ./psexec.py SERVER/Administrator: [email protected]如下所示,我获取到了目标服务器的远程shellhttp://image.3001.net/images/20180620/15294541647248.png!smallRpcdump.py该脚本将转储在目标上注册的RPC端点和字符串bindings列表。它也会尝试将它们与一些知名的端点进行匹配。./rpcdump.pyhttp://image.3001.net/images/20180620/15294542065547.png!small语法: ./rpcdump.py [ username [: password] @] ./rpcdump.py SERVER/Administrator: [email protected]如下所示,我成功获取到了目标RPC列表http://image.3001.net/images/20180620/15294542296636.png!smallSamrdump.py与MSRPC套件中的安全帐户管理器远程接口通信的应用程序。它将为我们列出目标系统上的用户帐户,可用资源共享以及通过此服务导出的其他敏感信息./samrdump.pyhttp://image.3001.net/images/20180620/15294542575462.png!small语法: ./samrdump.py [ username [: password] @] ./samrdump.py SERVER/Administrator: [email protected]如下所示,我从目标服务器提取了SAM信息http://image.3001.net/images/20180620/15294542817882.png!smallSniff.py一个简单的数据包嗅探脚本。使用pcapy库来侦听通过指定接口传输的数据包. /sniff.py选择正确的网卡,并开始嗅探http://image.3001.net/images/20180620/15294543021216.png!smallSniffer.py一个简单的数据包嗅探脚本,使用原始套接字来侦听与指定协议相对应的传输数据包。. /sniffer.py sniffer开始监听icmp, tcp和udp数据包http://image.3001.net/images/20180620/15294543306709.png!smallWmiexec.py它会生成一个使用Windows Management Instrumentation的半交互式shell,并以管理员身份运行。你不需要在目标服务器上安装任何的服务/代理,因此它非常的隐蔽。./wmiexec.pyhttp://image.3001.net/images/20180620/15294543514542.png!small语法: ./wmiexec.py [ username [: password] @] ./wmiexec.py SERVER/Administrator: [email protected]如下所示,我获取到了目标服务器的shellhttp://image.3001.net/images/20180620/15294543739329.png!smallWmiquery.py它允许发出WQL查询并获取目标系统WMI对象的描述信息。./wmiquery.pyhttp://image.3001.net/images/20180620/15294543989185.png!small语法: ./wmiquery.py [ username [: password] @] ./wmiquery.py SERVER/Administrator: [email protected]这将打开一个shell,你可以在其中执行WQL查询SELECT * FROM Win32_LogicalDisk WHERE FreeSpace < 209152http://image.3001.net/images/20180620/15294544245761.png!smallAtexec.py通过Task Scheduler服务在目标系统上执行命令,并返回输出结果。./atexec.pyhttp://image.3001.net/images/20180620/15294544682770.png!small语法: /atexec.py [ username [: password] @] ./atexec.py SERVER/Administrator: [email protected] systeminfo如下所示,我与目标服务器建立了远程连接,并执行了systeminfo命令,输出结果显示在了我的Kali终端上。http://image.3001.net/images/20180620/15294544952995.png!smallgetArch.py该脚本将连接目标(或目标列表上的)计算机,并使用已记录的MSRPC特征收集由(ab)安装的操作系统架构类型。./getArch.pyhttp://image.3001.net/images/20180620/15294545584247.png!small语法: ./getArch.py -target 命令: ./getArch.py -target 192.168.1.140所下所示,目标系统架构为64-bithttp://image.3001.net/images/20180620/15294546144928.png!smallIfmap该脚本将绑定到目标的MGMT接口,以获取接口ID列表。它将在另一个接口UUID列表的顶部使用该列表,并报告该接口是否被列出和/或处于侦听状态。http://image.3001.net/images/20180620/15294546357129.png!small语法: ./ifmap.py ./ifmap.py 192.168.1.140 135./ifmap.py 192.168.1.140 49154http://image.3001.net/images/20180620/15294546557217.png!small
页: [1]
查看完整版本: Impacket网络协议工具包介绍