bind_shell.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:splunk_shells 作者: TBGSecurity 项目源码 文件源码
def _core_machine_id(self, request, response):
                serial = ''
                machine_name = platform.uname()[1]
                if has_windll:
                    from ctypes import wintypes

                    k32 = ctypes.windll.kernel32
                    sys_dir = ctypes.create_unicode_buffer(260)
                    if not k32.GetSystemDirectoryW(ctypes.byref(sys_dir), 260):
                        return ERROR_FAILURE_WINDOWS

                    vol_buf = ctypes.create_unicode_buffer(260)
                    fs_buf = ctypes.create_unicode_buffer(260)
                    serial_num = wintypes.DWORD(0)

                    if not k32.GetVolumeInformationW(ctypes.c_wchar_p(sys_dir.value[:3]),
                                                     vol_buf, ctypes.sizeof(vol_buf), ctypes.byref(serial_num), None,
                                                     None, fs_buf, ctypes.sizeof(fs_buf)):
                        return ERROR_FAILURE_WINDOWS
                    serial_num = serial_num.value
                    serial = "{0:04x}-{1:04x}".format((serial_num >> 16) & 0xFFFF, serial_num & 0xFFFF)
                else:
                    serial = get_hdd_label()

                response += tlv_pack(TLV_TYPE_MACHINE_ID, "%s:%s" % (serial, machine_name))
                return ERROR_SUCCESS, response
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号