博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我与网站的日常-webshell命令执行
阅读量:5773 次
发布时间:2019-06-18

本文共 4268 字,大约阅读时间需要 14 分钟。

本文比较基础,其中有一个知识点关于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指的是包含一句话的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状态,相当于切换到他的里了,然后运行刚刚上传的wce  工具   记得加 -w参数,不加参数抓取的事 hash  -w参数表示输出铭文密码,换句话说就是我们直接用的那种密码,可以复制粘贴的

0×09擦屁屁:

    拿到administrator的密码,也做好了持续后门,确保万无一失了,然后做啥?当然是清理日志啊,哎哎哎 你干嘛 开什么远程桌面,不知道msf有自动清理日志的工具么?,这边我们直接在 msf的会话状态  直接执行 clearev  让msf自动清理日志,注意 这个模块是彻底的吧日志清理掉,很明显的可以看到日志变成0了,如果让管路员看到 傻子也知道自己被日了,所以这里要想好,根据实际情况去想,为什么我用这个模块,从密码你就可以知道了,特别有规律,而且全程弱口令,所以你觉得他会闲着蛋疼的看日志?,在说了 日志每个小时都会更新,只要里面的日志不永远是0  基本上可以无视,就算被发现了,清掉了我们所有的木马,我们还有administrator的密码在手 ,

0×10反思:

CNVD的漏洞 90%是弱口令 完全不知道网站管理员,开发,运维脑子里想的是什么,企业推广的大数据,极有可能成为黑客的信息库,随用随取,企业又是一副是不管理高高挂起的样子,就算出了问题,也是能小就小,大不了用钱砸的态度,最后坑的是谁?还是老百姓,这就是一个恶循环,

    本文就写到这里,其实在拿到了administrator的密码之后可以登上去看看他是否远程了别的服务器,可以用当前的密码去尝试登陆,很有可能中奖哦,再就是浏览器的历史记录以及   cookie,再就是数据库,最后是他在服务器安装了那些软件,有一次我就碰到了一个在服务器上挂百度云的,是一个黄色网站,好奇的打开了,,结果就发现了,之前被说成谣言的“迪丽热巴”的视频,老司机你们懂,,,,不解释,要资源我当然不能给,给你们在说我传播淫秽色请就不好了对不对,哈哈 所以说  在远程上去之后  一定要注意任何细节,都会有想不到的惊喜哦,

后记:

这段话是送给那些在背后喷我的人的一段话,别在背后喷我,有能耐我开直播 正面刚!我做的不对,你可以说,我会改,但你在背后喷我是几个意思?羡慕嫉妒恨?还是承认自己完犊子?只能耍嘴皮子?来问我问题的 我回答是我乐于助人,不回答是我的本分,凭什么你问我就得回答?没有谁欠你的,没有人该你的,努力了你就会得到,错过了也不要气馁,抓住机遇总会成功    平平淡淡,不忘初心,

转载地址:http://wbaux.baihongyu.com/

你可能感兴趣的文章
Java架构师面试题系列整理(大全)
查看>>
延伸产业链 中国产粮大省向“精深”问发展
查看>>
消费贷用户70%月收入低于5000元 80、90后是主要人群
查看>>
2018年内蒙古外贸首次突破1000亿元
查看>>
CTOR有助于BCH石墨烯技术更上一层楼
查看>>
被遗忘的CSS
查看>>
Webpack中的sourcemap以及如何在生产和开发环境中合理的设置sourcemap的类型
查看>>
做完小程序项目、老板给我加了6k薪资~
查看>>
java工程师linux命令,这篇文章就够了
查看>>
关于React生命周期的学习
查看>>
webpack雪碧图生成
查看>>
搭建智能合约开发环境Remix IDE及使用
查看>>
Spring Cloud构建微服务架构—服务消费基础
查看>>
RAC实践采坑指北
查看>>
runtime运行时 isa指针 SEL方法选择器 IMP函数指针 Method方法 runtime消息机制 runtime的使用...
查看>>
LeetCode36.有效的数独 JavaScript
查看>>
Scrapy基本用法
查看>>
PAT A1030 动态规划
查看>>
自制一个 elasticsearch-spring-boot-starter
查看>>
软件开发学习的5大技巧,你知道吗?
查看>>