当前位置: 首页 > news >正文

DC-9靶机

攻击机:192.168.10.40

靶机:192.168.10.131

内网探测

探测内网存活主机,

端口扫描

内网端口扫描,80端口是打开的状态,22端口有防火墙

filtered:nmap检测不出22端口的状态(nmap发送的包被防火墙拦截)。

对端口进行精确扫描,发现22的端口是关闭的状态。

nmap -sT -Pn -p 22,80

-sT:TCP Connect扫描,使用系统的connect(),三次握手完整走完,稳定但是不隐蔽。

-Pn:绕过主机的存活判断,直接进入端口扫描阶段,nmap在扫描前会先判断(ping)主机是否存活,

-p:指定扫描的端口

whatweb 192.168.10.131

探测目标网站信息

Web服务器:Apache

操作系统:Debian

IP:192.168.10.131

目录扫描

dirsearch -u 1[IP地址] -e*

访问网站,查看网站的相关信息,测试目录

访问display.php路径,能直接查看用户的信息。

/includes是一个员工详情页面

/manage.php是一个登录框

/search.php是一个搜索框

Web渗透

在网站的首界面能够查看用户的信息

在网站的搜索功能中输入用户的姓名也可以查看到用户的信息,这种搜索用户信息的一般都是与数据库进行交互,用SQL语句测试

直接输入' or 1=1#万能密码,拿到了用户的信息,有这个注入点就可以尝试sqlmap了。

在URL中没有搜索的参数,那么目标网站使用的应该就是POST传参了,POST传参中需要使用BP抓包获取请求包,使用bp抓包

把抓到的POST请求放到DC9文件中,其中search的内容不能编码,否则会失败

探测出了注入点,这个在刚才手动测试注入点时就发现了,这次用sqlmap看到的信息更详细。

sqlmap -r ./DC9 -p search --batch

-p 指定注入点

--batch 开启自动模式(提示自动选默认)

爆破出目标靶机的数据库,有三个数据库,第一个数据库是系统自带的,把目标放在Staff和users这两个数据库上,使用 --current-db获取正在使用的数据库

sqlmap -r ./DC9 -p search --batch --dbs

sqlmap -r ./DC9 -p search --batch --current-db:这个参数是获取当前Web应用正在使用的数据库名称

当前使用的数据库名称为Staff,从这个数据库入手

获取数据库中的数据表,只有一个users表

sqlmap -r ./DC9 -p search --batch -D Staff --tables

爆破出Users表的字段

sqlmap -r ./DC9 -p search --batch -D Staff -T Users --columns

指定字段,获取字段中的数据,

sqlmap -r ./DC9 -p search --batch -D Staff -T Users -C Username,Password --dump

--dump:构造可利用的SQL语句(比如:select Username,Password from Users)

users表中存放的是一些用户名和密码

这个密码是MD5哈希(32位十六进制)直接解密,拿到密码

下面有一个文件不存在标志,应该是文件相关的漏洞了。

靶场的文件包含一般都是file参数进行传参,可以使用本地文件包含,

尝试了一下远程文件包含,没有内容。

读取出来的用户当中,也包含了数据库中用户的信息,这里网站使用的用户都是系统用户

网站用户一般是www-data或apache

经过刚才的端口扫描可以知道22端口是关闭的,同时我们拿到了用户名和密码,如果端口长期处于filtered状态,可以判断他是knocked(端口敲门安全机制),他是一种安全机制,需要根据knocked配置,按照顺序访问端口,才会临时开放22端口。

knocked的配置位置在/etc/knockd.con文件中,读取它的配置文件。

openSSH(开门)下面的端口号就是他的敲门顺序,在25秒内分别访问这三个端口,成功敲门,临时开放22端口。

closeSSH(关门)当客户端反向访问这三个端口时(25秒内),关闭22端口

利用knock(敲门客户端工具)向目标发送按顺序的端口访问请求,只发送SYN包,不建立真实连接,在使用nc连接目标端口(按顺序),触发knocked,临时开启22端口。

再次使用nmap探测端口22端口是打开的状态。

使用hydra对目标主机的SSH服务进行并行登录尝试,一共有三个用户存在远程登录

hydra -L users -P password 192.168.10.131 ssh

-L:指定用户名文件

-P:指定密码文件

ssh :指定为SSH登录

经过测试另外两个用户没有能够利用的文件,在janitor用户家目录下发现一个隐藏目录里面有一个密码文件

BamBam01

Passw0rd

smellycats

P0Lic#10-4

B4-Tru3-001

4uGU5T-NiGHts

把这里面的密码放入到刚才的密码文件中重新爆破用户的密码,可以看到多了一个用户

