impacket安装 python_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

密码: T00r

IP地址: 192.168.1.140

Kali Linux: 192.168.1.135

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

b29569fe70df13db5e834aaf51f2e6e0.png

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

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

首先,我们通过git clone命令克隆存储库,然后按以下截图所示安装Impacket。git clone https://github.com/CoreSecurity/impacket.git

cd impacket/

python setup.py install

eef1750a14f9f6eda2d708bdc5d47e51.png

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

ec739ed6a499447fe865a92d64554182.png

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

Ping.py

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

50ac1de8a91b8d787e6c9f71e1fdaf41.png

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

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

4b95fbfdd16f62292646e263fe9b7fb1.png

Lookupsid.py

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

e63f6e559e1968b31582e37ac63e61ee.png

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

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

50015f1f71e17f5df465d5bbf1606092.png

Psexec.py

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

5eae5fe17e6ac7ee19c877ac778177ec.png

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

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

c414ce25e778602c71a96bd2c5a53e50.png

Rpcdump.py

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

d6fba85f958279dc2c956156c286fead.png

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

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

96e06e7101171cb37b3d59c8696b7f00.png

Samrdump.py

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

e3d366799982f941ae94f7964877ac75.png

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

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

70776428b99bee6e62a84ad2a5b4fe58.png

Sniff.py

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

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

09acd8797b9f362bd5ebfc6106d8379e.png

Sniffer.py

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

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

593c26ca0aee6947895391739158b884.png

Wmiexec.py

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

94fbb64080ce2933241c8d4cc56a740a.png

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

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

8933e016adc7d8eca18929375f1db943.png

Wmiquery.py

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

864c550097700b408520b7b62acb9ed7.png

语法: ./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

883e285e9099f61d2c44ca1102f3dd3a.png

Atexec.py

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

9cc4869dad184009945a6efb81d62266.png

语法: /atexec.py [[domain/] username [: password] @] [Target IP Address] [Command]./atexec.py SERVER/Administrator: T00r@192.168.1.140 systeminfo

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

e3f543a3937205d5f06a86035bd44930.png

getArch.py

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

461f0d9d105cb7e488b10ec1f6ca9b24.png

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

命令: ./getArch.py -target 192.168.1.140

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

cc29591d9dfbc8784122328689fc1a20.png

Ifmap

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

5714ea184aef0e1708c13b414b8e4ce9.png

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

./ifmap.py 192.168.1.140 49154

ca4f0b2470e6baf3fd03876fca6833b4.png

,FB小编 secist 编译,转载请注明来自FreeBuf.COM

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333622.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是实数?

文章目录什么是实数有理数无理数实数的运算什么是实数 实数就是所有的有理数与无理数的集合&#xff0c;在数轴上&#xff0c;我们可以一一找到与实数相对应的点&#xff0c;更加具体化来说&#xff0c;实数也就是有限小数(整数也可以被看成是小数部位为零的小数)和无限小数的…

朝着理想坚实迈进_坚实原则:接口隔离原则

朝着理想坚实迈进以前&#xff0c;我们研究了liskov替代原理。 下一个原则是接口隔离 。 接口隔离原则&#xff08;ISP&#xff09;指出&#xff0c;不应强迫任何客户端依赖其不使用的方法。 想象一下&#xff0c;在我们的代码库中有很多方法的接口&#xff0c;尽管只有一部分…

mysql动态标签可以嵌套吗_Mysql动态嵌套游标

欢迎进入Linux社区论坛&#xff0c;与200万技术人员互动交流 >>进入 前提&#xff1a; 表一、 ddm_demand system_id demand_id quotate_end_team 1 1 team1,team5,team2 1 2 tea3,team1,team,4 pk:quotate_end_team、demand_id; 表二、 mc_team team_nam view_order tea…

什么是分数

分数原是指整体的一部分&#xff0c;或更一般地&#xff0c;任何数量相等的部分。表现形式为一个整数a和一个整数b的比&#xff08;a为b倍数的假分数是否属于分数存在争议&#xff09;。 分数表示一个数是另一个数的几分之几&#xff0c;或一个事件与所有事件的比例。把单位“1…

朝着理想坚实迈进_坚实原则:单一责任原则

朝着理想坚实迈进单一责任原则是首字母缩写词的第一原则。 “班级应该只有一个改变的理由。” 每个模块或类都应对软件提供的功能的单个部分负责&#xff0c;并且该责任应由类完全封装。 例如&#xff0c;想象一下导航软件的场景。 我们根据给定的方向&#xff08;北&#…

什么是代数数

代数数是代数与数论中的重要概念&#xff0c;指任何整系数多项式的复根。 所有代数数的集合构成一个域&#xff0c;称为代数数域。 不是代数数的数称为超越数&#xff0c;例如&#xff1a;圆周率 π、自然对数的底数 e。

oracle 容器运行_Oracle应用容器云的自由

oracle 容器运行在这篇博客文章中&#xff0c;我将介绍如何部署CloudEE封装在杜克大学应用自由尤伯杯罐子Oracle应用集装箱云端 。 在Oracle Application Container Cloud中进行部署所需的部署工件是一个ZIP归档文件&#xff0c;其中包含应用程序ber-jar和清单文件&#xff08…

