ntlm-parser
Version:
Check and understand the content of a NTLM message
47 lines • 2.2 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const assert_1 = __importDefault(require("assert"));
const index_1 = require("../src/index");
describe('NTLM TYpe 1 Unit Test', () => {
it('should parse NTLM type 1 message', () => {
const base64 = 'TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAKALpHAAAADw==';
const props = index_1.ntlmParse(base64);
assert_1.default.deepStrictEqual(props, {
messageType: 'NEGOTIATE_MESSAGE (type 1)',
flags: 'UNICODE OEM NTLMSSP_REQUEST_TARGET NTLM ALWAYS_SIGN EXTENDED_SESSIONSECURITY VERSION 128 56',
suppliedDomain: { length: 0, allocated: 0, offset: 0 },
suppliedWorkstation: { length: 0, allocated: 0, offset: 0 },
osVersionStructure: {
majorVersion: 10,
minorVersion: 0,
buildNumber: 18362,
unknown: 15,
},
suppliedDomainData: '',
suppliedWorkstationData: '',
});
});
it('should NTLMT1_hex', () => {
const hex = '4e544c4d53535000010000000732000006000600330000000b000b0028000000050093080000000f574f524b53544154494f4e444f4d41494e';
const base64 = Buffer.from(hex, 'hex').toString('base64');
const props = index_1.ntlmParse(base64);
assert_1.default.deepStrictEqual(props, {
messageType: 'NEGOTIATE_MESSAGE (type 1)',
flags: 'UNICODE OEM NTLMSSP_REQUEST_TARGET NTLM OEM_DOMAIN_SUPPLIED OEM_WORKSTATION_SUPPLIED',
suppliedDomain: { length: 6, allocated: 6, offset: 51 },
suppliedWorkstation: { length: 11, allocated: 11, offset: 40 },
osVersionStructure: {
majorVersion: 5,
minorVersion: 0,
buildNumber: 2195,
unknown: 15,
},
suppliedDomainData: 'DOMAIN',
suppliedWorkstationData: 'WORKSTATION',
});
});
});
//# sourceMappingURL=type1.spec.js.map