ソースを参照

add new test pcap

fix hashes accordingly
fix test_pcap_ips
Jens Keim 6 年 前
コミット
081fe3f7d0

+ 1 - 1
code/Attack/SMBScanAttack.py

@@ -88,7 +88,7 @@ class SMBScanAttack(BaseAttack.BaseAttack):
                               self.statistics.get_pps_received(most_used_ip_address)) / 2)
         self.add_param_value(Param.INJECT_AFTER_PACKET, randint(0, self.statistics.get_packet_count()))
 
-        rnd_ip_count = self.statistics.get_ip_address_count()/2
+        rnd_ip_count = self.statistics.get_ip_address_count()//2
         self.add_param_value(Param.HOSTING_IP, self.statistics.get_random_ip_address(rnd_ip_count))
         self.host_os = ID2TLib.Utility.get_rnd_os()
         self.add_param_value(Param.HOSTING_VERSION, get_smb_version(platform=self.host_os))

+ 2 - 3
code/Test/Lib.py

@@ -3,10 +3,9 @@ import hashlib
 
 from definitions import ROOT_DIR
 
-# TODO: generate better test pcap (1000-2000 packets)
 test_resource_dir = ROOT_DIR + "/../resources/test"
-test_pcap = ROOT_DIR + "/../resources/test/test.pcap"
-test_pcap_ips = ["192.168.189.143", "192.168.189.1"]
+test_pcap = ROOT_DIR + "/../resources/test/reference_1998.pcap"
+test_pcap_ips = ["10.0.2.15", "52.85.173.182"]
 test_pcap_empty = []
 
 """

+ 1 - 3
code/Test/test_EternalBlue.py

@@ -4,8 +4,7 @@ import unittest.mock as mock
 from Test.GenericTest import GenericTest
 from Test.Lib import test_pcap_ips
 
-# FIXME: create new hashes if new test.pcap is used
-sha_default = 'c115719657b597730ae46b42a05ac979e9d30dcfccfead1424321b1e3288e8b6'
+sha_default = 'c707492a0493efcf46a569c91fe77685286402ddfdff3c79e64157b3324dc9f6'
 
 """
 CURRENT COVERAGE
@@ -19,7 +18,6 @@ Attack/EternalBlueExploit.py       246     10    96%   62, 72, 112, 119, 126-127
 class UnitTestEternalBlue(GenericTest):
 
     def test_default(self):
-        # FIXME: maybe use another seed
         self.generic_test([['EternalBlueExploit']], sha_default)
 
 

+ 8 - 7
code/Test/test_FTPWinaXeExploit.py

@@ -4,19 +4,20 @@ import unittest.mock as mock
 from Test.GenericTest import GenericTest
 from Test.Lib import *
 
-sha_ftp_basic = '941947ccc42ea10e724d2a20626882130d62fc5dbbe007095a90f67a943ab3bf'
-sha_ftp_most_used_ip = '941947ccc42ea10e724d2a20626882130d62fc5dbbe007095a90f67a943ab3bf'
-sha_ftp_mac = 'c2e83e62bb8a15402725faef47a53c6e5afa3dd82a17435d48000058976160cb'
-sha_ftp_random_ip_src = '41ae677b553064428905682f6a17447850cc4c1b617c337e046ee6e50f51217b'
-sha_not_empty_custom_payload_empty_file = '369d59174de5f01787ea623673f320e8342ddd6be9761edb607bf635f44a3749'
-sha_empty_custom_payload_not_empty_file = '9d3ec2451b05acc72b99b40309b714bc015b6d12b5477f6490cd2f9ba8f1ffa8'
-sha_valid_ip = '941947ccc42ea10e724d2a20626882130d62fc5dbbe007095a90f67a943ab3bf'
+sha_ftp_basic = 'ad9bc7b55c3b0365c0f02ae9b9b7aafdb43acbdd8c8c274d30cb286821e772cc'
+sha_ftp_most_used_ip = 'ad9bc7b55c3b0365c0f02ae9b9b7aafdb43acbdd8c8c274d30cb286821e772cc'
+sha_ftp_mac = '388831100c907cfc6815bcc1869f30d937be29091dd8e54a734eb52f14a23f3c'
+sha_ftp_random_ip_src = 'b18c0f1d15f1afb239116e1ccec20b03716412eea58ca969f7d2ede1749409e3'
+sha_not_empty_custom_payload_empty_file = '41186fc804fb2a8fb3605be3246a5246be927e3187ea82bd2fbe2097643863a8'
+sha_empty_custom_payload_not_empty_file = 'b1f43c3147dd3684b1db4d7d370801f25de693b632b97a95b933a4d296094f31'
+sha_valid_ip = 'ad9bc7b55c3b0365c0f02ae9b9b7aafdb43acbdd8c8c274d30cb286821e772cc'
 
 """
 Name                             Stmts   Miss  Cover   Missing
 --------------------------------------------------------------------------------------------
 Attack/FTPWinaXeExploit.py         141     14    99%    67
 """