为什么SpringBoot如此受欢迎?如何有效地学习SpringBoot?

SpringBoot是最流行和使用最广泛的Java框架。 有时&#xff0c;这种讨论“为什么SpringBoot如此受欢迎&#xff1f;” 来我和我的朋友/同事之间。 另外&#xff0c;我确实收到了许多人发来的电子邮件&#xff0c;询问“春天是巨大的&#xff0c;如何快速学习它&#xff1f;” 。…

树莓派python交互界面实例_玩转树莓派-RaspBerry,使用Python开发定制界面

1 准备SD卡8G以上&#xff0c;16G更佳。编译过程中&#xff0c;会耗用大量存储空间。一定在编译之前运行sudo raspi-config&#xff0c;选择expand file system扩展SD卡的分区。如果空间不够&#xff0c;会导致运行挂起。使用df -h可查看存储卡的可用容量。2 更新资源的索引清单…

什么是无理数

无理数”就是不能精确表示为两个整数之比的数&#xff0c;而并非没有道理。 无理数&#xff0c;也称为无限不循环小数&#xff0c;不能写作两整数之比。若将它写成小数形式&#xff0c;小数点之后的数字有无限多个&#xff0c;并且不会循环。 常见的无理数有非完全平方数的平方…

java依赖_java 依赖、组合、聚合与继承

java中类与类之间的关系大部分的初学者只知道java中两个类之间可以是继承与被继承的关系&#xff0c;可是事实上&#xff0c;类之间的关系大体上存在五种—继承(实现)、依赖、关联、聚合、组合。接下来&#xff0c;简单的分析一下这些关系。继承(实现)对于类来说&#xff0c;这…

获取 RPM 包常用站点

获取需要的 RPM 包常用站点&#xff1a; http://mirrors.sohu.com http://rpmfind.net http://rpm.pbone.net/

java 多线程和并行编程_Java 8中的并行和异步编程

java 多线程和并行编程并行代码是在多个线程上运行的代码&#xff0c;曾经是许多经验丰富的开发人员的噩梦&#xff0c;但是Java 8带来了许多更改&#xff0c;这些更改应该使这种提高性能的窍门更加易于管理。 并行流 在Java 8之前&#xff0c;并行&#xff08;或并发&#xf…

java bi报表工具_7款顶级开源BI(商务智能)软件和报表工具

在这个信息化时代&#xff0c;每分每秒都产生海量数据。在海量数据中&#xff0c;挖掘出有用的数据&#xff0c;并且能以较人性化、直观的方式展示这些数据&#xff0c;变得尤为重要。本文将介绍 7款顶级开源 BI(商务智能)软件和报表工具&#xff0c;用于商业数据的分析处理&am…

Linux命令之 DNF -- 新一代的 RPM 软件包管理器

文章目录一、命令介绍二、安装 DNF三、DNF 命令&#xff08;一&#xff09;主要命令1. 安装、升级和删除软件包2. 查询和检查软件包3. 执行其它功能&#xff08;二&#xff09;插件命令四、选项参数五、命令示例&#xff08;一&#xff09;安装、升级和删除软件包安装软件包安装…

抽取大小: 高斯sigma_无服务器:SLAppForge Sigma入门

抽取大小: 高斯sigma&#xff01; Cmere。 寻找某事&#xff1f; 无服务器&#xff0c;是吗&#xff1f; 在上面。 进入海峡&#xff0c;在“ Sigma”标志处右转。 &#xff08;嗯&#xff0c;还不要怪我们&#xff1b;至少我们认为这很容易&#xff01;&#xff09; 我们…

java多线程 修改优先级_Java多线程-线程的调度(优先级)

与线程休眠类似&#xff0c;线程的优先级仍然无法保障线程的执行次序。只不过&#xff0c;优先级高的线程获取CPU资源的概率较大&#xff0c;优先级低的并非没机会执行。线程的优先级用1-10之间的整数表示&#xff0c;数值越大优先级越高&#xff0c;默认的优先级为5。在一个线…

Linux 命令之 apt-mark -- 对 APT 软件包设置标记

文章目录一、命令介绍二、常用命令三、命令示例&#xff08;一&#xff09;将软件包标记为 unhold一、命令介绍 apt-mark 可以对软件包设置标记&#xff0c;列出或过滤拥有某个标记的软件包。 二、常用命令 命令说明auto标记指定软件包为自动安装manual标记指定软件包为手动…

java魔兽猎人_Java基于Swing实现的打猎射击游戏代码

package Game;import static java.lang.Math.random;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MainFrame extends JFrame {private static final long serialVersionUID 1L;private static long score 0;// 分数private static Integer…

Linux 命令之 aptitude -- APT 软件包管理工具

文章目录一、命令介绍二、常用选项三、命令示例&#xff08;一&#xff09;安装、升级和删除软件包升级系统所有的软件包将系统升级到新的发行版安全升级系统的软件包安装软件包删除软件包&#xff08;保留有关的配置文件&#xff09;彻底删除软件包&#xff08;删除有关的配置…