Code Monkey home page Code Monkey logo

c3's People

Contributors

adm1npanda avatar alexkornitzer avatar felixm-pw avatar grzryc avatar jaszmigi avatar mgeeky avatar rgmz avatar sunnyneo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

c3's Issues

Network Error

I am using C3 with dotnet core on a debian 9 distro.

I launch both the WebController with custom URI and port and the the Gateway executable with wine64 without any problem. But when I browse to the webcontroller web UI it keeps giving a Network Error message and I am not able to figure out why. I cannot change and save the webcontroller configuration from the web ui.

Thanks.

Mike

Early function return in LoadPe() fails to release memory in error branch

		//
		// STEP 8.1: Add Exception handling
		//
#if defined _M_X64
		auto pImageEntryException = &ntHeaders->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXCEPTION];

		if (pImageEntryException->Size > 0)
		{
			auto functionTable = Rva2Va<PRUNTIME_FUNCTION>(baseAddress, pImageEntryException->VirtualAddress);
			DWORD count = pImageEntryException->Size / sizeof(IMAGE_RUNTIME_FUNCTION_ENTRY);
			if (!RtlAddFunctionTable(functionTable, count, (DWORD64)baseAddress))
			{
+				VirtualFree((void*)baseAddress, 0, MEM_RELEASE);
				return 1;
			}
		}

#elif defined _M_IX86

https://github.com/FSecureLABS/C3/blob/d01c3a42d2ecb525a368c10d5b5f82c22457715e/Src/CebuLoader/LoadPe.cpp#L330

Network Error

I started Startwebcontroller.cmd and then I visited my localhost: 52935, but he kept prompting Network error, and I couldn't create a new GATEWAY button. It doesn't seem to work

Controller error: Gateway <ID> already connected

Occasionally on gateways when I try to relaunch a gateway that was closed previously I'll receive the following error:
image

C3 Host: Docker container based on the mcr.microsoft.com/dotnet/core/aspnet:2.1-bionic image
Gateway Host: Separate Windows 10 1909 connected to the C3 instance
Channels: So far I've gotten the error with both OneDriveRest and Slack channels.

I've run process listings confirming that the gateway process is no longer running, and the C3 UI gateway indicator is yellow.
image

In response, I usually have to create a new gateway and start from scratch.

Update dependency 'vis'

You are still using a very outdated version 4.21 of vis.
This version is not supported anymore!

Please update to the new libraries:
https://github.com/visjs

Feel free to contact us if you need any support during the transition :-)

Failed to open Session Handle (Windows 7 / Server 2008)

Multiple Channels fail to create a session on Windows 7 / Server 2008. This appears to be an error in WinHTTP.

image

Tracing this through the Visual Studios debugger, I found that the exception was being thrown on the HTTPClient constructor.

image

An exception is thrown that gets caught here:

image

I also tried the Dropbox channel and received the error in the same part of the Dropbox channel.

image

My debugger doesn't enter the constructor when a breakpoint is set on it (for some reason I am not sure of), so I cannot quite tell what is wrong. But running net helpmsg 87 to get the error type, I can see that the exception is due to an invalid parameter. Googling "Failed to open Session", I find a couple references to the WinHTTP API.

O365 Outlook/OneDrive missing header and Base64 error for O365 Task

Hello,

I don't know if it was something related to how I setup the Azure applications, but I had to add the header (client_secret) to the RefreshAccessToken function and update the GetCapabilities to ask for the client_secret. Also, I had to update the OutlookTask OnReceiveFromChannel function due to an error Base64 decoding the task contents.

Compiling

Can the program be compiled using vs 15?

GetLdrpHandleTlsOffsetData for 21H1?

I cannot seem to find new pattern for recent windows version 21H1, thats what I've tried:

std::pair<std::string, size_t> GetLdrpHandleTlsOffsetData()
{
        return { "\x74\x33\x44\x8d\x43\x09", 0x2C };
}
DWORD LdrpHandleTlsData(void* baseAddress)
{
        auto ldrpHandleTlsData = GetLdrpHandleTlsData();
	printf("ldrpHandleTlsData : %p \r\n", ldrpHandleTlsData);
	LDR_DATA_TABLE_ENTRY ldrDataTableEntry{};
	ldrDataTableEntry.DllBase = baseAddress;
	return ((LdrpHandleTlsData_t)ldrpHandleTlsData)(&ldrDataTableEntry);
}
auto TlsData = FSecure::Loader::UnexportedWinApi::LdrpHandleTlsData((void*)baseAddress);
printf("TlsData : %d \r\n", TlsData);

Results into this on 21H1 Windows OS:

ldrpHandleTlsData : 00007FFDF0137C14
TlsData : -1073741819

Thanks

Exception caught

Gateway|debug> Caught exception while parsing action, throwing exception: unable to create channel

No longer works with Covenant after update

It seems like Covenant changed their API. It no longer has the /listener/createbridge. results in 400 error.

Gateway|Error> Caught an exception while parsing Action. [Covenant] Error setting up BridgeListener, HTTP resp: 400

question

Will the C3 project be updated? I need some channel configuration documents very much

Throwing exception: unable to create channel

Select (double-click) the gateway or relay on which to create the channel.
Open the command centre screen by selecting the “Command Centre” button.
In the “Select Command” dropdown, select a command such as “AddNegotiationChannelSlack”.
Fill out the required information, such as any credentials and application specifics.
Click the “Send Command” button.

image

IP ADDRESS AND PORT TO BIND TO

i will like the app to bind to my external ip and as such configured my external Ip within the code. yet it seems it only want to detect my internal Ip and for that reason gives an error as address not in context.

Custom Payload

Hey,

First of all let me thank you for bringing this amazing tool to the community, it is truly a work of art.
That being said, I've been trying to tinker around with it and customize the injection procedure (Common\FSecure\WinTools\InjectionBuffer.cpp and Common\FSecure\C3\Interfaces\Peripherals\Beacon.cpp) to not use the stager provided by the team server.
I reached the point where the beacon and the Relay are communicating on the same named pipe and the beacon successfuly appears on the Team Server, but for some reason after a single command the Gateway seems to stop reporting the beacon is alive to the team server, even though the process is still running on the victim machine with the Beacon still being located in memory correctly, and the SMB named pipe still active.

My question is basically what would be the best practise of customizing the used payload, as I've seen the ByteView class being used to call for the payload, but was hoping maybe I missed a really simple solution demonstrated somewhere else?

Thanks anyways,
Yigal

Issues with SendHttpRequest function in SlackApi.h

As it works with the Slack channel, this is for reference if the same function is to be used in the development of other channels. You mention in the code comments that the default request method is GET, but it appears to actually send a POST request with a 0 body due to weird handling of the NULL value passed into the data parameter. This works fine with Slack's API as they don't seem to care about the difference, but does raise issues when other API's (Microsoft for example) require it to be a GET request.

Thanks for the awesome project!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.