+# TODO: get 100% coverage
 
 
 class UnitTestFTPWinaXeExploit(GenericTest):

+ 1 - 3
code/Test/test_Joomla.py

@@ -4,8 +4,7 @@ import unittest.mock as mock
 from Test.GenericTest import GenericTest
 from Test.Lib import test_pcap_ips
 
-# FIXME: create new hashes if new test.pcap is used
-sha_default = '27eb51f0b0bb417eb121a874174b09cf65240bf8895d984f3158817e48f9aba2'
+sha_default = 'a45bd543ae7416cdc5fd76c886f48990b43075753931683407686aac2cfbc111'
 
 """
 CURRENT COVERAGE
@@ -19,7 +18,6 @@ Attack/JoomlaRegPrivExploit.py     127      4    97%   62, 71, 116, 123
 class UnitTestJoomla(GenericTest):
 
     def test_default(self):
-        # FIXME: maybe use another seed
         self.generic_test([['JoomlaRegPrivExploit']], sha_default)
 
 

+ 9 - 8
code/Test/test_PortscanAttack.py

@@ -4,15 +4,16 @@ import unittest.mock as mock
 from Test.GenericTest import GenericTest
 from Test.Lib import *
 
-sha_portscan_default = 'dd28509dcc55a722c57d6b462741581d7b48024cddb8b8c89fe138661fac2b07'
-sha_portscan_reverse_ports = '04f5cdab7ade15bde00f0fcf42278508da7104ac76eab543d9c4b1cbab4f67c7'
-sha_portscan_shuffle_dst_ports = 'a6ef8a714da52d7608a84f50fe9dc71a3714e8b78a62be07c4e3d5509fa03d95'
-sha_portscan_shuffle_src_ports = '218382e8feabea3c5a35834c9962034cdff6e0c90fafee899883a9a54bb38371'
-sha_portscan_mss_value_zero = 'c3847e0a3a5abf886506dc5402fbc9a3096db2fd1df16d276d6c60c6b4b4ca5f'
-sha_portscan_ttl_value_zero = 'c3847e0a3a5abf886506dc5402fbc9a3096db2fd1df16d276d6c60c6b4b4ca5f'
-sha_portscan_win_value_zero = 'c3847e0a3a5abf886506dc5402fbc9a3096db2fd1df16d276d6c60c6b4b4ca5f'
+sha_portscan_default = '6af539fb9f9a28f84a5c337a07dbdc1a11885c5c6de8f9a682bd74b89edc5130'
+sha_portscan_reverse_ports = '1c03342b7b94fdd1c9903d07237bc5239ebb7bd77a3dd137c9c378fa216c5382'
+sha_portscan_shuffle_dst_ports = '40485e47766438425900b787c4cda4ad1b5cd0d233b80f38bd45b5a88b70a797'
+sha_portscan_shuffle_src_ports = '48578b45e18bdbdc0a9f3f4cec160ccb58839250348ec4d3ec44c1b15da248de'
+sha_portscan_mss_value_zero = '8d32476a89262b78118a68867fff1d45c81f8ffb4970201f9d5ee3dfd94ba58a'
+sha_portscan_ttl_value_zero = 'ff8cf15d8e59856e0c6e43d81fa40180ebf2127042f376217cc2a20e4f21726e'
+sha_portscan_win_value_zero = 'b2fcbf72190ac3bf12192d0d7ee8c09ef87adb0d94a2610615ca76d8b577bbfb'
 sha_portscan_ip_src_random = 'c3939f30a40fa6e2164cc91dc4a7e823ca409492d44508e3edfc9d24748af0e5'
-sha_portscan_most_used_ip_in_list = 'c3939f30a40fa6e2164cc91dc4a7e823ca409492d44508e3edfc9d24748af0e5'
+sha_portscan_most_used_ip_in_list = '6af539fb9f9a28f84a5c337a07dbdc1a11885c5c6de8f9a682bd74b89edc5130'
+
 """
 CURRENT COVERAGE
 Name                             Stmts   Miss  Cover   Missing (lines)

