LINUX下渗透提权之嗅探技术
内网渗透在攻击层面,其实更趋向于社工和常规漏洞检测的结合,为了了解网内防护措施的设置是通过一步步的刺探和经验积累,有时判断出错,也能进入误 区。但是如果能在网内进行嗅探,则能事半功倍,处于一个对网内设置完全透明的状态。本文将从一个注点引发的突破,到控制整个内网的全过程来跟大家讨论,内 网的渗透嗅探术和安全防护一些内容。
在寻找突破时,更多的是从应用服务来,而应用服务最直观的信息采集,就是端口扫描,不同的应用,开放的服务不一样。所以,在对网络进行信息收集时, 大概分为这样两步: 端口探测,程序指纹分析。在端口探测方面,个人喜欢用SuperScan来快速对网段里的应用进行判断,如图:
在掌握端口信息后,就要对服务应用程序的指纹进行分析,主要包括版本号、已知的漏洞信息、常规配置信息、针对此应用流行的攻击方法等。本文试着对网内一台提供WEB服务的主机作为突破口,提交一个畸形的请求,如图:
从上图可以读取以下信息:
系统类型:Fedora
应用程序:apache/2.2.4
以上只是很简单的手工对程序指纹进行分析,当然在针对web应用的扫描器,还有很多,比较常用的wvs、appscan等。用轻量级的”wwwwscan”来扫描:
由扫描的结果可以看到,与手工探测的结果是一致的。
通上面简单的信息收集后,可以了解到网站架构是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解压软件包手,执行三条命令
01 |
#./config |
02 |
#make |
03 |
#make install |
04 |
b) 安装libpcap |
05 |
#./config |
06 |
#make |
07 |
#make install |
08 |
c) 安装libnet |
09 |
#./config |
10 |
#make |
11 |
#make install |
12 |
d) 安装libnids |
13 |
#./config |
14 |
#make |
15 |
#make install |
16 |
e) 安装libnids |
17 |
#./config |
18 |
#make |
19 |
#make install |
20 |
f) 安装Berkeley DB |
21 |
#.cd build_unix |
22 |
#../dist/configure |
23 |
#make |
24 |
#make install |
25 |
g) 安装dsniff |
26 |
#./configure |
27 |
#make |
28 |
#make install |
29 |
程序安装好后,先查看一下网卡信息,然后开启服务器IP转发,命令如下: |
30 |
# 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下的嗅探,其实更容易一些,在最近爆出的高危本地提权,不知道有多少台主机沦陷呢?在攻与防的游戏里,系统管理员 往往显得如此的无助。
LINUX下渗透提权之嗅探技术的更多相关文章
- Enumy:一款功能强大的Linux后渗透提权枚举工具
Enumy是一款功能强大的Linux后渗透提权枚举工具,该工具是一个速度非常快的可移植可执行文件,广大研究人员可以在针对Linux设备的渗透测试以及CTF的后渗透阶段利用该工具实现权限提升,而Enum ...
- Linux下漏洞提权
Linux下的漏洞提权 linux下一般都是系统漏洞提权,分为以下几个步骤:
- kali linux之本地提权
已实现本地低权限帐号登录,希望获取更高权限,实现对目标进一步控制 系统帐号之间权限隔离(操作系统安全的基础,用户空间,内核空间) 系统帐号(用户帐号登录时获取权限令牌,服务帐号无需用户登录已在后台启动 ...
- Linux本地内核提权漏洞复现(CVE-2019-13272)
Linux本地内核提权漏洞复现(CVE-2019-13272) 一.漏洞描述 当调用PTRACE_TRACEME时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_c ...
- metasploit下Windows下多种提权方式
前言 当你在爱害者的机器上执行一些操作时,发现有一些操作被拒绝执行,为了获得受害机器的完全权限,你需要绕过限制,获取本来没有的一些权限,这些权限可以用来删除文件,查看私有信息,或者安装特殊程序,比如病 ...
- 后渗透提权辅助工具BeRoot详解
0x00 工具介绍 前言 BeRoot是一个后期开发工具,用于检查常见的Windows的配置错误,以方便找到提高我们提权的方法.其二进制编译地址为: https://github.com/Alessa ...
- 小计一次linux下渗透方法
本文转自91ri 踩点 目标域名是XX.com 我们的目标是大站,所以主站一般都挺安全的,所以直接寻找二级目录,运气好时能找到一些开源的cms,运气更好点找到个dede啥的,那就…. 我们直接枚举他域 ...
- adore-ng笔记和Linux普通用户提权
官网:https://github.com/trimpsyw/adore-ng 安装: [root@xuegod63 ~]# unzipadore-ng-master.zip [root@xuegod ...
- Linux组和提权
目 录 第1章 组命名管理** 1 1.1 group组信息和密码信息 1 1.1.1 /etc/group 组账户信息 1 1.1.2 /etc/gshadow 组密码信息 ...
随机推荐
- Qt笔记——QSqlLite
静态数据库,简单方便 在.pro文件里添加 +sql #ifndef WIDGET_H #define WIDGET_H #include <QWidget> namespace Ui { ...
- LoadRunner 执行单句SQL语句
LoadRunner 执行单句SQL语句 Action() { int NumRows=0; int i=1; //建立数据库连接 lr_db_connect("StepName=Datab ...
- .NET ORM SqlQuery
查询 1.SqlQuery 用于执行原生SQL和存储过程 //转成list List<Student> list1 = db.SqlQuery<Student>("s ...
- SpringBoot学习:读取yml和properties文件的内容
一.在SpringBoot实现属性注入: 1).添加pom依赖jar包: <!-- 支持 @ConfigurationProperties 注解 --> <!-- https://m ...
- SpringBoot学习:整合Mybatis,使用HikariCP超高性能数据源
一.添加pom依赖jar包: <!--整合mybatis--> <dependency> <groupId>org.mybatis.spring.boot</ ...
- ubuntu 16.04 LTS安装jenkins服务器
官方网站:https://jenkins.io/ 这里我们的系统是Ubuntu 16.04,所以选择Ubuntu的版本,另外,为什么选择2.60.3,而不是新的2.77?因为2.60.3是LTS版本, ...
- LOJ #6283. 数列分块入门 7-分块(区间乘法、区间加法、单点查询)
#6283. 数列分块入门 7 内存限制:256 MiB时间限制:500 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: hzwer 提交提交记录统计测试数据讨论 2 题目描述 给出 ...
- CodeForces 766D Mahmoud and a Dictionary
并查集. 将每一个物品拆成两个,两个意义相反,然后并查集即可. #pragma comment(linker, "/STACK:1024000000,1024000000") #i ...
- DHCP获取IP地址过程中捕获的报文—三级网络总结(二)
上一篇文章主要说了一下知识点中的IP地址的考点,这一篇我打算说说DHCP获取IP地址过程中捕获的报文的这个考点,都是自己的理解,有错误欢迎指正. DHCP是应用层协议,UDP是传输层协议,IP是网络层 ...
- SQL查询中关键词的执行顺序
写在前面:最近的工作主要是写SQL脚本,在编写过程中对SQL的执行和解析过程特别混乱不清,造成了想优化却无从下手.为此专门在网上找博文学习,并做了如下总结. 1.查询中常用到的关键词有: SELECT ...