WebShell入门
webShell演化简史:小马-大马-一句话木马-加密通讯木马
一、木马-加密通讯木马-内存马:
webshell也是一种网页,若想实现相应的代码,功能越多(文件上传、命令执行、读取目录…),代码量越大。- 代码量越大,文件
体积越大,越不灵活。因此,通常先上传小马(至少具备文件上传功能),随后利用小马上传大马。
- 代码量越大,文件
二、一句话木马时代:
eval或者其他类似函数,把字符串当做命令执行,把payload通过POST传参给一句话木马。不同的恶意指令对应不同的payload,灵活多变。
三、webShell检测与免杀
静态网页 动态网页
- 静态资源
.html, css 图片 表格等 - 动态资源
js php sp jsp java 代码/命令->解释/编译->执行->实现效果- 成功写入/上传至
目标服务器+能够找到webShell路径并成功访问->被外部系统解析->webshell成功运行 - 多数检测设备/程序的一般检测原理:`字符串匹配/规则匹配/正则匹配
- 字符串混淆:
ev.al、eVAL- bing du jing tai cha sha
- 免杀,绕
WAF- 传统的绕过方式:大小写混写,
字符串替换、加入无关字符、切割具有特征的字符串 base64编码、ROT编码、Unicode编码等等- 新一代绕过方式:
- 利用现代密码学,对
流量进行加密、混淆消除特征。
- 利用现代密码学,对
- 传统的绕过方式:大小写混写,
- 字符串混淆:
WAF性能约束,应用场景约束另辟蹊径:通过更本质的方式,检测程序运行。在程序更核心的执行层进行监控,发现恶意代码
IAST- 特点:
准确性更高,性能损耗更大
- 特点:
中国菜刀蚁剑哥斯拉冰蝎
webshell流量分析 数据已经进行加密(RSA)?如何分析数据?- 流量分析弱特征,不查看源文件,没有办法获取私钥,通过周围的外围特征查看流量;
- 代码比较
使用wireshark 抓取 webshell 流量
webshell 查杀工具
- D盾
- 也是免费
WAF,只支持Windows+IIS
- 也是免费
- 河马
- 支持在线查杀和客户端查杀
- 安全狗
- 也是免费
WAF,支持Window、Linux+IIS、Apache
- 也是免费
- VT
- 集
病毒查杀、威胁情报、在线沙箱于一体的网站
- 集
四、加解密
对称加密 vs 非对称加密
对称加码:知道如何加密就知道如何解密
以凯撒密码为例:
原文:nihao
加密密钥:3
密文:qlkdr
解密秘钥:-3
非对称加密:加密是一条路,解密是另一条路
加密使用一个秘钥,解密使用另一个秘钥
对抗加密恶意流量的技术前沿之一:通过机器学习,深度学习识别
加密混淆的恶意流量。
五、实验
为SSH配置秘钥登录
要为SSH配置密钥登录,您需要完成以下步骤:
- 生成
公共/私有密钥对
使用ssh-keygen命令生成公共/私有密钥对。在终端中输入以下命令:
ssh-keygen -t rsa
按照提示输入密钥文件的名称和密码(如果需要),然后生成公共/私有密钥对。
- 复制公共密钥到服务器
使用ssh-copy-id命令将公钥复制到服务器上的authorized_keys文件中。在终端中输入以下命令:
ssh-copy-id user@server_address
其中,user是您要登录的用户名,server_address是服务器的IP地址或域名。
- 配置SSH客户端
打开SSH客户端配置文件(通常位于~/.ssh/config)并添加以下行:
Host server_alias
HostName server_address
User user
IdentityFile /path/to/private/key
其中,server_alias是服务器别名,server_address是服务器的IP地址或域名,user是您要登录的用户名,/path/to/private/key是您生成的私有密钥文件的路径。
- 连接到服务器
现在,您可以通过在终端中输入以下命令来连接到服务器:
ssh server_alias
您将被提示输入密钥文件的密码(如果设置了密码),然后您将被认证并成功登录到服务器。
- Success



