Linux提权:从入门到放弃

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 握手包跑包

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

hashcat -m参数

为了彻底优化我们的网站,我们需要采取一些措施来提升服务器的安全性。尽管我们可以成功攻破服务器的web服务,但管理员们总是比西方记者更新得更快,他们会在我们试图渗透内网并提权时将我们的种子扼杀在萌芽中。提权过程不仅涉及漏洞,还涉及许多系统配置。下面是我总结的一些提权方法。

首先,我们需要满足以下几个前提条件:我们已经获得了低权限的shell,并且在入侵的机器上有nc、python、perl等常见的Linux工具,并且具备上传和下载文件的权限。

内核漏洞提权是我们最常想到的方法之一。通用的内核漏洞并不常见,因此我们首先需要收集系统相关的信息。我们可以查看发行版和内核版本来获取这些信息。通过运行以下命令可以查看发行版和内核版本:

cat /etc/issue
cat /etc/*-release
uname -a

通过这些命令,我们可以得到系统的发行版、内核版本和CPU架构。这些信息将有助于我们进一步搜索与之对应的漏洞。

我们可以使用Kali自带的searchsploit工具来搜索exploitdb中的漏洞利用代码。例如,我们可以运行以下命令来搜索与Linux 2.6和Ubuntu 10相关的漏洞:

searchsploit linux 2.6 ubuntu privesc

搜索结果会返回与我们系统相关的漏洞利用代码。我们可以根据内核版本和发行版来缩小搜索范围。然后,我们可以逐个查看这些漏洞利用代码的要求和条件,以确定哪些是适用于我们系统的。

在寻找合适的漏洞利用代码时,我们需要仔细阅读源代码,并确保我们理解其中的编译参数和要求。有时候,我们可能需要在本地编译漏洞利用代码。在本地编译时,我们可能需要调整编译参数,例如使用-m 32来编译32位代码。编译过程可能会遇到一些问题,但我们可以通过谷歌等方式来解决。

当我们无法找到与内核版本对应的漏洞利用代码时,我们可以检查磁盘格式和已安装的程序。通过查看/etc/fstab和dpkg -l/rpm -qa命令的输出,我们可以进一步搜索可能存在的漏洞。

除了利用内核漏洞,我们还可以尝试明文root密码提权。大多数Linux系统的密码与/etc/passwd和/etc/shadow文件密切相关。passwd文件存储了用户信息,而shadow文件存储了密码的哈希值。通常情况下,passwd文件是可读的,而shadow文件只有root用户可读。我们可以通过修改passwd文件中的密码字段或者破解shadow文件中的密码哈希值来获取root权限。

另一个方法是利用密码复用。许多管理员会重复使用密码,因此数据库或者Web后台的密码很可能就是root密码。

当我们获得了(疑似)root密码后,我们可能会尝试使用SSH登录。然而,SSH可能禁止root登录或者防火墙规则将我们排除在外。在这种情况下,我们可以利用低权限的shell来模拟终端设备,以便输入密码。通过使用Python的pty模块,我们可以创建一个虚拟终端,并使用sudo等命令。

此外,系统中可能存在定时执行的任务,这些任务由crontab管理。我们可以通过列出/etc/cron*目录下的文件来查看系统的计划任务。如果我们找到一个允许任意用户写入脚本的管理员配置,我们就可以修改脚本以获取反向连接的root shell。

最后,SUID是一种特殊的文件属性,允许用户以文件所有者的身份运行可执行文件。通过设置SUID位,我们可以以root权限运行某些程序。我们可以编写一个简单的C程序,使用setuid(0)函数将其设置为root用户的SUID程序。然后,我们可以编译并执行该程序,从而获得root权限。

总结一下,提权过程可能涉及内核漏洞、明文root密码、密码复用、计划任务和SUID等方法。通过仔细研究源代码、收集系统信息并进行搜索,我们可以找到适用于我们系统的提权方法。请记住,这些方法仅供学习和测试目的使用,任何未经授权的攻击行为都是违法的。

赞(0)