发现impacket 包的2个问题,希望对大家有用

先说一下发现的两个问题吧

smb.py中:
1. nt_create_andx 函数,缺少设置 权限参数 没改前
def nt_create_andx(self,tid,filename):
Disposition = mode

 

这个mode 参数没有个给定设置,而默认的确是只读


mode=01 只读
mode=02 只创建
mode=03 读写
设置权限参数 参数

修改后 nt_create_andx 多了一个参数,如下:默认我给你的是读写
def nt_create_andx(self,tid,filename,mode=0x03):
而类SMBNtCreateAndX_Parameters() 也要修改一下
class SMBNtCreateAndX_Parameters(SMBAndXCommand_Parameters):
    structure = (
        ('_reserved', 'B=0'),
        ('FileNameLength','<H'),
        ('CreateFlags','<L'),
        ('RootFid','<L=0'),
        ('AccessMask','<L'),
        ('AllocationSizeLo','<L=0'),
        ('AllocationSizeHi','<L=0'),
        ('FileAttributes','<L=0'),
        ('ShareAccess','<L=3'),
        ('Disposition','<L'), (原来是:   ('Disposition','<L=1'),
        ('CreateOptions','<L'),
        ('Impersonation','<L=2'),
        ('SecurityFlags','B=3'),
    )


第二个是winreg.py windows远程共享操作
winreg.py
1.regOpenKey()
    class WINREGOpenKey(ImpactPacket.Header):
                setkeyname():
                 原始(padlen = 2 * (int((namelen+2) / 4) * 4 + 2 - namelen))
                修改后(padlen = 2*namelen-int(2*namelen/4)*4+4)
计算namelen4的倍数出错, 为了符合传送数据格式需要计算一个值来填充,在一些情况下会出错

 

 

Impacket是一个用于与Windows网络进行交互的Python库。它提供了多种协议的实现,括SMB(Server Message Block)、NTLM认证、LDAP(Lightweight Directory Access Protocol)等。你可以使用Impacket来执行一些网络渗透测试任务,如密码破解、远程执行命令等。 要开始使用Impacket,你需要先安装它。你可以通过pip命令来安装Impacket: ``` pip install impacket ``` 安装完成后,你可以在Python脚本中导入Impacket的模块,并使用其中的函数和类来实现你的需求。例如,如果你想执行SMB连接和文件操作,你可以使用impacket.smbclient模块中的函数和类。 以下是一个简单的示例代码,演示了如何使用Impacket来连接SMB服务器并列出共享目录中的文件: ```python from impacket import smbclient # SMB服务器的IP地址 target = '192.168.0.1' # SMB服务器的用户名和密码 username = 'user' password = 'password' # 连接SMB服务器 conn = smbclient.SMBConnection(target, target) conn.login(username, password) # 列出共享目录中的文件 shares = conn.listShares() for share in shares: print(f'Share: {share.get_name()}') for f in conn.listPath(share.get_name(), '*'): print(f' File: {f.get_longname()}') # 断开连接 conn.close() ``` 这只是Impacket的一个简单示例,你可以根据自己的需求使用Impacket库中的其他功能。不过,请注意,在进行网络渗透测试或其他类似活动时,请遵守法律法规并获得合法授权。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值