Skip to content

Commit d8f9f00

Browse files
committed
Adds Python Meterpreter tests
1 parent c073330 commit d8f9f00

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

python/meterpreter/tests/test_ext_server_stdapi.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -321,23 +321,26 @@ def test_stdapi_sys_config_getsid(self):
321321
self.assertRegex(sid, "S-1-5-.*")
322322

323323
class ExtStdNetResolveTest(ExtServerStdApiTest):
324-
def stdapi_net_resolve_hosts(self):
324+
def test_stdapi_net_resolve_host(self):
325325
# Full request from msfconsole
326326
request = b'\x00\x00\x00\x0c\x00\x02\x00\x01\x00\x00\x04\x00\x00\x00\x00)\x00\x01\x00\x0264769531726942037539492283558475\x00\x00\x00\x00\x13\x00\x01\x05xrapid7.com\x00\x00\x00\x00\x0c\x00\x02\x05\xa4\x00\x00\x00\x02'
327327
response = bytes()
328328
_result_code, result_tlvs = self.assertMethodErrorSuccess(
329329
"stdapi_net_resolve_hosts", request, response
330330
)
331331

332-
print(response)
332+
resolved_hosts = self.meterpreter_context["packet_get_tlv"](
333+
result_tlvs, self.ext_server_stdapi["TLV_TYPE_RESOLVE_HOST_ENTRY"]
334+
).get("value")
333335

334-
# TODO: Assert
335-
# user_name = self.meterpreter_context["packet_get_tlv"](
336-
# result_tlvs, self.ext_server_stdapi["TLV_TYPE_USER_NAME"]
337-
# ).get("value")
338-
#
339-
#self.assert(response, bytes('......'))
336+
resolved_hosts = self.meterpreter_context["packet_enum_tlvs"](
337+
resolved_hosts, self.ext_server_stdapi["TLV_TYPE_IP"]
338+
)
340339

340+
for host in resolved_hosts:
341+
ip = socket.inet_ntop(socket.AF_INET, host['value'])
342+
# Checks if IP is a valid IP address
343+
self.assertTrue(isinstance(socket.inet_aton(ip), bytes))
341344

342345
if __name__ == "__main__":
343346
unittest.main()

0 commit comments

Comments
 (0)