简介

Webshell是通过服务器开放的端口获取服务器的某些权限。它又称脚本木马,一般分为大马、小马、一句话木马。

大马,体积大、功能齐全、能够管理数据库、文件管理、对站点进行快速的信息收集,甚至能够提权。

小马,一般而言,我们在上传文件的时候,会被限制上传的文件大小或是拦截的情况,那么我通过小马来上传大马,实现我们想要的功能。

一句话木马,短小精悍、功能强大、隐蔽性好、使用客户端可以快速管理webshell。

产生原因

Webshell正常肯定不是开发者想主动留下的,而且也比较少遇到现成的Webshell。多数情况下,我们使用的Webshell是利用文件上传漏洞、SQL注入漏洞、RCE漏洞等,将恶意文件放到web服务器中生成的。

这个生成的Webshell也就是常说的”后门”,之后通过这个Webshell可以进行文件管理、数据库管理、远程命令执行、提权等恶意操作。

一句话木马

这里介绍两种比较常见的一句话木马。

这是php语法的一句话木马:

<?php eval(@$_POST['value']);?>
<?php echo shell_exec($_GET['cmd']);?>

看一下第一种php的一句话木马:

第一种木马

具体语法就不解释了,感兴趣的可以查一下基础教程。等看到后面的WebShell管理工具的内容,你就会知道这种一句话木马其实都是可以通过工具生成的,没必要了解具体的语法。

这种木马使用也很方便,只要将需要执行的php代码,通过post形式的接口传入就行:

利用木马执行php代码

第二种木马:

第二种木马

第二种木马的使用方法:

利用木马执行命令

WebShell管理工具

网上有挺多WebShell管理工具的,这些管理工具可以用来生成隐蔽性比较强的木马,并比较方便的连接木马进行渗透。这里简单罗列一些WebShell管理工具:

  • webacoo
  • Cknife
  • antSword
  • 冰蝎
  • weevely
  • Altman
  • Webshell
  • quasibot

这些工具中有些是Windows环境的工具,有些是Linux环境的工具。看个人需要来选择要使用哪种工具吧。Cknife在以前业内挺有名,中文名叫中国菜刀,不是很确定还有没有继续更新。

你们在挑选使用的工具时,要确认一下是否还有维护,还有更新记录。去官网或者源头下载,别使用第三方定制过的,很容易中毒。

WebShell管理工具-webacoo

webacoo是Linux环境下的命令行工具,在Kali中安装的话直接输入webacoo就可以:

webacoo安装

在这里特意介绍webacoo,主要是因为它有这些优点:

  • 编码通信内容通过cookie头传输,隐蔽性强
  • 使用方便

先来看一下帮助文档:

webacoo -h

不对所有参数做介绍了,就用webacoo演示一遍渗透过程吧。

生成木马文件:

webacoo -g -o a.php

参数-g的作用是生成木马文件,这个参数需要和-o参数一起使用。

参数-o的作用是指定输出的文件名。

可以看到生成的木马文件内容是经过编码的:

生成的木马文件

将这个木马文件通过其他可以传输文件的漏洞传给目标服务器,这里利用文件上传漏洞:

将木马文件传给目标机器

在攻击机上连接目标主机:

连接目标主机

可以从左侧的文字看出,已经不在当前攻击机的Linux终端了。

其中的参数-t表示将webacoo作为客户端使用,-u表示要连接的服务器文件地址。

连接成功后已经能做很多操作了,比如提权、取证等:

渗透成功后的操作

用wireshark抓包看一下请求的执行:

请求的数据

可以看到请求的数据被携带在cookie中,且经过了默认的base64编码。

cm是base64编码的命令,cn是服务器用于返回数据的cookie头的名,cp是返回信息定界符。

可以通过对cm的内容进行解码,确认所传的命令是不是我们输入的:

对命令解码

webacoo还有一些比较实用的参数,比如不对木马进行混淆编译的-r、指定木马使用函数方法的-f、指定返回内容携带在cookie哪个名称中的-c、指定代理的-p等等。

WebShell管理工具-weevely

weevely是预装在Kali中的,所以使用Kali的同学不用进行安装。它是一款基于python编写的webshell管理工具,其优点是跨平台,隐蔽性不错,参数随机生成并加密。但缺点是只支持php。

weevely有30多个管理模块,可以做到很多事情:

  • 执行系统命令、浏览系统文件;
  • 检查服务器常见配置错误;
  • 创建正向、反向TCP Shell连接;
  • 通过目标计算机代理HTTP流量;
  • 从目标计算机运行端口扫描、渗透内容。

weevely还支持通过密码连接,这样就不容易出现自己好不容易渗透控制的肉鸡,第二天就被人摘了桃子的情况。

先看一下帮助文档:

weevely的帮助文档

下面演示一下渗透操作。生成木马文件:

生成的木马文件

将木马文件传给目标主机:

将木马文件传给目标机器

在攻击机上连接目标主机:

连接目标主机

在连接上目标主机后,可以通过输入help命令,查看前面提到的那些丰富的管理模块:

提供的管理模块

如果你在执行了help后没有管理模块显示,那可能是少装了一个python的三方库pysocks。直接通过pip应该会失败,可以去仓库下载源码包,手动安装,源码包地址:

https://pypi.python.org/pypi/PySocks/

将源码包放到攻击机后,到解压后的目录执行安装命令:

安装pysocks

安装成功后,就能正常使用weevely的管理模块了。

查找目标系统中的弱权限隐患:

audit_filesystem

查找账户文件:

audit_etcpasswd

