mirror of
https://github.com/calebstewart/pwncat.git
synced 2024-11-24 01:25:37 +01:00
Updated C2 version and Windows.abspath
Windows.abspath used to cause a FileNotFoundError when the file did not exist. It now correctly resolves relative paths for files which don't yet exist.
This commit is contained in:
parent
36435fabb8
commit
3fddb23d58
@ -13,41 +13,44 @@ processes and open multiple files with this platform. However, you should be
|
||||
careful to cleanup all processes and files prior to return from your method
|
||||
or code as the C2 will not attempt to garbage collect file or proces handles.
|
||||
"""
|
||||
import base64
|
||||
import os
|
||||
import sys
|
||||
import gzip
|
||||
import json
|
||||
import os
|
||||
import stat
|
||||
import time
|
||||
import base64
|
||||
import shutil
|
||||
import signal
|
||||
import pathlib
|
||||
import readline
|
||||
import shutil
|
||||
import stat
|
||||
import subprocess
|
||||
import sys
|
||||
import tarfile
|
||||
import termios
|
||||
import readline
|
||||
import textwrap
|
||||
import time
|
||||
import subprocess
|
||||
from io import (
|
||||
BytesIO,
|
||||
StringIO,
|
||||
RawIOBase,
|
||||
TextIOWrapper,
|
||||
BufferedIOBase,
|
||||
UnsupportedOperation,
|
||||
)
|
||||
from typing import List, Union, BinaryIO, Optional
|
||||
from subprocess import TimeoutExpired, CalledProcessError
|
||||
from dataclasses import dataclass
|
||||
from io import (BufferedIOBase, BytesIO, RawIOBase, StringIO, TextIOWrapper,
|
||||
UnsupportedOperation)
|
||||
from subprocess import CalledProcessError, TimeoutExpired
|
||||
from typing import BinaryIO, List, Optional, Union
|
||||
|
||||
import pkg_resources
|
||||
import pwncat
|
||||
import pwncat.subprocess
|
||||
import pwncat.util
|
||||
import requests
|
||||
import pkg_resources
|
||||
|
||||
import pwncat
|
||||
import pwncat.util
|
||||
import pwncat.subprocess
|
||||
from pwncat.platform import Path, Platform, PlatformError
|
||||
|
||||
INTERACTIVE_END_MARKER = b"INTERACTIVE_COMPLETE\r\n"
|
||||
PWNCAT_WINDOWS_C2_VERSION = "v0.1.0"
|
||||
PWNCAT_WINDOWS_C2_RELEASE_URL = "https://github.com/calebstewart/pwncat-windows-c2/releases/download/v0.1.0/pwncat-windows-{version}.tar.gz"
|
||||
PWNCAT_WINDOWS_C2_VERSION = "v0.1.1"
|
||||
PWNCAT_WINDOWS_C2_RELEASE_URL = "https://github.com/calebstewart/pwncat-windows-c2/releases/download/{version}/pwncat-windows-{version}.tar.gz"
|
||||
|
||||
|
||||
class PowershellError(Exception):
|
||||
@ -954,8 +957,10 @@ function prompt {
|
||||
"""
|
||||
|
||||
try:
|
||||
result = self.powershell(f'Resolve-Path -Path "{path}" | Select Path')
|
||||
return result[0]["Path"]
|
||||
result = self.powershell(
|
||||
f'$ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("{path}")'
|
||||
)
|
||||
return result[0]
|
||||
except PowershellError as exc:
|
||||
raise FileNotFoundError(path) from exc
|
||||
|
||||
|
6
test.py
6
test.py
@ -16,8 +16,8 @@ with pwncat.manager.Manager("data/pwncatrc") as manager:
|
||||
|
||||
# Establish a session
|
||||
# session = manager.create_session("windows", host="192.168.56.10", port=4444)
|
||||
# session = manager.create_session("windows", host="192.168.122.11", port=4444)
|
||||
session = manager.create_session("windows", host="192.168.122.11", port=4444)
|
||||
# session = manager.create_session("linux", host="pwncat-ubuntu", port=4444)
|
||||
session = manager.create_session("linux", host="127.0.0.1", port=4445)
|
||||
# session = manager.create_session("linux", host="127.0.0.1", port=4445)
|
||||
|
||||
session.platform.su("john", "asdfasdfasdf")
|
||||
print(session.platform.Path("./nonexistent.txt").resolve())
|
||||
|
Loading…
Reference in New Issue
Block a user