惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
MyScale Blog
MyScale Blog
N
Netflix TechBlog - Medium
I
InfoQ
Jina AI
Jina AI
Martin Fowler
Martin Fowler
Recent Announcements
Recent Announcements
量子位
月光博客
月光博客
罗磊的独立博客
雷峰网
雷峰网
The Cloudflare Blog
V
V2EX
小众软件
小众软件
人人都是产品经理
人人都是产品经理
博客园 - Franky
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题

StudyingLover's Blog

Diffusion Policy笔记 rwkv笔记 act笔记 nanovllm-block_manager opencode多智能体 nanobot-pre-train nanobot-rl nanobot-sft nanobot-checkpoint_manager nanobot-gpt nanobot-mid-train Vision Mamba (Vim)笔记 BPE演示 最后一遍学习Transformer YOLOv5 目标检测笔记 下载根服务器解析记录 Dynaseal A Backend-Controlled LLM API Key Distribution Scheme with Constrained Invocation Parameters 判断链表有环 王道25数据结构勘误 关于perplexity的open-sourcing-r1-1776 AI为什么不像人类一样进行多轮对话 新博客改造日记和功能测试 linuxqq只显示登陆背景图 数字设计和计算机体系结构(机械工业出版社)勘误(自制) Dynaseal:面向未来端侧llm agent的llm api key分发机制 A Definitive Guide to Markdown Style This post is using MDX, Where you can embed JSX and Astro components RT-Patch学习 pydantic实现的LLM ReAct fastapi 和 uvicorn 设置监听 ipv6
使用llama构建一个蜜罐(前端)
About the Author StudyingLover · 2023-08-01 · via StudyingLover's Blog

使用llama构建一个蜜罐(前端)

使用llama构建一个蜜罐(后端) 中我们通过llama和flask构建了一个蜜罐的后端,通过将shell命令作为字段的一部分,让llama假装执行命令来防止蜜罐被攻破。那有了后端我们还需要一个前端命令行来让用户登陆并执行命令。

完整项目开源在了GitHub

接下来,让我们来实现一个模拟ssh服务器,或者说实现一个ssh mock 然后执行命令的时候不让他真的执行同时改一下输出。

等等?我们真的需要一个ssh mock 吗? 还是说,我们需要的是一个跑在终端的,长得很像终端的,能输入输出的,一个可交互的代码?

哦,好像我们需要的只是一个可交互的代码,难道攻击方ssh上来了还能验证一下这是不是真的是终端?(我用了三天才想通这个问题)

so,工作量一下子减少了太多了

import os
import requests
  
# 禁用 Ctrl Z stty susp undef
# 启用 Ctrl Z stty susp ^Z

admin_key = "123456"

def get_responce(command):
	if (command == admin_key):
		exit()
	output = requests.post("http://127.0.0.1:9000/admin/"+command).json()
	return output["message"]
    
def attact_warning():
	pass
  
def anti_attact():
	pass
  
while True:
	attact_warning()
	anti_attact()
	try:
		command = input("[root@ubuntu ~]$ ")
		print(get_responce(command))
	  
	except KeyboardInterrupt:
		print("")

这里有几个点需要注意

  1. 代码不能直接用于生产环境!!!请先完善细节并大量测试。本项目仅为学习使用,未经过专业人员测试
  2. admin_key,这个变量的作用是让管理员能用终端,记得修改。如果你认为这种方法太low了或者可能被作为突破口,请修改或PR。
  3. 接口地址,我这里是http://127.0.0.1:9000/admin/ ,这里需要改成你的,建议先用postman或者apifox或者啥的测一下。
  4. 入侵检测和反击模块需要你自己实现,毕竟这只是一个让你的蜜罐更安全的项目。

在三个终端分别运行llama服务器(图右终端),蜜罐后端(图左终端)和蜜罐前端(图中终端)

image.png

项目还有很多改进之处,在后面我也会进一步优化prompt和模型来获得更好的终端对话体验。