+ 4 - 6
code/Test/test_SMBLoris.py

@@ -4,11 +4,10 @@ import unittest.mock as mock
 from Test.GenericTest import GenericTest
 from Test.Lib import test_pcap_ips
 
-# FIXME: create new hashes if new test.pcap is used
-sha_default = 'e6201c4a6b42fb86304b935ee522d4c1f655bc19a4646c4df45a64bb504a0b5c'
-sha_one_attacker = '538f584a7a12488269cb22a2986cd0e6f32f0c243c7cce72c5deb5230167897c'
-sha_sixteen_attackers = 'ca3cb549a213832e238a25eaadfc8e6c55c0b37b595ca1fc16cfca7c0990d675'
-sha_ips_in_pcap = 'bb54c042f870467021958d5f6947d21876b1fa5cda5f27da41adebac8cd44b74'
+sha_default = 'cbfb154a80546ebcf0a0d5128bcc42e4d69228c1d97ea4dda49ba156703b78c2'
+sha_one_attacker = 'a316ba1a667318ef4b8d1bf5ffee3f58dfcd0221b0cc3ab62dd967379217eb27'
+sha_sixteen_attackers = '08b17b360ee9be1657e7c437e5aef354dac374ceca3b4ee437c45c0d9d03a2ef'
+sha_ips_in_pcap = 'f299e4139780869d9f02c25ba00f1cad483a4f215d6aef4079b93f7f7e1de22a'
 
 """
 CURRENT COVERAGE
@@ -22,7 +21,6 @@ Attack/SMBLorisAttack.py           128      4    97%   67, 72, 149, 182
 class UnitTestSMBLoris(GenericTest):
 
     def test_default(self):
-        # FIXME: maybe use another seed
         self.generic_test([['SMBLorisAttack']], sha_default)
 
     def test_one_attacker(self):

+ 8 - 10
code/Test/test_SMBScan.py

@@ -3,16 +3,14 @@ import unittest.mock as mock
 
 from Test.GenericTest import GenericTest
 
-# FIXME: create new hashes if new test.pcap is used
-sha_default = '6650602f7ac54b0032504bba24c05a99ed09dcf094a0b6ea3172b95d805807f4'
-sha_one_victim_linux = '9da7ca3fe34f7a4f8d93d67b297afd198f0a4eb628171fbd25e15dc3d9bc97b5'
-sha_victim_range_winxp_hosting = '5d58804c68e1d94e12150283e4013c678f22fb819eb2207100f0341dacba88ec'
-sha_multiple_victims_macos = 'd39cd3dbdb85304d2629884118df070a78f9689ab7b3fd3a046c3706c3cd0f7e'
-sha_port_shuffle = 'd32d557c65c01f46ec3de769dc15d223ec13234016898f5ec7aaab1b9549801a'
-sha_dest_mac_only = 'af0140c0a2883927d429da82409f6bc091c9743e984111bda7c27d2bf99992ab'
-sha_ip_src_shuffle = 'c6ed7baf850ccc3f53551e9a93c0a397629eb064abae7deeafb05d84b2633b05'
-sha_smb2 = '8407a3316ba8dfb4ae610cedeeddfe4a7c0be1d420c2cad1c2750a213893618e'
-
+sha_default = '264b243c9b67978f3c892327352f4b293c9a79f6023b06b53d0af7628d171c0b'
+sha_one_victim_linux = '4928d421caaec8f2c4e5c5bb835b5521b705478779cbc8f343b77143a5a66995'
+sha_victim_range_winxp_hosting = '4c6cb5cb4f838e75b41af4feb2fd9a6fe7e1b226a38b3e8759ce3d31e5a2535e'
+sha_multiple_victims_macos = '0be79b9ad7346562f392e07a5156de978e02f4f25ae8d409b81cc6e0d726012c'
+sha_port_shuffle = '8ef501fa31135b8fea845a2be6a9605e0c3f9c4895b717f9206d485a669c2a73'
+sha_dest_mac_only = '0814dadb666e0056ef5b3a572a4971f333376b61e602acb84cb99c851845f016'
+sha_ip_src_shuffle = '6c0c9ccbedb631e4965ec36932276a1bd73b8a4aca5a5c46f01fd0a2800a064f'
+sha_smb2 = '8755a901295a90362d8041ecf1243a31fff582f5fe64555205625263c253476e'
 
 """
 CURRENT COVERAGE

