渗透后记之攻击人性弱点

我7月的时候获取了一台linux主机的本地权限,却没有办法获取root权限。根据我的分析这是一台曾经经常使用的主机,所以必定存在弱点。获取root权限是黑客永恒的追求。即使是没什么技术含量的我,也希望能通过分析人的弱点来突破。毕竟找系统漏洞什么的,交给那些内核大牛。也确实有root privilege escalation,之前已经提过。这次主要是提我利用的人的弱点。

可读权限:

默认linux创建的文件权限都是755的,所以可读。利用这个特点,我就可以遍历可读目录,分析文件内容。这里面蕴含大量信息等着挖掘。因此我花了一个礼拜,当然也发掘出很多关键字,以及邮箱和人物身份,这对破解密码来说是至关重要的。所以说攻击是最好的防御,回去我立刻把默认创建的文件属性改为700。虽然我的电脑只有我这个用户。唠叨一句,这可以通过umask实现。

可写权限:

很多系统都存在开机脚本或者是以root运行的脚本或是是setuid的。这时就可以找到那些可写脚本,运行s时创建setuid的合适可执行文件(vim)就行了。 find . -type f -writable 就能找到可写文件。然后类似的 chmod u+s /bin/vim 就行了,相当于一个后门。那到时直接就可以写该/etc/passwd, /etc/shadow, /etc/sudoers了。

备份文件:

一个好的系统必然有备份,关键是怎么备份的。我用rsync,权限也能备份过来。而那台机器是直接一个tar。虽然只是/etc的备份,那就已经足够了。我就不客气的拿了过来。接下去的就是下一步了。因为etc里保存着密码。

薄弱口令:

有个软件叫john,破解密码神器。但是我没有体会到过。我选了cudaHashcat。你懂的,GPU更快啊。说到密码,经过我的观察,基本上都是数字加小写字母的组合,如果不是我也可以放弃了。因此用cudaHashcat就是 cudaHashcat -a 3 -m 500 --session=jtest passwdshadow -i -1 ?d?l ?1?1?1?1?1?1?1 。大概花了一晚上破了一个7位的密码。效率还是蛮高的,毕竟是 md5(UNIX) 加密。不是简单的md5。获取这个用户的密码,我可以做两件事,一是有个开机启动脚本。而是文件读取权限。然后我就戏剧性的下一步了。如果这里行不通,可以分析主机上的数据库,然后暴力md5就快的多。更有撞库法。获取用户的信息比如常用邮箱什么的,就可以根据网上泄漏的数据库匹配。这种自己找。

命令历史:

shell一般会保存各种命令历史。而这个系统没有sudo,只有su。因此每次都要打密码。我想你也遇到过直接把密码打出了的情况。这个时候就会被记录到.bash_history,然后运气实在太好。居然真的有,然后那机器的root权限就ok了。

顺藤摸瓜:

grep ssh .bash_history ,这样就能波及其他主机,因为这又是人性的弱点,密码基本都一样。然后一个bbs也沦陷了。请叫我吊哥!