自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shutdown -s -t

安全研究

  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 网络空间拟态防御CMD(Cyber Mimic Defense)

基础概念网络空间拟态防御CMD(Cyber Mimic Defense)是邬江兴院士的研究团队最早从生物界拟态章鱼身上借鉴其拟态的特征,运用其思想到实际网络攻防的防御技术上的一种网络空间防御理论。在开始介绍拟态防御之前,先从介绍攻击链模型开始,了解攻击的过程,以及在攻击链模型之上,传统的防御的防御手段都做到了哪些。之后根据传统防御的缺点,提出拟态防御的概念,以及拟态防御在针对传统防御的缺陷上带来...

2022-10-24 23:11:23 1282

原创 SSDEEP分析二进制文件的相似性

本文讨论内容涉及如何使用SSDEEP、python调用SSDEEP和SSDEEP的计算块最大的大小。背景安全分析里经常会遇到一个场景,当一个文件被人为有意或无意地操作变化变成了一个新的文件,例如,有意的情况有作者改动文本内容、恶意代码自动填充垃圾字节等变化;无意的情况有传输出错、磁盘存储出错等。如何衡量这些文件的是否发生变化,如何有效比较两个文件是否有差异是否相似,成了取证分析和病毒分析里经常要面对的问题。针对上面的场景,业内比较程序办法是采用模糊哈希进行比较,模糊哈希算法又叫基于内容分割的分片哈希算

2022-05-04 23:41:25 1260 1

原创 ICS工业控制安全类方向赛题简单总结

最近两年时间参加了一些工控安全的比赛,接触到了一些工业控制系统相关的问题。文章总结了一些常见的PLC编程软件、常见的题目类型。ICS工业控制系统的赛题出题比较灵活,可以理解为Web、Reverse、Misc等方向综合体。从本身入门难易程度来看,入门的题目以WEB和流量分析为主,深入一些会涉及到梯形图、固件分析、程序修改等等方面的考察。

2022-01-01 11:35:24 1663 1

原创 Linux卡巴斯基杀毒(kesl)基础操作

卡巴斯基一直是杀毒软件业内的专业代表,以查杀率较高著名,不过查杀速度相对较慢。kesl是卡巴斯基在Linux系统上较新的杀毒程序,早期版本还有kav4fs,已经不建议使用。作为商业软件,kesl在服务器区的LInux主机查杀中通常可以较好地替代开源产品calmav,有不错的查杀能力。同时因为使用命令行操作,可以结合python等脚本语言进行二次开发,较为方便地完成一些定期扫描等简单任务。

2021-12-29 13:10:57 6398 1

原创 2021年红帽杯线上解题记录

签到如题目名称提示,需要进行ebcdic编码,python原生不支持,安装额外库pip install ebcdic。python3解码脚本如下:import ebcdicwith open('EBCDIC.txt', 'rb') as f: tmp = f.read() print(tmp.decode('cp1141'))输出内容flagäwe1c0me_t0_redhat2021ü,调整一下flag{we1c0me_t0_redhat2021}。find-itflag

2021-11-28 12:29:12 3127

原创 2021年DataFountain恶意软件分析初次提交思路

本文内容是记录之前在做360的DataFountain恶意软件方向比赛时第一次分析和提交采用的分析思路。整体倾向按照以往分析经验构建有价值特征单模型分类,没有采用“广泛提取特征然后交给深度学习模型进行学习,最后通过组合模型修正精度。”的套路。数据说明一共包含3个文件tarin_label.csv 训练集的标签train.zip 训练数据 5841个asm和无头PEtest.zip 测试数据赛题数据集包含了来自10个恶意软件家族,10000多个恶意软件的PE文件(No header)和使用IDA

2021-11-23 14:31:41 1242

原创 NTCTF(技术性网络空间威胁框架, Technical Cyber Threat Framework)

CTF(网络空间威胁框架,Cyber Threat Framework),也叫NSA CTF(NTCTF),是一种参考了MITRE的 ATT&CK威胁模型框架的通用描述语言。CTF的好处是提供了一种通用语言,用于描述和交流有关网络威胁活动的信息。CTF是对之前网络威胁词汇不一致描述的巨大改进。遵循一种通用方法有助于:建立一个共同的本体论并增强信息共享,因为将独特的模型映射到一个通用标准,比相互映射要容易;以直截了当的方式描述和分类威胁活动,以支持从战略决策到分析和网络安全措施的任务,以及从通

