Skip to content

Commit cd77b85

Browse files
author
kali
committed
Maj submlodules
1 parent 865304f commit cd77b85

File tree

12 files changed

+40
-44
lines changed

12 files changed

+40
-44
lines changed

.gitmodules

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,6 @@
44
[submodule "thirdParty/donut"]
55
path = thirdParty/donut
66
url = https://github.com/maxDcb/donut.git
7-
[submodule "thirdParty/coffLoader/coffLoader"]
8-
path = thirdParty/coffLoader/coffLoader
9-
url = https://github.com/maxDcb/COFFLoader.git
10-
[submodule "thirdParty/coffLoader/coffPacker"]
11-
path = thirdParty/coffLoader/coffPacker
12-
url = https://github.com/maxDcb/COFFPacker.git
137
[submodule "core"]
148
path = core
159
url = https://github.com/maxDcb/C2Core.git

CMakeLists.txt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ option(BUILD_TEAMSERVER "Enable Teamserver config" ON)
3131
add_definitions(-DBUILD_TEAMSERVER)
3232

3333
if(WITH_TESTS)
34-
add_definitions(-DBUILD_TESTS)
3534
set(SPDLOG_ACTIVE_LEVEL SPDLOG_LEVEL_DEBUG)
3635
endif()
3736

@@ -47,21 +46,26 @@ add_subdirectory(libs)
4746
add_subdirectory(thirdParty)
4847
include_directories(thirdParty/base64)
4948
include_directories(thirdParty/donut/include)
50-
include_directories(thirdParty/coffLoader/coffLoader)
51-
include_directories(thirdParty/coffLoader/coffPacker)
49+
50+
set(DONUT_BUILD_DIR "${CMAKE_BINARY_DIR}/thirdParty/donut")
51+
add_library(Donut STATIC IMPORTED)
52+
set_target_properties(Donut PROPERTIES
53+
IMPORTED_LOCATION "${DONUT_BUILD_DIR}/lib/libdonut.a"
54+
)
5255

5356
if(WITH_TESTS)
5457
enable_testing()
5558
endif()
5659

60+
include_directories(core/listener)
61+
include_directories(core/beacon)
62+
include_directories(core/modules/ModuleCmd)
63+
5764
add_subdirectory(teamServer)
5865
add_subdirectory(core/modules)
5966

6067
add_subdirectory(certs)
6168

62-
if(WITH_TESTS)
63-
add_subdirectory(core/listener/tests)
64-
endif()
6569

6670

6771

core

Submodule core updated 84 files

libs/libDns

majSubmodules.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
cd core && git config --global --add safe.directory $(pwd) && git fetch && git rebase origin/master && cd -
22
cd libs/libDns && git config --global --add safe.directory $(pwd) && git fetch && git rebase origin/master && cd -
33
cd libs/libSocketHandler && git config --global --add safe.directory $(pwd) && git fetch && git rebase origin/master && cd -
4-
cd libs/libSocks5 && git config --global --add safe.directory $(pwd) && git fetch && git rebase origin/master && cd -
4+
cd libs/libSocks5 && git config --global --add safe.directory $(pwd) && git fetch && git rebase origin/master && cd -
5+
cd thirdParty/donut && git config --global --add safe.directory $(pwd) && git fetch && git rebase origin/master && cd -
6+

teamServer/teamServer/TeamServer.cpp

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,7 @@ grpc::Status TeamServer::StopSession(grpc::ServerContext* context, const teamser
582582
}
583583

584584

585+
585586
void TeamServer::socksThread()
586587
{
587588
std::string dataIn;
@@ -594,8 +595,8 @@ void TeamServer::socksThread()
594595
{
595596
m_isSocksServerBinded=false;
596597

597-
for(int i=0; i<m_socksServer->m_socksTunnelServers.size(); i++)
598-
m_socksServer->m_socksTunnelServers[i].reset(nullptr);
598+
for(std::size_t i=0; i<m_socksServer->tunnelCount(); i++)
599+
m_socksServer->resetTunnel(i);
599600
}
600601

601602
C2Message c2Message = m_socksListener->getSocksTaskResult(m_socksSession->getBeaconHash());
@@ -606,20 +607,22 @@ void TeamServer::socksThread()
606607
m_socksServer->stop();
607608
m_isSocksServerBinded=false;
608609

609-
for(int i=0; i<m_socksServer->m_socksTunnelServers.size(); i++)
610-
m_socksServer->m_socksTunnelServers[i].reset(nullptr);
610+
for(std::size_t i=0; i<m_socksServer->tunnelCount(); i++)
611+
m_socksServer->resetTunnel(i);
611612
}
612613

