我与网站的日常-webshell命令执行
本文比较基础,其中有一个知识点关于php执行系统命令的函数 ,我们用最简单的webshell来说说传值问题的影响,
0×01前言:
小表弟又来写文章了,这次是一个新的发现,可能对于老手来说这都是渣渣,但我会写的尽量详细,让小白看了也会懂的程度,
0×02有狗:
大佬们说的有狗多半是 “安全狗”说有WAF的时候多半是有防火墙,请求的字段被waf拦截了,这里解释一下什么事WAF 这玩意学名叫做,网站应用级防火墙,用来拦截一些非法url请求的,比如说我们在一个url后缀为
这样的后缀添加一个 %and 1=1 的时候就会被拦截,屌丝我今天日站的时候也遇到了,当时的情况是 我一句话写入了,但是用C刀,或者菜刀链接的时候显示链接被重置或者是拒绝链接,怎么都不行,比如这样:
后来查了下ip发现是阿里云的服务器,这里需要提醒大家的是,阿里云的服务器,大部分装有一个简易的杀软,也就是阿里防御套装这个东西,你在任务管理器中可以看到,这种情况多半是被杀软给拦截了,但他名没有阻止我访问我的webshell,哪怕是执行webshell都没问题,
0×03知识点:
这里需要引入 一个知识点 也就是 php执行系统命令的函数 ,我们用最简单的webshell来简单的说说
比如这句:
可能一些小白看不懂了,说这玩意都长得差不多,到底怎么玩啊,那现在屌丝就简单的说说,其实很简单的,无非就是一个传值得问题,上面这个一句话,我们就说中间的这个,开头和末尾只不过是让系统吧这句话识别成php语句,并解析,之一这里需要系统来解析我们的一句话,如果系统不解析我们的一句话,我们也无法执行命令,中间这个
post表示 用post的数据来进行交互,相当于一种加密的沟通方式,这里我们
就可以直接用firefox的插件来调用我们的webshell来执行命令了,
比如像这句:
我们先把hackbar打开,并且加载我们的webshell,这个webshell指的是包含一句话的php文件,并且可以有执行权限的,我们加载当前的url之后勾选post提交方式,然后输入我们的
webshell密码,这个密码就是一句话中的
cmd,然后用这个cmd的参数去调用php语句,让php再去执行系统命令,这是一个传递的过程,测试的话
可以用我现在的这种方法,也就是调用phpinfo的探针,注意 用“;”作为结尾,注意中英文状态
然后确定你的webshell可以执行命令,再去用系统函数去调用,然后 用 我们的函数去执行系统命令,比如
system就可以调用系统的命令,然后按照一定格式写出来就可以了,由于论坛这边的特殊字符串不能写,因为写在文章里
就会被WAF拦截,我只能上图片了,这里我们用我们的webshell调用系统php函数去执行系统命令,先从添加用户开始,
添加了普通用户还不够,很多东西我们都无法执行,这时候我们就需要用 administrators 这个用户组了,我们需要把我们新创建的用户添加到用户组,让他有一定权限,就像下图这样 我们把刚刚创建的用户添加到用户组,
友情提示一句,在他命令执行成功后 会给我们回显,有的命令就不会,这是因为php函数的输出的问题,有些时候我们不需要他输出,执行命令就好了,这个也是要根据当时的情况去酌情使用
的 一定要灵活运用,就像现在的教程一样,你只能仿照,并自己去解决问题,千万别照搬照抄,这是学习路线上的大忌!!!
0×04登录
我们用刚刚创建的用户,并且添加到了administrators用户组的账户去远程桌面登录,这里有一个窍门,就是在添加用户组的时候 是 administrators 末尾要多加一个s,因为他是一个组,是复数,明白我的意思吧,
我们很顺利的登陆上来了,默认出现的服务器配置页面仿佛是在向我们挥手,庆祝我们在学习路上更新一步,很多时候,渐渐的忘记了初心,没有了第一次拿站的激情和刺激,渐渐地变得麻木,从一开始的兴趣,变成了一些机械化的操作,或者是为了利益去做,大佬们经常说的信仰也是我最不理解的东西,也许我还小吧
0×05小技巧:
到了现在我们已经可以成功登陆服务器了,但是我们并没有administrator的权限和密码,这里就有两个思路,
第一 直接上传 wce或者猕猴桃 这两个工具是 用来在内存中抓取曾经登陆过得用户的密码,也就是说 如果
服务器被重启了,而且任何用户都没登录,那么就抓不到密码,而是想办法抓取hash去尝试破解,这边我要的是持续控制,还因为我比较懒,还不愿意用别人写的工具,所以我选择第二种方法
直接在本地用msf生成一个木马,扔上去,扔到他开机启动项里,这样在他重启之后我们依旧可以连接,这就是一种持续后门的方法之一,
还有一种是最简单的方法,那就是粘滞键的问题,在锁屏的时候 可以使用直接敲五次
shift键,windows会调用粘滞键的程序,而这个程序和cmd。EXE在同一个文件夹,也就是说
我们把这两个程序的名称去替换,那么在我们下一次登录的时候
直接用五次shift就可以直接弹出dos窗口,有了dos窗口,就可以创建用户了,对吧,你可能说权限够不够的问题,我会告诉你
这是 system用户调用的,system是啥?system直接控制硬件 比administrator权限还高,所以你懂我的意思吧
0×06会话进行时:
上图的木马
我是用系统自带的浏览器下载过来的,而不是复制的,因为我用的是kali系统,用不了复制和粘贴,所以只能从另一个服务器去调资源,然后刅本地 放在他开机启动项里
然后运行下,另一边我们的kali 开启监听,因为我的木马用的是 正向链接,就是说由本地去触发目标服务器的端口,这个端口是由我们的木马监听的,这样就为我们开启了后门,进而拿到会话
为了猥琐发育 ,拿到会话直接删掉我们webshell创建的用户,防止暴露,嘿嘿嘿 猥琐发育,下图是我删掉之后的,,删之前忘了截图,,写文章也是很苦逼的,害的留下作案截图,,扎心
这边我们可以在会话状态执行getuid看一下我们当前的用户名,很明显是我们刚刚创建的那个用户的权限,这边需要注意的事 你要先运行木马,再去删除自己这个账户,别做反了,做反了就逗比了
0×07隐藏自己,持续后门:
拿到会话
第一件事干什么?当然是进程迁移啊,因为我们运行了木马之后再目标服务器的进程管理I器中可以看到的,但是做了进程迁移之后就和别的程序捆绑在一起了,如果他要强制截止,只能重启,他一重启,系统还会在开机的时候自动运行我们的木马,这块相当于双保险,但是开机自启的木马,在内存中是可以被干掉的,这点需要注意下,这里的命令,要么写全路径,让模块自动迁移 要么就指定系统的exploit进程id,迁移到那个里面去,这两个是最靠谱的,
然后我们在用msf的持续后门模块去把我们的后门变成服务的方式,寄存在对方系统服务中,彻底的随系统而自启,但是这个服务名字比较坑爹,好在可以在msf的模块中修改,后续的话
我在给大家写如何修改msf持续后门服务的服务名
这里创建了一个服务,并且持续监听本地的 31337端口,如果你是网站管理员就需要注意下这个端口了,还有默认的 4444端口,哈哈 你们懂的,
下图就是我们做的msf的持久后门监听的端口,当然 这也是可以改的,在他的模块中搜一下就知道了,像这种参数一般是不会随意更变的
0×08密码抓取和信息泄露:
到现在你以为就结束了么?不可能的
administrator的密码我们还没拿到怎么能这样就放弃呢,对不对,嘿嘿嘿 这边我直接通过 msf的上传模块 upload
这个模块可以吧本地的程序上传到目标服务器的当前目录下,我愿意用wce 因为他小巧,简单,易用,而且kali也自带这个工具 ,我们直接把wce上传 然后切换到shell 取运行这程序,这里还可以直接 load
猕猴桃这个模块,但是猕猴桃用着不舒服,直接上传wce了
然后我们就需要切换成shell状态,相当于切换到他的cmd窗口里了,然后运行刚刚上传的wce 工具 记得加 -w参数,不加参数抓取的事 hash -w参数表示输出铭文密码,换句话说就是我们直接用的那种密码,可以复制粘贴的
0×09擦屁屁:
拿到administrator的密码,也做好了持续后门,确保万无一失了,然后做啥?当然是清理日志啊,哎哎哎 你干嘛
开什么远程桌面,不知道msf有自动清理日志的工具么?,这边我们直接在 msf的会话状态 直接执行 clearev 让msf自动清理日志,注意
这个模块是彻底的吧日志清理掉,很明显的可以看到日志变成0了,如果让管路员看到
傻子也知道自己被日了,所以这里要想好,根据实际情况去想,为什么我用这个模块,从密码你就可以知道了,特别有规律,而且全程弱口令,所以你觉得他会闲着蛋疼的看日志?,在说了
日志每个小时都会更新,只要里面的日志不永远是0 基本上可以无视,就算被发现了,清掉了我们所有的木马,我们还有administrator的密码在手
,
0×10反思:
CNVD的漏洞 90%是弱口令
完全不知道网站管理员,开发,运维脑子里想的是什么,企业推广的大数据,极有可能成为黑客的信息库,随用随取,企业又是一副是不管理高高挂起的样子,就算出了问题,也是能小就小,大不了用钱砸的态度,最后坑的是谁?还是老百姓,这就是一个恶循环,
本文就写到这里,其实在拿到了administrator的密码之后可以登上去看看他是否远程了别的服务器,可以用当前的密码去尝试登陆,很有可能中奖哦,再就是浏览器的历史记录以及
cookie,再就是数据库,最后是他在服务器安装了那些软件,有一次我就碰到了一个在服务器上挂百度云的,是一个黄色网站,好奇的打开了,,结果就发现了,之前被说成谣言的“迪丽热巴”的视频,老司机你们懂,,,,不解释,要资源我当然不能给,给你们在说我传播淫秽色请就不好了对不对,哈哈
所以说 在远程上去之后 一定要注意任何细节,都会有想不到的惊喜哦,
后记:
这段话是送给那些在背后喷我的人的一段话,别在背后喷我,有能耐我开直播
正面刚!我做的不对,你可以说,我会改,但你在背后喷我是几个意思?羡慕嫉妒恨?还是承认自己完犊子?只能耍嘴皮子?来问我问题的
我回答是我乐于助人,不回答是我的本分,凭什么你问我就得回答?没有谁欠你的,没有人该你的,努力了你就会得到,错过了也不要气馁,抓住机遇总会成功
平平淡淡,不忘初心,
我与网站的日常-webshell命令执行的更多相关文章
- webshell下执行命令脚本汇集
cmd1.asp <object runat=server id=shell scope=page classid="clsid:72C24DD5-D70A-438B-8A42-984 ...
- WordPress <= 4.6 命令执行漏洞(PHPMailer)复现分析
漏洞信息 WordPress 是一种使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站.也可以把 WordPress 当作一个内容管理系统(C ...
- 网站被植入Webshell的解决方案
什么是Webshell 从字面上理解,”Web”指需要服务器开放Web服务,”shell”指取得对服务器的某种程度的操作权限.Webshell指匿名用户(入侵者)通过网站端口,获取网站服务器的一定操作 ...
- 【技巧总结】Penetration Test Engineer[3]-Web-Security(SQL注入、XXS、代码注入、命令执行、变量覆盖、XSS)
3.Web安全基础 3.1.HTTP协议 1)TCP/IP协议-HTTP 应用层:HTTP.FTP.TELNET.DNS.POP3 传输层:TCP.UDP 网络层:IP.ICMP.ARP 2)常用方法 ...
- 转:Python安全 - 从SSRF到命令执行惨案
转:https://www.leavesongs.com/PENETRATION/getshell-via-ssrf-and-redis.html Python安全 - 从SSRF到命令执行惨案 PH ...
- 19.Imagetragick 命令执行漏洞(CVE-2016–3714)
Imagetragick 命令执行漏洞(CVE-2016–3714) 漏洞简介: Imagetragick 命令执行漏洞在16年爆出来以后,wooyun上面也爆出了数个被该漏洞影响的大厂商,像腾讯, ...
- web漏洞-命令执行、文件上传、XSS
一.命令执行 1:什么是命令执行? 命令执行漏洞是指攻击者可以随意执行系统命令.属于高危漏洞之一任何脚本语言都可以调用操作系统命令. 应用有时需要调用一些执行系统命令的函数,举个例子如:PHP中的 ...
- Web应急:网站被植入Webshell
网站被植入webshell,意味着网站存在可利用的高危漏洞,攻击者通过利用漏洞入侵网站,写入webshell接管网站的控制权.为了得到权限 ,常规的手段如:前后台任意文件上传,远程命令执行,Sql注入 ...
- [WEB安全]代码/命令执行总结
0x01 代码执行 1.1 概念 远程代码执行实际上是调用服务器网站代码进行执行. 1.2 常见执行方法 eval eval():将字符串当做函数进行执行(需要传入一个完整的语句) demo: < ...
随机推荐
- 调用数据库--stone
from Mysql_operate_class import mysql def saveMysqlData(sql, dbname="algorithm"): pym = my ...
- 2.自己搭建的一个简易的ioc容器
1.persondao类namespace MyselfIoC{ public class PersonDao { public override string ToStri ...
- 数据库链接 mybatis spring data jpa 两种方式
jdbc mybatis spring data jpa dao service webservice jaxrs jaxws springmvc w ...
- 2018软工项目UML设计(团队)
团队信息 队名:火箭少男100 本次作业课上成员 短学号 名 本次作业博客链接 2507 俞辛(临时队长) https://www.cnblogs.com/multhree/p/9821080.htm ...
- XE4 for ios 谨慎处理字符串
由于xe4 for ios 里面的字符串处理有变化,具体可以参考官方文档,这两天帮一个朋友调试ios 的 应用,由于没有注意这一块,折腾了很长时间.特此记录下来,希望其他人不要走弯路. 以下面代码为 ...
- LA 3026 && POJ 1961 Period (KMP算法)
题意:给定一个长度为n字符串s,求它每个前缀的最短循环节.也就是对于每个i(2<=i<=n),求一个最大整数k>1(如果存在),使得s的前i个字符组成的前缀是某个字符串重复得k次得到 ...
- 配置 cxf-rs spring bean 文件
http://cxf.apache.org/schemas/jaxrs.xsd http://cxf.apache.org/docs/restful-services.html 示例: <?xm ...
- html5.css3新特性
块: article section, Nav aside header footer 内容分组 future fig caption main 文本级别标签 time i b em str ...
- (回文串 Manacher )Girls' research -- hdu -- 3294
http://acm.hdu.edu.cn/showproblem.php?pid=3294 Girls' research Time Limit:1000MS Memory Limit:32 ...
- web问题
模拟form提交过程中form(hidden)时:The frame requesting access has a protocol of "http", the frame b ...