2021-10-24 00:47:16 1372

原创 ICMP隧道检测分析--icmptunnel

简介icmptunnel的工作原理是将你的IP流量封装在ICMP echo数据包中,并将其发送到你自己的代理服务器。代理服务器解压缩数据包并转发IP流量。传入的以客户为目的地的IP数据包再次被封装在ICMP回复数据包中,并发回给客户。IP流量是在ICMP数据包的 "data "字段中发送的。icmptunnel通过创建一个虚拟的隧道接口来工作。客户端主机上的所有用户流量被路由到icmptunnel在这个接口上监听IP数据包。这些数据包被封装在一个ICMP echo数据包中(即ICMP数据包的payloa

2021-09-29 12:55:39 1280

原创 2021第三届北京通信行业CTF初赛writeup

Webweb1题目<?phpif(!$_GET['source']){ highlight_file(__FILE__);}$a = $_GET['a'];$b = $_GET['b'];$c = $_GET['c'];$check = $a and $b;if($check){ if($a and $b){ die("No flag!Try it again!"); } else{ if($c == md5($c)){ die(ge

2021-08-13 02:10:01 1121

原创 [威胁情报运营]1.安装openCTI平台

OpenCTI是一个由ANSSI(法国国家网络安全局)、CERT-EU、Luatix共同支持,用于管理网络威胁情报知识和观测运营的开源平台。系统架构资源需求如果是为了测试运行效果是否符合业务需求,建议登陆官方首页提供的demo进行测试,内置测试数据,可测试的功能相对完整。整个安装相对简单,除了平台系统之外,还需要ElasticSearch、Redis、MinIO、RabbitMQ这几个组件。总计大约需要6核、16GB内存、大于32GB磁盘空间。服务CPU内存 GB磁盘 GB

2021-07-18 17:35:00 1643 1

原创 2021工业信息安全技能大赛线上第二场--PLC故障分析

照例先聚焦工控协议和数量较少的功能码,主要是modbus协议,功能码较少的是写单线圈指令(write single coil),wireshark中过滤条件可以用modbus.func_code==5。以14060号包为例,顺序在ETH协议的trailer字段发现有类似MHg3ZjB4MzUw的字符,尝试base64解码,可解出明文。但是每个末尾都会多出一个0,考虑base64可以将3个字符变成4个字符,猜测如果是0x??后面应该缺少x??的部分。fcs字符正好4个,eDNm,将fcs的字符解码正好印证猜想

2021-07-01 17:34:13 878

原创 树莓派上安装KMS

树莓派上安装KMS激活下载最新的KMS二进制程序。wget -c https://github.com/Wind4/vlmcsd/releases/download/svn1113/binaries.tar.gz里面包含了很多版本,选择Raspberry版本,在root权限下执行。tar -zxvf binaries.tar.gzcp binaries/Linux/arm/little-endian/glibc/vlmcsd-armv6hf-Raspberry-glibc vlmcsdchmo

2021-06-08 02:31:39 1266

原创 Github APIv4 GraphQL简单运用(附python调用代码)

相比RUST API,用起来实在有些麻烦。需要用户指定返回的内容,将查询运算放在了服务器上,减少了一定的传输开销。统一了接口。辅助程序下载最新的客户端https://github.com/skevy/graphiql-app/releasespython调用样例import requestsimport jsonheader = { "Authorization": "Bearer <your token>"}data = { 'query': """qu

2021-05-04 19:20:55 745

原创 二维码(QRCODE)纠错容错位读取修复操作

“”"二维码的纠错等级,容错等级。纠错等级是指容错率的大小,按照容错率从小到大可分(<7%),M(<15%),Q(<25%),H(<30%).容错率也叫纠错率。二维码在被遮挡部分面积后仍能被正常扫描,纠错率指的就是二维码能被正常扫描时允许被遮挡的最大面积占总面积的比率。二维码修复的工具,“”"dic = {“L0”: “111011111000100”,“L1”: “111001011110011”,“L2”: “111110110101010”,“L3”: “11

2021-01-31 14:57:00 5977 2

原创 crontab执行失败的几种场景

crond服务未重启一般能使用crontab -e编辑任务的机器crond服务都开启了,但会存在某些时刻内容修改之后新增的任务不启动的问题。比较典型的场景是旧的定时任务还在执行,新的定时任务没有启动。service crond restart文件权限问题脚本没有执行权限,可以使用chmod对制定文件增加执行权限。相对路径问题有的命令在shell中执行正常,但是在crontab执行却总是失败。有可能是因为crontab使用的sh未正确识别路径,比如:以root身份登录shell后执行一个/roo

2021-01-28 02:47:33 472

原创 YAML简介和PyYAML安全操作

YAML 是 “YAML Ain’t a Markup Language”(YAML 不是一种标记语言)的递归缩写,是一种人类易读的数据序列化语言。它通常运用在一些数据代码分离场合:用于配置文件,但也用于数据存储(例如调试输出)或传输(例如文档标题)。YAML 的配置文件后缀为 .yml,如:runoob.yml 。YAML支持的类型对象键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)数组一组按次序排列的值,又称为序列(sequence) /

2020-12-31 18:33:14 1040

原创 一些CTF杂项MISC解题脚本

总结发布一些简单CTF中MISC常用的解题脚本,基于python3。目前有二维码解码、mp3隐写、像素提取。二维码解码通过pip安装zxing库。def qr_decode(): """ 二维码解码 :return: """ import zxing reader = zxing.BarCodeReader() barcode = reader.decode('/home/QR_code.png') print(barcode.par

2020-12-13 12:45:44 1285

原创 GreenPlum踩坑

psycopg2 infailedsqltransaction: current transaction is aborted commands ignored until end of transaction block当前事务被中止,直到事务结束前的命令都将被忽略。可能是讲execute语句的内容当做的,具体的解决办法在cursor.execute()执行一次conn.commit()。一头雾水,其他的sql一般都是...

2020-10-24 23:34:26 4267 1

原创 Mac使用gdb调试出现see taskgated(8)异常的解决办法

想在mac上使用gdb调试程序,调用后出现“ (please check gdb is codesigned - see taskgated(8))”无法调试,搜索引擎上考前的解决办法都是的适用10.14 mojava之前的,以下给出10.14+之后的处理办法。场景如果尝试使用新构建的gdb,则会收到以下错误消息:Starting program: /x/y/fooUnable to find Mach task port for process-id 28885: (os/kern) failur

2020-10-22 12:54:35 1297 3

原创 使用ghidra进行逆向工程静态分析

Ghidra是一个软件逆向工程(SRE)框架,包括一套功能齐全的高端软件分析工具,使用户能够在各种平台上分析编译后的代码,包括Windows、Mac OS和Linux。功能包括反汇编,汇编,反编译,绘图和脚本,以及数百个其他功能。Ghidra支持各种处理器指令集和可执行格式,可以在用户交互模式和自动模式下运行。用户还可以使用公开的API开发自己的Ghidra插件和脚本。下载安装官方网站是https://ghidra-sre.org/,似乎直接访问不到。项目部分内容开源在https://github.c

2020-10-03 00:45:52 1837

原创 Pycharm 2020.2安装官方中文插件

JetBrains在其产品Idea 2020.1版本的功能更新中,提供了官方的汉化插件,在最近的Pycharm 2020.2中可以搜索到该官方的汉化插件。实测时使用的Pycharm CE 2020.2版本完全可用。曾经费劲力气汉化,现在简单明了。插件的名称叫做“Chinese (simplified) Language Pack EAP”,只需搜索“chinese”即可。Windows系统file(文件) > 选择settings(设置)> 打开plugins(插件) > 搜索chi

2020-08-26 01:43:26 2648 1

原创 python编译成so文件保护代码

python发布时源代码保护的问题会比较突出,之前见过一些有用到pyc文件替代py文件的,但pyc本身是可以被逆向分析的,最后可以还原到源码,所以pyc替代py不是一个有效的方法。考虑目前多数的python都是基于c/c++实现的,可以将py文件编译成so,从而解决源代码保护的问题。编译成so编译后执行需要相同的python版本和平台,python版本精确到3.X。比如这里在OS X上利用python3.8对“test.py”进行编译,编译后生成了“test.cpython-38-darwin.so”。

2020-08-15 12:04:08 930

原创 python进制间转换和进制与字符转化总结

使用python3.7作为测试环境,python2可能会有差异。进制之间的转化10进制比较特殊,如果需要十进制字符串可以在十进制数基础上外套一个str()函数。输出\输入2进制字符串(‘0b10’)8进制字符串(‘0o1’)10进制数16进制字符串(‘0xaa’)2进制字符串-bin(int(n,8))bin(int(n,10))bin(int(n,16))8进制字符串oct(int(n,2))-oct(int(n,10))oct(int(n,16))

2020-07-05 00:41:44 174

原创 DNS学习笔记2--DNS记录

整个 DNS 格式主要分为 3 部分内容,即基础结构部分、问题部分、资源记录部分。DNS 报文的基础结构部分指的是报文首部。字段名称内容描述事务IDDNS 报文的 ID 标识。对于请求报文和其对应的应答报文,该字段的值是相同的。通过它可以区分 DNS 应答报文是对哪个请求进行响应的。标志DNS 报文中的标志字段问题计数DNS 查询请求的数目回答资源记录...

2020-06-28 23:31:46 709

原创 mongoDB和pymongo学习

本文目录前述安装linux 安装docker容器部署Windows安装GUI管理器mongoDB和关系型数据库不同之处mongoDB语法pymongo模块用法前述mongoDB按照分类应当是非关系型数据库,这种数据库没有传统sql那样的表的概念,自然也不支持多表查询。安装linux 安装官方的linux安装文档在这里安装方法无外乎是两种:一种是下载源文件,然后手动安装;另一种是通过包管理器进行安装。介绍通过包管理在ubuntu上安装:向包管理系统导入公钥sudo apt-key adv

2020-06-26 13:32:06 241

原创 python中time模块的几个时间转化总结

对python中time模块中的方法和涉及到的三个时间对象进行一下梳理。time.struct_time类time.struct_time是一个python中类变量,可以通过属性获取对应的年月日等信息。time.struct_time(tm_year=2020, tm_mon=5, tm_mday=26, tm_hour=16, tm_min=18, tm_sec=44, tm_wday=1, tm_yday=147, tm_isdst=0)属性含义tm_year年份t

2020-05-31 01:42:31 677

原创 Elasticsearch查询获得去重结果

测试环境:ES 7.X数据去重一般会遇到两类需求:一个是获得聚类结果,即标题+数量;另一类是获得去重后的标题。下面对比SQL分析在ES中如何做这两类操作。聚类聚类SQL实现语句select <列1>,count(<列2>) from <表> group by <列1>;Elasticsearch类似功能的使用aggs实现方式:_search{ "aggs": { "<自定义名称>": { "cardinal

2020-05-24 12:54:53 1261

原创 两机器传递文件的几种办法

安装过程rz -be 避免传输文件中出现结束字符导致传输出错。rz sz通过rz命令上传文件,通过sz下载文件。windows端需要支持ZModem的telnet/ssh客户端(比如SecureCRT)如果直接使用rz上传文件出现错误,可能是文件中含有一些非法字符,只需要增加参数-be,使用流数据进行传输。如果弹出的对话框中“Upload files as ASCII”勾选,需要将其去掉。...

2020-04-19 20:01:33 233

原创 DNS相关内容学习笔记1

DNS类型字段dns协议中的type字段。类型代码说明A1域名转变为对应IP。NS2指定用于命名区域的 DNS 名称服务器。MD3指定邮件接收站(废弃,使用MX代替)。MF4指定邮件中转站(废弃,使用MX代替)。CNAME5指定用于别名的规范名称。SOA6指定用于 DNS 区域的“起始授权机构”。MB7指定邮...

2020-04-06 14:10:59 472

原创 利用faker生成高仿web日志

简介faker支持多种语言和地区。https://faker.readthedocs.io/en/master/locales.html几个比较常见的语言代号列一下:简体中文:zh_CN繁体中文:zh_TW美国英文:en_US英国英文:en_GB德文:de_DE日文:ja_JP韩文:ko_KR法文:fr_FRfrom faker import Fakerfaker ...

2020-03-19 00:10:29 498

原创 利用itertools进行排列组合

求两个序列的笛卡尔积,或者在一个序列上进行排列组合,python标准库itertools提供了生成的功能,可以方便解决这个问题。首先导入库import itertoolsproduct 组合for i in itertools.product('ABCD', repeat=2): print(i)('A', 'A') ('A', 'B') ('A', 'C') ('A', '...

2020-03-17 14:58:05 215

原创 离线更新glibc

glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万象。升级Glibc的忠告:不要在运行中的系统上安装 Glibc,否则将会导致系统崩溃,...

2020-03-02 11:45:15 2550

原创 使用python标准库codecs读写文件避开编码问题

python2读写不同字符集的问题,后来也因此改用python。不过在个别业务上尤其是含有读写文件的功能上,需要用到这些内容,实在无法避免。codecs如果open编码和解码不好用,可以导入codecs,使用codecs.open,作用大部分同open。尤其适合python2的情况。python2的open函数第三个参数不支持字符集,使用f = open(oneFile, ‘r’, enco...

2020-02-26 00:48:27 372

原创 jar包分析方法

JD-GUI可以打开jar程序,然后在文件中选择保存所有,然后会保存为一个zip文件。解压之后形成项目目录,然后导入工程,或者使用系统命令进行查询。修改完成之后,可以使用ecplise重新封装成jar。官方的网址:http://java-decompiler.github.iodownload下载。...

2019-12-10 01:22:25 2042

原创 impala基本命令操作和python调用样例

impala查询时间select now()或者select current_timestamp() 结果2019-10-14 17:32:22.712372 切换数据库use 数据库名时间字符串格式化为秒数select unix_timestamp('20190909', 'yyyyMMdd')结果1567987200格式化为时间戳select to_dat...

2019-10-21 22:18:09 1668

原创 kali Linux基础使用问题汇集

kali中apt的更新配置在/etc/apt/sources.list,使用vim或者其他编辑器打开编辑即可。搜索网络上给出的源,这里用清华源:deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-freedeb-src http://mirrors.tuna.tsinghua.edu.cn/kal...

2019-10-01 10:36:42 1290

原创 hping3使用手册

该工具可能造成违法的攻击行为,需在合法的测试环境下使用。因个人不当使用造成的违法后果由行为人自行负责。基本参数-c --count发送数据包的数目 -i --interval发送数据包间隔的时间 (uX即X微秒,例如:-i u1000) --fast等同 -i u10000 (每秒10个包) -D --debug开启调试模式-q --quiet静默模式,最后再输出结果-...

2019-09-02 22:20:45 1647

原创 记某工控CTF比赛一道ICMP隧道题

某塔的线上比赛平台,最后一道一堆蜜罐,听说没flag,反正没找到。然后看一下其中一道ICMP隧道的题目。数据包如图:当时的考量:响应包有的,请求包也有,并且都一样,所以请求包的数据是最全的,可以不看响应包。考虑到填充不符合正常的ICMP请求应答的填充方式,也尝试了对数据进行解密,但都无果。两个通信IP没有什么有用信息。考虑过包长度转ASCII字符的这个问题,但是看到整个包的长度超过了...

2019-08-15 23:46:45 2892

原创 工控研究入门篇

协议名称使用端口Siemens S7TCP 102ModbusTCP 502IEC 60870-5-104TCP 2404DNP3TCP 20000EtherNet/IPTCP 44818BACnetTCP 47808Tridium Niagara FoxTCP 1911OMRON FINSTCP 9600PCWo...

2019-07-27 18:43:59 869

原创 企业微信群机器人使用指南和python示例

流程简述目前只支持发送数据,无法进行交互。对于监控和报告类任务,比如监控机器性能和一些指数等工作,可以极大简化工作量,末尾有简单的python示例。在终端某个群组成功添加机器人之后,可以获取到webhook地址。群机器人是每个成员都可以创建的。创建者按以下说明构造post请求的data向这个webhook发起HTTP POST请求,即可实现给该群组发送消息。假设webhook是:https...

2019-07-21 18:19:48 13924 1

Open Sesame: Picking Locks with Cortana

Blackhat 2018 PPT——Open Sesame: Picking Locks with Cortana 针对微软语音助手“小娜”的分析和攻击

2018-09-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除