613-
for(int i=0; i<m_socksServer->m_socksTunnelServers.size(); i++)
614+
for(std::size_t i=0; i<m_socksServer->tunnelCount(); i++)
614615
{
615-
if(m_socksServer->m_socksTunnelServers[i]!=nullptr)
616+
SocksTunnelServer* tunnel = m_socksServer->getTunnel(i);
617+
618+
if(tunnel!=nullptr)
616619
{
617-
int id = m_socksServer->m_socksTunnelServers[i]->getId();
618-
SocksState state = m_socksServer->m_socksTunnelServers[i]->getState();
620+
int id = tunnel->getId();
621+
SocksState state = tunnel->getState();
619622
if(state == SocksState::INIT)
620623
{
621-
int ip = m_socksServer->m_socksTunnelServers[i]->getIpDst();
622-
int port = m_socksServer->m_socksTunnelServers[i]->getPort();
624+
int ip = tunnel->getIpDst();
625+
int port = tunnel->getPort();
623626

624627
m_logger->debug("Socks5 to {}:{}", std::to_string(ip), std::to_string(port));
625628

@@ -633,7 +636,7 @@ void TeamServer::socksThread()
633636
if(!c2MessageToSend.instruction().empty())
634637
m_socksListener->queueTask(m_socksSession->getBeaconHash(), c2MessageToSend);
635638

636-
m_socksServer->m_socksTunnelServers[i]->setState(SocksState::HANDSHAKE);
639+
tunnel->setState(SocksState::HANDSHAKE);
637640
}
638641
else if(state == SocksState::HANDSHAKE)
639642
{
@@ -646,22 +649,22 @@ void TeamServer::socksThread()
646649
if(c2Message.data() == "fail")
647650
{
648651
m_logger->debug("Socks5 handshake failed {}", id);
649-
m_socksServer->m_socksTunnelServers[i].reset(nullptr);
652+
m_socksServer->resetTunnel(i);
650653
}
651654
else
652655
{
653656
m_logger->debug("Socks5 handshake succed {}", id);
654-
m_socksServer->m_socksTunnelServers[i]->finishHandshack();
655-
m_socksServer->m_socksTunnelServers[i]->setState(SocksState::RUN);
657+
tunnel->finishHandshake();
658+
tunnel->setState(SocksState::RUN);
656659

657660
dataIn="";
658-
int res = m_socksServer->m_socksTunnelServers[i]->process(dataIn, dataOut);
661+
int res = tunnel->process(dataIn, dataOut);
659662

660663
if(res<=0)
661664
{
662665
m_logger->debug("Socks5 stop");
663666

664-
m_socksServer->m_socksTunnelServers[i].reset(nullptr);
667+
m_socksServer->resetTunnel(i);
665668

666669
C2Message c2MessageToSend;
667670
c2MessageToSend.set_instruction(Socks5Cmd);
@@ -688,7 +691,7 @@ void TeamServer::socksThread()
688691
}
689692
else if(c2Message.instruction() == Socks5Cmd && c2Message.cmd() == StopCmd && c2Message.pid() == id)
690693
{
691-
m_socksServer->m_socksTunnelServers[i].reset(nullptr);
694+
m_socksServer->resetTunnel(i);
692695
}
693696
}
694697
else if(state == SocksState::RUN)
@@ -702,7 +705,7 @@ void TeamServer::socksThread()
702705

703706
dataIn=c2Message.data();
704707

705-
int res = m_socksServer->m_socksTunnelServers[i]->process(dataIn, dataOut);
708+
int res = tunnel->process(dataIn, dataOut);
706709

707710
m_logger->debug("Socks5 process, res {}, dataIn {}, dataOut {}", res, dataIn.size(), dataOut.size());
708711

@@ -712,7 +715,7 @@ void TeamServer::socksThread()
712715
{
713716
m_logger->debug("Socks5 stop");
714717

715-
m_socksServer->m_socksTunnelServers[i].reset(nullptr);
718+
m_socksServer->resetTunnel(i);
716719

717720
C2Message c2MessageToSend;
718721
c2MessageToSend.set_instruction(Socks5Cmd);
@@ -738,7 +741,7 @@ void TeamServer::socksThread()
738741
}
739742
else if(c2Message.instruction() == Socks5Cmd && c2Message.cmd() == StopCmd && c2Message.pid() == id)
740743
{
741-
m_socksServer->m_socksTunnelServers[i].reset(nullptr);
744+
m_socksServer->resetTunnel(i);
742745
}
743746
}
744747
}

thirdParty/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,4 @@ execute_process(COMMAND bash -c "cd ${CMAKE_BINARY_DIR}/thirdParty/donut && make
44
set(Donut "${CMAKE_BINARY_DIR}/thirdParty/donut/lib/libdonut.a" PARENT_SCOPE)
55
set(aplib64 "${CMAKE_BINARY_DIR}/thirdParty/donut/lib/aplib64.a" PARENT_SCOPE)
66

7-
## coffLoader
8-
add_subdirectory(coffLoader)
9-
107

thirdParty/coffLoader/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)