手动编写木马
手动编写木马使用C++实现一个简单的木马,实现木马的远程控制功能,能够开机自启动和伪装或隐藏,最后通过清除本木马,掌握常规的木马排查和查杀方法。
一、木马是什么?这是一个老生常谈的问题,木马(Trojan)这个名字来源于古希腊传说(荷马史诗中木马计的故事,Trojan一词的本意是特洛伊的,即代指特洛伊木马,也就是木马计的故事)。
二、木马隐藏技术木马会想尽一切办法隐藏自己,主要途径有:在任务栏中隐藏自己,这是最基本的办法。只要把Form的Visible属性设为False,ShowInTaskBar设为False,程序运行时就不会出现在任务栏中了(MFC编程)。在任务管理器中隐形:将程序设为“系统服务”可以很轻松地伪装自己。当然它也会悄无声息地启动,黑客当然不会指望用户每次启动后点击“木马”图标来运行服务端,“木马”会在每次用户启动时自动装载。Windows系统启动时自动加载应用程序的方法,“木马”都会用上,如:启动组、Win.ini、System.ini、注册表等都是“木马”藏身的好地方。木马与计算机网络中常常要用到的远程控制软件有些相似,但由于远程控制软件是“善意”的控制,因此通常不 ...
异架构刷题记录
异架构刷题记录2022安询杯babyarm分析流程可以发现,就是一个变表base64加密,然后异架构的栈溢出罢了
12345678910111213141516171819202122232425int sub_10B60(){ unsigned int v0; // r0 int result; // r0 char v2[32]; // [sp+0h] [bp-2Ch] BYREF void *s; // [sp+20h] [bp-Ch] void *buf; // [sp+24h] [bp-8h] buf = malloc(0x80u); printf("msg> "); read(0, buf, 0x80u); s = malloc(0x200u); memset(s, 0, 0x200u); v0 = strlen((const char *)buf); base64((int)buf, v0, (int)s); printf("res> "); puts((const char *)s ...
开源IOT固件分析工具
开源IOT固件分析工具开源IOT固件分析工具一、解包打包1、Binwalkhttps://github.com/ReFirmLabs/binwalk
Binwalk 是一种用于固件分析的开源工具,可以用于查找和提取嵌入式设备和固件中的文件系统、可执行程序。Binwalk支持多种文件格式,包括各种二进制文件、压缩文件、嵌入式固件、嵌入式文件系统等等,可以用于各种安全测试、漏洞分析、反向工程等领域。
2、unblobhttps://github.com/onekey-sec/unblob
Unblob和Binwalk类似,是一个用于嵌入式设备固件分析的开源工具,主要用于解密和解压嵌入式设备中的固件文件,并提取出其中的文件系统、可执行程序等资源。是一个准确、快速且易于使用的提取套件。3、Firmware-Mod-Kithttp://code.google.com/p/firmware-mod-kit/
Firmware-Mod-Kit(简称FMK)是一个开源的固件修改工具,主要用于解包、修改和重新打包各种嵌入式设备的固件文件。它支持多种处理器架构和文件系统格式,可以应对不同类型的固件文件。
...
常见RFID卡片介绍、破解思路 及 Proxmark3简介
常见RFID卡片介绍、破解思路 及 Proxmark3简介文章目录常见RFID卡片介绍、破解思路 及 Proxmark3简介
一、RFID卡片
前言
简介
常见卡片分类3.1 低频3.1.1 ID卡3.1.2 T5577卡3.2 高频 -14443A3.2.1 M1 S50卡3.2.2 M1 UID卡3.2.3 CUID卡3.2.4 FUID卡3.2.5 CFUID卡3.2.6 侦测卡:3.2.7 EMV卡3.3 高频 -14443B3.4 NFC标签
高频卡 低频卡区分方法
门禁卡破解思路5.1 IC卡加密方式5.1.1 固定加密(校验码):5.1.2 一卡一密:5.1.3 全加密:5.1.4 动态码加密:5.1.5 防复制加密:5.1.6 复合卡加密:5.1.7 CPU芯片加密:5.2 一般流程二、Proxmark3
前言
简介
版本3.1 Proxmark23.2 Proxmark3 原版3.3 Proxmark3 RDV23.3.1 技术规格3.4 Proxmark3 EASY3.4.1 技术规格3.5 Proxmark 3 EVO3.5.1 技术规格3.6 Proxmark ...
工控安全SCADA渗透测试
工控安全SCADA渗透测试SCADA简介SCADA(Supervisory Control And Data Acquisition)即数据采集与监视控制系统。SCADA系统是以计算机为基础的DCS与电力自动化监控系统;它应用领域很广,可以应用于电力、冶金、石油、化工、燃气、铁路等领域的数据采集与监视控制以及过程控制等诸多领域。
近年来,SCADA系统已经从专有,封闭的网络和系统转移到开放系统和TCP / IP网络。 这暴露了这些网络与传统计算机网络面临的相同风险。 然而,这并不一定意味着SCADA评估的安全评估方法仍然是一样的。
根据我们在进行SCADA评估的经验,我们注意到每次评估都是不同的,每一次都需要基于系统功能和行业类型的独特方法。在这篇博文中,我将分享我的 进行SCADA评估的经验,并讨论哪些最佳方法和工具最适合评估这些高度敏感的系统。
我们从协议层看SCADASCADA系统支持各种协议,如DNP3,ModBus,IEC 60870,BACnet,LonWorks和EPICS。在这篇博文中,我们将继续讨论ModBus over TCP协议,因为它仍然广泛应用于控制 ...
工控CTF刷题记录
工控CTF刷题记录CTF 工业信息安全大赛线上题目回顾2019 工业信息安全大赛第二场题目主要包括,破解加密数据、工控安全取证、恶意软件后门分析、隐藏的黑客、简单的工控固件逆向、奇怪的文件、简单的流量分析、另一个隐藏的黑客、特殊的工控流量10到题目,以及工业网络渗透测试和scada系统渗透测试2道场景题。
1.破解加解密数据题目分析题目描述:
提供的加密算法文件如下:
1234567m = "flag_is_flase"e = 2n = 0x6FBD096744B2B34B423D70C8FB19B541assert(int(m.encode('hex'), 16) < n)c = pow(int(m.encode('hex'), 16),e,n)print(c)#109930883401687215730636522935643539707
1)解密方法,获取flag方式如下,flag为flag_EnCryp1
题目总结与思考:
出题者刚开始只给了加密字符串,未提供加密算法,由于算法是自己写的,导致很多选手不能解出 ...
工控CTF
工控CTF概述工控其实就是工业控制自动化,实际上是属于自动化的一部分。
工业自动化是在工业生产中广泛采用自动控制、自动调整装置,用以代替人工操纵机器和机器体系进行加工生产的趋势。在工业生产自动化条件下,人只是间接地照管和监督机器进行生产。
广义的工控其实就是IOT。
工控的三层结构
现场表计(电,气,液)动机构
逻辑控制系统,也就是PLC和DCS
上位机(操作员控制系统)
需要学习的知识
PLC编程
组态
数电模电
网络拓扑结构
工控CTF工控安全现场设备安全
硬件保护
网络认证
控制系统安全
系统安全
网络认证
重放攻击
操作员系统安全CTF
初级
杂项(隐写,逆向,取证,脑洞,爆破)
中级
协议分析,组态分析(大部分)
高级
逆向(IOT)
顶级
社会工程学
前置知识由于工控CTF中常见的就是隐写和协议分析,隐写一般就是常见的流量分析,这里就不赘述了,国资师傅上课的时候并没有将modbus协议的详细介绍,我网上学了点,这里稍微总结一下
这里还有一个学习连接
https://blog.csdn.net/as480133937/article/deta ...
小米手环测试
小米手环测试前言测试mac地址
D0:62:2C:D1:C4:CB Xiaomi Smart Band 8 C4CB
工具资料
工具资料Gui_tools链接:https://pan.baidu.com/s/1ksnbcneblqQ0OcuVvZdjTg提取码:bw29
火眼安全系统链接:https://pan.baidu.com/s/1wUJ0kY1CxAVv8mzoPF5cCA?pwd=0rua提取码:0rua
《b站资料整理》https://docs.qq.com/doc/DQmdWVkpZWVFldkhR
v2022网络安全学习路线图:https://www.processon.com/view/link/62b1b2267d9c08073c671315
网络安全工具全套链接:https://pan.baidu.com/s/1o91TygD1Pe7SLPST9b6USQ提取码:1111
CTF资料链接:https://pan.baidu.com/s/1mvjhK66eyL937d2EPPZEfg提取码:1111
训练营资料链接:https://pan.baidu.com/s/1OGevOm67e91M752_KqkfFw提取码:1111
网络安全PPT链接:https://pan.baidu. ...
将二维数组赋值给一维的数组指针
将二维数组赋值给一维的数组指针123456789101112131415161718192021//1#include<stdio.h>int main(){ int s[4][6]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int t[6][4] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int (*p)[6]; p=t; for(int i = 0; i < 6;i++) printf(" p[%d] : %d\t",i,(*p)[i]);}//2#include<stdio.h>int main(){ int s[4][6]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int t[6][4] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ...