linux渗透与安全第三节-提权

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

1,获取webshell

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

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

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

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

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

CentOS+PHP+Apache+ &nbspsotgreSQL

当然这些并不重要,我获得了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
USER    TTY    FROM          LOGIN@  IDLE  JCPU &nbspCPUWHAT
ope    tty1    -          26Jan1171days  0.03s  0.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


复制代码
当然,回显提示是失败的


[blockquote]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.[/blockquote]






当然,直接对RedHat发布的Linux系统版本进行内核提权显然不是明智的选择。我的思路是,查找系统中含有漏洞的软件、驱动等,用它们来提权。不幸的是我目前还没成功--


文章总结:提权脚本有两点要注意,gcc命令编译无法编译出脚本未必是系统的问题,可能是c脚本本身有问题。如果系统无法gcc出可执行的文件,可以在本地或者其他地方gcc出来,然后直接传上去,直接执行
*
发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则