转载自FreeBuf.COM

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

密码: T00r

IP地址: 192.168.1.140

Kali Linux: 192.168.1.135

在正式开始使用Impacket工具之前,让我们先对目标Windows服务器执行Nmap版本扫描,以获取当前Windows Server上运行的有关服务信息。

nmap -sV 192.168.1.140

正如你在上面的截图中看到的,目标系统当前运行的服务有域服务,Kerberos服务,Netbios服务,LDAP服务和Windows RPC服务。

现在让我们从GitHub安装Impacket工具。你可以在这里获取到。

首先,我们通过git clone命令克隆存储库,然后按以下截图所示安装Impacket。

git clone https://github.com/CoreSecurity/impacket.git
cd impacket/
python setup.py install

这将在你的Kali Linux上安装Impacket。安装完成后,我们来查看下Impacket中都有哪些工具。

cd impacket/examples

可以看到其中包含了许多的python脚本工具,让我们来尝试使用其中的一些工具:

Ping.py

一个简单的ICMP ping脚本,使用ICMP echo和echo-reply数据包检查主机状态。

./ping.py

语法: ./ping.py [Source IP] [Destination IP]

./ping.py 192.168.1.135 192.168.1.140

以下是我从192.168.1.140(Windows Server)获得的ICMP响应

Lookupsid.py

通过[MS-LSAT] MSRPC接口的Windows SID bruteforcer示例,旨在查找远程用户/组。

./lookupsid.py

语法: ./lookupsid.py [[domain/] username [: password] @] [Target IP Address]

./lookupsid.py SERVER/Administrator: T00r@192.168.1.140

如下所示,lookupsid.py已成功为我提取到了目标服务器的用户和组信息

Psexec.py

Psexec.py允许你在远程Windows系统上执行进程,复制文件,并返回处理输出结果。此外,它还允许你直接使用完整的交互式控制台执行远程shell命令(不需要安装任何客户端软件)。

./psexec.py

语法: ./psexec.py [[domain/] username [: password] @] [Target IP Address]

./psexec.py SERVER/Administrator: T00r@192.168.1.140

如下所示,我获取到了目标服务器的远程shell

Rpcdump.py

该脚本将转储在目标上注册的RPC端点和字符串bindings列表。它也会尝试将它们与一些知名的端点进行匹配。

./rpcdump.py

语法: ./rpcdump.py [[domain/] username [: password] @] [Target IP Address]

./rpcdump.py SERVER/Administrator: T00r@192.168.1.140

如下所示,我成功获取到了目标RPC列表

Samrdump.py

与MSRPC套件中的安全帐户管理器远程接口通信的应用程序。它将为我们列出目标系统上的用户帐户,可用资源共享以及通过此服务导出的其他敏感信息

./samrdump.py

语法: ./samrdump.py [[domain/] username [: password] @] [Target IP Address]

./samrdump.py SERVER/Administrator: T00r@192.168.1.140

如下所示,我从目标服务器提取了SAM信息

Sniff.py

一个简单的数据包嗅探脚本。使用pcapy库来侦听通过指定接口传输的数据包

. /sniff.py

选择正确的网卡,并开始嗅探

Sniffer.py

一个简单的数据包嗅探脚本,使用原始套接字来侦听与指定协议相对应的传输数据包。

. /sniffer.py

sniffer开始监听icmp, tcp和udp数据包

Wmiexec.py

它会生成一个使用Windows Management Instrumentation的半交互式shell,并以管理员身份运行。你不需要在目标服务器上安装任何的服务/代理,因此它非常的隐蔽。

./wmiexec.py

语法: ./wmiexec.py [[domain/] username [: password] @] [Target IP Address]

./wmiexec.py SERVER/Administrator: T00r@192.168.1.140

如下所示,我获取到了目标服务器的shell

Wmiquery.py

它允许发出WQL查询并获取目标系统WMI对象的描述信息。

./wmiquery.py

语法: ./wmiquery.py [[domain/] username [: password] @] [Target IP Address]

./wmiquery.py SERVER/Administrator: T00r@192.168.1.140

这将打开一个shell,你可以在其中执行WQL查询

SELECT * FROM Win32_LogicalDisk WHERE FreeSpace < 209152

Atexec.py

通过Task Scheduler服务在目标系统上执行命令,并返回输出结果。

./atexec.py

语法: /atexec.py [[domain/] username [: password] @] [Target IP Address] [Command]

./atexec.py SERVER/Administrator: T00r@192.168.1.140 systeminfo

如下所示,我与目标服务器建立了远程连接,并执行了systeminfo命令,输出结果显示在了我的Kali终端上。

getArch.py

该脚本将连接目标(或目标列表上的)计算机,并使用已记录的MSRPC特征收集由(ab)安装的操作系统架构类型。

./getArch.py

语法: ./getArch.py -target [IP Address]

命令: ./getArch.py -target 192.168.1.140

所下所示,目标系统架构为64-bit

Ifmap

该脚本将绑定到目标的MGMT接口,以获取接口ID列表。它将在另一个接口UUID列表的顶部使用该列表,并报告该接口是否被列出和/或处于侦听状态。

语法: ./ifmap.py [Host IP Address] [Port]

./ifmap.py 192.168.1.140 135
./ifmap.py 192.168.1.140 49154

 *参考来源:hackingarticles,FB小编 secist 编译,转载自FreeBuf.COM

