This file is indexed.

/usr/share/pyshared/impacket/dcerpc/conv.py is in python-impacket 0.9.10-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Copyright (c) 2003-2012 CORE Security Technologies
#
# This software is provided under under a slightly modified version
# of the Apache Software License. See the accompanying LICENSE file
# for more information.
#
# $Id: conv.py 529 2012-04-29 21:39:46Z bethus@gmail.com $
#
# Description:
#   Implement CONV protocol, used to establish an RPC session over UDP.
#

import array
from impacket import ImpactPacket

MSRPC_UUID_CONV = '\x76\x22\x3a\x33\x00\x00\x00\x00\x0d\x00\x00\x80\x9c\x00\x00\x00'

class WhoAreYou(ImpactPacket.Header):
    OP_NUM = 1

    __SIZE = 20

    def __init__(self, aBuffer = None):
        ImpactPacket.Header.__init__(self, WhoAreYou.__SIZE)
        if aBuffer: self.load_header(aBuffer)

    def get_activity_binuuid(self):
        return self.get_bytes().tolist()[0:0+16]
    def set_activity_binuuid(self, binuuid):
        assert 16 == len(binuuid)
        self.get_bytes()[0:0+16] = array.array('B', binuuid)

    def get_boot_time(self):
        return self.get_long(16, '<')
    def set_boot_time(self, time):
        self.set_long(16, time, '<')


    def get_header_size(self):
        return WhoAreYou.__SIZE


class WhoAreYou2(ImpactPacket.Header):
    OP_NUM = 1

    __SIZE = 24

    def __init__(self, aBuffer = None):
        ImpactPacket.Header.__init__(self, WhoAreYou2.__SIZE)
        if aBuffer: self.load_header(aBuffer)

    def get_seq_num(self):
        return self.get_long(0, '<')
    def set_seq_num(self, num):
        self.set_long(0, num, '<')

    def get_cas_binuuid(self):
        return self.get_bytes().tolist()[4:4+16]
    def set_cas_binuuid(self, binuuid):
        assert 16 == len(binuuid)
        self.get_bytes()[4:4+16] = array.array('B', binuuid)

    def get_status(self):
        return self.get_long(20, '<')
    def set_status(self, status):
        self.set_long(20, status, '<')


    def get_header_size(self):
        return WhoAreYou2.__SIZE