这个其实自己通过命令也能很容易查找到,就是不知道weevely是直接查的固定文件,还是查了etc里面的所有文件。

用目标主机扫描内网其他主机:

扫描命令的使用说明

管理模块很多,这里就不全部演示了,感兴趣可以看帮助文档。

WebShell的防护

一般可以通过静态检测和动态检测来防止被webshell渗透。

静态检测主要是指对web日志的检查,进行文本特征匹配、统计特征计算与文件关联性分析,最后对检测结果汇总,列出疑似的Webshell文件。例如,网站目录下某php文件访问量很少,且来源ip固定。

动态检查主要是指监控webshell执行时刻表现出来的特征。例如,webshell如果执行系统命令的话,会有进程,我们只要实时监控可疑进程就行。

总结

作为攻击者,要进行webshell渗透,主要是考虑如何绕过系统上传webshell,如何隐藏webshell免查杀;作为防御者,为了安全,应该考虑如何避免webshell被上传,如何查杀webshell。

渗透测试之Webshell相关推荐

  1. tomcat temp 大量 upload 文件_渗透测试之文件上传漏洞总结

    文末下载上传环境源码 客户端 js检查 一般都是在网页上写一段javascript脚本,校验上传文件的后缀名,有白名单形式也有黑名单形式. 查看源代码可以看到有如下代码对上传文件类型进行了限制: 我们 ...

  2. 渗透测试之SQL注入基础

    渗透测试之SQL注入基础 SQL注入类型 按照数据类型类型来分类 按照执行效果来分类(页面回显效果) 按照数据提交的方式来分类 判断注入类型的方法 MySQL注入基础 联合查询注入 布尔注入 时间盲注 ...

  3. 2017-2018-2 20155303『网络对抗技术』Final:Web渗透获取WebShell权限

    2017-2018-2 『网络对抗技术』Final:Web渗透获取WebShell权限 --------CONTENTS-------- 一.Webshell原理 1.什么是WebShell 2.We ...

  4. 渗透测试之后台查找,如何查找网站后台

    渗透测试之后台查找,如何查找网站后台 1.当前页面信息浏览 查看图片的相关属性 查看网站底部管理入口和版权信息 robots文件 故意请求不存在的页面 2.当前页面后台猜解 CMS指纹识别 猜解常见后 ...

  5. 渗透测试之破解密码(3)

    渗透测试之破解密码(3) 常见密码破解技术 被动在线攻击 主动在线攻击 离线攻击 彩虹表 使用彩虹表破解密码 使用非技术性方法 使用闪存驱动器窃取密码 提升权限 TRK(Trinity Rescue ...

  6. Kali渗透测试之端口扫描1——UDP、TCP、僵尸扫描、隐蔽扫描

    端口扫描 每个服务器上面都会跑很多应用,每个应用都会侦听某些端口,通过侦听端口接收来自客户端或其他用户对应用程序的访问.所以在发现目标主机存活后,我们需要知道目标主机上都开放了那些端口,应用程序的漏洞 ...

  7. @渗透测试之信息收集

    目录 渗透测试之信息收集 一.信息收集之概述 1.1 渗透一个目标系统,最常见的信息手机目标有如下几种: 1.2 信息收集的作用 二.利用搜索引擎收集信息 2.1 利用搜索引擎的收集目标主要有以下几种 ...

  8. Python渗透测试之ARP毒化和协议应用

    Python渗透测试之ARP毒化和协议应用 1. ARP毒化 ​ ARP毒化是一种比较老的渗透测试技术,通过ARP毒化技术分析并提取内网流量中的敏感信息,往往会有许多意外的收获. 1.1 工作原理 A ...

  9. 近源渗透测试之Keylogger实战

    近源渗透测试之Keylogger实战 转载,侵删 原创 大好人  来源于公众号:雷神众测 原文链接:https://mp.weixin.qq.com/s?__biz ... 8a1fcbc183d84 ...

最新文章

  1. 多维矩阵/数组变成一维数组
  2. python详细安装教程linux-Linux(Ubuntu)系统安装Python
  3. 附件文件无法保存到服务器,可能是目录属性设置问题,请与管理员联系,Discuz不能上传过大文件的解决办法...
  4. javascript保留两位
  5. 吃糖果(信息学奥赛一本通-T1193)
  6. OOA OOD OOP
  7. 返回一个不确定的对象_我有一个Android必备知识点,你确定不了解一下?
  8. SAP License:SAP传输错误所引起的系统崩溃事件反思
  9. Unity3D游戏开发之邂逅Unity3D
  10. 考研数学刷题视频资料
  11. scratch编程小游戏咬指大冒险
  12. 「京东白条」的数据架构进化之路!
  13. ERD Online 4.0.0 免费私有部署方案
  14. 黑苹果开启硬件加速(Clover)
  15. js数组操作(pop,push,unshift,splice,shift方法)
  16. echarts使用百度地图
  17. VR基础——PicoVR SDK接入及使用整理
  18. 免费Zblog站群采集管理插件工具
  19. 诚诚富众选择投资理财产品
  20. python 实现udp通信

热门文章

  1. 如何将微信二维码转换成链接
  2. stringify_如何使用Stringify使孩子的就寝时间自动化
  3. 【最新】Qt5.13及以上版本如何访问MySQL数据库
  4. 我不想一辈子和代码打交道
  5. onclick、onmousedown、onmouseup和onmousover、onmouseout、onmousemove
  6. Linux 查询公网出口ip
  7. Eclipse p2是什么
  8. 2022.1.24复盘
  9. js条件控制语句最佳实践
  10. mysql 查看是否锁表