Impacket网络协议工具包介绍的更多相关文章

  1. SQLServer的网络协议

    一.总结 1.SQL Server访问协议包括Shared Memory.Named Pipes.TCP/IP.VIA四种,多数应用系统都是通过TCP/IP协议访问数据库.安装数据库后需要启用TCP/ ...

  2. Wireshark使用介绍(二):应用Wireshark观察基本网络协议

    TCP: TCP/IP通过三次握手建立一个连接.这一过程中的三种报文是:SYN,SYN/ACK,ACK. 第一步是找到PC发送到网络服务器的第一个SYN报文,这标识了TCP三次握手的开始. 如果你找不 ...

  3. 31.网络协议介绍tcp/udp

    网络协议 TCP:网络中传输数据的协议,打电话 解决了我可能在网络中找不到别人(数据无法传输到) 保证数据传输的稳定性,可靠性 保证数据的安全性,完整性 对方要有响应 尝试重新发送 UDP:传输数据的 ...

  4. PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析

    Python黑帽编程1.5  使用Wireshark练习网络协议分析 1.5.0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks At ...

  5. C# RFID windows 服务 网络协议方式

    上篇话说是串口方式操作RFID设备. 下面介绍网络协议方式. 设备支持断线重连. 那我们的服务也不能差了不是. 所以这个服务类也是支持的哦. 不解释上代码: namespace Rfid { /// ...

  6. CCNA网络工程师学习进程(3)常规网络设计模型与基本的网络协议

        本节介绍分层的网络设计模型与基本的网络协议,包括ARP协议,ICMP协议和IP协议.     (1)三层网络架构: 一个好的园区网设计应该是一个分层的设计.一般分为接入层.汇聚层(分布层).核 ...

  7. 对TCP/IP网络协议的深入浅出归纳

    前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网 ...

  8. linux网络协议

    网络协议 本章节主要介绍linxu网络模型.以及常用的网络协议分析以太网协议.IP协议.TCP协议.UDP协议 一.网络模型 TCP/IP分层模型的四个协议层分别完成以下的功能: 第一层 网络接口层 ...

  9. 网络存储技术介绍(1) ( based on zt)

    最近由于某同学微信发了一些网络存储的文章,开始感兴趣,稍微收集了一些 一.  网络存储技术 http://ask.zol.com.cn/q/187044.html  (yxr:很老的技术介绍吧) 网络 ...

随机推荐

  1. nginx中ngx_http_gzip_module模块

    ⽤用gzip⽅方法压缩响应数据,节约带宽gzip on;gzip_min_length 1000;gzip_proxied expired no-cache no-store private auth ...

  2. python_tkinter弹出对话框1

    tkinter提供了三个模块,可以创建弹出对话窗口:(使用必须单独导入模块) 1.messagebox 消息对话框 示例:askokcancel import tkinter # 导入消息对话框子模块 ...

  3. appium+python 【Mac】UI自动化测试封装框架介绍 <七>---脚本编写规范

    脚本的使用,注释非常关键,无论自己的后期查看还是别人使用,都可以通过注释很明确的知道代码所表达的意思,明确的知道如何调用方法等等.每个团队均有不同的商定形式来写脚本,因此没有明确的要求和规范来约束.如 ...

  4. 如何解决web大流量,高并发问题

    对于当今大流量的网站,每天几千万甚至上亿的流量,是如何解决访问量问题的呢? 以下是一些总结的方法:  第一,确认服务器硬件是否足够支持当前的流量.  普通的P4服务器一般最多能支持每天10万独立IP, ...

  5. 在stm32开发可以调用c标准库的排序和查找 qsort bsearch

    在嵌入式开发中,可以使用c标准库自带的库函数,而不用自己去早轮子,qsort 和bsearch就是其中的两个比较好用的 二分法查找,前提是已经排序好的数据.下面的代码, 如果数据为排序,则要进行排序后 ...

  6. js校验密码必须包含字母大小写、数字

    校验密码必须包含字母大小写.数字 function checkPasswordNew(s){ var str=trim(s); //var reg = /^(?![A-Z]+$)(?![a-z]+$) ...

  7. vue+axios+elementUI文件上传与下载

    vue+axios+elementUI文件上传与下载 Simple_Learn 关注  0.5 2018.05.30 10:20 字数 209 阅读 15111评论 4喜欢 6 1.文件上传 这里主要 ...

  8. SPOJ GSS1 - Can you answer these queries I(线段树维护GSS)

    Can you answer these queries I SPOJ - GSS1 You are given a sequence A[1], A[2], -, A[N] . ( |A[i]| ≤ ...

  9. 【CTS2019】珍珠【生成函数,二项式反演】

    题目链接:洛谷 pb大佬说这是sb题感觉好像有点过fan...(我还是太弱了) 首先,设$i$这个数在序列中出现$a_i$次,要求$\sum_{i=1}^D[a_i \ mod \ 2]\leq n- ...

  10. MySQL服务器基准测试

    一.基准测试简介 1.什么是基准测试 数据库的基准测试是对数据库的性能指标进行定量的.可复现的.可对比的测试. 基准测试与压力测试 基准测试可以理解为针对系统的一种压力测试.但基准测试不关心业务逻辑, ...