+ 1 - 3
code/Test/test_SQLi.py

@@ -4,8 +4,7 @@ import unittest.mock as mock
 from Test.GenericTest import GenericTest
 from Test.Lib import test_pcap_ips
 
-# FIXME: create new hashes if new test.pcap is used
-sha_default = 'fa9a43a8b6eb959f25cf3306c9b94b0957027d91b61edd2c9906a135b814f148'
+sha_default = 'a130ecdaf5fd8c09ef8418d2dbe7bd68c54e922553eb9fa703df016115393a46'
 
 """
 CURRENT COVERAGE
@@ -19,7 +18,6 @@ Attack/SQLiAttack.py               159      5    97%   62, 71, 113, 120, 245
 class UnitTestSQLi(GenericTest):
 
     def test_default(self):
-        # FIXME: maybe use another seed
         self.generic_test([['SQLiAttack']], sha_default)
 
 

+ 3 - 2
code/Test/test_SalityBotnet.py

@@ -4,8 +4,8 @@ import unittest.mock as mock
 from Test.GenericTest import GenericTest
 from Test.Lib import test_pcap_ips
 
-sha_botnet_basic = 'bbe75f917933a9f7727d99137920a70a5f720cabc773da9e24acfd6cba45a87a'
-sha_botnet_most_used_ip_in_list ='8583e2563d2756347449aec4b1c7cf7bfc7c0a96db4885627dcf0afc9e59feff'
+sha_botnet_basic = '8ff1e400dcf01d2d2cb97312cecdb71473ea140f6406ea935f74970aecdd7305'
+sha_botnet_most_used_ip_in_list = '8ff1e400dcf01d2d2cb97312cecdb71473ea140f6406ea935f74970aecdd7305'
 
 """
 CURRENT COVERAGE
@@ -13,6 +13,7 @@ Name                             Stmts   Miss  Cover   Missing (lines)
 ---------------------------------------------------------------------------
 Attack/SalityBotnet.py           77      0    100%
 """
+# TODO: get 100% coverage
 
 
 class UnitTestSalityBotnet(GenericTest):

BIN
resources/test/reference_1998.pcap