#原创分享#命令执行测试
  

adds 43929人觉得有帮助

{{ttag.title}}
本帖最后由 adds 于 2021-2-1 20:53 编辑

    command execution又称为命令执行或系统命令注入攻击。网站使用了于系统命令执行的高危函数时,恶意用户可以通过命令变形,间接控制网站后台系统。   
    目前系统命令注入主要用于asp/php/jsp等网页中嵌入webshell后,执行各种命令提权或收集系统信息。         
    打开http://dvwa.pte.com:8080网站,这里由于环境原因,做了端口映射,一般直接输入dvwa.pte.com即可。              
      一、模拟攻击
      1、登录     
       5170160128a43e5487.png
      默认密码为**/**

     2、选择command executino选项     
    先输入baidu.com测试下。点击submit执行。
    2510960128a7b26720.png         
    执行成功。   
   显示有乱码,重置了dvwa也一样。有可能是对方是中文系统原因。      
    6868760128a9d27b93.png   

    翻译下:   
    Ping baidu.com [220.181.38.148] with 32 bytes of date:     
    Reply from 220.181.38.148: bytes=32 time=16ms TTL=128   
    Reply from 220.181.38.148: bytes=32 time=6ms TTL=128     
    Reply from 220.181.38.148: bytes=32 time=499ms TTL=128     
    Reply from 220.181.38.148: bytes=32 time=16ms TTL=128
     Ping statistics for 220.181.38.148:       packet: Sent=4,Received=4,lost=0(0% loss),     Approxmimate round trip times in milli-seconds:       Minimum=6ms,Maxmum=499ms,Average=134ms。
    可以看出这是一个标准的Windows ping过程,得出的结果也没有任何的处理和过滤。
     windows的ping本身是支持不少参数了,接下来,我们尝试一下是不是可以输入不只是IP,还可以输入其他ping参数。     

     3、我们使用服务器本身的地址去测试。
     服务器地址为:192.168.80.134
      856036012b8c020692.png

    同样执行成功,且可以带参数n,n表示只ping一次。

    4、尝试使用系统命令获取更多信息
    使用whoami查看当前用户
    206166012b9d29b92d.png

    当前用户为system用户

   使用set命令查看操作系统信息
    204356012ba4cc810c.png

   可以看到是windows NT的系统

   使用systeminfo获取更多的信息
    177256012bba6ce400.png

    782226012bbbed4a6e.png

   通过systeminfo命令我们知道了目标系统为windows server 2008,部署在VMware的环境上,且知道了其IP地址为192.168.80.134。

    尝试使用echo %username%输出当前用户
    68436012bd3513c20.png

   正常来说,这里输出的是username,即类似**istrator、guest这种。但这里输出了计算机名。

   使用dir查看当前文件夹下的内容:
    227486012be2b2a77d.png

   可以看到当前文件目录为D盘下的exec文件夹。

   查看系统有哪些用户,同时使用>null将Ping的返回值传递到null不再显示,这样可以直接看到命令的返回值。
    458146012c014e7673.png

   5、新增用户
    添加命令: net user adds 123456 /add
    743706012c3703b22f.png

        执行后没有回显。这里没有回显,有可能是密码不够复杂,可以尝试修改为复杂度高的密码。
         965426012cc36cefd2.png 210086012cc445ff70.png

    使用net user确认下。
    531796012c3af43556.png

    系统里已经存在了adds用户。
    查看该用户的所属组:
    47326012c4edcf6f7.png

    提升当前用户的所属组权限。
    net localgroup **istrator adds /add
    215596012c5c682c3a.png

   再使用net user确认下:
    354476012c5f1d1122.png

    adds用户已经具备了**istrator用户组的权限。

   6、开启mstsc服务
   查看该服务器是否开了3389端口:
   netstat -ano
    28776012c695229c9.png

   服务端没有开启mstsc服务。

   使用命令开启:
   net start termservice,针对服务没有启动的情况,如里是注册表里禁了,就要修改注册表。
    634246012c7145201f.png


   再使用netstat -ano | findstr 3389验证下
    484666012c91578196.png



   可尝试使用adds账号进行远程登录。
   远程登录到主机桌面。
    658366012cb7b21918.png

   二、防护测试
   1、将AF部署在攻击机和耙机中间。
    逻辑环境大概如下:
    513436017f2211b4f3.png

     实际环境:
     攻击机位于HCI上。
      254326017f2445359e.png

     耙机位于VMware Workstation上。
      976146017f274b1f9f.png

    2、AF部署
    AF的应用策略配置一个全放通的策略。数据先过应用控制模块,所以这里要放通数据。
    451846017f2a209ca9.png

    配置一个防护策略。
    404556017f2c75d4ea.png

    3、执行完攻击行为后,查看防火墙日志
    在【监控】--【日志】--【安全日志】下可以查看到攻击日志。
    792996017f30c2a7eb.png

     查看详细的命令执行攻击:
      590366017f33e8b620.png

     4、AF的安全日志生成大概要4-5分钟时间,可以看大屏快一些。
    路径:【总览】-【业务安全】--【攻击事件汇总】-【投屏显示】
    347006017f3f2ab871.png

    投屏:
    224776017f43cbea0d.png

    5、如何防护
     将AF的【安全防护策略】中的动作由“允许”变为“拒绝”即可。
    配置完再看下安全日志:
    442216017f5eb490e5.png

    854986017f6014a80a.png

    6、代码审查
    看一下关于测试页面的源代码:
    281906017f6a639e6e.png

    代码逻辑如下:
    提交的输入框内容点击submit后,通过post动作传递给服务器,并存储在$target变量中;判断系统类型,如果是Windows NT,就用ping $target,若不是,则使用linux的ping命令,即ping -c 3 $target。

    查看上面的代码,发现用户输入的内容没有做任何过滤,直接传递给了shell_exec这个php函数,这个函数的作用是什么呢?
    shell_exec
    (PHP4,PHP5)
    shell_exec-Execute command via shell and reture the complete output as a string

    shell_exe的作用是在系统shell中执行一个命令,比如linux的bash、windows的cmd等。
    shell会有很多功能,多命令依次执行(linux使用“;”,windows使用“&”),多命令按成功顺序执行(Linux和windows使用“&&”),多命令失败顺序执行(Linux和windows使用“||”)。

    除了上面使用AF进行防护外,还可以使用过滤非法字符的方式进行。
    比如:
    125336017f8ba25eef.png

    此页面将命令中出现的“;”和“&”全部替换为“ ”空格,那么通过&传递的命令就会执行失败,因此提高了安全性。

打赏鼓励作者,期待更多好文!

打赏
60人已打赏

TCN 发表于 2021-2-2 10:36
  
学习一下安全测试,这个属于安全方向的内容了吧
zhao_HN 发表于 2021-2-2 10:38
  
使用systeminfo获取更多的信息,这个WINDOWNS系统都可用
zwangxin 发表于 2021-2-3 14:30
  
这个好像是个公共的安全实验网站吧。
新手719447 发表于 2021-2-3 15:06
  
学习一下安全测试  使用systeminfo获取更多的信息,这个WINDOWNS系统都可用
新手394045 发表于 2021-2-4 14:50
  
好好学习一下
憨憨的IT小白 发表于 2021-2-4 15:58
  

评论是对作者最大的鼓励! +8 S豆 详情>

果然是高手在民间,楼主帖子写的不错,很有参考价值,还想看更多精彩分享,期待楼主下一篇好帖!
瞭望星空 发表于 2021-2-7 08:17
  
楼主帖子写的不错,很有参考价值,期待楼主下一篇好帖
稚于最初 发表于 2021-2-7 11:33
  
感谢分享,学习了
新手780102 发表于 2021-2-7 12:48
  
感谢楼主的精心分享,必须点赞
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
每周精选
干货满满
技术咨询
信服课堂视频
标准化排查
秒懂零信任
自助服务平台操作指引
新版本体验
产品连连看
安装部署配置
功能体验
GIF动图学习
玩转零信任
2023技术争霸赛专题
技术晨报
安全攻防
每日一记
深信服技术支持平台
天逸直播
华北区交付直播
社区帮助指南
畅聊IT
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
运维工具
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
通用技术
卧龙计划
华北区拉练
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV

本版版主

396
135
63

发帖

粉丝

关注

本版达人

新手61940...

本周建议达人

BGP网络

本周分享达人

BGP网络

本周提问达人