hydra -L users -P password 192.168.10.131 ssh

sudo -l 查看具有sudo权限的命令,可以看到/opt/devstuff/dist/test/test这个文件有root权限

直接执行文件,输出了一个文件名test.py

全局查找test.py文件

find / -name test.py

test.py文件内容

指定python解释器

判断sys.argv参数的个数不等于3就输出"Usage: python test.py read append",并退出程序。

以只读模式打开sys.argv[1]文件,以追加模式打开sys.argv[2]文件,把读取的内容写入到追加模式的的文件中,关闭文件。

脚本本身就代表第一个参数。

使用openssl生成一个密码,在/etc/passwd中不允许出现明文,在登录时系统会解析出加密所用的算法对用户输入的密码进行加密在和系统中存放的密码做一个对比,相同就表示成功。

这个加密的结构为$算法ID$salt$hash

salt为在计算哈希前额外加入到一段随机数据,

编写一个用户信息并放入1.txt文件中

用户名:密码:UID:GID:用户描述:家目录:登录shell。

其中UID/GID为0表示root权限。

执行脚本,切换用户,查看权限为root。

getflag

总结:

1.对目标网站做一个基本的信息收集,端口扫描,目录扫描,指纹识别,测试网站的漏洞点,根据网站的提供的功能点进行测试,如果有输入框之类的一般存在SQL注入,RCE,XSS的较多,用户登录之类的测试弱口令,根据网站使用的架构去网上搜索相关的默认密码和历史漏洞信息,在找到相关的漏洞点后进行利用,

2.这个靶机我们通过sqlmap知道了用户名和密码,网站中的文件包含漏洞能够读取系统的文件,为我们后续的漏洞利用提供了更广的面,通过对比系统和数据库中的用户信息,知道Web层、数据库层、操作系统层这三个没有做隔离,可以通过数据库中的用户信息直接连接到系统,22端口是个filtered的状态,并不代表是关闭的状态,

3.利用文件包含漏洞读取他的knocked信息,按照knocked的配置文件信息,使用knock(敲门工具)发送SYN包(不建立真实连接),利用nc连接目标端口,触发他的安全机制,临时开启22远程登录端口,利用hydra爆破出用户名和密码,测试每个用户的权限及能够利用的点,找寻以root权限执行的文件,并加以利用(提权)。

使用工具:wappalyzer nmap whatweb dirsearch sqlmap hydra 脚本提取

http://www.cnnetsun.cn/news/129316.html

相关文章:

  • 【MCP MS-720 Agent深度指南】:全面解析部署、配置与故障排除核心技术
  • OpenBoardView 完整指南:免费电路板查看器的终极解决方案
  • 【MCP续证倒计时】:最后7天必须完成的4项材料清单
  • 智能家居场景联动难题破解:3步构建自适应AI决策引擎
  • 从零构建 resilient Agent 体系,你必须掌握的5大治理能力
  • 《独立开发者精选工具》第 024 期
  • 【AIGC】即梦omnihuaman-api调用实现
  • 从零搭建自动驾驶校准Agent:5类关键参数调优秘籍首次公开
  • IDM激活脚本完全指南:告别30天试用期的终极解决方案
  • Apache SeaTunnel Web:为什么数据集成可视化是新时代数据工程师的必备技能?
  • IndexTTS2语音合成终极指南:零基础快速上手指南
  • 2、服务器端计算:构建按需企业的新范式
  • 教育AI知识库优化实战(百万级问答数据处理秘籍)
  • 14、服务器计算网络设计全解析
  • 36、网络配置详解
  • 毕业设计项目 python 机器视觉 车牌识别
  • 关于Netty框架中boss线程和work线程是如何协调工作的源码分析
  • Kotaemon能否实现知识热度排行与推荐?
  • 实时金融交易系统设计秘籍(Agent执行效率翻倍的4种架构模式)
  • 揭秘气象观测 Agent 数据采集难题:如何确保数据完整性与时效性?
  • MindSpore开发之路(四):核心数据结构Tensor
  • 37、调试与系统安全技术综合解析
  • kali linux渗透测试之漏洞扫描
  • 杰理之修改UAC Output Terminal Types【篇】
  • 杰理之播歌的时候单击有概率触发下一曲功能【篇】
  • [特殊字符] 当科研遇上 AI:宏智树让期刊论文创作告别 “卡壳” 困境
  • Kotaemon与Jira集成案例:IT工单智能分类实践
  • 基于Kotaemon的生产级RAG应用实战指南
  • 哈夫曼压缩与关键字检索
  • Kotaemon Docker 镜像使用指南:快速启动与定制化